throbber
US007613926B2
`
`(12) Ulllted States Patent
`Edery et a].
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 7,613,926 B2
`*Nov. 3, 2009
`
`(54) METHOD AND SYSTEM FOR PROTECTING
`A COMPUTER AND A NETWORK FROM
`HOSTILE DOWNLOADABLES
`(75) Inventors: Yigal Mordechai Edery, Pardesia (IL);
`Nimrod Itzhak Vered, Goosh Tel-Mond
`
`5,359,659 A 10/1994 Rosenthal .................. .. 726/24
`
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`
`
`
`
`David R- Kl‘oll, San Jose, (73) Assignee: Finjan Software, Ltd, Netanya (IL) Tollbolll, Kefar-Halm
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U_S_C_ 154(1)) by 659 days_
`1 d.
`.
`Th.
`.
`b.
`1 is patent 1s su ject to a terrnma 1s-
`c a1mer.
`(21) Appl. N0.: 11/370,114
`(22) Filed:
`Mal? 7: 2006
`(65)
`Prior Publication Data
`
`Jul. 6, 2006
`US 2006/0149968 A1
`Related US. Application Data
`
`(63) Continuation of application No, 09/861,229, ?led on
`May 17, 2001, noW Pat. No. 7,058,822, and a continu-
`ation-in-part of application No. 09/539,667, ?led on
`Mar.' 30, ‘2000, HOW' Pat. NO. 6,804,780, Which iS a
`COnIlnuaIlOIl 0f 81313110811011 NO- O8/964Z388, ?ledpn
`NOV 6, 1997, 110W Pat N0 6,992,194, Sald appllcatlon
`NO~ 09/861,22915 a COmmuanOn-ln-pan OfaPPhCanOn
`231,302’ ?led on Apr‘ 18’ 2000’ HOW Pat‘ NO‘
`(60) Provisional application No. 60/205,591, ?led on May
`17, 2000
`
`OTHER PUBLICATIONS
`
`Zhong, et 211., “Security in the Large: is Java’s Sandbox Scalable?,”
`Seventh IEEE Symposium on Reliable Distributed Systems, pp. l-6,
`Oct‘ 1998‘
`
`(Continued)
`Primary ExamineriChristopher A Revak
`(74) Attorney, Agent, or FirmiKing & Spalding LLP
`
`(57)
`
`ABSTRACT
`
`Protection systems and methods provide for protecting one or
`more personal computers (“PCs”) and/ or other intermittently
`or persistently netWork accessible devices or processes from
`undesirable or otherWise malicious operations of JavaTM
`applets, ActiveXTM controls, JavaScriptTM scripts, Visual
`Basic scripts, add-ins, downloaded/uploaded programs or
`other “DoWnloadables” or “mobile code” in Whole or part. A
`protection engine embodiment provides, Within a server, ?re
`Wall or Pther sultable “re'commumcatq’” for momwng
`1nformat1on rece1ved by the commumcator, determlmng
`Whether received information does or is likely to include
`M d
`d .f
`b.1
`.
`d
`executa e co e, an 1 so, causes mo 1e protect1on co e
`(MPC) to be transferred to and rendered operable W1th1n a
`destination device of the received information, more suitabl
`.
`.
`.
`.
`. y
`by form1ng a protect1on agent 1nclud1ng the MPC, protect1on
`.
`.
`.
`pol1c1es and'a detected-DoWnloadable.AnMPC embodlment
`further prov1des, W1th1n a DoWnloadable-dest1nat1on, for 1m
`tiating the DoWnloadable, enabling malicious DoWnloadable
`Operation attempts to be received by the MPC, and Causing
`(predetermined) corresponding operations to be executed in
`response to the attempts, more suitably in conjunction With
`protection policies.
`
`(51) Int. C].
`G06F 21/24
`G06F 11/30
`
`H04L 9/00
`
`G06F 15/16
`
`(2006 01)
`(200601)
`'
`(2006 01)
`'
`(2006.01)
`713/181_ 713/175 713/176
`’
`’
`726/24’
`
`52) U 5 Cl
`(
`‘
`‘
`‘ """"""""""" "
`_
`_
`_
`..... .. None
`(58) Field of1 ~Classl??clatiqon Searclh ........
`See app lcanon e or Comp ete Seam lstory'
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`
`5,077,677 A 12/1991 Murphy et a1. .............. .. 706/62
`
`30 Claims, 10 Drawing Sheets
`
`wnhoul anvil/y
`Load the downloadble
`mmaung
`1r
`
`1 Form an awess lnrarcepmrtw intercepting
`downluadabla de‘?niilon diViDe access
`attempts wlmin me des?nl?nn device
`
`Exacuta the pDIiOIBS (meluding nausing an
`allowable response :Xpeded by m
`Danwluadablo m be rammed M1718
`Dwmlmdabla)
`
`1111
`
`

`
`US 7,613,926 B2
`Page 2
`
`US. PATENT DOCUMENTS
`
`5,361,359 A 11/1994 Tajalliet al. ................ .. 726/23
`5,414,833 A
`5/1995 Hersheyetal.
`..
`5,485,409 A
`1/1996 Gupta et al.
`5,485,575 A
`1/1996 Chess et al. ................. .. 714/38
`5,572,643 A 11/1996 Judson ..................... .. 709/218
`5,579,509 A 11/1996 Furtney et al. .
`703/27
`5,606,668 A *
`2/1997 Shwed ..... ..
`.. 726/13
`5,623,600 A *
`4/1997 Jiet al.
`726/24
`5,638,446 A
`6/1997 Rubin ....................... .. 705/51
`5,675,711 A 10/1997 Kephart et 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
`2/1998 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. ............... .. 717/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. .............. .. 709/202
`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. ............. .. 726/23
`5,864,683 A
`1/1999 Boebert et al. .
`. 709/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. ..
`726/22
`5,951,698 A
`9/1999 Chen et al. .................. .. 714/38
`5,956,481 A
`9/1999 Walsh et al. ................ .. 726/23
`5,963,742 A 10/1999 Williams .................. .. 717/143
`5,974,549 A 10/1999 Golan
`5,978,484 A 11/1999 Apperson et al. ........... .. 705/54
`5,983,348 A 11/1999 Ji
`5,987,611 A 11/1999 Freund ........................ .. 726/4
`6,088,801 A
`7/2000 Grecsek ....................... .. 726/1
`6,088,803 A
`7/2000 Tso et al. .
`726/22
`6,092,194 A *
`7/2000 Touboul
`.. 726/24
`6,154,844 A * 11/2000 Touboulet al. ............. .. 726/24
`6,167,520 A 12/2000 Touboul
`6,339,829 B1
`1/2002 Beadle et al. ............... .. 726/15
`6,425,058 B1
`7/2002 Arimilliet al.
`711/134
`6,434,668 B1
`8/2002 Arimilliet al.
`711/128
`6,434,669 B1
`8/2002 Arimilliet al.
`.. 711/128
`6,480,962 B1* 11/2002 Touboul ...... ..
`.
`. 726/22
`6,487,666 B1
`11/2002 Shanklin et al.
`.
`6,519,679 B2
`2/2003 Devireddy et al.
`
`.. 726/23
`711/114
`
`7/2003 Ross et al. . . . . . . . .
`6,598,033 B2
`5/2004 Brown et al.
`6,732,179 B1 *
`6,804,780 B1* 10/2004 Touboul
`6,901,519 B1* 5/2005 Stewart et al. .
`6,917,953 B2
`7/2005 Simon et al.
`7,058,822 B2 *
`6/2006 Edery et al.
`7,093,135 B1* 8/2006 Radatti et al.
`7,210,041 B1
`4/2007 Gryaznov et al.
`7,343,604 B2
`3/2008 Grabarnik et al.
`7,418,731 B2
`8/2008 Touboul ...... ..
`
`. . . . .. 706/46
`. 709/229
`713/181
`726/24
`707/204
`726/22
`713/188
`713/188
`719/313
`.. 726/22
`
`2004/0073811 A1
`2004/0088425 A1
`2005/0172338 A1
`2006/0031207 A1
`
`.. 726/13
`4/2004 Sanin .......... ..
`709/230
`5/2004 Rubinstein et al.
`726/22
`8/2005 Sandu et al. ....... ..
`2/2006 Bjarnestam et al. .......... .. 707/3
`
`OTHER PUBLICATIONS
`
`Rubin, et al., “Mobile Code Security,” IEEE Internet, pp. 30-34, Dec.
`1998.Schmid, et al. “Protecting Data From Malicious Software,”
`Proceedings of the 18”‘ Annual Computer SecuriU/Applications Con
`ference, 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).
`International Search Report for Application No. PCT/ IL05/ 00915, 4
`pp., dated Mar. 3, 2006.
`Written Opinion for Application no. PCT/IL05/00915, 5 pp., dated
`Mar. 3, 2006 (mailing date).
`International Search Report for Application No. PCT/1B0 1/01 138, 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.
`Power, James, “Lexical Analysis,” 4 pp., May 14, 2006.
`Sitaker, Kragen, “Rapid Genetic Evolution of Regular Expressions”
`[online], The Mia/Archive, Apr. 24, 2004 (retrieved on Dec. 7, 2004),
`5 pp.
`“Lexical Analysis: DFA Minimization & Wrap Up” [online], Fall,
`2004 [retrieved on Mar. 2, 2005], 8 pp.
`“Minimization of DFA” [online], [retrieved on Dec. 7, 2004], 7 pp.
`“Algorithm: NFS -> DFA” [online], Copyright 1999-2001 [retrieved
`on Dec. 7, 2004], 4 pp.
`“CS 3813: Introduction to Formal Languages and AutomataiState
`Minimization and OtherAlgorithms for Finite Automata,” 3 pp., May
`11, 2003.
`Watson, Bruce W., “Constructing Minimal Acyclic Deterministic
`Finite Automata,” [retrieved on Mar. 20, 2005], 38 pp.
`Chang, Chia-Hsiang, “From Regular Expressions to DFA’s Using
`Compressed NFA’s,” Oct. 1992, 243 pp.
`“Products,” Articles published on the Internet, “Revolutionary Secu
`rity for a New Computing Paradigm” regarding Sur?nGateTM, 7 pp.
`“Release Notes for the Microsoft ActiveX Development Kit,” Aug.
`13, 1996, 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, Sur?n ShieldTM,” Article published on
`the Internet by Finjan Software Ltd., 2 pp. 1996.
`Finjan Sofrtware Ltd., “FinjanAnnounces a Personal JavaTM Firewall
`for Web Browsersithe Sur?nShieldTM 1.6 (formerly known as
`Sur?nBoard),” Press Release of Finjan Releases Sur?nShield 1.6, 2
`pp., Oct. 21, 1996.
`Finjan Software Ltd., “Finjan Announces Major Power Boost and
`New Features for Sur?nShieldTM 2.0,” Las Vegas Convention Center/
`Pavillion 5 P5551, 3 pp., Nov. 18, 1996.
`Finjan Software Ltd., “Finjan Software Releases Sur?nBoard, Indus
`try’s First JAVA Security Product for the World Wide Web,” 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 Pro?le, “FinjaniSafe Sur?ng, The
`Java Security Solutions Provider,” Article published on the Internet
`by Finjan Software Ltd., 3 pp., Oct. 31, 1996.
`“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.
`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 Certi?cation,” 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.
`Microsoft® Authenticode Technology, “Ensuring Accountability
`and Authenticity for Software Components on the Internet,”
`Microsoft Corporation, Oct. 1996, including Abstract, Contents,
`Introduction, and pp. 1-10.
`Microsoft Corporation, Web Page Article “Frequently Asked Ques
`tions About Authenticode,” last updated Feb. 17, 1997, printed Dec.
`23, 1998, pp. 1-13.
`
`

`
`US 7,613,926 B2
`Page 3
`
`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.
`Omura, J. K., “Novel Applications of Cryptography in Digital Com
`munications,” IEEE Communications Magazine, pp. 21-29, May
`1990.
`
`Schmitt, D.A., “.EXE ?les, 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.
`D. Grune, et al., “Parsing Techniques: A Practical Guide,” John Wiley
`& Sons, Inc., NeWYork, New York, USA, pp. 1-326, 2000.
`* cited by examiner
`
`

`
`US. Patent
`
`Nov. 3, 2009
`
`Sheet 1 0f 10
`
`US 7,613,926 B2
`
`100
`
`107
`Redundancy Support W/
`
`Subsystem-1
`(Sandbox Protected)
`
`104
`”/
`
`Subsystem-N
`(Unprotected)
`
`A/
`
`Subsystem-M
`(Protected)
`
`102
`ResourceServer-1 W
`121
`Resource-1 V-I/
`
`1 o3
`‘0/
`131
`\ ResourceServer-N
`132
`Resource M
`Resource“ W
`
`_ ?/
`
`External
`Network
`(Internet)
`
`FIG. 1a
`
`1043
`
`104b
`
`Corporate Server
`
`140b
`W143
`V
`141b
`w\~ Sewer _____ Firewall /
`r
`
`PE
`
`PE
`
`4
`D
`
`1402
`ISP-Server W
`
`1411:)
`w\ Server
`
`Protection Engine
`(PE)
`
`<—
`D
`
`X“
`\‘\
`142a
`
`-
`
`lMPQD
`
`145a ______________ I.
`
`145
`User
`Device-n W
`145
`Client W
`
`&
`5
`'~-
`
`:
`
`\Y\
`142b
`
`in
`\W
`142b
`
`MPC,D
`<
`
`145%‘ User
`Device-n
`146
`\“ Client
`
`User W145
`Device-n
`146
`Client ?/
`
`FIG. 1b
`
`FIG. 1c
`
`

`
`US. Patent
`
`Nov. 3, 2009
`
`Sheet 2 0f 10
`
`US 7,613,926 B2
`
`
`
`
`
`bwmoz E382 vwEoHw
`
`won \\
`
`
`
`QSSHOM b25500
`
`
`
`E332 omEBm
`
`
`
`0:33am 63.550
`
`gm .\
`
`mam \\
`
`@hommouo?
`
`/ ecu
`
`
`
`$0982 @5103
`
`wcu K
`
`wGQEQOMQDHGEOU
`
`

`
`U.S. Patent
`
`NOV. 3, 2009
`
`01f03AI.6ehS
`
`US 7,613,926 B2
`
`B3B=ouxm.:oZv
`
`
`
`3%:ufifisuuxm
`
`co_..oQ.2n_
`
`me2_9m_
`
`__m..>>®.__n_
`
`cosmficomfi
`
`wuzooomm._nE:umxm_
`
`82
`
`

`
`U.S. Patent
`
`NOV. 3, 2009
`
`Sheet 4 of 10
`
`US 7,613,926 B2
`
`....o-_____-.—-.-
`
`-I
`
`.I
`
`..._—.._........_
`
`:2.
`
`1-mm
`
`$_o__on_
`
`=o_au_._§==<__
`
`3.:zumw
`
`
`
`N9»9__.m._mcozoflmo
`
`
`
`w=_8,,§§§__&.35
`
`ocacmammm9:o_»mE._o.«:_.u£o5.mxon_u£u.n_
`
`mmfisw
`
`_-I__
`
`..o_.8_E2==<_
`
`.E_mo__m..fi“._._2.§...z
`...unamxz
`
`
`=o_fiE._B:_:.50on_s_Emcmc.
`
`_.__awEonm_E_:os_Baum9:cw
`In11.1
`
`._o§o:o0.5m<022
`
`9%NSSmowm
`
`
`
`
`
`.1.-IIIIIIIIIIIIIIlllltlllllllllllluIIIJIIIIIIIIIIOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIll
`
`
`
`
`
`
`
`

`
`U.S. Patent
`
`NOV. 3, 2009
`
`01f05LI.6ehS
`
`US 7,613,926 B2
`
`
`
`
`
`£2wEm._mn_w__u_OESJDDXW
`
`
`
`
`
`2£mEw._mn_u_uo0m_nmSooxm_o§._.2E
`
`
`
`
`
`22mEEmmEmzum._2o2un_
`
`.w_mz_.__
`
`~u£w_u.2&
`
`commmuoa
`
`
`
`0.2055mm.353._mm._mn_
`
`Snow“.
`
`23
`
`
`
`m.2wESmn_.9950§u2un_
`
`m._9uEw.an_EaimIIIII.
`
`
`
`1IIII.V_Eofioo
`
`
`
`
`
` Emzmn___mom_._oG9oo_m_2mEu.aa8»:2..../é//7.7..kmm_:mI
`
`.550_N3uFmmfi
`
`aw.UHm
`
`8%
`
`\\V\
`
`Bx:_._Swmwuoa
`
`
` s2u_...m2_ msmcmm::_:_..
`
`eonwaaEou.
`
`
`
`as.322.umS_N
`
`N©W2.55.
`
`m_._I..58
`
`
`nmn._2a..u:oo2.__m:m_
`
`|l.|.Jl_E&<o._.._o§_«.Foh
`
`

`
`US. Patent
`
`Nov. 3, 2009
`
`Sheet 6 6f 10
`
`US 7,613,926 B2
`
`700
`
`W
`
`701
`W
`Memory Space-N
`
`340
`\M
`55165125"
`i .....
`..... -i
`146
`—_""—'—_—“>l_—_m__|_;_—l/V
`MCI- t
`711
`nitia or
`WM, W
`
`702
`)4/
`Memory Spaces-P1 and P2
`343
`(553%) W 5 Destination
`4 ,1? Resources
`Sandbox Engine ‘’
`\x
`\\
`341
`721
`
`POL
`
`342
`
`FIG. 7a
`
`704
`)4/
`Memory Space-P1
`342
`
`703
`)4/
`Memory Space~P2
`343
`731
`
`341
`
`MP0
`
`FIG. 7b
`
`341
`
`\N
`
`801
`4/802
`Package Extractor
`W803
`Executable installer
`Sandbox Engine Installer W804
`Resource Access Dwerter W80 5
`Resource Access Analyzer i4/ 806
`Policy Enforcer
`4/807
`MPG De-lnstaller
`4/
`
`FIG. 8
`
`

`
`U.S. Patent
`
`. 3, 2009
`
`01f07LI.6ehS
`
`US 7,613,926 B2
`
`nu...-.-uuaauluunul
`
`
`_._.®...................1%.....1..........
`x\.m.......m.,.m_,m..§m.amm_.m...
`
`
`
`-_m_.._s3o5._m£mE.>mc_::£on
`
`......©Ua=_—=._0«flUE=
`
`5]...............1........................................3
`
`mom
`
`:2n%mo_=3on._m_=_2o._..£coumczmmu
`:oumE._£c_
`
`.
`
`
`
`
`
`§mw0C_£tO>>«m:._«muSomm..__E_m._mo
`
`
`
`
`
`vm_u2o._amm..__>mc:o=mE._oE_ozmumm
`
`co=m._mao
`
`
`
`uuoumfiflaomxuwm.u:_o:_u_n_m_umo_Eson_
`
`
`
`
`
`
`
`asEu2o>__muB2o_nmumu_Esoo._m_E2oammzmo
`
`co__m:_.mmu.:o_umE._oE_
`
`muu=_u:_
`
`N.88
`
`
`
`
`
`w__noE8%m.._._ooEmmacozufloamE5“.
`
`
`
`
`
`w_nmumo_:;oo-_m_E8oqduou:o__u£o.a
`
`‘Em+Am_nmnmo_Esoo-nEum.wum255
`
`mm__&:o_~o£o._n_
`
`um._m>__wuma2“commcozufloao£wmsmo
`
`co_fic=wwo.co=mE.o_:_G59
`
`
`
`evzmm.m.£._2mu_E._EEou.2._o.Eo_2
`
`
`
`
`
`

`
`U.S. Patent
`
`Nov. 3, 2009
`
`LI.6ehS
`
`01f000
`
`US 7,613,926 B2
`
`
`
`
`
`E8.ucm€BmEm.ma8:863m>mEmm-_m_E28mfi.m£m;>>wc_E._8on_
`
`
`
`
`
`
`
`
`
`
`
`9.:2mc_u._ooomwuoocozofloaw__noEmfimsomxwcmm3mo_n:_m_nmcmo_EsoQ
`
`
`
`
`
`
`
`m_BwEEmo_339:
`
`
`
`
`
`FCQ.ucmm._3oEEmacozoeoam>mEmm
`
`
`
`
`
`m52mczeooommm_o__oacozofloa
`
`w.9mEm.ma
`
`
`
`mEwEoom_cm5._m£m.._.$o:_E._2oo
`
`
`
`
`
`2:32once.5:o:mE._oE_bmcfimu:_o:_
`
`
`
`
`
`.m.$Emmacozufloaw::22:o_.mE_oE__w_uoom3mSomxmmmn:_u:_
`
`.298co_.o2oamicewew_%oo9:as98_9__82ea.SS2_2m:
`
`
`
`
`-um>_wom.ucwmw_o__oacozofloa>_wx__w._oEm_nmumo_E>oo-_m_E2oq
`
`
`
`
`¢:_£Eucmficoommmo_o__oa.35on__2mm_nmumo_§>on_-_m_E9oa9:._mu_wcoo
`
`
`
`<3.05
`
`o5mumo_E>oo-u9o9m6
`
`

`
`US. Patent
`
`Nov. 3, 2009
`
`Sheet 9 0f 10
`
`US 7,613,926 B2
`
`Install mobile protection code elements $101
`and policies within a destination device
`I
`V
`-
`1102
`Load the downioadble without actually W
`initiating it
`i
`Y
`
`1103
`Form an access interceptor for intercepting
`downloadable destination device access 4/
`attempts within the destination device
`
`. .
`‘I
`.
`.
`1105
`lnitlate the Downloadable within the 4,
`destination device
`
`Malicious
`access
`
`No
`
`.
`
`.
`
`.
`
`.
`
`Determine policies in accordance with the 4/
`access attempt
`
`.
`
`1109
`
`Execute the policies (including causing an
`allowable response expected by the
`Donwloadable to be returned to the
`Downloadable)
`
`/V1 111
`
`FIG. 11
`
`

`
`U.S. Patent
`
`NOV. 3, 2009
`
`01r1001AleehS
`
`US 7,613,926 B2
`
`
`
`«Nu.U~,m
`
`asdumb
`
`
`
`muooco_uo£o.a
`
`Em
`
`_n_<E5859:m_>
`
`
`
`>26;mo_.__E._9wu2wm_o__onumzembmao
`
`m_nmumo_Eson_9:2mcficoamwtoo
`
`
`
`.wm:vm._wmmoom
`
`Em
`
`
`
`
`
`ummzam.mwmoumm_nwumo_Esoamwzwumm
`
`
`
`m_nmumo_sson_mg.__Emc_
`
`
`
`
`
`Egg9_n_<¢_fiumo_ssoo2E_uc2
`
`
`
`
`
`m_5oEm53Emwacm.mwmoomm:o_o__mE
`
`

`
`US 7,613,926 B2
`
`1
`METHOD AND SYSTEM FOR PROTECTING
`A COMPUTER AND A NETWORK FROM
`HOSTILE DOWNLOADABLES
`
`PRIORITY REFERENCE TO RELATED
`APPLICATIONS
`
`This application is a continuation of assignee’ s application
`Ser. No. 09/861,229, ?ledonMay 17, 2001,now US. Pat. No.
`7,058,822, entitled “Malicious Mobile Code Runtime Moni
`toring System And Methods”, which is hereby incorporated
`by reference. US. application Ser. No. 09/861,229 claims
`bene?t of provisional application Ser. No. 60/205,591,
`entitled “Computer Network Malicious Code Run-time
`Monitoring,” ?led on May 17, 2000 by inventors Nimrod
`ItZhak Vered, et al., which is hereby incorporated by refer
`ence. US. application Ser. No. 09/861,229 is also a Continu
`ation-In-Part of US. patent application Ser. No. 09/ 539,667,
`entitled “System and Method for Protecting a Computer and
`a Network From Hostile Downloadables” ?led on Mar. 30,
`2000 by inventor Shlomo Touboul, now US. Pat. No. 6,804,
`780, and hereby incorporated by reference, which is a con
`tinuation of assignee’s patent application U.S. Ser. No.
`08/964,388, ?led on Nov. 6, 1997, now US. Pat. No. 6,092,
`194, also entitled “System and Method for Protecting a Com
`puter and a Network from Hostile Downloadables” and
`hereby incorporated by reference. U.S. Ser. No. 09/861,229 is
`also a Continuation-In-Part of US. patent application Ser.
`No. 09/551,302, entitled “System and Method for Protecting
`a Client During Runtime From Hostile Downloadables”, ?led
`on Apr. 18, 2000 by inventor Shlomo Touboul, now US. Pat.
`No. 6,480,962, which is hereby incorporated by reference.
`
`BACKGROUND OF THE INVENTION
`
`20
`
`25
`
`30
`
`35
`
`2
`information comprising program code can include distribut
`able components (eg JavaTM applets and JavaScript scripts,
`ActiveXTM controls, Visual Basic, add-ins and/or others). It
`can also include, for example, application programs, Trojan
`horses, multiple compressed programs such as Zip or meta
`?les, among others. US. Pat. No. 5,983,348 to Shuang, how
`ever, teaches a protection system for protecting against only
`distributable components including “Java applets or ActiveX
`controls”, and further does so using resource intensive and
`high bandwidth static Downloadable content and operational
`analysis, and modi?cation of the Downloadable component;
`Shuang further fails to detect or protect against additional
`program code included within a tested Downloadable. US.
`Pat. No. 5,974,549 to Golan teaches a protection system that
`further focuses only on protecting against ActiveX controls
`and not other distributable components, let alone other
`Downloadable types. US. Pat. No. 6,167,520 to Touboul
`enables more accurate protection than Shuang or Golan, but
`lacks the greater ?exibility and ef?ciency taught herein, as do
`Shuang and Golan.
`Accordingly, there remains a need for e?icient, accurate
`and ?exible protection of computers and other network con
`nectable devices from malicious Downloadables.
`
`SUMMARY OF THE INVENTION
`
`The present invention provides protection systems and
`methods capable of Protecting a personal computer (“PC”) or
`other persistently or even intermittently network accessible
`devices or processes from harmful, undesirable, suspicious or
`other “malicious” operations that might otherwise be effec
`tuated by remotely operable code. While enabling the capa
`bilities of prior systems, the present invention is not nearly so
`limited, resource intensive or in?exible, and yet enables more
`reliable protection. For example, remotely operable code that
`is protectable against can include downloadable application
`programs, Trojan horses and program code groupings, as well
`as software “components”, such as JavaTM applets,
`ActiveXTM controls, JavaScriptTM/Visual Basic scripts, add
`ins, etc., among others. Protection can also be provided in a
`distributed interactively, automatically or mixed con?gurable
`manner using protected client, server or other parameters,
`redirection, local/remote logging, etc., and other server/client
`based protection measures can also be separately and/or
`interoperably utiliZed, among other examples.
`In one aspect, embodiments of the invention provide for
`determining, within one or more network “servers” (e.g. ?re
`walls, resources, gateways, email relays or other devices/
`processes that are capable of receiving-and-transferring a
`Downloadable) whether received information includes
`executable code (and is a “Downloadable”). Embodiments
`also provide for delivering static, con?gurable and/ or exten
`sible remotely operable protection policies to a Download
`able-destination, more typically as a sandboxed package
`including the mobile protection code, downloadable policies
`and one or more received Downloadables. Further client
`based or remote protection code/policies can also be utiliZed
`in a distributed manner. Embodiments also provide for caus
`ing the mobile protection code to be executed within a Down
`loadable-destination in a manner that enables various Down
`loadable operations to be detected, intercepted or further
`responded to via protection operations. Additional server/
`information-destination device security or other protection is
`also enabled, among still further aspects.
`A protection engine according to an embodiment of the
`invention is operable within one or more network servers,
`?rewalls or other network connectable information re-com
`
`1. Field of the Invention
`This invention relates generally to computer networks, and
`more particularly provides a system and methods for protect
`ing network-connectable devices from undesirable down
`loadable operation.
`2. Description of the Background Art
`Advances in networking technology continue to impact an
`increasing number and diversity of users. The Internet, for
`example, already provides to expert, intermediate and even
`novice users the informational, product and service resources
`of over 100,000 interconnected networks owned by govem
`ments, universities, nonpro?t groups, companies, etc. Unfor
`tunately, particularly the Internet and other public networks
`have also become a major source of potentially system-fatal
`or otherwise damaging computer code commonly referred to
`as “viruses.”
`Efforts to forestall viruses from attacking networked com
`puters have thus far met with only limited success at best.
`Typically, a virus protection program designed to identify and
`remove or protect against the initiating of known viruses is
`installed on a network ?rewall or individually networked
`computer. The program is then inevitably surmounted by
`some new virus that often causes damage to one or more
`computers. The damage is then assessed and, if isolated, the
`new virus is analyZed. A corresponding new virus protection
`program (or update thereof) is then developed and installed to
`combat the new virus, and the new program operates success
`fully until yet another new virus appearsiand so on. Of
`course, damage has already typically been incurred.
`To make matters worse, certain classes of viruses are not
`well recogniZed or understood, let alone protected against. It
`is observed by this inventor, for example, that Downloadable
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`

`
`US 7,613,926 B2
`
`3
`municating devices (as are referred to herein summarily one
`or more “servers” or “re-communicators”). The protection
`engine includes an information monitor for monitoring infor
`mation received by the server, and a code detection engine for
`determining Whether the received information includes
`executable code. The protection engine also includes a pack
`aging engine for causing a sandboxed package, typically
`including mobile protection code and doWnloadable protec
`tion policies to be sent to a DoWnloadable-destination in
`conjunction With the received information, if the received
`information is determined to be a DoWnloadable.
`A sandboxed package according to an embodiment of the
`invention is receivable by and operable With a remote DoWn
`loadable-destination. The sandboxed package includes
`mobile protection code (“MPC”) for causing one or more
`predetermined malicious operations or operation combina
`tions of a DoWnloadable to be monitored or otherWise inter
`cepted. The sandboxed package also includes protection poli
`cies (operable alone or in conjunction With further
`DoWnloadable-destination stored or received policies/MPCs)
`for causing one or more predetermined operations to be per
`formed if one or more undesirable operations of the DoWn
`loadable is/are intercepted. The sandboxed package can also
`include a corresponding DoWnloadable and can provide for
`initiating the DoWnloadable in a protective “sandbox”. The
`MPC/policies can further include a communicator for
`enabling further MPC/policy information or “modules” to be
`utiliZed and/or for event logging or other purposes.
`A sandbox protection system according to an embodiment
`of the invention comprises an installer for enabling a received
`MPC to be executed Within a DoWnloadable-destination (de
`vice/process) and further causing a DoWnloadable applica
`tion program, distributable component or other received
`doWnloadable code to be received and installed Within the
`DoWnloadable-destination. The protection system also
`includes a diverter for monitoring one or more operation
`attempts of the DoWnloadable, an operation analyZer for
`determining one or more responses to the attempts, and a
`security enforcer for effectuating responses to the monitored
`operations. The protection system can further include one or
`more security policies according to Which one or more pro
`tection system elements are operable automatically (e.g. pro
`grammatically) or in conjunction With user intervention (eg
`as enabled by the security enforcer). The security policies can
`also be con?gurable/extensible in accordance With further
`doWnloadable and/or DoWnloadable-destination informa
`tion.
`A method according to an embodiment of the invention
`includes receiving doWnloadable information, determining
`Whether the doWnloadable information includes executable
`code, and causing a mobile protection code and security
`policies to be communicated to a netWork client in conjunc
`tion With security policies and the doWnloadable information
`if the doWnloadable information is determined to include
`executable code. The determining can further provide mul
`tiple tests for detecting, alone or together, Whether the doWn
`loadable information includes executable code.
`A further method according to an embodiment of the
`invention includes forming a sandboxed package that
`includes mobile protection code (“MPC”), protection poli
`cies, and a received, detected-DoWnloadable, and causing the
`sandboxed package to be communicated to and installed by a
`receiving device or process (“user device”) for responding to
`one or more malicious operation attempts by the detected
`DoWnloadable from Within the user device. The MPC/poli
`cies can further include a base “module” and a “communica
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`tor” for enabling further up/doWnloading of one or more
`further “modules” or other information (eg events, user/user
`device information, etc.).
`Another method according to an embodiment of the inven
`tion includes installing, Within a user device, received mobile
`protection code (“MPC”) and protection policies in conjunc
`tion With the user device receiving a doWnloadable applica
`tion program, component or other DoWnloadable(s). The
`method also includes determining, by the MPC, a resource
`access attempt by the DoWnloadable, and initiating, by the
`MPC, one or more predetermined operations corresponding
`to the attempt. (Predetermined operations can, for example,
`comprise initiating user, administrator, client, netWork or pro
`tection system determinable operations, including but not
`limited to modifying the DoWnloadable operation, extricating
`the DoWnloadable, notifying a user/another, maintaining a
`local/remote log, causing one or more MPCs/policies to be
`doWnloaded, etc.)
`Advantageously, systems and methods according to
`embodiments of the invention enable potentially damaging,
`undesirable or otherWise malicious operations by even
`unknoWn mobile code to be detected, prevented, modi?ed
`and/or otherWise protected against Without modifying the
`mobile code. Such protection is further enabled in a manner
`that is capable of minimiZing server and client resource
`requirements, does not require pre-installation of security
`code Within a DoWnloadable-destination, and provides for
`client speci?c or generic and readily updateable security mea
`sures to be ?exibly and e?iciently implemented. Embodi
`ments further provide for thWarting efforts to bypass security
`measures (eg by “hiding” undesirable operation causing
`information Within apparently inert or otherWise “friendly”
`doWnloadable information) and/or dividing or combining
`security measures for even greater ?exibility and/or e?i
`ciency.
`Embodiments also provide for determining protection
`policies that can be doWnloaded and/or ascertained from
`other security information (eg broWser settings, administra
`tive policies, user input, uploaded information, etc.). Differ
`ent actions in response to different DoWnloadable operations,
`clients, users and/or other criteria are also enabled, and
`embodiments provide for implementing other security mea
`sures, such as verifying a doWnloadable source, certi?cation,
`authentication, etc. Appropriate action can also be accom
`plished automatically (e.g. programmatically) and/ or in con
`junction With alerting one or more users/ administrators, uti
`liZing user input, etc. Embodiments further enable desirable
`DoWnloadable operations to remain substantially unaffected,
`among other aspects.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1a is a block diagram illustrating a netWork system in
`accordance With an embodiment of the present invention;
`FIG. 1b is a block diagram illustrating a netWork sub
`system example in accordance With an embodiment of the
`invention;
`FIG. 10 is a block diagram illustrating a further netWork
`sub system example in accordance With an embodiment of the
`invention;
`FIG. 2 is a block diagram illustrating a computer system in
`accordance With an embodiment of the invention;
`FIG. 3 is a How diagram broadly illustrating a protection
`system host according to an embodiment of the invention;
`FIG. 4 is a block diagram illustrating a protection engine
`according to an embodiment of the invention;
`
`

`
`US 7,6l3,926 B2
`
`5
`FIG. 5 is a block diagram illustrating a content inspection
`engine according to an embodiment of the invention;
`FIG. 6a is a block diagram illustrating protection engine
`parameters according to an embodiment of the invention;
`FIG. 6b is a ?ow diagram illustrating a linking engine use
`in conjunction with ordinary, compressed and distributable
`sandbox package utiliZation, according to an embodiment of
`the invention;
`FIG. 7a is a ?ow diagram illustrating a sandbox protection
`system operating within a destination system, according to an
`embodiment of the invention;
`FIG. 7b is a block diagram illustrating memory allocation
`usable in conjunction with the protection system of FIG. 7a,
`according to an embodiment of the invention;
`FIG. 8 is a block

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