throbber
Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 1 of 34
`Case 4:18-cv-07229—YGR Document 44-10 Filed 02/28/20 Page 1 of 34
`
`EXHIBIT I
`
`EXHIBIT I
`
`

`

`US007975305B2
`
`(12) United States Patent
`Rubin et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,975,305 B2
`Jul. 5, 2011
`
`(54)
`
`(75)
`
`METHOD AND SYSTEM FOR ADAPTIVE
`RULE-BASED CONTENT SCANNERS FOR
`DESKTOP COMPUTERS
`
`Inventors: Moshe Rubin, Jerusalem (IL); Moshe
`Matitya, Jerusalem (IL); Artem
`Melnick, Beit Shemesh (IL); Shlomo
`Touboul, Kefar-Haim (IL); Alexander
`Yermakov, Beit Shemesh (IL); Amit
`Shaked, Tel Aviv (IL)
`
`(73)
`
`Assignee: Finjan, Inc., San Jose, CA (US)
`
`(*)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1016 days.
`
`(21)
`
`Appl. No.: 11/009.437
`
`(22)
`
`Filed:
`
`Dec. 9, 2004
`
`(65)
`
`Prior Publication Data
`US 2005/024O999 A1
`Oct. 27, 2005
`
`(63)
`
`Related U.S. Application Data
`Continuation-in-part of application No. 10/930,884,
`filed on Aug. 30, 2004, which is a 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, filedon Nov. 6, 1997, now
`Pat. No. 6,092,194.
`
`(51)
`
`(52)
`(58)
`
`Int. C.
`(2006.01)
`G06F II/00
`(2006.01)
`G06F2L/00
`U.S. Cl. ............................. 726/25; 726/22; 713/153
`Field of Classification Search ........................ None
`See application file for complete search history.
`
`
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,077,677 A 12/1991 Murphy et al. ................. TO6/62
`5,359,659 A 10/1994 Rosenthal ....................... T26/24
`5,361,359 A 11/1994 Tajalliet al. .................... T26/23
`5,414,833 A *
`5/1995 Hershey et al. ................. 726/22
`5,485.409 A
`1/1996 Gupta et al. .................... 726/25
`(Continued)
`
`EP
`
`FOREIGN PATENT DOCUMENTS
`109 1276
`4/2001
`(Continued)
`
`OTHER PUBLICATIONS
`DGrune, etal—Parsing Techniques: A Practical Guide, 2000—John
`Wiley & Sons, Inc. New York, NY, USA, p. 1-326.*
`(Continued)
`Primary Examiner — Emmanuel L. Moise
`Assistant Examiner — Jeffery Williams
`(74) Attorney, Agent, or Firm —Dawn-Marie Bey; King &
`Spalding LLP
`
`ABSTRACT
`(57)
`A security system for Scanning content within a computer,
`including a network interface, housed within a computer, for
`receiving content from the Internet on its destination to an
`Internet application running on the computer, a database of
`rules corresponding to computer exploits, stored within the
`computer, a rule-based content scanner that communicates
`with said database of rules, for Scanning content to recognize
`the presence of potential exploits therewithin, a network traf
`fic probe, operatively coupled to the network interface and to
`the rule-based content scanner, for selectively diverting con
`tent from its intended destination to the rule-based content
`scanner, and a rule update manager that communicates with
`said database of rules, for updating said database of rules
`periodically to incorporate new rules that are made available.
`A method and a computer readable storage medium are also
`described and claimed.
`
`25 Claims, 14 Drawing Sheets
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 2 of 34
`
`

`

`US 7,975,305 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`5,485,575 A
`1/1996 Chess et al. ..................... T14? 38
`5,572,643 A 11, 1996 Judson ........
`709,218
`5,579,509 A 1 1/1996 Furtney et al.
`703/27
`5,606,668 A
`2f1997 Shwed .....
`T26, 13
`5,623,600 A
`4/1997 Ji et al. .
`... 726/24
`5,638,446 A
`6, 1997 Rubin .........
`705/51
`5,675,711 A * 10/1997 Kephartet al.
`... 706/12
`5,692,047 A 11/1997 McManis ....
`713, 167
`5,692,124 A 11/1997 Holden et al. .................... 726/2
`5,720,033. A
`2f1998 Deo ............
`726/2
`5,724.425. A
`3/1998 Chang et al.
`705/52
`5,740,248 A
`4, 1998 Fieres et al.
`713,156
`5,740,441 A * 4, 1998 Yellin et al. ................... T17,134
`5,761,421 A
`6, 1998 van Hoffetal. .............. 709,223
`5,765,205 A
`6, 1998 Breslau et al. ........
`711,203
`5,784,459 A
`7, 1998 Devarakonda et al.
`713,165
`5,796,952 A
`8, 1998 Davis et al. ........
`709,224
`5,805,829 A
`9, 1998 Cohen et al.
`709f2O2
`5,832,208 A 11/1998 Chen et al. ..
`... 726/24
`5,832,274 A 11/1998 Cutler et al.
`717/171
`5,850,559 A 12/1998 Angelo et al. .
`713,320
`5,859,966 A
`1/1999 Hayman et al. ................. T26/23
`5,864,683 A
`1/1999 Boebert et al. ................ TO9,249
`5,881,151 A * 3/1999 Yamamoto .
`... 726/24
`5,884,033. A * 3/1999 Duvallet al. ..
`709/206
`5,892,904 A
`4/1999 Atkinson et al.
`T26/22
`5,951,698 A
`9, 1999 Chen et al. .....
`... 714,38
`5,956.481 A
`9, 1999 Walsh et al.
`T26/23
`5,963,742 A * 10/1999 Williams ...
`717/143
`5,974,549 A 10, 1999 Golan .........
`T26/23
`5,978.484 A 11/1999 Apperson et al. ............... 705/54
`5,983,348 A * 1 1/1999 Ji .................................... T26.13
`5,987,611 A * 1 1/1999 Freund ...
`... 726,4
`6,088,801 A * 7/2000 Grecsek ...
`726, 1
`6,088,803 A * 7/2000 Tso et al. .
`T26/22
`6,092,194 A
`7/2000 Touboul ......
`... 726/24
`6,154,844 A 11/2000 Toubouletal
`... 726/24
`6,167,520 A 12/2000 Touboul ......
`T26/23
`6,339,829 B1
`1/2002 Beadle et al.
`T26, 15
`6.425,058 B1
`7/2002 Arimilli et al.
`711 (134
`6,434,668 B1
`8, 2002 Arimilli et al.
`711,128
`6,434,669 B1
`8, 2002 Arimillietal
`711,128
`6,480,962 B1
`1 1/2002 Touboul .........
`T26/22
`6,487,666 B1
`1 1/2002 Shanklin et al. ................ T26/23
`6,519,679 B2
`2/2003 Devireddy et al. ........... 711 114
`6,598,033 B2 * 7/2003 Ross et al. ...
`... 706/46
`6,732,179 B1
`5, 2004 Brown et al.
`709,229
`6,804,780 B1
`10/2004 Touboul ......
`713, 181
`6,917,953 B2
`7/2005 Simon et al.
`707,204
`7,058,822 B2
`6/2006 Edery et al. .
`T26/22
`7,143,444 B2 11/2006 Porras et al. ...
`T26/30
`7.210,041 B1 * 4/2007 Gryaznov et al...
`713,188
`7,308.648 B1
`12/2007 Buchthal et al. .............. T15,234
`7,343,604 B2
`3/2008 Grabarnik et al. ............ T19, 313
`7,418,731 B2
`8, 2008 Touboul .........
`T26/22
`2002/0059157 A1* 5/2002 Spooner et al.
`TO6/45
`2002/0066024 A1* 5, 2002 Schmall et al. ....
`713,200
`2002/0073330 A1* 6/2002 Chandnani et al.
`713,200
`2003, OO14662 A1
`1/2003 Gupta et al. ...
`T26/23
`2003/0101358 A1
`5/2003 Porras et al. ...................... T26/4
`2004/0073811 A1* 4/2004 Sanin .............
`713,201
`2004/0088425 A1
`5/2004 Rubinstein et al. ........... TO9/230
`2005/0050338 A1
`3/2005 Liang et al. ................... T13, 188
`2005/0172338 A1
`8, 2005 Sandu et al. ...
`T26/22
`2006/0031207 A1
`2/2006 Bjarnestam et al. .............. 707/3
`2006,004.8224 A1
`3/2006 Duncan et al. .....
`726/22
`2008/0066160 A1
`3/2008 Becker et al. ..................... T26/4
`2010/0195909 A1* 8, 2010 Wasson et al. ................ 382, 176
`
`
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 3 of 34
`
`EP
`
`FOREIGN PATENT DOCUMENTS
`1132796
`9, 2001
`
`OTHER PUBLICATIONS
`International Search Report for Application No. PCT/IL05/00915, 4
`pp., dated Mar. 3, 2006.
`Zhong, et al., “Security in the Large: is Java's Sandbox Scalable?”
`
`Seventh IEEE Symposium on Reliable Distributed Systems, pp. 1-6,
`Oct. 1998.
`Rubin, et al., “Mobile Code Security.” IEEE Internet, pp. 30-34. Dec.
`1998.
`Schmid, et al. "Protecting Data From Malicious Software.” Proceed
`ing of the 18" Annual Computer Security Applications Conference,
`pp. 1-10, 2002.
`Corradi, et al., “A Flexible Access Control Service for Java Mobile
`Code.” IEEE, pp. 356-365, 2000.
`International Search Report for Application No. PCT/IB97/01626, 3
`pp., May 14, 1998 (mailing date).
`Written Opinion for Application No. PCT/IL05/00915, 5 pp., dated
`Mar. 3, 2006 (mailing date).
`International Search Report for Application No. PCT/IB01/01138, 4
`pp., Sep. 20, 2002 (mailing date).
`International Preliminary Examination Report for Application No.
`PCT/IB01/01138, 2 pp., dated Dec. 19, 2002.
`Gerzic, Amer, “Write Your Own Regular Expression Parser.” Nov.
`17, 2003, 18 pp., Retrieved from the Internet: http://www.codeguru.
`com/Cpp/Cpp/cpp mfc/parsing/article.php/c4093/.
`Power, James, “Lexical Analysis,” 4 pp., May 14, 2006, Retrieved
`from the Internet: http://www.cs.imay.ief-power Courses/compil
`erS/notes/lexical.pdf.
`Sitaker, Kragen, “Rapid Genetic Evolution of Regular Expressions'
`online). The Mial Archive, Apr. 24, 2004 (retrieved on Dec. 7, 2004),
`5 pp., Retrieved from the Internet: http://www.mail-archive.com/
`kragen-tol(acanonical.org/msg00097.html.
`“Lexical Analysis: DFA Minimization & Wrap Up' online). Fall,
`2004 retrieved on Mar. 2, 2005, 8 pp., Retrieved from the Internet:
`http://www.owlnet.rice.edu/~comp412/Lectures/L06Lex Wrapup4.
`pdf.
`“Minimization of DFA' online), retrieved on Dec. 7, 2004), 7 pp.
`Retrieved from the Internet: http://www.cs.odu.edu/~toidanerzic?
`390teched/regular/famin-fa.html.
`“Algorithm: NFS -> DFA' online), Copyright 1999-2001 retrieved
`on Dec. 7, 2004), 4 pp., Retrieved from the Internet: http://rwa.cs.
`uni-sb.de/-ganimal/GANIFA/page16 e.htm.
`“CS 3813: Introduction to Formal Languages and Automata—State
`Minimization and Other Algorithms for Finite Automata.”3 pp., May
`11, 2003, Retrieved from the Internet: http://www.cs.imsstate.edu/~
`hansen/classes/3813 fall 01/slides/06Minimize.pdf.
`Watson, Bruce W. “Constructing Minimal Acyclic Deterministic
`Finite Automata.” retrieved on Mar. 20, 2005), 38 pp., Retrieved
`from the Internet: http://www.win.tue.nl/~watson/2R870/down
`loads/madfa algs.pdf.
`Chang, Chia-Hsiang, “From Regular Expressions to DFA's Using
`Compressed NFA's.” Oct. 1992, 243 pp. http://www.cs.nyu.edu/
`web/Research. Theses/chang chia-hsiang.pdf.
`“Products.” Articles published on the Internet, “Revolutionary Secu
`rity for a New Computing Paradigm' regarding SurfinGateTM, 7 pp.
`“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.” Microsoft
`Press, 2d Edition, pp. 137-138, 1993.
`Finjan Software Ltd., “Powerful PC Security for the New World of
`JavaTM and Downloadables, Surfin ShieldTM.” Article published on
`the Internet by Finjan Software Ltd., 2 pp. 1996.
`Finjan Sofrtware Ltd., “Finjan Announces a Personal JavaTM Firewall
`for Web Browsers the SurfinShieldTM 1.6 (formerly known s
`SurfinBoard).” Press Release of Finjan Releases SurfinShield 1.6, 2
`pp., Oct. 21, 1996.
`Finjan Software Ltd., “Finjan Announces Major Power Boost and
`New Features for SurfinShieldTM 2.0.” Las Vegas Convention Center?
`Pavillion 5 P5551, 3 pp., Nov. 18, 1996.
`Finjan Software Ltd., “Finjan Software Releases SurfinBoard, Indus
`try's First JAVA Security Product for the World WideWeb.” Article
`published on the Internet by Finjan Software Ltd., 1 p., Jul. 29, 1996.
`Finjan Software Ltd., “Java Security: Issues & Solutions.” Article
`published on the Internet by Finjan Software Ltd., 8 pp. 1996.
`Finjan Software Ltd., Company Profile, “Finjan Safe Surfing. The
`Java Security Solutions Provider.” Article published on the Internet
`by Finjan Software Ltd., 3 pp., Oct. 31, 1996.
`
`

`

`US 7,975,305 B2
`Page 3
`
`“IBM AntiVirus User's Guide, Version 2.4.”. International Business
`Machines Corporation, pp. 6-7, Nov. 15, 1995.
`Khare, R., “Microsoft Authenticode Analyzed” online, Jul. 22.
`1996 retrieved on Jun. 25, 2003), 2 pp., Retrieved from the Internet:
`http://www.xent.com/FoRK-archive/Smmer96/0338.html.
`LaDue, M. Online Business Consultant: Java Security: Whose Busi
`ness is It?. Article published on the Internet, Home Page Press, Inc.,
`4 pp., 1996.
`Leach, Norvin, et al., “IE 3.0 Applets Will Earn Certification.” PC
`Week, vol. 13, No. 29, 2 pp., Jul 22, 1996.
`Moritz, R., “Why We Shouldn't Fear Java.” Java Report, pp. 51-56,
`Feb. 1997.
`Microsoft, “Microsoft ActiveX Software Development Kit' online).
`Aug. 12, 1996 retrieved on Jun. 25, 2003), pp. 1-6. Retrieved from
`the Internet: activeX.adsp.or.jp/inetsdk/help? overview.htm.
`Microsoft(R) Authenticode Technology, "Ensuring Accountability
`and Authenticity for Software Components on the Internet.”
`Microsoft Corporation, Oct. 1996, including Abstract, Contents,
`Introduction, and pp. 1-10.
`
`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? signifacq.asp#9, pp. 1-13.
`Okamoto, E., et al., “ID-Based Authentication System for Computer
`Virus Detection.” IEEE/IEEElectronic Library online, Electronics
`Letters, vol. 26, Issue 15, ISSN 0013-5 194, Jul. 19, 1990, Abstract
`and pp. 1169-1170, URL: http://ielihs.com:80/cgi-biniel cgi?se.
`2ehts%26ViewTemplate%3ddocview%5fb%2ehts.
`Omura, J. K., “Novel Applications of Cryptography in Digital Com
`munications.” IEEE Communications Magazine, pp. 21-29, May
`1990.
`Schmitt, D.A., “.EXE files, OS-2 style.” PC Tech Journal, vol. 6, No.
`11, p. 76(13), Nov. 1988.
`Zhang, X. N. “Secure Code Distribution.” IEEE/IEE Electronic
`Library online, Computer, vol. 30, Issue 6, pp. 76-79, Jun. 1997.
`Power, James, “Notes on Formal Language Theory and Parsing.”
`National University of Ireland, pp. 1-40, 1999.
`* cited by examiner
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 4 of 34
`
`

`

`U.S. Patent
`
`Jul. 5, 2011
`
`Sheet 1 of 14
`
`US 7,975,305 B2
`
`
`
`t
`
`:
`8
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 5 of 34
`
`

`

`U.S. Patent
`
`Jul. 5, 2011
`
`Sheet 2 of 14
`
`US 7,975,305 B2
`
`MBIZATYNy
`
`012
`
`
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 6 of 34
`
`
`
`SEITñ8 MESMYJ
`
`

`

`U.S. Patent
`
`Jul. 5, 2011
`
`Sheet 3 of 14
`
`US 7,975,305 B2
`
`
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 7 of 34
`
`

`

`U.S. Patent
`
`Jul. 5, 2011
`
`Sheet 4 of 14
`
`US 7,975,305 B2
`
`
`
`epsilon
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 8 of 34
`
`

`

`U.S. Patent
`
`Jul. 5, 2011
`
`Sheet 5 of 14
`
`US 7,975,305 B2
`
`FIG. 4A-2
`
`
`
`epsilon
`
`epsilon
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 9 of 34
`
`epsilon
`
`

`

`U.S. Patent
`
`Jul. 5, 2011
`
`Sheet 6 of 14
`
`US 7,975,305 B2
`
`
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 10 of 34
`
`

`

`U.S. Patent
`
`Jul. 5, 2011
`
`Sheet 7 of 14
`
`US 7,975,305 B2
`
`
`
`NUMBER
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 11 of 34
`
`

`

`U.S. Patent
`
`Jul. 5, 2011
`
`Sheet 8 of 14
`
`US 7,975,305 B2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`CATOKENIZERTO RETRIEVE NEXT
`TOKEN
`
`AOD TOKEN TO PARSE TREE
`
`600
`
`810
`
`STHERE A PATTERN
`MATCH WITHA
`PARSERRULEP
`
`DOES THE RULE
`HAVEANONODE
`AT TREUTE
`
`
`
`
`
`
`
`PERFORMACTIONASSOCATED WITH
`MATCHED PARSERRULE:
`CREATE ANEW NODE, CALLED RULE
`NAME AND PLACE THE MATCHING
`NODES UNDER THE NEW NODE
`
`
`
`
`
`DOES THE RULE
`HAVE A NOANALYZE
`ATRIBUTEP
`
`CAANALYZERO DETERMINE FA
`POENA EXPLOIT IS PRESEN
`
`DOES ANALY2ER FIND
`AN ANALYZERRULE
`MATCH
`
`PERFORMACTIONASSOCATED WITH
`MATCHED ANALYZERRULE:
`RECORDANALYZERRULE AT CURRENT
`NODE, ASLEVELO
`
`PROPAGATE ANALYZERRULE UPWARO
`THROUGH NODE PARENTS, AS
`SUCCESSMELY INCREASINGEME
`
`FIG. 6
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 12 of 34
`
`

`

`U.S. Patent
`
`US 7,975,305 B2
`
`
`
`
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 13 of 34
`
`

`

`U.S. Patent
`
`Jul. 5, 2011
`
`Sheet 10 of 14
`
`US 7,975,305 B2
`
`ARBSCANNER FACTORY
`
`SCANNER REPOSTORY
`
`ARB SCANNER
`HTML
`
`
`
`ARB SCANNER
`AVASCRIPT
`
`ARS SCANNER
`UR
`
`OKENIZER
`
`TOKENZER
`
`TOKENZER
`
`PARSER
`
`PARSER
`
`PARSER
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 14 of 34
`
`FIG. 8
`
`

`

`U.S. Patent
`
`Jul. 5, 2011
`
`Sheet 11 of 14
`
`US 7,975,305 B2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 15 of 34
`
`NEEEN
`
`

`

`U.S. Patent
`
`Jul. 5, 2011
`
`Sheet 12 of 14
`
`US 7,975,305 B2
`
`
`
`
`
`s
`
`
`
`s' i
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 16 of 34
`
`

`

`lualud 'ST1
`
`VI Jo £1 WIN
`
`Zll 50£`51,6` L Sfl
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 17 of 34
`
`1110
`
`1110 --"•-•.\
`
`1120
`
`ARB SCANNER
`
`1120
`
`ARB SCANNER
`
`LOCAL SECURITY
`PROFILE CACHE
`
`1140
`
`1130
`
`LOCAL SECURITY
`PROFILE CACHE
`
`CENTRAL SECURITY
`PROFILE CACHE
`
`1110 ----.•
`
`1110 ------N\
`
`11c
`
`ARB SCANNER
`
`1131:1%\' LOCAL SECURITY
`PROFILE CACHE
`
`ARB SCANNER
`
`1120
`
`LOCAL SECURITY
`PROFILE CACHE
`
`1130
`
`
`
`FIG. 11
`
`

`

`U.S. Patent
`
`Jul. 5, 2011
`
`Sheet 14 of 14
`
`US 7,975,305 B2
`
`Ållè? OES
`
`
`
`C?EII-IICJOWA LIRITYOES
`
`
`
`}}ENN\/OS XOGONYS
`
`OZZ!
`
`ÅA LIMIT OES T\/OOT
`
`
`
`EHOVO ETI-JO?-jd
`
`
`
`LNEJ NOO SDNJWOONI
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 18 of 34
`
`

`

`US 7,975,305 B2
`
`1.
`METHOD AND SYSTEM FOR ADAPTIVE
`RULE-BASED CONTENT SCANNERS FOR
`DESKTOP COMPUTERS
`
`CROSS REFERENCES TO RELATED
`APPLICATIONS
`
`This application is a continuation-in-part of assignee's
`pending application U.S. Ser. No. 10/930,884, filed on Aug.
`30, 2004, entitled “Method and System for Adaptive Rule
`Based Content Scanners,” which is a continuation-in-part of
`assignee's application U.S. Ser. No. 09/539,667, filed on Mar.
`30, 2000, now U.S. Pat. No. 6,804,780, entitled “System and
`Method for Protecting a Computer and a Network from Hos
`tile Downloadables, which is a continuation of assignee's
`patent application U.S. Ser. No. 08/964,388, filed on 6 Nov.
`1997, now U.S. Pat. No. 6,092,194, also entitled “System and
`Method for Protecting a Computer and a Network from Hos
`tile Downloadables.”
`
`10
`
`15
`
`FIELD OF THE INVENTION
`
`The present invention relates to network security, and in
`particular to scanning of mobile content for exploits.
`
`25
`
`BACKGROUND OF THE INVENTION
`
`Conventional anti-virus Software scans a computer file sys
`tem by searching for byte patterns, referred to as signatures
`that are present within known viruses. If a virus signature is
`discovered within a file, the file is designated as infected.
`Content that enters a computer from the Internet poses
`additional security threats, as such content executes upon
`entry into a client computer, without being saved into the
`computer's file system. Content such as JavaScript and
`VBScript is executed by an Internet browser, as soon as the
`content is received within a web page.
`Conventional network security Software also scans such
`mobile content by searching for heuristic virus signatures.
`However, in order to be as protective as possible, virus sig
`natures for mobile content tend to be over-conservative,
`which results in significant over-blocking of content. Over
`blocking refers to false positives; i.e., in addition to blocking
`of malicious content, prior art technologies also block a sig
`nificant amount of content that is not malicious.
`Another drawback with prior art network security software
`is that it is unable to recognize combined attacks, in which an
`exploit is split among different content streams. Yet another
`drawback is that prior art network security software is unable
`to scan content containers, such as URI within JavaScript.
`All of the above drawbacks with conventional network
`security software are due to an inability to diagnose mobile
`code. Diagnosis is a daunting task, since it entails understand
`ing incoming byte source code. The same malicious exploit
`can be encoded in an endless variety of ways, so it is not
`Sufficient to look for specific signatures.
`Nevertheless, in order to accurately block malicious code
`with minimal over-blocking, a thorough diagnosis is
`required.
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`SUMMARY OF THE DESCRIPTION
`
`The present invention enables behavioral analysis of con
`tent. As distinct from prior art approaches that search for byte
`patterns, the approach of the present invention is to analyze
`incoming content in terms of its programmatic behavior.
`
`65
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 19 of 34
`
`2
`Behavioral analysis is an automated process that parses and
`diagnoses a software program, to determine if Such program
`can carry out an exploit.
`The present invention provides a method and system for
`scanning content that includes mobile code, to produce a
`diagnostic analysis of potential exploits within the content.
`The present invention is preferably used within a network
`gateway or proxy, to protect an intranet against viruses and
`other malicious mobile code.
`The content scanners of the present invention are referred
`to as adaptive rule-based (ARB) scanners. An ARB scanner is
`able to adapt itself dynamically to scan a specific type of
`content, such as inter alia JavaScript, VBScript, URI, URL
`and HTML. ARB scanners differ from prior art scanners that
`are hard-coded for one particular type of content. In distinc
`tion, ARB Scanners are data-driven, and can be enabled to
`scan any specific type of content by providing appropriate
`rule files, without the need to modify source code. Rule files
`are text files that describe lexical characteristics of a particu
`lar language. Rule files for a language describe character
`encodings, sequences of characters that form lexical con
`structs of the language, referred to as tokens, patterns of
`tokens that form syntactical constructs of program code,
`referred to as parsing rules, and patterns of tokens that corre
`spond to potential exploits, referred to as analyzer rules.
`Rules files thus serve as adaptors, to adapt an ARB content
`scanner to a specific type of content.
`The present invention also utilizes a novel description lan
`guage for efficiently describing exploits. This description
`language enables an engineer to describe exploits as logical
`combinations of patterns of tokens.
`Thus it may be appreciated that the present invention is able
`to diagnose incoming content for malicious behavior. As
`Such, the present invention achieves very accurate blocking of
`content, with minimal over-blocking as compared with prior
`art Scanning technologies.
`There is thus provided in accordance with a preferred
`embodiment of the present invention a security system for
`scanning content within a computer, including a network
`interface, housed within a computer, for receiving content
`from the Internet on its destination to an Internet application
`running on the computer, a database of rules corresponding to
`computer exploits, stored within the computer, a rule-based
`content scanner that communicates with said database of
`rules, for scanning content to recognize the presence of poten
`tial exploits therewithin, a network traffic probe, operatively
`coupled to the network interface and to the rule-based content
`scanner, for selectively diverting content from its intended
`destination to the rule-based content Scanner, and a rule
`update manager that communicates with said database of
`rules, for updating said database of rules periodically to incor
`porate new rules that are made available.
`There is moreover provided in accordance with a preferred
`embodiment of the present invention a method for scanning
`content within a computer, including receiving content from
`the Internet on its destination to an Internet application, selec
`tively diverting the received content from its intended desti
`nation, Scanning the selectively diverted content to recognize
`potential exploits therewithin, based on a database of rules
`corresponding to computer exploits, and updating the data
`base of rules periodically to incorporate new rules that are
`made available.
`There is further provided in accordance with a preferred
`embodiment of the present invention a computer-readable
`storage medium storing program code for causing a computer
`to perform the steps of receiving content from the Internet on
`its destination to an Internet application, selectively diverting
`
`

`

`US 7,975,305 B2
`
`3
`the received content from its intended destination, Scanning
`the selectively diverted content to recognize potential exploits
`therewithin, based on a database of rules corresponding to
`computer exploits, and updating the database of rules peri
`odically to incorporate new rules that are made available.
`There is yet further provided in accordance with a preferred
`embodiment of the present invention, a method for network
`security, including scanning content received overa computer
`network for potential malicious code, the intended destina
`tion of the content being a software application, including
`deriving a hash value for the received content, querying a
`local security cache for the presence of the hash value, the
`local security cache storing hash values for content and cor
`responding security profiles, whereby security profiles iden
`tify potentially malicious code within content, and if the
`querying is affirmative, then retrieving a security policy for
`the content from the local security cache, else if the querying
`is not affirmative, then deriving a security profile for the
`received content, storing the hash value and the derived secu
`rity policy in the local security cache, and transmitting the
`hash value and the security policy to a central security cache,
`and periodically updating the local security cache with hash
`values and corresponding security profiles from the central
`security cache.
`There is additionally provided in accordance with a pre
`ferred embodiment of the present invention a network secu
`rity system including a plurality of inter-connected comput
`ers within a network, each of the plurality of computers
`including a local security cache that stores hash values for
`content and corresponding content security profiles, whereby
`security profiles identify potentially malicious code within
`content, a scanner that communicates bi-directionally with
`the local security cache, for (i) examining incoming content
`and deriving a hash value therefor, the intended destination of
`the content being a software application; (ii) querying the
`35
`local security cache for the presence of the derived hash
`value; and (iii) examining incoming content and deriving a
`security profile therefor, and a central security cache storing
`hash values for content and corresponding content security
`profiles, to which hash values and corresponding security
`profiles are received from the plurality of inter-connected
`computers, and from which updated hash values and corre
`sponding security profiles are transmitted to the plurality of
`local security caches.
`There is moreover 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 Scanning content received over a
`computer network for potential malicious code, the intended
`destination of the content being a software application,
`including deriving a hash value for the received content,
`querying a local security cache for the presence of the hash
`value, the local security cache storing hash values for content
`and corresponding security profiles, whereby security pro
`files identify potentially malicious code within content, and if
`the querying is affirmative, then retrieving a security policy
`for the content from the local security cache, else if the
`querying is not affirmative, then deriving a security profile for
`the received content, storing the hash value and the derived
`security policy in the local security cache, and transmitting
`the hash value and the security policy to a central Security
`cache, and periodically updating the local security cache with
`hash values and corresponding security profiles from the
`central security cache.
`There is further provided in accordance with a preferred
`embodiment of the present invention a network security sys
`tem including a first scanner that analyzes incoming content
`
`4
`under general operational conditions, without executing the
`content, and derives a security profile for the content that
`identifies conditionally malicious code therein, which is
`malicious or non-malicious depending upon values of opera
`tional data, and a second scanner, connected in series with the
`first scanner, that analyzes the content under specific opera
`tional conditions corresponding to specific values of the
`operational data, by executing the content, and modifies the
`security profile for the content if the conditionally malicious
`code identified in the security profile is found to be malicious
`for the specific values of the operational data.
`There is yet further provided in accordance with a preferred
`embodiment of the present invention a method for network
`security, including analyzing incoming content under general
`operational conditions, without executing the content, deriv
`ing a security profile for the content that identifies condition
`ally malicious code therein, which is malicious or non-mali
`cious depending upon values of operational data, if the
`security profile identifies conditionally malicious code within
`the content, then further analyzing the content under specific
`operational conditions corresponding to specific values of the
`operational data, by executing the content, and modifying the
`security profile for the content if the conditionally malicious
`code identified in the security profile is found to be malicious
`for the specific values of the operational data, so as to identify
`the conditionally malicious code as being malicious.
`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 analyzing incoming content under
`general operational conditions, without executing the con
`tent, deriving a security profile for the content that identifies
`conditionally malicious code therein, which is malicious or
`non-malicious depending upon values of operational data, if
`the security profile identifies conditionally malicious code
`within the content, then further analyzing the content under
`specific operational conditions corresponding to specific val
`ues of the operational data, by executing the content, and
`modifying the security profile for the content if the condition
`ally malicious code identified in the security profile is found
`to be malicious for the specific values of the operational data,
`So as to identify the conditionally malicious code as being
`malicious.
`
`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 of an overall gateway
`security system that uses an adaptive rule-based (ARB) con
`tent Scanner, in accordance with a preferred embodiment of
`the present invention;
`FIG. 2 is a simplified block diagram of an adaptive rule
`based content Scanner system, in accordance with a preferred
`embodiment of the present invention;
`FIG.3 is an illustration of a simple finite state machine for
`detecting tokens “a” and “ab', used in accordance with a
`preferred embodiment of the present invention;
`FIG. 4A is an example of a non-deterministic finite
`automaton (NFA) for matching a pattern of tokens;
`FIG. 4B is an example of a deterministic finite automaton
`(DFA) which is equivalent to the NFA of FIG. 4A:
`FIG. 5 is an illustration of a simple finite state machine for
`a pattern, used in accordance with a preferred embodiment of
`the present invention;
`
`10
`
`15
`
`25
`
`30
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Case 4:18-cv-07229-YGR Document 44-10 Filed 02/28/20 Page 20 of 34
`
`

`

`5
`FIG. 6 is a simplified flowchart of operation of a parser for
`a specific content language within an ARB content Scanner, in
`accordance with a preferred embodiment of the present
`invention;
`FIG. 7 is a simplified block diagram of a system for seri
`alizing binary instances of ARB content scanners, transmit
`ting them to a client site, and regenerating them back into
`binary instances at the client site, in accordance with a pre
`ferred embodiment of the present invention;
`FIG. 8 illustrates a representative hierarchy of objects cre
`ated by a builder module, in accordance with a preferred
`embodiment of the present invention;
`FIG.9 is a simplified block diagram of a desktop computer
`implementation of an ARB content scanner, in accordance
`with a preferred embodiment of the prese

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