throbber
Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 1 of 14
`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 1 of 14
`
`EXHIBIT 8
`EXHIBIT 8
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 2 of 14
`se" TTTTATAAA
`as United States
`a2) Patent Application Publication (0) Pub. No.: US 2005/0005107 Al
`
` Touboul (43) Pub. Date: Jan. 6, 2005
`
`
`US 20050005107A1
`
`(54) METHOD AND SYSTEM FOR CACHING AT
`SECURE GATEWAYS
`
`Publication Classification
`
`(76)
`
`Inventor:
`
`Shlomo Touboul, Kefar-Haim (IL)
`
`inte C17 cacscsssscssssnssnsnsesentetnesnte GO6F 7/00
`(51)
`(52) US. Cd. ce ceceecccceeecsseecessnsecsnseeceneeecnnseesnnnseesnnsees 713/165
`
`Correspondence Address:
`SQUIRE, SANDERS & DEMPSEY L.L.P
`600 HANSEN WAY
`PALO ALTO, CA 94304-1043 (US
`,
`(US)
`
`(21) Appl. No.:
`
`10/838,889
`
`(22)
`
`Filed:
`
`May 3, 2004
`
`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.
`
`(57)
`
`ABSTRACT
`
`Acomputer 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 commandsthat the files are programmed to
`perform,a file cache for storingfiles, 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 of
`restrictions for files that are transmitted to intranet comput-
`ers. A method and a computer-readable storage medium are
`also described and claimed.
`
`
`
`FOR WEB PAGE P
`
`
`
`URI-O3|10-3.|WEB OBJECT 03
`
`
`
`
`
`
`
`
`INTERNET
`
`
`
`
`SECURITY PROFILE
`
`.
`CACHE
`SERVER
`FOR WEB PAGE R
`:
`|
`
`
`
`150
`~ominy|
`
`ip-4|
`SECURITY POLICY |
`
`
`I
`FOR USER GROUP1 |
`
` CODE SCANNER
`\
`SECURITY POLICY
`| 12) SECURITY POLICY |-—
`CACHE
`i 1
`FOR USER GROUP2
`
`i
`140
`170
`iD-3|SECURITY POLICY
`FORUSER GROUP3|
`
`
`
`
`UREP|1D-P WEB FAGE P
`160™
`
`
`
`UIRI-O1|ID-4 WEB OBJECT O01 WEB CACHE
`a
`>
`”
`oe
`URI-O2|
`ID-2
`WEB OBJECT OZ BH
`an
`
`
`
`
`
`URI-O4 |
`WEB OBJECT 04
`
`
`
`
`
`

`

`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 3 of 14
`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 3 of 14
`
`Patent Application Publication
`
`US 2005/0005107 Al
`
`
`
`AWsdOudALINOSS
`
`d30dGMHOS
`
`
`
`3WsONdALNDSS|ddl
`
`—~OL
`
`Jan. 6,2005 Sheet 1 of 3 LOLOSraO83M
` SHOVD*
`
`aHOVa
`
`
`AOMOdALTOSS
`,fienousYaSNuOs|AdMod
`ALinoas
`
`ADMIOdALINDSS|eal|
`
`d30vdSam
`
`
`
`
`
`
`

`

`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 4 of 14
`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 4 of 14
`
`Patent Application Publication
`
`Jan. 6,2005 Sheet 2 of 3
`
`US 2005/0005107 Al
`
`082
`
`aHOvo
`
`
`
`
`
`SVNOLLOVALYNYALTYJnNVL
`
`ALINNOZSABGAGNOSadd
`
`AONOd
`
`0£zZON
`
`
`
`AONOdaDvd
`
`30Vvd
`
`
`
`GSWSWALINVOS
`
`
`
`yOAaNANLSSWsOdd
`
`Sie
`
`
`YALAUNODLNAI
`$LO3°dOdamGAaLVIOOSsS¥
`
`3HOVO3MNI
`
`ONY49¥d84MAYOLS
`
`¢Sls
`
`ALIMNDZSNI3OVd@aMYOs
`
`
`
`JHOVSayIdOud
`
`
`
`
`
`IWsACHdALMNSDASJYOLSOsz
`
`
`
`
`$9zALINNOASSHvVdWOOSLOSraO83MAASatoaoez
`
`
`
`
`
`SBAWOud39Vd82MNOOT8SNOIDIIVWATIVILNSLOdorz
`
`
`
`
`
`
`
`ose3OVd94MNOsS14ONdJOVdB3MGSLSSNO3ySI
`ALINNOSSHLIMS1sOud3MNIHLIMOSON3MadaYaeROSomStoenbaet
`
`
`
`YALNdWOOLN3ITOYOsUALNdWODHaANSSWorlddoveGaheer
`
`
`
`
`
`O139VdGSMLINSNVSLSee
`
`34OUdALIUNDASWOUZSHOVOBaMNITIaVIIVAY
`
`ALNOASSASMLSYgiz
`
`
`
`EYaLNdWODINAI19ALINNODASFAAGNV
`
`
`
`S3NSOIYAXOUdSYONLLOWWOud3OVd84MSLS3NOFY
`
`
`
`YALNdINODAVMALWDY3LNdWODLNSTIOsoz
`
`cog|ADMIOdALRINOASSASRILTWows3OVd83MSASIMISYSeonnenaozz
`
`O12
`
`
`
`
`
`
`
`Lsano3yLN3I19YALNdWODHSANIS
`
`
`
`
`
`
`
`
`

`

`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 5 of 14
`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 5 of 14
`
`Patent Application Publication
`
`Jan. 6,2005 Sheet 3 of 3
`
`US 2005/0005107 Al
`
`
`
`ANAIdiO34|dNOUSLNaldIosY
`
`
`
`OSADMOdALLINDAS
`
`
`
`
`
`AdMNOdALINODZSMOADITOdALINNDSS
`
`
`
`
`
`¢€dNOYSLNAldIOaY
`
`ANSIdID34
`
`IN3IdiS3Hy
`
`
`
`OdAOMOdALIMNDAS
`
`
`
`€dNONSLNAldloay
`
`€Old AN3ITS
`
`AN3IT9LN3I1D
`
`Oce
`
`
`
`
`

`

`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 6 of 14
`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 6 of 14
`
`US 2005/0005107 Al
`
`Jan. 6, 2005
`
`METHOD AND SYSTEM FOR CACHING AT
`SECURE GATEWAYS
`
`CROSS REFERENCES TO RELATED
`APPLICATIONS
`
`[0009] There is thus provided in accordance with a pre-
`ferred embodiment of the present
`invention a computer
`gatewayfor an intranet of computers, including a scannerfor
`scanning incoming files from the Internet and deriving
`security profiles therefor, the security profiles being lists of
`[0001] This application is a continuation-in-part of assign-
`computer commandsthat the files are programmed to per-
`ee’s pending U.S. patent application Ser. No. 09/539,667,
`form,a file cache for storing files, a security profile cache for
`filed on Mar. 30, 2000, and entitled SYSTEM AND
`storing security profiles forfiles, and a security policy cache
`METHOD FOR PROTECTING A COMPUTER AND A
`for storing security policies for intranet computers within an
`NETWORK FROM HOSTILE DOWNLOADABLES,
`intranet, the security policies includingalist of restrictions
`which is a continuation of U.S. patent application Ser. No.
`for files that are transmitted to intranet computers.
`08/964,388 (now U.S. Pat. No. 6,092,194), filed on Nov.6,
`1997 and entitled SYSTEM AND METHOD FOR PRO-
`TECTING A COMPUTER AND A NETWORK FROM
`HOSTILE DOWNLOADABLES.
`
`FIELD OF THE INVENTION
`
`[0002] The present invention relates to computer security
`and network gateways.
`BACKGROUND OF THE INVENTION
`
`[0003] 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 provide, 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 responsesfrom the intranet
`computers to the Internet, and incoming requests and
`responses from the Internet to the intranet computers are
`routed through the gateway computer.
`
`[0004] Typically, a request is issued as an HTTP protocol
`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 response is
`typically an HTTP response including a requestedfile, sent
`back to a client in response to a request.
`
`[0005] 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.
`
`[0006] Two important functions of computer gateways are
`(i) to restrict outsiders from unauthorized access to a com-
`puter intranet, and (ii) to protect the intranet computers from
`software containing computer viruses and from spam. Com-
`puter 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 soft-
`warethat filters out unwanted content.
`
`[0007] 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.
`SUMMARYOF THE INVENTION
`
`[0010] There is further provided in accordance with a
`preferred embodimentof the present invention a method for
`operation of a network gatewayfor an intranet of computers,
`including receiving a request from an intranet computer for
`a file on the Internet, determining whether the requestedfile
`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 programmed to
`perform, and if the determining is not affirmative then
`retrieving the requested file from the Internet, scanning the
`retrieved file to determine computer commandsthatthe file
`is programmedto 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 net-
`work 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 whether
`transmission of the requestedfile to the intranet computer is
`to be restricted.
`
`{0011] There is yet further provided in accordance with a
`preferred embodimentof 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 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 command
`that the file is programmed to perform, and if the determin-
`ing is notaffirmative then retrieving the requested file from
`the Internet, scanning the retrieved file to determine com-
`puter commandsthat 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 of
`the
`requested file to the intranet computer is to be restricted.
`
`[0008] The present invention provides a method and sys-
`tem for
`improving performance of gateway computers.
`Specifically, the present invention mitigates network latency
`caused by processing time at a gateway computer.
`
`[0012] There is moreover provided in accordance with a
`preferred embodimentof the present invention a method for
`operation of a network gatewayfor an intranet of computers,
`including receiving a request from an intranet computer for
`
`

`

`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 7 of 14
`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 7 of 14
`
`US 2005/0005107 Al
`
`Jan. 6, 2005
`
`computers, including receiving a request from an intranet
`a file on the Internet, retrieving a security profile for the
`
`requested file from a security profile cache at the network computer forafile on the Internet, determining whether the
`gateway, the security profile including a list of at least one
`requested file resides within a file cache at
`the network
`computer commandthatthe file is programmed to perform,
`gateway, if the determining is affirmative retrieving a secu-
`retrieving a security policy for the intranet computer from a
`rity profile for the requestedfile from a security profile cache
`security policy cache at the network gateway, the security
`at the network gateway, the security profile including a list
`policy defining restrictions onfiles that can be transmitted to
`of at least one computer command that
`the file is pro-
`the intranet computer, and comparing the security profile for
`grammed to perform, and if the determining is not affirma-
`the requested file vis a vis the security policy for the intranet
`tive retrieving the requested file from the Internet, storing
`computer,
`to determine whether
`transmission of
`the
`the retrieved file within thefile cache, and storing a security
`requested file to the intranet computeris to be restricted.
`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 of
`the
`requested file to the intranet computer is to be restricted.
`
`[0013] There is additionally provided in accordance with
`a preferred embodimentofthe 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, 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,retrieving a security policy for the
`intranet computer from a security policy cache at the net-
`work gateway, the security policy 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 of the requested file to the intranet
`computer is to be restricted.
`
`[0014] 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 retrieving a requested file from the Internet, scan-
`ning the retrievedfile to determine computer commandsthat
`the file is programmedto 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.
`
`[0015] There is yet further provided in accordance with a
`preferred embodimentof the present invention a computer-
`readable storage medium storing program code for causing
`a computer to perform the steps of retrieving a requestedfile
`from the Internet, scanning the retrieved file to determine
`computer commandsthatthe file is programmedto 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.
`
`[0016] 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 forfiles, the security profiles being lists of computer
`commandsthat 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.
`
`[0017] There is additionally provided in accordance with
`a preferred embodiment of the present invention a method
`for operation of a network gateway for an intranet of
`
`[0018] There is further provided in accordance with a
`preferred embodimentof 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 gateway, if the determiningisaffirmative retrieving
`a security profile for the requestedfile 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 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 comparingthe 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.
`
`[0019] There is moreover provided in accordance with a
`preferred embodiment of the present invention a computer
`gatewayfor an intranet of computers, including a scannerfor
`scanning outgoing files from an intranet to the Internet and
`deriving security profiles therefor, the security profiles being
`lists of computer commandsthatthefiles are programmed to
`perform, 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.
`
`[0020] There is additionally 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 file from an intranet com-
`puter for transmission to a recipient computer on the Inter-
`net, scanning the receivedfile to derive a security profile for
`the received file, the security profile including a list of at
`least one computer commandthatthe 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 determine whethertransmission of the
`requested file to the recipient computeris to be restricted.
`
`

`

`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 8 of 14
`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 8 of 14
`
`US 2005/0005107 Al
`
`Jan. 6, 2005
`
`[0021] There is further provided in accordance with a
`preferred embodimentof 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 computer for transmission to a recipient computer
`on the Internet, scanning the receivedfile 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 determine
`whether transmission of the requested file to the recipient
`computer is to be restricted.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0022] The present invention will be more fully under-
`stood and appreciated from the following detailed descrip-
`tion, taken in conjunction with the drawings in which:
`
`FIG.1 is a simplified block diagram for a network
`[0023]
`gateway, in accordance with a preferred embodimentof the
`present invention;
`
`FIG.2 is a simplified flowchart for operation of a
`[0024]
`network gateway, in accordance with a preferred embodi-
`ment of the present invention; and
`
`FIG.3 is a simplified block diagram for a network
`[0025]
`gateway that control outgoing traffic, in accordance with a
`preferred embodiment of the present invention.
`
`DETAILED DESCRIPTION OF A PREFERRED
`EMBODIMENT
`
`invention provides a system and
`[0026] The present
`method for optimizing performance of network gateways
`that perform security-based functions.
`
`[0027] Reference is now made to FIG. 1, which is a
`simplified block diagram for a network gateway, in accor-
`dance with a preferred embodimentof 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 intervenes between requests for web pages originating
`from an intranet 120 of clients 123, 125 and 127, and
`responses originating from Internet servers 133, 135 and
`137.
`
`[0028] Typically, web pages include text, executable
`scripts and one or more links to web objects that must be
`
`retrieved in 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 computer. 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.
`
`[0029] Preferably, gateway computer 110 includes a code
`scanner 140, for scanning incoming web pages and web
`objects in order to detect the presence of malicious execut-
`able scripts or active code. Preferably when gateway 110
`receives a web page,
`it also retrieves the web objects
`referenced by the web 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 O1, 02, O3 and O4.
`Generally, the web page, P, and the web objectsit references,
`O1, 02, 03 and 04are stored as files within the Internet.
`
`[0030] When the web page, P, first arrives at gateway
`computer 110, gateway computer 110 preferably retrieves
`objects O1, 02, O3 and O4. Gateway computer 110 then
`decides which of web page P and objects O1, 02, 03 and 04
`may potentially be malicious, and scanner 140 scans each of
`the potentially malicious files. Determination of whichfiles
`may be potentially malicious may be based on numerous
`criteria—for example, multimedia objects such as images
`and video clips may be deemed safe, whereas Visual Basic
`scripts and Java applets may be deemed potentially mali-
`cious.
`
`In accordance with a preferred embodimentof the
`[0031]
`present invention, scanner 140 analyzes eachfile it scans to
`determine the nature of computer operations that the file is
`programmed to perform, and derives a security profile
`therefor,
`summarizing 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 system, or open a network socket.
`
`[0032] Table I below indicates a typical scan analysis, in
`accordance with a preferred embodiment of the 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 deemed safe. The security profile for
`web page P includessecurity profiles for JavaScript within
`page P, and for web objects O1 and O04referenced by page
`P. Web objects O2 and O3 are not scanned, since they are
`deemed to besafe.
`
`TABLEI
`
`Security Profile for Web Page P
`
`Security Profile
`
`Malicious?—File System Operating System Network
`
`
`Potentially|Commands Commands Commands
`
`
`None
`
`Issue HTTP request;
`
`Web Page P
`References objects
`O1, 02, 03 and O04
`Includes JavaScript
`
`
`
`‘Yes
`
`None
`
`Web Object O1 Open file Fl;|Openregistry;Yes None
`
`
`
`

`

`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 9 of 14
`Page 9 of 14
`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19
`
`US 2005/0005107 Al
`
`Jan. 6, 2005
`
`TABLEI-continued
`
`Security Profile for Web Page P
`
`Security Profile
`
`Operating System Network
`File System
`Malicious?
`
`Potentially©Commands Commands Commands
`
`
`
`
`Java applet Write file F2;—Edit registry
`Delete file F1
`
`Web Object O2
`Still image
`Web Object O3
`Audio clip
`Web Object O04 Open file F1;|NoneYes Open socket;
`
`
`FTP send
`ActiveX Control
`Copyfile F1
`
`No
`
`No
`
`
`
`In accordance with a preferred embodimentof the
`[0033]
`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 includesa table as
`indicated in TableII.
`
`TABLEII
`
`Structure of Security Profile Cache 150
`
`Web Content ID
`
`Web Content Security Profile
`
`[0034] 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.
`
`TABLEIII
`
`Structure of Web Content Cache 160
`
`Web Content URI
`
`Web Content ID
`
`Web Content
`
`[0035] 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 TableIII.
`
`It may be appreciated that the same web page or
`[0036]
`web object may be stored at multiple locations and, as such,
`multiple URIs may correspond to the same web content. In
`a preferred embodimentof the present invention, web cache
`160 is managed 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.
`
`[0037] Preferably, when a client computer requests a web
`page, P, from a server computer, the request is first trans-
`mitted to gateway computer 110, which checks whether or
`not the web pageis already resident within web cache 160.
`If not, then computer gateway forwards the request to the
`server computer, which in turn sends the requested web
`
`to gateway computer 110 within a response.
`page, P,
`Requests and responsesare typically formatted according to
`the HTTP protocol. Uponreceipt of the requested web page,
`gateway computer 110 (i) fetches the web objects referenced
`by page P, such as web objects O1, 02, O03 and O4
`hereinabove; (ii) determines which files to scan; (iii) deter-
`mines security profiles for the scannedfiles; (iv) caches the
`security profiles for web page P in security profile cache
`150; and (v) caches web page P and web objects O1, 02, O03
`and O4 in web cache 160.
`
`[0038] After gateway computer 110 has stored web page P
`in web cache 160, and hasstored its corresponding security
`profile in security profile cache 150, it determines whether
`or not
`to send web page P to the client computer that
`requested it. If web page P may perform malicious opera-
`tions to the client computer, then gateway computer 110 may
`not transmit web pageP.
`
`[0039] The decision whether or not to transmit web page
`P to the requesting client computer is preferably based on a
`security policy for the client computer. A security policy
`indicates suspicious operations that are to be blocked from
`a client computer. Thus by comparing the operations within
`a security profile for a web page, P, vis a vis the operations
`listed within a security policy that are to be blocked, a
`determination can be made whether or not to transmit web
`
`page P to a client computer. Preferably, security policies are
`stored within a security policy cache 170 on gateway
`computer 110.
`
`[0040] Use of security profiles and security policies are
`described in applicant’s U.S. Pat. No. 6,092,194 entitled
`SYSTEM AND METHOD FOR PROTECTING A COM-
`PUTER AND A NETWORK FROM HOSTILE DOWN-
`LOADABLES,USS. Pat. No. 6,154,844 entitled SYSTEM
`AND METHOD FOR ATTACHING A DOWNLOAD-
`ABLE SECURITY PROFILE TO A DOWNLOADABLE,
`USS. Pat. No. 6,167,520 entitled SYSTEM AND METHOD
`FOR PROTECTING A CLIENT DURING RUNTIME
`FROM HOSTILE DOWNLOADABLES, and U’S. Pat. No.
`6,480,962 entitled SYSTEM AND METHOD FOR PRO-
`TECTING A CLIENT DURING RUNTIME FROM HOS-
`TILE DOWNLOADABLES.
`
`the various caches
`It may be appreciated that
`[0041]
`within gateway computer 110—-security profile cache 150,
`web cache 160 and security policy cache 170, must be
`managed in order to be kept current as files on the Internet
`
`

`

`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 10 of 14
`Case 3:17-cv-05659-WHA Document 349-9 Filed 01/04/19 Page 10 of 14
`
`US 2005/0005107 Al
`
`Jan. 6, 2005
`
`a group of client computers and the Internet. Thus at step
`210 a network gateway computer receives the client request.
`
`are replaced with newer versions, and in order to appropri-
`ately purge items from cache when cache memoryis full and
`new itemsarrive for storage. Typically, web cache 160 is the
`[0054] At step 215 the gateway computer determines
`cache that fills up, since web objects such as applets and
`whether or not the requested web page is already resident
`multimedia files tend to be very large. In accordance with a
`within its web cache. Preferably, the web cache is indexed
`preferred embodimentof the present invention, caches 150
`by URI, so that the gateway computer can readily determine
`and 160 are synchronized, so that whenafile is purged from
`whether or not the requested web page is available. If the
`web cache 160, its corresponding security profile is purged
`requested web page is already available in the web cache,
`from cache 170.
`processing continues at step 255. Otherwise, at step 220 the
`gateway computerretrieves the requested web page from the
`Internet, using the web page’s URIto determineits location.
`At step 225 the client computer receives the requested web
`page from the gateway computer, and at step 230 the client
`computer identifies the web objects referenced within the
`web page it receives and requests them from the gateway
`computer.
`
`[0042] Methodologies for keeping caches 150 and 160
`current include inter alia:
`
`replacing cached files regularly on a periodic
`[0043]
`basis, such as every 24 hours, and re-scanning them
`to derive updated security profiles;
`
`replacing files based on expiration dates and
`[0044]
`times included within the file headers, and re-scan-
`ning them to derive updated security profiles; and
`
`checking the Internet to determine whether
`[0045]
`cachedfiles are current wheneverthey are requested
`by an intranet computer.
`
`[0046] Methodologies for purging files when cache 160 is
`full include inter alia:
`
`[0047]
`
`purging the oldest files;
`
`[0048]
`
`purging the least accessed files; and
`
`[0055] Typically, web objects are referenced by individual
`URIs. Thus web objects O1, 02, 03 and O4 abovetypically
`each have their own URIs, say, URI1, URI2, URI3 and
`URI4. At step 235 the gateway computer retrieves the
`referenced web objects from the Internet, using their indi-
`vidual URIs to determine their locations. It may be appre-
`ciated that although the requested web pageis not available
`in the web cacheat step 215, it is possible that one or more
`of the web objectsit references are nevertheless available in
`cache. As such, the gateway computer may not be required
`to retrieve all of the referenced web objects at step 235.
`
`purging the files that have not been accessed
`[0049]
`for the longest time; i.e., last recently used (LRU).
`
`[0056] At step 240 the gateway computer determines
`which of the web page and its referenced web objects are
`deemed potentially malicious, and scans those files that are
`It may be appreciated that although web contentis
`[0050]
`so deemed. In accordance with a preferred embodimentof
`purged from cache 160 in order to free up memory,
`the
`the present invention, the scans operate to identify computer
`security profile of the purged content need not be purged
`commandsthata file is programmedto carry out, and record
`from security profile cache 150. In such a case, if the purged
`potentially malicious commands inalist that serves as a
`webcontent is subsequently re-cached and has not changed,
`security profile. Typically, the list includes commandsthat
`then code scanner 140 need not re-scan the content. Pref-
`operate on a computerfile system or operating system, and
`commandsthat perform network operations such as opening
`of a network socket or transmission of data.
`
`the web content ID is used to determine if web
`erably,
`content re-entering

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