throbber
Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 1 of 19
`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 1 of 19
`
`
`
`
`
`EXHIBIT 2
`EXHIBIT 2
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 2 of 19
`seeeeSSTTA
`
`US006804780B1
`
`US 6,804,780 B1
`(10) Patent No:
`a2) United States Patent
`Touboul
`(45) Date of Patent:
`*Oct. 12, 2004
`
`
`(54) SYSTEM AND METHOD FOR PROTECTING
`A COMPUTER AND A NETWORK FROM
`HOSTILE DOWNLOADABLES
`
`11/1996 Judson
`5,572,643 A
`5,579,509 A * 11/1996 Furtney et al. ww 703/27
`5,606,668 A
`2/1997 Shwed
`5,623,600 A
`4/1997 Ji et al.
`5,638,446 A
`6/1997 Rubin
`hal
`.
`5692047 A
`Shlomo Touboul, Kefar-haim (IL)
`Inventor:
`(75)
`11/1997 McManis
`
`: 11/1997 Holdenetal.ee 5,692,124 A
`
`
`(73) Assignee: Finjan Software, Ltd., Netanya (IL)
`5.720.033 A
`2/1998 Deo en era
`(*) Notice:
`Subjectto any disclaimer, the term ofthis
`2F408 ‘
`Fi008 chang sa
`parent “sacb)by0 or adjusted under 35
`5,761,421 A
`{1998 van Hoff etal.
`S.C, by0days.‘b) . .
`
`
`
`
`(List continued on next page.)
`
`This patent is subject to a terminal dis-
`claimer.
`
`No.:
`
`No.:
`
`(1) Appl.
`ppl.
`(22)
`Filed:
`
`09/539,667
`,
`Mar. 30, 2000
`
`Related U.S. Application Data
`(63) Continuation of application No. 08/964,388,filed on Nov.6,
`1997, now Pat. No. 6,092,194,
`60)
`Prov:
`1
`licati
`No. 60/030,639,
`filed
`Nov. 8
`2.
`tye
`(69) 1906. application
`No.
`60/030,639,
`filed
`on
`Nov.
`8,
`(51)
`Int. CW?
`HO4L 9/00; GO6F 11/30
`beet eeeeeeceeeeeseneeeneene
`nt.
`8
`5
`(52) U.S. Cheee 713/181; 713/201; 713/176;
`T17/178
`(58) Field of SerSeIRLSOGbSSaos.oe 0.
`me
`?
`/223,
`7Ur763 73
`oe
`
`(56)
`
`:
`References Cited
`U.S. PATENT DOCUMENTS
`SOT7677 A
`12/1991 Murphy
`et
`al
`Atel
`lpiy et al.
`oe “
`L194 Typlllotal
`5,485,409 A
`1/1996 Gupta et al.
`5,485,575 A
`1/1996 Chessetal.
`
`EP
`EP
`
`FOREIGN PATENT DOCUMENTS
`1091276 Al *
`4/2001 owe GO06F/1/00
`
`1132796 Al *
`9/2001
`«.» GO6F/1/00
`OTHER PUBLICATIONS
`
`Khare, “Microsoft Authenticode Analyzed” Jul. 22, 1996,
`xent.com/FoRK-—archive/summer96/0338.html, p. 1—2.*
`(List continued on next page.)
`:
`.
`:
`.
`Primary Examiner—Ayaz Sheikh
`Assistant Examiner—Christopher Revak
`(74) Attorney, Agent,
`or Firm—Squire, Sanders &
`Dempsey, LLP.
`
`(57)
`ABSTRACT
`A computer-based method for generating a Downloadable
`ID to identify a Downloadable, including obtaining a Down-
`loadable that includes one or more references to software
`components required by the Downloadable, fetching at least
`one software component
`identified by the one or more
`references, and performing a function on the Downloadable
`and the fetched software components to generate a Down-
`loadable ID. A system and a computer-readable storage
`medium are also described and claimed.
`18 Claims, 10 Drawing Sheets
`
`800
`a
`
`Start
`
`
`Receive a Downloadable
`So
`820
`Fe:ch Downloadable
`
`Components
`
`810
`
`830
`
`
`
`
`sin
`Include Fetched Component:
`The Downloacable
`
`
`840
`
`on
`Perform a Hashing Function
`the Downloadable to Generate
`i
`a Downloadable ID
`

`Store the Downloadable ID
`
`FINJAN-JN 000443
`
`

`

`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 3 of 19
`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 3 of 19
`
`US 6,804,780 B1
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`6/1998 Breslau et al.
`5,765,205 A
`7/1998 Devarakondaetal.
`5,784,459 A
`8/1998 Davis et al.
`5,796,952 A
`9/1998 Cohenetal.
`5,805,829 A
`11/1998 Chenet al.
`5,832,208 A
`5,832,274 A * 11/1998 Cutler et al. TATAT1
`5,850,559 A
`12/1998 Angeloetal.
`5,859,966 A
`1/1999 Haymanetal.
`5,864,683 A
`1/1999 Boebertetal.
`5,892,904 A
`4/1999 Atkinson et al.
`5,951,698 A
`9/1999 Chenetal.
`5,956,481 A
`9/1999 Walshetal.
`5,974,549 A
`10/1999 Golan
`5,978,484 A * 11/1999 Apperson et al. «0.0.0.0... 705/54
`5,983,348 A
`11/1999 Ji
`6,092,194 A *
`7/2000 Touboul oe. 713/200
`
`............. 713/201
`6,154,844 A * 11/2000 Touboul et al.
`6,339,829 B1 *
`1/2002 Beadle et al. 0... 713/201
`OTHER PUBLICALIONS
`
`“Release Notes for the Microsfot ActiveX Development
`Kit’, Aug. 13, 1996, activex.adsp.or.jp/inetsdk/readme.txt,
`p. 1-10.*
`“Microsoft ActiveX Software Development Kit” Aug. 12,
`1996, —activex.adsp.or.jp/inetsdk/help/overview.htm,
`p.
`1-6.*
`
`Doyle ct al, “Microsoft Press Computer Dictionary” 1993,
`Microsoft Press, 2nd Edition, p. 137-138.*
`Schmitt, “.EXE. files, OS—2 style” Nov. 1988, PC Tech
`Journal via dialog search, vol. 6, #11, p. 76-78.*
`Jim K. Omura, “Novel Applications of Cryptography in
`Digital Communications”, IEEE Communications Maga-
`zine, May, 1990; pp. 21-29.
`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://1el.ihs.com:80/cgi-bin/iel__cgi?se
`.
`.
`.
`2ehts%26ViewTemplate%3ddocview%5ifb%2ehts.
`IBM AntiVirus User’s Guide Version 2.4, International
`Business Machines Corporation, Nov. 15, 1995, pp. 6-7.
`
`Norvin Leachetal, “IE 3.0 Applets Will Earn Certification’,
`PC Week, vol. 13, No. 29, Jul. 22, 1996, 2 pages.
`“Finjan Software Releases SurfinBoard, Industry’s First
`JAVA Security Product For the World Wide Web”, Article
`published on the Internet by Finjan Softwre Ltd., Jul. 29,
`1996, 1 page.
`“Powerful PC Security for the New World of Java™ and
`Downloadables, Surfin Shicld™” Article published on the
`Internet by Finjan Software Ltd., 1996, 2 Pages.
`Microsoft® Authenticode Technology, “Ensuring Account-
`ability and Authenticity for Software Components on the
`Internet”, Microsoft Corporation, Oct. 1996,
`including
`Abstract, Contents, Introduction and pp. 1-10.
`“Finjan Announces a Personal Java™ Firewall Kor Web
`Browsers—the SurfinShield™ 1.6 (formerly knownas Surf-
`inBoard)”, Press Release of Finjan Releases SurfinShield
`1.6, Oct. 21, 1996, 2 pages.
`CompanyProfile “Finjan—Safe Surfing, The Java Security
`Solutions Provider”, Article published on the Internet by
`Finjan Software Ltd., Oct. 31, 1996, 3 pages.
`“Finjan Announces Major Power Boost and New Features
`for SurfinShield™ 2.0” Las Vegas Convention Center/Pa-
`vilion 5 P5551, Nov. 18, 1996, 3 pages.
`“Java Security: Issues & Solutions” Article published on the
`Internet by Finjan Software Ltd., 1996, 8 pages.
`“Products” Article published on the Internet, 7 pages.
`Mark LaDue, “Online Business Consulant: Java Security:
`Whose Business Is It?” Article published on the Internet,
`Home Page Press, Inc. 1996, 4 pages.
`Web Page Article “Frequently Asked Questions About
`Authenticode”, Microsoft Corporation, last updated Feb. 17,
`1997, Printed Dec. 23, 1998. URL: http:/Avww.microsoft.
`com/workshop/security/authcode/signfaq.asp#9, pp. 1-13.
`Zhang, X.N., “Secure Code Distribution”, IEEE/IEE Elec-
`tronic Library online, Computer,vol. 30, Issue 6, Jun., 1997,
`pp. 76-79.
`
`* cited by examiner
`
`FINJAN-JN 000444
`
`

`

`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 4 of 19
`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 4 of 19
`
`U.S. Patent
`
`Oct. 12, 2004
`
`Sheet 1 of 10
`
`US6,804,780 B1
`
`100
`
`oe
`
`105
`
`External Computer Network
`
`Internal Network
`Security System
`
`Internal Computer Network
`
`
`
`
`
`120
`
`Security
`Management
`Console
`
`
`
`
`
`FIG.
`
`1
`
`FINJAN-JN 000445
`
`

`

`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 5 of 19
`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 5 of 19
`
`U.S. Patent
`
`Oct. 12, 2004
`
`Sheet 2 of 10
`
`US 6,804,780 B1
`
`¢Olas
`
`OSC
`
`
`
`AWND8S
`
`weiBold
`
`Bunessdo
`
`Wwaishs
`
`
`
`
`
`
`
`WVdaBeloysejeq
`
`
`OvzSUOHEOIUNWWOZ)
`092a]SLseswens|aseqejeq
` 7OLZ
`
`Jajndwoypeueyxy
`
`solAedjBUJeyU|
`
`
`Jayndwoy|euayxy
`
`aOLL
`
`SL?
`
`SO0e
`
`SZ
`
`woj4
`
`SOLOMJON
`
`jeUla}xy
`
`GE?OE?GC?
`
`
`
`aA
`
`
`
`SBdeHS}U}O/|SUOIJESIUNLULUO)ndd
`
`SoeLayul
`
`GSZAyinoesga0eHa}u|
`
`
`
`Bo]sjuaag
`
`sdasp)
`
`
`
`OL
`
`GLEOMION
`
`FINJAN-JN 000446
`
`
`
`
`
`
`
`
`

`

`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 6 of 19
`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 6 of 19
`
`U.S. Patent
`
`Oct. 12, 2004
`
`Sheet 3 of 10
`
`US 6,804,780 B1
`
`O0€
`
`
`
`aseqeyeqAyunoas
`
`aiqepeojumog;SNOIDIGSNSUON;
`
`cee
`
`
`
`JoyesedwogJauueag
`
`DVBpod
`
`jeolBo7
`
`euibug
`
`piovay
`
`Buldasy
`
`aulbug
`
`Joyeseduoy
`
`TWN
`
`SJESYINSO)
`
`Joyeseduuog
`
`BCOYIWSD
`
`JaUUBOS
`
`sii
`
`Joyeseduos
`
`Ad|Od
`
`Japuly
`
`WN
`
`
`
`‘dl4asn
`
`pealsoay
`
`ajqepeojumoq
`
`|I||
`
`||t
`
`;SOC
`
`OLE
`
`Beddsd
`
`Sald|logANIaS
`
`SO}COIILADUMOUY
`
`
`sojqepeo|umogUMOUY
`
`L0€
`
`FINJAN-JN 000447
`
`
`
`
`
`
`
`

`

`
`
`
`
`Trusted
`Certificate Lists
`
`
`
`410
`
`415
`
`420
`
`425
`
`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 7 of 19
`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 7 of 19
`
`U.S. Patent
`
`Oct. 12, 2004
`
`Sheet 4 of 10
`
`US6,804,780 B1
`
`Security Policies
`
`305
`
`Policy Selectors
`
`Access Control
`Lists
`
`ae
`405
`
`
`
`
`
`URL Rule Bases
`
`Lists of Downloadables
`to Allow or Block per
`Administrative Override
`
`
`FIG. 4
`
`FINJAN-JN 000448
`
`

`

`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 8 of 19
`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 8 of 19
`
`U.S. Patent
`
`Oct. 12, 2004
`
`Sheet 5 of 10
`
`US 6,804,780 B1
`
`120
`
`To/From
`Internal Computer
`Network
`
`135
`
`505
`510
`a
`
`Engine
`
`Security
`
`Policy Editor
`
`FIG. 5
`
`Event Log
`Analysts
`Engine
`
`
`
`User
`Notification
`
`FINJAN-JN 000449
`
`

`

`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 9 of 19
`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 9 of 19
`
`U.S. Patent
`
`Oct. 12, 2004
`
`Sheet 6 of 10
`
`US 6,804,780 B1
`
`600
`
`—
`
`602
`
`Receive Downloadable
`
`
`
`
`
`
`Generate Downloadable ID
`
` Find Security Policy
`
`
` 508
`
`Downloadable
`allowed?
`
`
`
`
`Downloadable
`blocked?
`
`614
`
`
`
`
`
`No
`
`616
`
`Compare URL
`
`
`
` URL
`
`
`comparison
`618
`required?
`
`
`
`ACL
`
`comparison
`required?
`
`
`No
`
`Yes
`
`626
`
`
` Previously
`decomposed
`
`
`
`Decompose Downloadable
`into DSP data
`
`620
`
`
`
` TCL
`camparison
`
`
`
`
`required?
`
`622
`
`Yes
`
`Scan Certificate
`
`
`
`
`
`
`Compare Certificate
`with TCL
`
`7
`Compare DSP with ACL
`
`630
`
`FIG. 6A
`
`624
`Logical Engine
`
`Send results to
`
`
`
`
`
`FINJAN-JN 000450
`
`

`

`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 10 of 19
`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 10 of 19
`
`U.S. Patent
`
`Oct. 12, 2004
`
`Sheet 7 of 10
`
`US6,804,780 B1
`
`606
`
`a
`
`Security policy defined
`for User-ID and
`Downloadable?
`
`
`
`
`
`Fetch the policy
`
`Fetch the generic
`for
`security policy for
`
`
`User ID and
`User ID
`
`Downloadable
`
`
`
`
`End
`
`FIG. 6B
`
`FINJAN-JN 000451
`
`

`

`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 11 of 19
`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 11 of 19
`
`U.S. Patent
`
`Oct. 12, 2004
`
`Sheet 8 of 10
`
`US6,804,780 B1
`
`655
`
`
`
`Comparator, ACL
`Comparator, Certificate
`Comparator and URL
`Comparator
`
`662
`
`
`
`
`Compare Results with
`Security Policies
`
`Confirm Pass?
`
`Pass Downloadable
`
`Stop Downloadable
`
`670
`
`672
`
`
`
`668
`
`Send Substitute
`Downloadble to
`
`Inform The User
`
`
`
`
`
`ya Receive Results from First
`
`
`
` Security Policies
`
`
`
`
`
`Record Findings
`
`FIG. 6C
`
`FINJAN-JN 000452
`
`

`

`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 12 of 19
`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 12 of 19
`
`U.S. Patent
`
`Oct. 12, 2004
`
`Sheet 9 of 10
`
`US 6,804,780 B1
`
`628
`
`ao
`
`Disassemble the Machine
`
`Code
`
`705
`
`710
`
`Resolve a Respective
`Command in The Code
`
`
`
`
`Is The Resolved
`Command Suspect?
`
`
`715
`
`No
`
`Yes
`
`Decode and Register The
`
`720
`
`Command and The
`Command Parameters as
`DSP Data
`
`
`No
`
`725
`
`FIG. 7
`
`FINJAN-JN 000453
`
`

`

`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 13 of 19
`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 13 of 19
`
`U.S. Patent
`
`Oct. 12, 2004
`
`Sheet 10 of 10
`
`US6,804,780 B1
`
`800
`
`o
`
`
`
`810
`
`Receive a Downloadable
`
`
`
`
`Fetch Downloadable
`Components
`
`
`
`Include Fetched Componerts in
`The Downloadable
`
`
`
`820
`
`830
`
`
`
`
`
`Perform a Hashing Function on
`the Downloadable to Generate
`a Downloadable ID
`
`
`
`Store the Downloadable ID
`
`
`840
`
`850
`
`FIG. 8
`
`FINJAN-JN 000454
`
`

`

`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 14 of 19
`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 14 of 19
`
`US 6,804,780 B1
`
`1
`SYSTEM AND METHOD FOR PROTECTING
`A COMPUTER AND A NETWORK FROM
`HOSTILE DOWNLOADABLES
`
`PRIORITY REFERENCE TO RELATED
`APPLICATION
`
`This application is a continuation of and hereby incorpo-
`rates by reference U.S. patent application Ser. No. 08/964,
`388, entitled “System and Method for Protecting a Com-
`puter and a Network from Hostile Downloadables,” filed
`Nov. 6, 1997, which is now U.S. Pat. No. 6,092,194, which
`claimspriority to provisional application Serial No. 60/030,
`639, entitled “System and Method for Protecting a Com-
`puter from Hostile Downloadables,”filed on Nov. 8, 1996,
`by inventor Shlomo Touboul.
`INCORPORATION BY REFERENCE TO
`RELATED APPLICATIONS
`
`This application hereby incorporates by reference related
`US. patent application Ser. No. 08/790,097, entitled “Sys-
`tem and Method for Protecting a Clicnt from Hostile
`Downloadables,” filed on Jan. 29, 1997, which is now US.
`Pat. No. 6,167,520, by inventor Shlomo Touboul; and
`hereby incorporates by reference provisional application
`Ser. No. 60/030,639, entitled “System and Method for
`Protecting a Computer from Hostile Downloadables,” filed
`on Nov. 8, 1996, by inventor Shlomo Touboul.
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`
`‘This invention relates generally to computer networks,
`and more particularly provides a system and method for
`protecting a computer and a network from hostile Down-
`loadables.
`
`2. Description of the Background Art
`The Internet is currently a collection of over 100,000
`individual computer networks owned by governments,
`universities, nonprofit groups and companies, and is expand-
`ing at an accelerating rate. Because the Internet is public, the
`Internet has become a major source of many system dam-
`aging and system fatal application programs, commonly
`referred to as “viruses.”
`
`Accordingly, programmers continue to design computer
`and computer network security systems for blocking these
`viruses from attacking both individual and network com-
`puters. On the mostpart, these security systems have been
`relatively successful. However, these security systems are
`not configured to recognize computer viruses which have
`been attached to or configured as Downloadable application
`programs, commonly referred to as “Downloadables.” A
`Downloadable is an executable application program, which
`is downloaded from a source computer and run on the
`destination computer. Downloadable is typically requested
`by an ongoing process such as by an Internet browser or web
`engine. Examples of Downloadables include Java™ applets
`designed for use in the Java™ distributing environment
`developed by Sun Microsystems, Inc., JavaScript scripts
`also developed by Sun Microsystems, Inc., ActiveX™ con-
`trols designed for use in the ActiveX™ distributing envi-
`ronment developed by the Microsoft Corporation, and
`Visual Basic also developed by the Microsoft Corporation.
`Therefore, a system and method are needed to protect a
`network from hostile Downloadables.
`
`SUMMARYOF THE INVENTION
`
`The present invention provides a system for protecting a
`network from suspicious Downloadables. The system com-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`prises a security policy, an interface for receiving a
`Downloadable, and a comparator, coupled to the interface,
`for applying the security policy to the Downloadable to
`determine if the security policy has been violated. The
`Downloadable may include a Java™ applet, an ActiveX™
`control, a JavaScript™ script, or a Visual Basic script. The
`security policy may include a default security policy to be
`applied regardless of the client to whom the Downloadable
`is addressed, a specific security policy to be applied based on
`the client or the group to which the client belongs, or a
`specific policyto be applied based on the client/group and on
`the particular Downloadable received. The system uses an
`ID generator to compute a Downloadable ID identifying the
`Downloadable, preferably, by fetching all componentsof the
`Downloadable and performing a hashing function on the
`Downloadable including the fetched components.
`Further, the security policy may indicate several tests to
`perform, including (1) a comparison with known hostile and
`non-hostile Downloadables; (2) a comparison with Down-
`loadables to be blocked or allowed per administrative over-
`ride; (3) a comparison of the Downloadable security profile
`data against access control
`lists; (4) a comparison of a
`certificate embodied in the Downloadable against trusted
`certificates; and (5) a comparison of the URL from whichthe
`Downloadable originated against
`trusted and untrusted
`URLs.Based onthese tests, a logical engine can determine
`whether to allow or block the Downloadable.
`
`invention further provides a method for
`The present
`protecting a computer from suspicious Downloadables. The
`method comprises the steps of receiving a Downloadable,
`comparing the Downloadable against a security policy to
`determine if the security policy has been violated, and
`discarding the Downloadable if the security policy has been
`violated.
`
`It will be appreciated that the system and method of the
`present invention may provide computer protection from
`known hostile Downloadables. The system and method of
`the present
`invention may identify Downloadables that
`perform operations deemed suspicious. The system and
`method of the present invention may examine the Down-
`loadable code to determine whether the code contains any
`suspicious operations, and thus may allow or block the
`Downloadable accordingly.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram illustrating a network system,
`in accordance with the present invention;
`FIG. 2 is a block diagram illustrating details of the
`internal network security system of FIG. 1;
`FIG. 3 is a block diagram illustrating details of the
`security program and the security database of FIG. 2;
`FIG. 4 is a block diagram illustrating details of the
`security policies of FIG. 3;
`FIG. 5 is a block diagram illusirating details of the
`security management console of FIG. 1;
`FIG. 6A is a flowchart illustrating a method of examining
`for suspicious Downloadables,
`in accordance with the
`present invention;
`FIG. 6B is a flowchartillustrating details of the step for
`finding the appropriate security policy of FIG. 6A;
`FIG. 6C is a flowchart illustrating a method for determin-
`ing whether an incoming Downloadable is to be deemed
`suspicious;
`FIG. 7 is a flowchart illustrating details of the FIG. 6 step
`of decomposing a Downloadable; and
`
`FINJAN-JN 000455
`
`

`

`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 15 of 19
`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 15 of 19
`
`US 6,804,780 B1
`
`3
`illustrating a method 800 for
`FIG. 8 is a flowchart
`generating a Downloadable ID for identifying a Download-
`able.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`FIG. 1 is a block diagram illustrating a network system
`100, in accordance with the present invention. The network
`system 100 includes an cxtcrnal computer network 105,
`such as the Wide Area Network (WAN) commonly referred
`to as the Internet, coupled via a communications channel
`125 to an internal network security system 110. The network
`system 100 further includes an internal computer network
`115, such as a corporate Local Area Network (LAN),
`coupled via a communications channel 130 to the internal
`network computer system 110 and coupled via a communi-
`cations channel 135 to a security managementconsole 120.
`The internal network security system 110 examines
`Downloadables received from external computer network
`105, and prevents Downloadables deemed suspicious from
`reaching the internal computer network 115.
`It will be
`further appreciated that a Downloadable is deemed suspi-
`cious if it performs or may perform any undesirable
`operation, or if it threatens or may threaten the integrity of
`an internal computer network 115 component. It is to be
`understood that
`the term “suspicious” includes hostile,
`potentially hostile, undesirable, potentially undesirable, etc.
`Security management console 120 enables viewing, modi-
`fication and configuration of the internal network security
`system 110.
`FIG. 2 is a block diagram illustrating details of the
`internal network security system 110, which includes a
`Central Processing Unit (CPU) 205, such as an Intel Pen-
`tium® microprocessor or
`a Motorola Power PC®
`microprocessor, coupled to a signal bus 220. The internal
`network security system 110 further includes an external
`communications interface 210 coupled between the com-
`munications channel 125 and the signal bus 220 for receiv-
`ing Downloadables from external computer network 105,
`and an internal communications interface 225 coupled
`between the signal bus 220 and the communications channel
`130 for forwarding Downloadables not deemed suspicious
`to the internal computer network 115. The external commu-
`nications interface 210 and the internal communications
`
`interface 225 may be functional components of an integral
`communications interface (not shown) for both receiving
`Downloadables from the external computer network 105 and
`forwarding Downloadablesto the internal computer network
`115.
`
`Internal network security system 110 further includes
`Input/Output (I/O) interfaces 215 (such as a keyboard,
`mouse and Cathode Ray Tube (CRT) display), a data storage
`device 230 such as a magnetic disk, and a Random-Access
`Memory (RAM) 235, each coupled to the signal bus 220.
`The data storage device 230 stores a security database 240,
`which includes security information for determining
`whether a received Downloadable is to be deemed suspi-
`cious. The data storage device 230 further stores a userslist
`260 identifying the users within the internal computernet-
`work 115 who may receive Downloadables, and an event log
`245 which includes determination results for each Down-
`loadable examined and runtime indications of the internal
`
`network security system 110. An operating system 250
`controls processing by CPU 205, and is typically stored in
`data storage device 230 and loaded into RAM 235 (as
`illustrated) for execution. A security program 255 controls
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`examination of incoming Downloadables, and also may be
`stored in data storage device 230 and loaded into RAM 235
`(as illustrated) for execution by CPU 205.
`FIG. 3 is a block diagram illustrating details of the
`security program 255 and the security database 240. The
`security program 255 includes an ID generator 315, a policy
`finder 317 coupled to the ID gencrator 315, and a first
`comparator 320 coupled to the policy finder 317. The first
`comparator 320 is coupled to a logical engine 333 via four
`separate paths, namely, via Path 1, via Path 2, via Path 3 and
`via Path 4. Path 1 includes a direct connection from thefirst
`comparator 320 to the logical engine 333. Path 2 includes a
`code scanner coupled to the first comparator 320, and an
`Access Control List (ACL) comparator 330 coupling the
`code scanner 325 to the logical engine 333. Path 3 includes
`a certificate scanner 340 coupled to the first comparator 320,
`and a certificate comparator 345 coupling the certificate
`scanner 340 to the logical engine 333. Path 4 includes a
`Uniform Resource Locator (URL) comparator 350 coupling
`the first comparator 320 to the logical engine 3330. A
`record-keeping engine 335 is coupled between the logical
`engine 333 and the event log 245.
`The security program 255 operates in conjunction with
`the security database 240, which includes security policies
`305, known Downloadables 307, known Certificates 309
`and Downloadable Security Profile (DSP) data 310 corre-
`sponding to the known Downloadables 307. Security poli-
`cies 305 includespolicies specific to particular users 260 and
`default (or generic) policies for determining whether to
`allow or block an incoming, Downloadable. These security
`policies 305 may identify specific Downloadables to block,
`specific Downloadables to allow, or necessary criteria for
`allowing an unknown Downloadable. Referring to FIG. 4,
`security policies 305 include policy selectors 405, access
`controllists 410, trusted certificate lists 415, URL rule bases
`420, and lists 425 of Downloadables to allow orto block per
`administrative override.
`Known Downloadables 307 include lists of Download-
`ables which Original Equipment Manufacturers (OEMs)
`know to be hostile, of Downloadables which OEMs knowto
`be non-hostile, and of Downloadables previously received
`by this security program 255. DSP data 310 includesthelist
`of all potentially hostile or suspicious computer operations
`that may be attempted by each known Downloadable 307,
`and may also include the respective arguments of these
`operations. An identified argument of an operation is
`referred to as “resolved.” An unidentified argument
`is
`referredto as “unresolved.” DSP data 310 is described below
`with reference to the code scanner 325.
`
`The ID generator 315 receives a Downloadable (including
`the URL from which it came and the userID of the intended
`recipient) from the external computer network 105 via the
`external communications interface 210, and generates a
`Downloadable ID for identifying each Downloadable. The
`Downloadable ID preferably includes a digital hash of the
`complete Downloadable code. The ID generator 315 pref-
`erably prefetches all components embodied in or identified
`by the code for Downloadable ID generation. For example,
`the ID generator 315 mayprefetch all classes embodied in
`or identified by the Java™ applet bytecode to generate the
`Downloadable ID. Similarly,
`the ID generator 315 may
`retrieve all components listed in the INF file for an
`ActiveX™ control
`to compute a Downloadable ID.
`Accordingly, the Downloadable ID for the Downloadable
`will be the same each time the ID generator 315 receives the
`same Downloadable. The ID generator 315 adds the gener-
`ated Downloadable ID to the list of known Downloadables
`
`FINJAN-JN 000456
`
`

`

`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 16 of 19
`Case 3:17-cv-05659-WHA Document 98-5 Filed 06/07/18 Page 16 of 19
`
`US 6,804,780 B1
`
`6
`An Example List of Operations Deemed Potentially
`Hostile
`
`5
`307 (if it is not already listed). The ID generator 315 then
`forwards the Downloadable and Downloadable ID to the
`policy finder 317.
`File operations: READafile, WRITEafile;
`The policyfinder 317 uses the userID of the intended user
`and the Downloadable ID to select the specific security
`Network operations: LISTEN on a socket, CONNECTto
`a sockct, SEND data, RECEIVE data, VIEW INTRA-
`policy 305 that shall be applied on the received Download-
`NET;
`able. If there is a specific policy 305 that was defined for the
`user (or for one of its super groups) and the Downloadable,
`Registry operations: READaregistry item, WRITE a
`then the policy is selected. Otherwise the generic policy 305
`registry item;
`that was definedfor the user(or for one of its super groups)
`Operating system operations: EXIT WINDOWS, EXIT
`is selected. The policy finder 317 then sends the policyto the
`BROWSER, START PROCESS/THREAD, KILL
`first comparator 320.
`PROCESS/THREAD, CHANGE PROCESS/
`The first comparator 320 receives the Downloadable, the
`THREAD PRIORITY, DYNAMICALLY LOAD A
`Downloadable ID and the security policy 305 from the
`CLASS/LIBRARY, etc.; and
`policy finder 317. The first comparator 320 examines the
`security policy 305 to determine which steps are needed for
`Resource usage thresholds: memory, CPU,graphics,etc.
`allowing the Downloadable. For example,
`the security
`In the preferred embodiment, the code scanner 325 performs
`policy 305 may indicate that,
`in order to allow this
`a full-content inspection. However, for improved speed but
`Downloadable, it must pass all four paths, Path 1, Path 2,
`reduced security, the code scanner 325 may examine only a
`Path 3 and Path 4. Alternatively, the security policy 305 may
`portion of the Downloadable such as the Downloadable
`header. The code scanner 325 then stores the DSP data into
`indicate that to allow the Downloadable, the it must pass
`only one of the paths. The first comparator 320 responds by
`DSPdata 310 (corresponding to its Downloadable ID), and
`forwarding the proper information to the paths identified by
`sends the Downloadable, the DSP data to the ACL com-
`the security policy 305.
`parator 330 for comparison with the security policy 305.
`The ACL comparator 330 receives the Downloadable, the
`corresponding DSPdata and the security policy 305 from the
`code scanner 325, and compares the DSP data against the
`security policy 305. That
`is,
`the ACL comparator 330
`compares the DSP data of the received Downloadable
`against the access control lists 410 in the received security
`policy 305. The access control list 410 contains criteria
`indicating whether to pass or fail the Downloadable. [or
`example, an access control list may indicate that the Down-
`loadable fails if the DSP data includes a WRITE command
`
`10
`
`20
`
`25
`
`30
`
`35
`
`to a system file. The ACL comparator 330 sendsits results
`to the logical engine 333.
`
`Path 3
`
`Path 1
`
`the first comparator 320 checks the policy
`In path 1,
`selector 405 of the security policy 305 that was received
`from the policy finder 317. If the policy selector 405is either
`“Allowed” or “Blocked,” then the first comparator 320
`forwards this result directly to the logical engine 333.
`Otherwise, the first comparator 320 invokes the comparisons
`in path2 and/or path 3 and/or path 4 based on the contents
`of policy selector 405. It will be appreciated that the first
`comparator 320 itself compares the Downloadable ID
`against the lists of Downloadables to allow or block per
`administrative override 425. That is, the system security
`administrator can define specific Downloadables as
`“Allowed” or “Blocked.”
`
`In path 3, the certificate scanner 340 determines whether
`the received Downloadable was signed by a certificate
`authority, such as VeriSign, Inc., and scans for a certificate
`embodied in the Downloadable. The certificate scanner 340
`forwards the found certificate to the certificate comparator
`345. The certificate comparator 345 retrieves knowncertifi-
`cates 309 that were deemed trustworthy by the security
`administrator and compares the found certificate with the
`the first comparator 320 delivers the
`In path 2,
`knowncertificates 309 to determine whether the Download-
`Downloadable, the Downloadable ID and the security policy
`305 to the code scanner 325. If the DSP data 310 of the
`able was signed byatrusted certificate. The certificate
`comparator 345 sends the results to the logical engine 333.
`received Downloadable is known,
`the code scanner 325
`retrieves and forwards the information to the ACL compara-
`Path 4
`tor 330. Otherwise, the code scanner 325 resolves the DSP
`In path 4, the URL comparator 350 examines the URL
`data 310. That is, the code scanner 325 uses conventional
`identifying the source of the Downloadable against URLs
`parsing techniques to decompose the code (including all
`stored in the URL rule base 420 to determine whether the
`prefetched components) of the Downloadable into the DSP
`Downloadable comes from a trusted source. Based on the
`data 310. DSP data 310 includes the list of all potentially
`security policy 305, the URL comparator 350 may deem the
`hostile or suspicious computer operations that may be
`Downloadable suspicious if the Downloadable comes from
`attempted by a specific Downloadable 307, and may also
`an untrustworthy source or if the Downloadable did not
`ioclude the respective arguments of these operations. For
`come from a trusted source. For example, if the Download-
`example, DSP data 310 may include a READ from a specific
`able comes from a known hacker, then the Downloadable
`file, a SEND to an unresolved host, etc. The code scanner
`may be deemedsuspicious and presumed hostile. The URL
`325 may generate the DSP data 310 asa list ofall operations
`in the Downloadable code which could ever be deemed
`comparator 350 sendsits results to the logical engine 333.
`
`potentially hostile andalist of all files to be accessed by the The logical engine 333 examinesthe results of each of the
`Downloadable code. It will be appreciated that the code
`paths and the policy selector 405 in the security policy 305
`to determine whether to allow or block the Downloadable.
`scanner 325 may search the code for any pattern, which is
`undesirable or suggests that
`the code was written by a
`hacker.
`
`the logical engine 333 may receive the
`Alternatively,
`results of each of the paths and based on the policy selector
`405 mayinstitute the final determination whetherto allow or
`block the Downloadable. The first comparator 320 informs
`the logical engine 333 of the results of its comparison.
`Path 2
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`The policy selector 405 includes a logical expression of the
`results received from each of the paths.

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