throbber
Case 4:18-cv-07229-YGR Document 42-6 Filed 02/10/20 Page 1 of 13
`

`

`

`

`

`

`
`Exhibit 5
`
`

`

`Case 4:18-cv-07229-YGR Document 42-6 Filed 02/10/20 Page 2 of 13
`“C“Tilllllllmillllflliilililfiilfiillllififlfllillilllfilll
`
`US007418731B2
`
`(12) United States Patent
`(10) Patent No.:
`US 7,418,731 B2
`
`Touboul
`(45) Date of Patent:
`Aug. 26, 2008
`
`(54) METHOD AND SYSTEM FOR CACHINGAT
`SECURE GATEWAYS
`
`(75)
`
`Inventor:
`
`Shlomo Touboul, Kefar—Haim (IL)
`
`(73) Assignee: Finjan Software, Ltd., Netanya (IL)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 537 days.
`
`(21) Appl.No.: 10/838,889
`
`(22) Filed:
`
`May 3, 2004
`
`(65)
`
`Prior Publication Data
`
`US 2005/0005107 A1
`
`Jan. 6, 2005
`
`Related US. Application Data
`
`(63) Continuation-in-part of application No. 09/539,667,
`filed on Mar- 3.0: 2000, 119‘” Pat NO- 6:804:780sWh10h
`1s a contrnuatron of applrcatron No, 08/964,388, filed
`on NOV. 6, 1997, now Pat. No. 6,092,194.
`
`(51)
`
`Int. Cl.
`(2006.01)
`G06F 21/00
`(2006.01)
`G06F 15/16
`(52) us. Cl.
`........................................................ 726/22
`(58) Field of Classification Search ....................... None
`See application file for complete search history.
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`5,692,124 A
`5,720,033 A
`5,724,425 A
`5,740,248 A
`
`11/1997 1161116116111.
`2/1998 Deo
`3/1998 Chang et :11.
`4/1998 Fieres et al.
`
`5,761,421 A
`5,765,205 A
`
`6/1998 VMHOffet 31'
`6/1998 Breslau et al.
`
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`EP
`
`1091276 Al
`
`4/2001
`
`(Continued)
`OTHER PUBLICATIONS
`
`U.S.App1. No. 10/838,889, filed Oct. 26, 1999, Golan , G.
`
`(Continued)
`
`Primary ExamineriChristopherA Revak
`(74) Attorney, Agent, 0r FirmiPerkins Coie LIP
`
`(57)
`
`ABSTRACT
`
`.
`.
`.
`A computer gateway for an 1ntranet ofcomputers, 1nclud1ng a
`scanner for seaming incoming files from the Internet and
`deriving security profiles therefor, the security profiles being
`lists of computer commands that the files are programmed to
`perform, a file cache for storing files, a security profile cache
`for storing security profiles .for files, and a security policy
`cache for storrng securrty polrcres for clrent computers wrthrn
`an intranet, the security policies including a list ofrestrictions
`for files that are transmitted to intranet computers. A method
`and a computer-readable storage medium are also described
`and claimed.
`
`22 Claims, 3 Drawing Sheets
`
`550271677 A
`2:335:23 :
`5,485,409 A
`5,435, 575 A
`5,572,643 A
`5,579,509 A
`5,606,668 A
`5,623,600 A
`5,638,446 A
`5,692,047 A
`
`12/1991 Murphy et 31‘
`3/133: ¥:j:€llit2iliil.
`1/ 1996 Gupta et a1.
`1/1996 Chess et a1.
`11/1996 Judson
`“/1996 1“11111156’ 6t 31~
`2/1997 Shwed
`4/1997 Jr et 31.
`6/1997 Rubin
`11/1997 McManis
`“0 ~~
`
`
`
`
`FORwas PAGE P
`FM sscumrv PROFILE
`FORWEB PAGE Q
`‘ IM sEcumrv PROFILE
`
`113-1
`
`son ussn snow ISEWFITV PoLIcv
`, 1m secunrn/ Pmcv 7
`FOR USE)? GROUF 2
`i
`ma SECURITY Poucv
`F01:1856? GROUP a
`
`__
`
`1—
`um» Iw WEB PAGE P
`
`- was emu:
`URL-OI
`IIM
`WEI WELT L71
`
`uni—02 1 ID-Z we: DBJECT oz \#/__
`
`LURb-OJ : IN WEB Win 0!
`
`Luna» 1 IN was ween»
`
`sscunnvmama
`came
`
`SECURE” poucv
`was
`
`100
`
`
`
`
`
`‘
`
`
`
`
`
`
`: IN: SECURII'VPRDFILE 150
`son WEB BARE R
`
`
`
`
`
`
`
`
`INTRANET
`
`1m
`
`
`
`
`
`FINJAN-QUALYS 004173
`
`

`

`Case 4:18-cv-07229-YGR Document 42-6 Filed 02/10/20 Page 3 of 13
`Case 4:18-cv-07229—YGR Document 42-6 Filed 02/10/20 Page 3 of 13
`
`US 7,418,731 B2
`
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`5,784,459 A
`5,796,952 A
`5,805,829 A
`5.832.208 A
`5,832,274 A
`5,850,559 A
`5,859,966 A
`5,864,683 A
`5,892,904 A
`5.951.698 A
`5,956,481 A
`5,974,549 A
`5,978,484 A
`5,983,348 A
`6,092,194 A
`6,154,844 A
`6,167,520 A
`6,339,829 B1
`6,480,962 B1
`6,804,780 B1
`6,917,953 152 *
`
`7/1998 Devarakonda et a1.
`8/1998 Davis et al.
`9/1998 Cohen et al.
`11/1998 Chen et al.
`11/1998 Cutler et al.
`12/1998 Angelo et 31.
`1/1999 Hayman et a1.
`1/1999 Boebert et al.
`4/1999 Atkinson et al.
`9/1999 Chen et al.
`9/1999 Walsh et al.
`10/1999 Golan
`11/1999 Apperson et a1.
`11/1999 Ji
`7/2000 Touboul
`11/2000 Touboul
`12/2000 Touboul
`1/2002 Beadle et al.
`11/2002 Touboul
`10/2004 Touboul
`7/2005 Simon et al.
`
`................ 707/204
`
`
`
`FOREIGN PATENT DOCUMENTS
`
`EP
`
`1132796 A1
`
`9/2001
`
`OTHER PUBLICATIONS
`
`http://www.codeguru.conflCpp/Cpp/cppimfc/parsing/a1ticle.php/
`c4093/.
`http://www.cs.may.ie/~jpower/Courses/compilers/notes/lexical.pdf.
`http://www.mail-archive.com/kragen-tol@canonical.org/
`msg00097.html.
`http://www.ow1net.rice.edu/~comp412/Lectures/L06LeXWrapup4.
`pdf.
`http://www.cs.odu.edu/~toida/nerzic/390teched/regular/fa/min-fa.
`html.
`http://rw4.cs.uni-sb.de/~ganimal/GANIFA/page16,e.htm.
`http://www.cs.msstate.edu/~hansen/classes/3813fallOl/slides/
`06Minimize.pdf
`http://www.win.tue.n1/~watson/2R870/downloads/madfaialgs.pdf.
`http://wwwcs.nyu.edu/web/Researclv'Theses/changichia-hsiang.
`pdf.
`“Products” Article published on the Internet, “Revolutionary Secu-
`rity for A New Computing Paradigm” regarding SurfinGateTM 7
`pages.
`“Release Notes for the Microsoft ActiveX Development Kit”, Aug.
`13, 1996, activex.adsp.or.jp/inetsdk/readme.txt, pp. 1-10.
`Doyle et al., “Micro soft Press Computer Dictionary” 1993, Microsoft
`Press, 2“d Edition, pp. 137-138.
`Finjan Software Ltd.. “Powerful PC Security for the New World of
`JavaTM and Downloadables, Surfin ShieldTM” Article published on
`the Internet by Finjan Software Ltd., 1996, 2 pages.
`
`Finjan Software Ltd., “Finjan Announces a Personal JavaTM Firewall
`For Web Browsersithe SurfinShieldTM 1.6 (formerly known as
`SurfinBoard)”, Press Release of Finjan Releases SurfinShield 1.6,
`Oct. 21, 1996, 2 pages.
`Finjan Software Ltd., “Finjan Announces Major Power Boost and
`New Features for SurfinShieldTM 2.0” Las Vegas Convention Center/
`Pavilion 5 P5551, Nov. 18, 1996, 3 pages.
`Finjan Software Ltd.. “Finjan Software Releases SurfinBoard. Indus-
`try’s First Java Security Product For the World Wide We ”, Article
`published on the Internet by Finjan Software Ltd., Jul. 29, 1996, 1
`page.
`Finjan Software Ltd., “Java Security: Issues & Solutions” Article
`published on the Internet by Finjan Software Ltd. 1996. 8 pages.
`Finjan Software Ltd., Company Profile “Finjan7Safe Surfing, The
`Java Security Solutions Provider” Article published on the Internet
`by Oct. 31, 1996, 3 pages.
`IBM AntiVirus User’s Guide Version 2.4, International Business
`Machines Corporation, Nov. 15, 1995, p. 6-7.
`Khare, R. “Microsoft Authenticod Analyzed” Jul. 22, 1996, Kent.
`com/FORK-archive/smmer96/0338.htm1, p. 1-2.
`LaDue, M., “Online Business Consultant: Java Security: Whose
`Business Is It?” Article published on the Internet, Home Page Press,
`Inc. 1996, 4 pages.
`Leach, Norvin et al., “IE 3.0 Applets Will Earn Certification”, PC
`Week, vol. 13, No. 29, Jul. 22, 1996, 2 pages.
`Moritz, R., “Why We Shouldn’t Fear Java” Java Report, Feb. 1997,
`pp. 51-56.
`Microsofti“Microsoft ActiveX Software Development Kit” Aug.
`12. 1996. activex.adsp.or.jp/inetsdk/help/overview.htm. pp. 1-6.
`Microsoft Corporation, Web Page Article “Frequently Asked Ques—
`tions About Authenticode”, last updated Feb. 17, 1997, Printed Dec.
`23,
`1998. URL: http://www.microsoft.com/workshop/security/
`authcode/signfaq.asp#9, pp. 1-13.
`Microsoft® Authenticode Technology, “Ensuring Accountability
`and Authenticity for Software Components on the Internet”,
`Microsoft Corporation, Oct. 1996,
`including Abstract, Contents,
`Introduction and pp. 1-10.
`Okamoto, E. et al., “ID-Based Authentication System For Computer
`Virus Detection”, IEEE/IEE Electronic Library online, Electronics
`Letters, vol. 26, Issue 15, ISSN 0013—5194, Jul. 19, 1990, Abstract
`and pp. 1169-1170. URL: http://iel.ihs.con1:80/cgi-bin/ielicgi7seu.
`2ehts%26ViewTemplate%3ddocview%51b%2ehts.
`Omura, J. K., “Novel Applications of Cryptography in Digital Com-
`munications”, IEEE Communications Magazine, May 1990; pp.
`21—29.
`
`Schmitt, D.A., “.EXE files, OS-2 style” PC Tech Journal, v6, n11, p.
`76 (13).
`Zhang, X.N., “Secure Code Distribution”. IEEE/IEE Electronic
`Library online, Computer, vol. 30, Issue 6, Jun. 1997, pp. 76-79.
`
`* cited by examiner
`
`FINJAN-QUALYS 004174
`
`

`

`Case 4:18-cv-07229-YGR Document 42-6 Filed 02/10/20 Page 4 of 13
`Case 4:18-cv-07229—YGR Document 42-6 Filed 02/10/20 Page 4 of 13
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 1 of 3
`
`US 7,418,731 B2
`
`_mw>mww--mw>mmm_
`
`
`
`memommtifiomm
`
`mmc<amm;KOm
`
`
`
`Manama.C._m30mm”I”:
`
`n.m0<mmm>>m0“.
`
`
`
`m.=u_0mn.tEDOmwLA:
`
`wm
`
`
`
`
`
`>o_._0n_Emncmm
`
`mIO<U
`
`
`
`
`
`mgnomemmlwmfimo“.
`
`
`
` tinnvmm‘«A:7130mm«.memOm_|>030m>._._m30mw
`
`
`Nanomw«mm:MO“.0>USGQ
`
`
`5:8Emnommn9
`
`><>>mk<0
`.
`
`
` l_[firOS.
`
`___MM
`
`FINJAN-QUALYS 004175
`
`
`
`
`
`

`

`Case 4:18-cv-07229-YGR Document 42-6 Filed 02/10/20 Page 5 of 13
`Case 4:18-cv-07229—YGR Document 42-6 Filed 02/10/20 Page 5 of 13
`
`U.S. Patent
`
`uA
`
`0026.,
`
`hS
`
`0
`
`137,814|}
`
`2.BNO_n_
`
`
`
`7mzo<omxzomlSEmsommz.mofimm;momU550EEmaomm#65SN
`
`EN
`
`
`
`
`
`OFMWGMM‘mmwnu‘mmqumeomamomm;8268?
`
`mxo<omm;2.
`
`oz<memm;E053.“
`
`3EN02
`02¢.aage“!a,mag;%owzmmomsmE25m
`
`f>03855%;»84:65
`
`
`
`
`
`“tubal—200FZNEUkEDOwwMEN—mo
`
`
`
`
`
`2mmkaazooEmamo“.E5228mm>mmm
`
`
`
`0.58N>038Em8%Miami29¢35mm;m>m_E.mm
`
`m=._0<0
`
`8newEmaomwmméioowhomwmomm;magma
`
`
`
`
`
`EmaomaIt;mic”:$32.1:;omozmmmbm
`
`>022me
`
`
`
`
`
`m..=u_0mn.tumnomm20mm
`
`wmIO<Omm>>z.m..m<.=<><
`
`
`
`
`
`w0<n_mm>>m0“.m.=u0ma
`
`w0<amm>>
`
`owhmemew—mmNmFN
`
`
`
`EKDOwww>w_m....mm
`
`ovm
`
`
`
`wawomm>x0maw<OZ_._.0<
`
`
`
`50mmw0<n_mm>>mkwmacmm
`
`
`
`meDOmmkzwjo
`
`
`
`KNEE—200mm>mmm
`
`
`
`mmHDmEOO><~$wh<0
`
`
`
`meDQs—OOhzwjo
`
`mom
`
`
`
`
`
`mw>>ZIP—‘5Dmozwmwn—wm
`
`
`
`20m”.w0<amm>>wm>_m0wm
`
`
`
`mmtbaéoo><>>w._.<0
`
`
`
`mw5n=200szjo
`
`mNN
`
`”$235.00.2mjo
`
`
`
`whowwmomm;wkmmzdmm
`
`emu
`
`w0<n
`
`FINJAN-QUALYS 004176
`
`
`
`
`
`
`
`

`

`Case 4:18-cv-07229-YGR Document 42-6 Filed 02/10/20 Page 6 of 13
`Case 4:18-cv-07229—YGR Document 42-6 Filed 02/10/20 Page 6 of 13
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 3 of 3
`
`US 7,418,731 B2
`
`._.Zm_n:0wma
`
`
` NQDOmOEmzomw ><>>m._.<mu
`EwéommFmacawEmaaum
`
`
`
`
`
`
`>o_._on_Emamwmom>039.Emaomm
`
`
`
`
`
`.rzm=._o.rzwjoHzmio
`
`
`
`
`
`mmDomO._.zw_m_0mm
`
`kaEam—m
`
`
`
`mOm>039”.FENSAUmm0-0.
`
`m.07.
`
`FINJAN-QUALYS 004177
`
`
`
`mo“.>039.
`
`own
`
`QNm
`
`
`
`

`

`Case 4:18-cv-07229-YGR Document 42-6 Filed 02/10/20 Page 7 of 13
`Case 4:18-cv-07229-YGR Document 42-6 Filed 02/10/20 Page 7 of 13
`
`US 7,418,731 B2
`
`1
`METHOD AND SYSTEM FOR CACHING AT
`SECURE GATEWAYS
`
`CROSS REFERENCES TO RELATED
`APPLICATIONS
`
`This application is a continuation-in-part of assignee’s
`application U.S. Ser. No. 09/539,667 (now US. Pat. No.
`6,804,780), filed on Mar. 30, 2000, and entitled SYSTEM
`
`AND METHOD FOR PROTECTING A COMPUTERAND
`A NETWORK FROM HOSTILE DOWNLOADABLES,
`whichis a continuation ofUS. Ser. No. 08/964,388 (now US.
`Pat. No. 6,092,194), filed on NOV. 6, 1997 and entitled SYS-
`TEM AND METHOD FOR PROTECTINGA COMPUTER
`AND A NETWORK FROM HOSTILE DOWNLOAD-
`ABLES.
`
`FIELD OF THE INVENTION
`
`The present invention relates to computer security and
`network gateways.
`
`BACKGROUND OF THE INVENTION
`
`A network gateway computer conventionally serves as a
`proxy between a group of inter-connected computers,
`referred to as an intranet, such as a corporate intranet or
`customers of an Internet service provider, and the myriads of
`server computers on the Internet. The gateway computer is
`networked with the intranet computers in such a way that
`outgoing requests and responses from the intranet computers
`to the Internet, and incoming requests and responses from the
`Internet to the intranet computers are routed through the
`gateway computer.
`Typically, a request is issued as an HTTP protocol request
`that includes a URI for a file, such as an HTML page, a ]PEG
`image or a PDF document, residing on one or more server
`computers on the Internet. Similarly, a response is typically
`an HTTP response including a requested file, sent back to a
`client in response to a request.
`Network gateways are generally connected to an intranet
`with high-speed lines, so that the bandwidth between the
`intranet computers and the gateway computer is much higher
`than the bandwidth between the gateway computer and rest of
`the Internet.
`
`Two important functions of computer gateways are (i) to
`restrict outsiders from unauthorized access to a computer
`intranet, and (ii) to protect the intranet computers from soft-
`ware containing computer viruses and from spam. Computer
`gateways may contain conventional firewall software that
`restricts outside communication with the intranet, anti-virus
`software that identifies computer viruses residing within files
`retrieved from the Internet, and anti-spam software that filters
`out unwanted content.
`
`Current gateway systems cause latency because clients do
`not access websites directly, and because current gateway
`systems apply security protocols to protect intranet members.
`Accordingly, systems and methods for reducing network
`access latency without compromising network safety are
`needed.
`
`SUMMARY OF THE INVENTION
`
`The present invention provides a method and system for
`improving performance of gateway computers. Specifically,
`the present invention mitigates network latency caused by
`processing time at a gateway computer.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`4o
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`There is thus provided in accordance with a preferred
`embodiment of the present invention a computer gateway for
`an intranet of computers, including a scanner for scanning
`incoming files from the Internet and deriving security profiles
`therefor, the security profiles being lists of computer com-
`mands that the files are programmed to perform, a file cache
`for storing files, a security profile cache for storing security
`profiles for files, and a security policy cache for storing secu-
`rity policies for intranet computers within an intranet, the
`security policies including a list of restrictions for files that
`are transmitted to intranet computers.
`There is further provided in accordance with a preferred
`embodiment of the present invention a method for operation
`of a network gateway for an intranet of computers, including
`receiving a request from an intranet computer for a file on the
`Internet, determining whether the requested file resides
`within a file cache at the network gateway, if the detemiining
`is afiirmative then retrieving a security profile for the
`requested file from a security profile cache at the network
`gateway, the security profile including a list of at least one
`computer command that the file is programmed to perform,
`and if the determining is not affirmative then retrieving the
`requested file from the Internet, scanning the rctricvcd file to
`determine computer commands that the file is programmed to
`perform, deriving a security profile for the retrieved file,
`storing the retrieved file within the file cache, and storing the
`security profile for the retrieved file within a security profile
`cache, retrieving a security policy for the intranet computer
`from a security policy cache at the network gateway, the
`security policy defining restrictions for transmitting files to
`the intranet computer, and comparing the security profile for
`the requested file vis a vis the security policy for the intranet
`computer, to determine whether transmission ofthe requested
`file to the intranet computer is to be restricted.
`There is yet further provided in accordance with a preferred
`embodiment of the present invention a computer-readable
`storage medium storing program code for causing a computer
`to perform the steps of receiving a request from an intranet
`computer for a file on the Internet, determining whether the
`requested filc resides within a file cachc at the network gatc-
`way, if the determining is affirmative then retrieving a secu-
`rity profile for the requested file from a security profile cache
`at the network gateway, the security profile including a list of
`at least one computer command that the file is programmed to
`perform, and ifthe determining is not affirmative then retriev-
`ing the requested file from the Internet, scanning the retrieved
`file to determine computer commands that the file is pro-
`grammed to perform, deriving a security profile for the
`retrieved file, storing the retrieved file within the file cache,
`and storing the security profile for the retrieved file within a
`security profile cache, retrieving a security policy for the
`intranet computer from a security policy cache at the network
`gateway, the security policy defining restrictions for transmit-
`ting files to the intranet computer, and comparing the security
`profile for the requested file vis a vis the security policy for the
`intranet computer, to determine whether transmission of the
`requested file to the intranet computer is to be restricted.
`There is moreover provided in accordance with a preferred
`embodiment of the present invention a method for operation
`of a network gateway for an intranet of computers, including
`receiving a request from an intranet computer for a file 011 the
`Internet, retrieving a security profile for the requested file
`from a security profile cache at the network gateway, the
`security profile including a list of at least one computer com-
`mand that the file is programmed to perform, retrieving a
`security policy for the intranet computer from a security
`policy cache at the network gateway, the security policy
`
`FINJAN-QUALYS 004178
`
`

`

`Case 4:18-cv-07229-YGR Document 42-6 Filed 02/10/20 Page 8 of 13
`Case 4:18-cv-07229—YGR Document 42-6 Filed 02/10/20 Page 8 of 13
`
`US 7,418,731 B2
`
`3
`defining restrictions on files that can be transmitted to the
`intranet computer, and comparing the security profile for the
`requested file vis a Vis the security policy for the intranet
`computer, to determine whether transmission ofthe requested
`file to the intranet computer is to be restricted
`There is additionally provided in accordance with a pre-
`ferred embodiment of the present invention a computer-read-
`able storage medium storing program code for causing a
`computer to perform the steps of receiving a request from an
`intranet computer for a file on the Internet, retrieving a secu-
`rity profile for the requested file from a security profile cache
`at the network gateway, the security profile including a list of
`at least one computer command that the file is programmed to
`perform, retrieving a security policy for the intranet computer
`from a security policy cache at the network gateway, the
`security policy defining restrictions on files that can be trans—
`mitted to the intranet computer, and comparing the security
`profile for the requested file vis a vis the security policy for the
`intranet computer, to determine whether transmission of the
`requested file to the intranet computer is to be restricted.
`There is further provided in accordance with a preferred
`embodiment of the present invention a method for operation
`of a network gateway for an intranet of computers, including
`retrieving a requested file from the Internet, scanning the
`retrieved file to determine computer commands that the file is
`programmed to perform, deriving a security profile for the
`retrieved file, the security profile including a list ofat least one
`computer command that the retrieved file is programmed to
`perform, storing the retrieved file within a file cache, and
`storing the security profile for the retrieved file within a secu-
`rity profile cache.
`There is yet further provided in accordance with a preferred
`embodiment of the present invention a computer—readable
`storage medium storing program code for causing a computer
`to perform the steps of retrieving a requested file from the
`Internet, scanning the retrieved file to determine computer
`commands that the file is programmed to perform, deriving a
`security profile for the retrieved file, the security profile
`including a list of at least one computer command that the
`retrieved file is programmed to perform, storing the retrieved
`file within a file cache, and storing the security profile for the
`retrieved file within a security profile cache.
`There is moreover provided in accordance with a preferred
`embodiment of the present invention a computer gateway for
`an intranet of computers, including a file cache for storing
`files, a security profile cache for storing security profiles for
`files, the security profiles being lists of computer commands
`that the files are programmed to perform, and a security policy
`cache for storing security policies for intranet computers
`within an intranet, the security policies including a list of
`restrictions for files that are transmitted to intranet computers.
`There is additionally provided in accordance with a pre-
`ferred embodiment of the present invention a method for
`operation of a network gateway for an intranet of computers,
`including receiving a request from an intranet computer for a
`file on the Internet, determining whether the requested file
`resides within a file cache at the network gateway, if the
`determining is affirmative retrieving a security profile for the
`requested file from a security profile cache at the network
`gateway, the security profile including a list of at least one
`computer command that the file is programmed to perform,
`and if the determining is not afiirmative retrieving the
`requested file from the Internet, storing the retrieved file
`within the file cache, and storing a security profile for the
`retrieved file within a security profile cache, retrieving a secu-
`rity policy for the intranet computer from a security policy
`cache at the network gateway, the security policy defining
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`4o
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`restrictions for transmitting files to the intranet computer, and
`comparing the security profile for the requested file vis a vis
`the security policy for the intranet computer, to detemiine
`whether transmission of the requested file to the intranet
`computer is to be restricted.
`There is further provided in accordance with a preferred
`embodiment of the present invention a computer—readable
`storage medium storing program code for causing a computer
`to perform the steps of receiving a request from an intranet
`computer for a file on the Internet, determining whether the
`requested file resides within a file cache at the network gate-
`way, if the determining is affirmative retrieving a security
`profile for the requested file from a security profile cache at
`the network gateway. the security profile including a list of at
`least one computer command that the file is programmed to
`perform, and if the determining is not affirmative retrieving
`the requested file from the Internet, storing the retrieved file
`within the file cache, and storing a security profile for the
`retrieved file within a security profile cache, retrieving a secu-
`rity policy for the intranet computer from a security policy
`cache at the network gateway, the security policy defining
`restrictions for transmitting files to the intranet computer, and
`comparing the security profile for the requested file vis a vis
`the security policy for the intranet computer, to determine
`whether transmission of the requested file to the intranet
`computer is to be restricted.
`There is moreover provided in accordance with a preferred
`embodiment of the present invention a computer gateway for
`an intranet of computers, including a scanner for scanning
`outgoing files from an intranet to the Internet and deriving
`security profiles therefor, the security profiles being lists of
`computer commands that the files are programmed to per-
`form, a security policy cache for storing security policies for
`recipient computers within the Internet, the security policies
`including a list of restrictions for files that are transmitted to
`recipient computers.
`There is additionally provided in accordance with a pre-
`ferred embodiment of the present invention a method for
`operation of a network gateway for an intranet of computers,
`including receiving a file from an intranet computer for trans-
`mission to a recipient computer on the Internet, scanning the
`received file to derive a security profile for the received file,
`the security profile including a list of at least one computer
`command that the file is programmed to perform, retrieving a
`security policy from a security policy cache at the network
`gateway, the security policy defining restrictions for transmit-
`ting files to recipient computers, and comparing the security
`profile for the received file vis a vis the security policy, to
`determine whether transmission of the requested file to the
`recipient computer is to be restricted.
`There is further provided in accordance with a preferred
`embodiment of the present invention a computer-readable
`storage medium storing program code for causing a computer
`to perform the steps of receiving a file from an intranet com—
`puter for transmission to a recipient computer on the Internet,
`scanning the received file to derive a security profile for the
`received file, the security profile including a list of at least one
`computer command that the file is programmed to perform,
`retrieving a security policy from a security policy cache at the
`network gateway, the security policy defining restrictions for
`transmitting files to recipient computers, and comparing the
`security profile for the received file vis a vis the security
`policy, to detemiine whether transmission of the requested
`file to the recipient computer is to be restricted.
`
`FINJAN-QUALYS 004179
`
`

`

`Case 4:18-cv-07229-YGR Document 42-6 Filed 02/10/20 Page 9 of 13
`Case 4:18-cv-07229—YGR Document 42-6 Filed 02/10/20 Page 9 of 13
`
`US 7,418,731 B2
`
`5
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The present invention will be more fully understood and
`appreciated from the following detailed description, taken in
`conjunction with the drawings in which:
`FIG. 1 is a simplified block diagram for a network gateway,
`in accordance with a preferred embodiment of the present
`invention;
`FIG. 2 is a simplified flowchart for operation of a network
`gateway, in accordance with a preferred embodiment of the 10
`present invention; and
`FIG. 3 is a simplified block diagram for a network gateway
`that control outgoing traffic, in accordance with a preferred
`embodiment of the present invention.
`
`15
`
`DETAILED DESCRIPTION OF A PREFERRED
`EMBODIMENT
`
`The present invention provides a system and method for
`optimizing performance of network gateways that perform 20
`security-based functions.
`Reference is now made to FIG. 1, which is a simplified
`block diagram for a network gateway, in accordance with a
`preferred embodiment of the present invention. Shown in
`FIG. 1 is a network gateway computer 110, which serves as a 25
`proxy between an intranet of clients and servers, and the
`Internet. Specifically in FIG. 1, gateway computer 110 inter-
`venes between requests for web pages originating from an
`intranet 120 of clients 123, 125 and 127, and responses origi-
`nating from Internet servers 133, 135 and 137.
`Typically, web pages include text, executable scripts and
`one or more links to web objects that must be retrieved in
`
`30
`
`6
`page, and scanner 140 scans the web page and the web objects
`that may be malicious. For example, a web page, P, requested
`by a client computer, may contain references to web objects
`01, 02, O3 and O4. Generally, the web page, P, and the web
`objects it references, 01, O2, O3 and O4 are stored as files
`within the Internet.
`
`When the web page, P, first arrives at gateway computer
`110, gateway computer 110 preferably retrieves objects 01,
`OZ, O3 and O4. Gateway computer 110 then decides which of
`web page P and objects 01, OZ, O3 and 04 may potentially be
`malicious, and scanner 140 scans each of the potentially
`malicious files. Determination of which files may be poten-
`tially malicious may be based on numerous criteriaifor
`example, multimedia objects such as images and video clips
`may be deemed safe, whereas Visual Basic scripts and Java
`applets may be deemed potentially malicious.
`In accordance with a preferred embodiment of the present
`invention, scanner 140 analyzes each file it scans to detemiine
`the nature of computer operations that the file is programmed
`to perform, and derives a security profile therefor, summariz-
`ing potentially malicious computer operations. Thus scanner
`140 may determine inter alia that a file is programmed to
`access a computer file system, or a computer operating sys-
`tem, or open a network socket.
`Table I below indicates a typical scan analysis, in accor-
`dance with a preferred embodiment of the present invention.
`As can be seen from Table I, web page P and web objects 01
`and O4 are deemed potentially malicious. Web objects O2
`and 03 are deemed safe. The security profile for web page P
`includes security profiles for JavaScript within page P, and for
`web objects OI and O4 referenced by page P. Web objects 02
`and O3 are not scanned, since they are deemed to be safe.
`
`TABLE I
`
`Security Profile for Web Page P
`
`Securifl Profile
`
`Potentially
`Malicious?
`
`File System
`Commands
`
`Operating System Network
`Commands
`Commands
`
`Web Page P
`References objects
`01,02, 03 and 04
`Includes IavaScript
`Web Object 01
`Java applet
`
`Web Object 02
`Still image
`Web Object 03
`Audio clip
`Web Object 04
`ActiveX Control
`
`Yes
`
`Yes
`
`No
`
`No
`
`Yes
`
`None
`
`None
`
`Issue HTTP request;
`
`Open file Fl;
`Write file F2;
`Delete file F1
`
`Open registry;
`Edit registry
`
`None
`
`Open file Fl;
`Copy file Fl
`
`None
`
`Open socket;
`FTP send
`
`order to completely render the web page. Such web objects
`include inter alia images, sounds, multimedia presentations,
`video clips and also active code that runs on the client com-
`puter. Executable scripts and active code components are a
`security concern, since they may contain computer viruses
`that maliciously harm client computers. In fact, most viruses
`today are transmitted as active web objects or as e-mail
`attachments.
`
`Preferably, gateway computer 110 includes a code scanner
`140, for scanning incoming web pages and web objects in
`order to detect the presence ofmalicious executable scripts or 65
`active code. Preferably when gateway 110 receives a web
`page, it also retrieves the web objects referenced by the web
`
`55
`
`In accordance with a preferred embodiment of the present
`invention, web page security profiles are stored in a security
`profile cache 150, and the web page and the web objects that
`the page references are stored in a web cache 160. Security
`profile cache 150 preferably includes a table as indicated in
`60 Table II.
`
`TABLE II
`
`Structure of Security Profile Cache 150
`
`Web Content ID
`
`Web Content Security Profile
`
`FINJAN-QUALYS 004180
`
`

`

`Case 4:18-cv-07229-YGR Document 42-6 Filed 02/10/20 Page 10 of 13
`Case 4:18-cv-07229—YGR Document 42-6 Filed 02/10/20 Page 10 of 13
`
`US 7,418,731 B2
`
`7
`Web content ID is preferably a has ID that serves as a key for
`Table II. Similarly, web content cache 160 preferably
`includes a table as indicated in Table III.
`
`TABLE HI
`
`Structure ofWeb Content Cache 160
`
`Web Content URI
`
`Web Content ID
`
`Web Content
`
`Web content URI serves as a key for Table III, and Web
`Content ID is a foreign key that can be used to join Table II
`with Table III.
`
`It may be appreciated that the same web page or web object
`may be stored at multiple locations and, as such, multiple
`URIs may correspond to the same web content. In a preferred
`embodiment of the present invention, web cache 160 is man-
`aged so as to avoid caching duplicate web content. Use of a
`hash ID for web pages and web objects serves to identify web
`content duplicates, and to determine if web content on the
`Internet has changed since it was earlier cached within web
`content cache 160. In case web content has changed, then
`preferably the more recent web content is cached instead of
`the older web content, and the newer web content is scanned
`by code scanner 140, in order to update its security profile
`within security profile cache 150.
`Preferably, when a client computer requests a web page, P,
`from a server computer, the request is first transmitted to
`gateway computer 110, which checks whether or not the web
`page is already resident within web cache 160. If not, then
`computer gateway forwards the request to the server com-
`puter, which in turn sends the requested web page, P, to
`gateway computer 110 within a response. Requests and
`responses are typically formatted according to the HTTP
`protocol. Upon receipt of the requested web page, gateway
`computer 110 (i) fetches the web objects referenced by page
`P, such as web objects 01, 02, O3 and O4 hereinabove; (ii)
`determines which files to scan; (iii) determines security pro-
`files for the scanned files; (iv) caches the security profiles for
`web page P in security profile cache 150; and (V) caches web
`page P and web objects 01, 02, O3 and O4 in web cache 160.
`After gateway computer 110 has stored web page P in web
`cache 160, and has stored its corresponding security profile in
`security profile cache 150, it determines whether or not to
`send web page P to the client

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket