throbber
Case 3:17-cv-05659-WHA Document 171-7 Filed 07/27/18 Page 1 of 13
`Case 3:17-cv-05659-WHA Document 171-7 Filed 07/27/18 Page 1 of 13
`
`
`
`
`
`EXHIBIT 7
`EXHIBIT 7
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`Case 3:17-cv-05659-WHA Document 171-7 Filed 07/27/18 Page 2 of 13
`eeeTATA
`
`US007418731B2
`
`US 7,418,731 B2
`(10) Patent No.:
`a2) United States Patent
`Touboul
`(45) Date of Patent:
`Aug. 26, 2008
`
`
`(54) METHOD AND SYSTEM FOR CACHING AT
`SECURE GATEWAYS
`(IL
`|
`Shi
`Touboul. Kefar-Haim
`nventor:
`emo Touboul, Kefar-Haim (IL)
`(73) Assignee: Finjan Software, Ltd., Netanya (IL)
`
`(75)
`
`(*) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 537 days.
`
`(21) Appl. No.: 10/838,889
`
`(22)
`
`Filed:
`
`May3, 2004
`
`(65)
`
`Prior Publication Data
`
`US 2005/0005107 Al
`
`Jan. 6, 2005
`
`Related U.S. Application Data
`(63) Continuation-in-part of application No. 09/539,667,
`filed on Mar. 30, 2000, now Pat. No. 6,804,780, which
`is a continuation of application No. 08/964,388, filed
`on Nov.6, 1997, now Pat. No. 6,092,194.
`
`(51)
`
`Int. Cl.
`(2006.01)
`GO6F 21/00
`(2006.01)
`GO6F 15/16
`(52) US. CM.
`coeccecccecsesscseecsseecsseessnessesessuseessnecsanes 726/22,
`(58) Field of Classification Search «0.0.0.0... None
`See application file for complete search history.
`.
`References Cited
`U.S. PATENT DOCUMENTS
`
`(56)
`
`5,077,677 A
`5,359,659 A
`5,361,359 A
`5,485,409 A
`5,485,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 Murphyetal.
`10/1994 Rosenthal
`11/1994 Tajalli et al.
`1/1996 Guptaetal.
`1/1996 Chessetal.
`11/1996 Judson
`11/1996 Furtneyetal.
`2/1997 Shwed.
`4/1997 Jietal.
`6/1997 Rubin
`11/1997 McManis
`
`5,692,124 A
`5,720,033 A
`5,724,425 A
`5,740,248 A
`5,761,421 A
`5,765,205 A
`
`11/1997 Holden etal.
`2/1998 Deo
`3/1998 Changetal.
`4/1998. Fieres et al.
`6/1998 van Hoffet al.
`6/1998 Breslauet al.
`
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`EP
`
`1091276 Al
`
`4/2001
`
`(Continued)
`OTHER PUBLICATIONS
`—_[j.¢. Appl. No. 10/838,889,filed Oct. 26, 1999, Golan , G.
`
`(Continued)
`
`Primary Examiner—Christopher A Revak
`(74) Attorney, Agent, or Firm—Perkins Coie LLP
`
`(57)
`
`ABSTRACT
`
`A computer gatewayforan intranet ofcomputers, including a
`scanner for scanning incoming files from the Internet and
`deriving security profiles therefor, the security profiles being
`lists of computer commandsthatthefiles 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 security policies for client computers within
`an intranet, the security policies including a list ofrestrictions
`forfiles that are transmitted to intranet computers. A method
`and a computer-readable storage medium are also described
`and claimed.
`
`22 Claims, 3 Drawing Sheets
`
`
`
`
`
`GATEWAY or| ID-P [SECURITY PROFILE
`
`
`1
`FORWEB PAGE 9
`
`
`pa Vronwesrncea |
`
`|fesse
`FOR USER GROUP1
`
`
`{D-1|SECURITY POLICY “
`
`[ioe!scurry poucy |
`
`i
`FOR USER GROUP 2
`iD|SECURITY POLICY
`
`FORUSER GROUP3
`
`
`
`UREP|IDF |WESPAGE P
`
`
`
`= ID-4
`WEBOBJECTO71
`
`
`
`| urvoe 10-2|WEBOBJECTO2 bh nt
`
`|vse ID-3|WEBOBJECTOS
`LURK ID4|WEBOBJECTO4 |
`
`
`
`110 ==
`
`
`
`
`SECURITY PROFILE
`CACHE
`
`
`
`

`

`Case 3:17-cv-05659-WHA Document 171-7 Filed 07/27/18 Page 3 of 13
`Case 3:17-cv-05659-WHA Document171-7 Filed 07/27/18 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 Bl
`6,480,962 Bl
`6,804,780 Bl
`6,917,953 B2*
`
`7/1998 Devarakondaet al.
`8/1998 Daviset al.
`9/1998 Cohenetal.
`11/1998 Chenetal.
`11/1998 Cutler et al.
`12/1998 Angelo et al.
`1/1999 Hayman etal.
`1/1999 Boebert etal.
`4/1999 Atkinsonet al.
`9/1999 Chen et al.
`9/1999 Walsh et al.
`10/1999 Golan
`11/1999 Appersonet al.
`11/1999 Ji
`7/2000 Touboul
`11/2000 Touboul
`12/2000 Touboul
`1/2002 Beadle etal.
`11/2002 Touboul
`10/2004 Touboul
`7/2005 Simonet al... 707/204
`
`FOREIGN PATENT DOCUMENTS
`
`EP
`
`1132796 Al
`
`9/2001
`
`OTHER PUBLICATIONS
`
`http://www.codeguru.com/Cpp/Cpp/cpp_mfc/parsing/article.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.owlnet.rice.edu/~comp4 | 2/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/38 13fall0 1/slides/
`06Minimize.pdf.
`http://www.win.tue.nl/~watson/2R870/downloads/madfa_algs.pdf.
`http://www.cs.nyu.edu/web/Research/Theses/chang__chia-hsiang.
`pdf.
`“Products” Article published on the Internet, “Revolutionary Secu-
`rity for A New Computing Paradigm” regarding SurfinGate™ 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., “Microsoft Press Computer Dictionary” 1993, Microsoft
`Press, 2"4 Edition, pp. 137-138.
`Finjan Software Ltd., “Powerful PC Security for the New World of
`Java™ and Downloadables, Surfin Shield™” Article published on
`the Internet by Finjan Software Ltd., 1996, 2 pages.
`
`Finjan Software Ltd., “Finjan Announces a Personal Java™Firewall
`For Web Browsers—the SurfinShield™ 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.
`NewFeatures for SurfinShield™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 Web”, 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 “Finjan—Safe 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, xent.
`com/FoRK-archive/smmer96/0338. html, p. 1-2.
`LaDue, M., “Online Business Consultant: Java Security: Whose
`BusinessIs 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.
`Microsoft—“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/TEE Electronic Library online, Electronics
`Letters, vol. 26, Issue 15, ISSN 0013-5194, Jul. 19, 1990, Abstract
`and pp. 1169-1170. URL: http://iel.ihs.com:80/cgi-bin/iel__cgi?se...
`2ehts%26ViewTemplate%3ddocview%5 fb%2ehts.
`Omura, J. K., “Novel Applications of Cryptography in Digital Com-
`munications”, IEEE Communications Magazine, May 1990; pp.
`21-29,
`
`Schmitt, D.A., “.EXEfiles, 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
`
`

`

`Case 3:17-cv-05659-WHA Document 171-7 Filed 07/27/18 Page 4 of 13
`Case 3:17-cv-05659-WHA Document 171-7 Filed 07/27/18 Page 4 of 13
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 1 of 3
`
`US 7,418,731 B2
`
`:AAMAS:
`
`
`
`3m1d0u8dALINNOSS
`
`SHOVo*
`
`ee.
`
`ii
`
`
`
`
`
`
`
`ALIMNSDSS|;ed!idNowsdYasnYOs|ADI1Od
`ALINNDAS
`ZdnOudwasnYyOs:AOHIOd
`
`3AMWsONdALNDAS|dA|
`€dnOudYasNYOs
`ADIMOdALIUNOZS|£-C!
`¥39VdGamYOs
`-OLOArdO84M
`d39VdaMds
`d39Vdgam
`Avinavo|NXOu
`
`
`
`
`
`aHOWa
`
`
`
`YANNVIS3009AOMOdALNOAS
`
`
`
`
`
`
`

`

`Case 3:17-cv-05659-WHA Document 171-7 Filed 07/27/18 Page 5 of 13
`Case 3:17-cv-05659-WHA Document171-7 Filed 07/27/18 Page 5 of 13
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 2 of 3
`
`US 7,418,731 B2
`
`
`
`SVNOILOVALVNYALTYAVL
`
`
`
`
`
`
`
`O3W330SW3LINVOS
`
`
`
`SNOIONIVWATIVILNSLOd
`
`OZON
`
`
`
`ALIMNOASJAIGGNV
`
`
`
`yOAaNaHLS3WdOUd
`
`
`
`Ol39VedGSMLINSNVELSee
`
`ONY39Vd84MSYOLS
`
`
`YSLAdWOSLNSMND
`
`$LOSPdO€4MGAaLVIOOSsy
`
`Sic
`
`¢Ola
`
`ALINNDASNI3OVdGamOs
`
`
`
`SHOVSSyIdOud
`
`
`
`
`
`JWdOudALIMNDSASAYOLSOse
`
`
`
`SHOVOg3MNI
`
`ALINOSSAGQasidOS3aud
`
`éYaLNdWODLNAI
`
`WOudd39Vd83M49018Oz
`
`
`
`
`
`
`
`AOI1OdALIMNDASJARMLAYWOud39Vd93MSASLAY
`
`3HOVD
`
`d9VddAM80d31dOdd
`
`J9OVddamGS1S3n03uySI
`
`FUdA0ddALIWNDASWOU
`
`éS3HOVOGSMNIFIVIIVAV
`
`
`
`ALYNOASSAaMLaY
`
`She
`
`
`
`YaLACWOSDLNAIYOsYALNdNODYAAUSS
`
`
`
`
`
`
`
`
`
`
`
`ALIMNDASFYVdWODSLOSrdO83MSASL
`
`Ore
`
`
`
`YELNdWOOAVMALVS
`
`
`
`YSLNdWOOLN3ND
`
`SSAIB03YAXOddSVONILOV
`
`
`WOdd39VdgamSLSANDIY
`
`
`
`1sandayLN3I1DYaLNdWOSYSIANAS
`
`
`
`
`
`
`
`ALINNOASHLIM31sdOdd85MNIK.LIMOSON3Y3dd3yN
`
`
`
`
`
`AONOdavd
`
`@3MNIHLIMG30N34343uY
`
`
`
`WOudd39Vd83MS3SAIS93uY
`
`
`
`YALNdNOOAVM3ALYD
`
`
`
`YALNdNOSLNAND
`
`
`
`SLO3rdOS3aMSLSANOaY
`
`YaLNdWOOLNA
`
`39Vd
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`Case 3:17-cv-05659-WHA Document 171-7 Filed 07/27/18 Page 6 of 13
`Case 3:17-cv-05659-WHA Document 171-7 Filed 07/27/18 Page 6 of 13
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 3 of 3
`
`US 7,418,731 B2
`
`LINAlIdIO3Y
`
`
`
`ANaIdIO3YLdNOHDLNaldIDay
`
`
`
`
`
`LNAITOLN3IT9LN3119
`
`€Sls
`
`jamasoas|
`
`AONOdALISNOSSYO4ADIIOdALINNDSS
`
`
`
`
`
`OsAOMOdALINNDAS|€-Cl
`
`
`YOdADITOdALINNODSS
`€dNOYSLNaldiOay
`
`
`édNOwSLNaldioaY
`
`
`
`AVM3LVD
`
`0ce
`
`
`
`
`
`

`

`Case 3:17-cv-05659-WHA Document 171-7 Filed 07/27/18 Page 7 of 13
`Case 3:17-cv-05659-WHA Document171-7 Filed 07/27/18 Page 7 of 13
`
`US 7,418,731 B2
`
`1
`METHOD AND SYSTEM FOR CACHING AT
`SECURE GATEWAYS
`
`CROSS REFERENCES TO RELATED
`APPLICATIONS
`
`2
`There is thus provided in accordance with a preferred
`embodimentofthe present invention a computer gateway for
`an intranet of computers, including a scanner for scanning
`incomingfiles from the Internet and deriving security profiles
`therefor, the security profiles being lists of computer com-
`mandsthatthe files are programmedto 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
`embodimentof the present invention a method for operation
`of a network gateway for an intranet of computers, including
`receiving a request from an intranet computerfora file on the
`Internet, determining whether the requested file resides
`within a file cache at the network gateway,if the determining
`is affirmative 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 commandthatthe file is programmedto perform,
`and if the determining is not affirmative then retrieving the
`requestedfile from the Internet, scanningthe retrievedfile to
`determine computer commandsthatthefile is programmedto
`perform, deriving a security profile for the retrieved file,
`storing the retrievedfile 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 requestedfile vis a vis the security policy for the intranet
`computer, to determine whethertransmission ofthe requested
`file to the intranet computeris 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
`computerfor 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 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 commandthatthefile is programmedto
`perform, and ifthe determining 1s notaffirmative thenretriev-
`ing the requestedfile from the Internet, scanning the retrieved
`file to determine computer commandsthat 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 definingrestrictionsfor transmit-
`ting files to the intranet computer, and comparing the security
`profile for the requestedfile vis a vis the security policy for the
`Current gateway systems cause latency because clients do
`intranet computer, to determine whether transmission of the
`not access websites directly, and because current gateway
`requested file to the intranet computeris to be restricted.
`systemsapply security protocols to protect intranet members.
`
`Accordingly, systems and methods for reducing network There is moreover provided in accordance withapreferred
`access latency without compromising network safety are
`embodimentof the present invention a method for operation
`needed.
`of a network gateway for an intranet of computers, including
`receiving a request from an intranet computerfora file on 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-
`mandthat 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
`
`This application is a continuation-in-part of assignee’s
`application U.S. Ser. No. 09/539,667 (now U.S. Pat. No.
`6,804,780), filed on Mar. 30, 2000, and entitled SYSTEM
`AND METHODFOR PROTECTING A COMPUTER AND
`A NETWORK FROM HOSTILE DOWNLOADABLES,
`which is a continuation ofU.S. Ser. No. 08/964,388 (now U.S.
`Pat. No. 6,092,194), filed on Nov. 6, 1997 and entitled SYS-
`TEM AND METHODFOR PROTECTING A 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 computeris
`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 HTTPprotocol request
`that includes a URIfora file, such as an HTML page, a JPEG
`image or a PDF document, residing on one or more server
`computers on the Internet. Similarly, a responseis typically
`an HTTP response including a requestedfile, 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 computerand rest of
`the Internet.
`
`Two important functions of computer gatewaysare (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
`softwarethat identifies computerviruses residing within files
`retrieved from the Internet, and anti-spam softwarethatfilters
`out unwanted content.
`
`SUMMARYOF 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
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`

`

`Case 3:17-cv-05659-WHA Document 171-7 Filed 07/27/18 Page 8 of 13
`Case 3:17-cv-05659-WHA Document171-7 Filed 07/27/18 Page 8 of 13
`
`US 7,418,731 B2
`
`10
`
`15
`
`20
`
`25
`
`35
`
`40
`
`45
`
`3
`4
`restrictions for transmitting files to the intranet computer, and
`defining restrictions on files that can be transmitted to the
`intranet computer, and comparing the security profile for the
`comparing the security profile for the requestedfile vis a vis
`requested file vis a vis the security policy for the intranet
`the security policy for the intranet computer, to determine
`computer, to determine whethertransmission ofthe requested
`whether transmission of the requested file to the intranet
`file to the intranet computeris to berestricted.
`computeris to berestricted.
`There is additionally provided in accordance with a pre-
`There is further provided in accordance with a preferred
`ferred embodimentof the present invention a computer-read-
`embodiment of the present invention a computer-readable
`able storage medium storing program code for causing a
`storage medium storing program code for causing a computer
`computer to perform the steps of receiving a request from an
`to perform the steps of receiving a request from an intranet
`intranet computerfor a file on the Internet, retrieving a secu-
`computerfor a file on the Internet, determining whether the
`rity profile for the requested file from a security profile cache
`requested file resides within a file cache at the network gate-
`at the network gateway,the security profile includinga list of
`way, if the determining is affirmative retrieving a security
`at least one computer commandthatthefile is programmedto
`profile for the requested file from a security profile cache at
`perform,retrieving a security policy for the intranet computer
`the network gateway, the security profile including a list of at
`from a security policy cache at the network gateway, the
`least one computer commandthatthe file is programmed to
`security policy defining restrictions onfiles that can be trans-
`perform, and if the determining is not affirmative retrieving
`mitted to the intranet computer, and comparing the security
`the requested file from the Internet, storing the retrievedfile
`profile for the requestedfile vis a vis the security policy for the
`intranet computer, to determine whether transmission of the
`within the file cache, and storing a security profile for the
`requested file to the intranet computeris to berestricted.
`retrievedfile within a security profile cache, retrieving a secu-
`There is further provided in accordance with a preferred
`rity policy for the intranet computer from a security policy
`embodimentof the present invention a method for operation
`cache at the network gateway, the security policy defining
`of a network gateway for an intranet of computers, including
`restrictions for transmitting files to the intranet computer, and
`retrieving a requested file from the Internet, scanning the
`comparing the security profile for the requestedfile vis a vis
`retrievedfile to determine computer commandsthatthefile is
`the security policy for the intranet computer, to determine
`programmed to perform, deriving a security profile for the
`whether transmission of the requested file to the intranet
`retrievedfile, the security profile includingalist ofat least one
`computeris to berestricted.
`computer commandthat the retrieved file is programmed to
`There is moreover provided in accordance withapreferred
`perform, storing the retrieved file within a file cache, and
`30
`embodimentofthe present invention a computer gateway for
`storing the security profile for the retrieved file within a secu-
`an intranet of computers, including a scanner for scanning
`rity profile cache.
`outgoing files from an intranet to the Internet and deriving
`There is yet further provided in accordance withapreferred
`security profiles therefor, the security profiles being lists of
`embodiment of the present invention a computer-readable
`computer commands that the files are programmedto per-
`storage medium storing program code for causing a computer
`to perform the steps of retrieving a requested file from the
`form,a security policy cache for storing security policies for
`Internet, scanning the retrieved file to determine computer
`recipient computers within the Internet, the security policies
`commandsthatthe file is programmedto perform,deriving a
`including a list of restrictions forfiles that are transmitted to
`security profile for the retrieved file, the security profile
`recipient computers.
`including a list of at least one computer commandthat the
`There is additionally provided in accordance with a pre-
`retrievedfile is programmedto perform,storing the retrieved
`ferred embodiment of the present invention a method for
`file within a file cache, and storing the security profile for the
`operation of a network gatewayfor an intranet of computers,
`retrieved file within a security profile cache.
`including receivingafile from an intranet computer for trans-
`There is moreover provided in accordance with a preferred
`mission to a recipient computer on the Internet, scanning the
`embodimentofthe present invention a computer gateway for
`receivedfile to derive a security profile for the receivedfile,
`an intranet of computers, including a file cache for storing
`the security profile including a list of at least one computer
`files, a security profile cache for storing security profiles for
`commandthatthe file is programmedto perform,retrieving a
`files, the security profiles being lists of computer commands
`security policy from a security policy cache at the network
`that thefiles are programmed to perform, anda security policy
`gateway, the security policy definingrestrictionsfor transmit-
`cache for storing security policies for intranet computers
`ting files to recipient computers, and comparing the security
`within an intranet, the security policies including a list of
`profile for the received file vis a vis the security policy, to
`restrictionsforfiles that are transmitted to intranet computers.
`determine whether transmission of the requested file to the
`There is additionally provided in accordance with a pre-
`recipient computeris to be restricted.
`ferred embodiment of the present invention a method for
`operation of a network gatewayfor an intranet of computers,
`There is further provided in accordance with a preferred
`including receiving a request from an intranet computerfor a
`embodiment of the present invention a computer-readable
`file on the Internet, determining whether the requested file
`storage medium storing program code for causing a computer
`resides within a file cache at the network gateway, if the
`to perform the steps of receiving a file from an intranet com-
`determiningis affirmative retrieving a security profile for the
`puter for transmissionto a recipient computeron theInternet,
`requested file from a security profile cache at the network
`scanning the receivedfile to derive a security profile for the
`60
`
`gateway, the security profile including a list of at least one receivedfile, the security profile includingalist of at least one
`computer commandthatthe file is programmedto perform,
`computer commandthatthe file is programmedto perform,
`and if the determining is not affirmative retrieving the
`retrieving a security policy from a security policy cache at the
`requested file from the Internet, storing the retrieved file
`network gateway, the security policy defining restrictions for
`within the file cache, and storing a security profile for the
`transmitting files to recipient computers, and comparing the
`retrievedfile within a security profile cache, retrieving a secu-
`security profile for the received file vis a vis the security
`rity policy for the intranet computer from a security policy
`policy, to determine whether transmission of the requested
`cache at the network gateway, the security policy defining
`file to the recipient computeris to be restricted.
`
`50
`
`55
`
`65
`
`

`

`Case 3:17-cv-05659-WHA Document 171-7 Filed 07/27/18 Page 9 of 13
`Case 3:17-cv-05659-WHA Document171-7 Filed 07/27/18 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
`present invention; and
`FIG.3 is a simplified block diagram for a network gateway
`that control outgoingtraffic, in accordance with a preferred
`embodimentof the present invention.
`
`DETAILED DESCRIPTION OF A PREFERRED
`EMBODIMENT
`
`The present invention provides a system and method for
`optimizing performance of network gateways that perform
`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
`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 responsesorigi-
`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
`
`6
`page, and scanner 140 scans the web page andthe web objects
`that may be malicious. For example, a web page, P, requested
`by a client computer, may contain references to web objects
`O01, 02, O3 and O4. Generally, the web page, P, and the web
`objects it references, O1, O02, 03 and O4are storedasfiles
`within the Internet.
`When the web page, P,first arrives at gateway computer
`110, gateway computer 110 preferably retrieves objects O1,
`02, O03 and O4. Gateway computer 110 then decides which of
`web pageP and objects O1, 02, O3 and O04 maypotentially 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 criteria—for
`example, multimedia objects such as images and videoclips
`may be deemed safe, whereas Visual Basic scripts and Java
`applets may be deemedpotentially malicious.
`In accordance with a preferred embodimentofthe present
`invention, scanner 140 analyzes eachfile it scans to determine
`the nature of computer operationsthatthe 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 computerfile 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 embodimentofthe present invention.
`As can be seen from Table I, web page P and web objects O1
`and O4 are deemed potentially malicious. Web objects O2
`and O3 are deemedsafe. The security profile for web page P
`includessecurity profiles for JavaScript within page P, and for
`webobjects O1 and 04referenced by page P. Web objects O2
`and O3 are not scanned, since they are deemedto besafe.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`TABLE!
`
`Security Profile for Web Page P
`
`Security Profile
`
`Potentially
`Malicious?
`
`File System
`Commands
`
`Operating System Network
`Commands
`Commands
`
`Web Page P
`References objects
`Ol, 02, O3 and 04
`Includes JavaScript
`Web Object O1
`Java applet
`
`‘Yes
`
`Yes
`
`None
`
`None
`
`Issue HTTP request;
`
`Openfile F1;
`Write file F2;
`Delete file F1
`
`Openregistry;
`Edit registry
`
`None
`
`Web Object O02
`Still image
`Web Object 03
`Audio clip
`Web Object O04 Open file Fl;=NoneYes Open socket;
`
`
`ActiveX Control
`Copy file Fl
`FTP send
`
`No
`
`No
`
`
`
`order to completely render the web page. Such web objects
`includeinter 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
`active code. Preferably when gateway 110 receives a web
`page, it also retrieves the web objects referenced by the web
`
`55
`
`60
`
`65
`
`In accordance with a preferred embodimentofthe present
`invention, web pagesecurity 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 includesa table as indicated in
`Table II.
`
`TABLEII
`
`Structure of Security Profile Cache 150
`
`Web Content ID
`
`Web Content Security Profile
`
`

`

`Case 3:17-cv-05659-WHA Document 171-7 Filed 07/27/18 Page 10 of 13
`Case 3:17-cv-05659-WHA Document171-7 Filed 07/27/18 Page 10 of 13
`
`US 7,418,731 B2
`
`TABLEIII
`
`Structure ofWeb Content Cache 160
`
`Web Content URI
`
`Web Content ID
`
`Web Content
`
`8
`7
`A CLIENT DURING RUNTIME FROM HOSTILE DOWN-
`Webcontent ID is preferably a has ID that serves as a key for
`LOADABLES, USS. Pat. No. 6,480,962 entitled SYSTEM
`Table IJ. Similarly, web content cache 160 preferably
`AND METHODFOR PROTECTING A CLIENT DURING
`includesatable as indicated in Table II].
`RUNTIME FROM HOSTILE DOWNLOADABLES. USS.
`Pat. No. 6,804,780 entitled SYSTEM AND METHOD FOR
`PROTECTING A COMPUTER AND A NETWORK FROM
`HOSTILE DOWNLOADABLES, USS. Pat. No. 6,965,968
`entitled POLICY-BASED CACHING, and U:S. Pat. No.
`7,058,822 entitled MALICIOUS MOBILE CODE RUNT-
`IME MONITORING SYSTEM AND METHODS.
`
`10
`
`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 I
`with Table III.
`
`Tt may be appreciatedthat the same web page or web object
`may be stored at multiple locations and, as such, multiple
`URIs maycorrespondto the same web content. In a preferred
`embodimentof 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 changedsince 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 whetheror 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 (4) fetches the web objects referenced by page
`P, such as web objects O1, 02, O3 and O4 hereinabove; (11)
`determines which files to scan; (iii) determines security pro-
`files for the scannedfiles; (tv) caches the security profiles for
`web pageP in security profile cache 150; and (v) caches web
`page P and web objects O1, 02, O03 and O4 in web cache 160

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