throbber
US008220055B1
`
`(12) United States Patent
`Kennedy
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,220,055 B1
`Jul. 10, 2012
`
`(54) BEHAVIOR BLOCKING UTILIZING
`POSITIVE BEHAVIOR SYSTEM AND
`METHOD
`
`7/2002 Redlich et a1. .............. .. 713/201
`2002/0099959 A1 *
`2003/0061514 A1: 3/2003 Bardsley et a1.
`713/201
`2004/0083372 A1
`4/2004 WllllamSOn et a1.
`713/188
`2004/0117648 A1 *
`6/2004 Klssel ......................... .. 713/200
`
`(75) Inventor: Mark K. Kennedy, Redondo Beach, CA
`(Us)
`
`(73) Assignee: Symantec Corporation, Mountain View,
`CA (U S)
`
`FOREIGN PATENT DOCUMENTS
`1202228 Al * 5/2002
`EP
`2367714 A * 4/2002
`GB
`* Cited by examiner
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U'S'C' 1546)) by 2814 days‘
`(21) APPI' No‘: 10/774,177
`
`Primary Examiner i Kim vu
`Assistant Examineri Randal Moran
`(74) Attorney, Agent, orFirm * McKay and Hodgson, LLP;
`Serge J. Hodgson; Sean P. LeW1s
`
`(51) Int- Cl-
`(2006-01)
`H041‘ 29/06
`US. Cl- .......................................... ..
`(58) Field of Classi?cation Search ............. .. 726/22e25
`See application ?le for Complete Search history.
`
`(56)
`
`References Clted
`
`U.S. PATENT DOCUMENTS
`
`7,076,803 B2* 7/2006 Bruton et a1. ................. .. 726/23
`7,191,252 B2* 3/2007 Redlich et a1. .............. .. 709/246
`
`A method includes decreasing a suspicion of a negative action
`by an application if the application has previously performed
`a positive aetion_ The positive action is an action that is never
`or rarely taken by malicious code. In one example, the posi
`tive action is use of a user interface element by the application
`to have a user interaction With a user of the computer system.
`By taking into consideration the positive action by the appli
`cation, the occurrence of false positives is minimized.
`
`21 Claims, 2 Drawing Sheets
`
`Hacker
`Computer
`System 104
`
`Host Computer System 102
`
`CPU
`108 T
`
`Memory 114
`
`Behavior
`Blocking
`Application
`1 06
`
`U0 Interface 110
`
`Key
`Board
`116
`
`Printer
`120
`
`Mouse
`118
`
`\l
`
`1,9
`Device
`123
`
`_
`I
`Display Devlce
`122
`
`Display Device 132
`
`Processor
`1 34
`
`' “100
`
`\
`Network
`Interface 1 38
`
`Server System 130
`
`Memory 1 3 6
`
`000001
`
`Symantec 1009
`IPR of U.S. Pat. No. 8,141,154
`
`

`
`US. Patent
`
`Jul. 10, 2012
`
`Sheet 1 of2
`
`US 8,220,055 B1
`
`Host Computer System 102
`
`CPU
`108 ’
`
`M°m°ry “4
`
`Behavior
`Blocking
`Application
`1 06
`
`U0 Interface 110
`
`I; 221
`1 16
`
`Printer
`120
`
`Mouse
`1 l8
`
`_
`_
`Dlsplay Device
`122
`
`Display Device 132
`
`Processor
`134
`
`Server System 130
`
`FIG. 1
`
`Hacker
`Computer
`System 104
`
`Network 124
`
`‘\100
`
`\
`Network
`Interface 138
`
`Memory 136
`
`000002
`
`

`
`US. Patent
`
`Jul. 10, 2012
`
`Sheet 2 of2
`
`US 8,220,055 B1
`
`202
`
`FIG. 2
`
`Host Computer
`Process
`200
`\
`
`204
`/
`Hook :3‘Ct19n(s)by
`appl1cat1on(s)
`l
`Hooked action
`
`206
`/
`
`5' ___ "505x555?
`
`l _ _ _7 _ _ _ _ _ _ _ _ _ _ _ _ _ _ -l
`
`208
`
`210
`
`Action is
`posltive?
`
`Action is
`negative‘?
`
`212
`
`\
`
`_______________________ _
`Decrement suspicion
`level counter for
`
`222
`
`Set Increment
`value to low
`1
`
`226
`’ Increment suspicion level /
`counter for application
`
`Positive
`Action(s)?
`
`Set Increment
`value to high
`
`224
`
`230
`
`/
`
`Take Protective Action
`
`. ---- - -_ ---------------- — -.
`
`{
`: Notlfy Host Computer :
`5
`System
`i
`:
`User/Administrator
`
`228
`
`susplclon level
`counter exceeds
`threshold?
`
`232
`
`V
`
`-' """""""""" “ '
`
`E
`
`i
`' ' '7 """"""" ' '
`214
`
`000003
`
`

`
`US 8,220,055 B1
`
`1
`BEHAVIOR BLOCKING UTILIZING
`POSITIVE BEHAVIOR SYSTEM AND
`METHOD
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`The present invention relates to the protection of computer
`systems. More particularly, the present invention relates to a
`behavior blocking system.
`2. Description of the Related Art
`In the computer security domain, there Were behavior
`blocking applications that Would block a suspicious action by
`an application on a computer system. HoWever, a large set of
`these blocked suspicious actions are not malicious, i.e., are
`false positives.
`Typically, the user of the computer system is noti?ed that
`the suspicious action has been blocked and the user is
`required to select hoW the blocked suspicious action should
`be handled, e.g., blocked, released, blocked in the future or
`released in the future. Thus, these false positives are intrusive
`and annoying to the user of the computer system at a mini
`mum and result in lost productivity due to the time spent by
`the user in responding to the false positives.
`
`SUMMARY OF THE INVENTION
`
`A method includes decreasing a suspicion of a negative
`action by an application if the application has previously
`performed a positive action. The positive action is an action
`that is never or rarely taken by malicious code. In one embodi
`ment, the positive action is use of a user interface element by
`the application to have a user interaction With a user of a
`computer system. By taking into consideration the positive
`action by the application, the occurrence of false positives is
`minimized.
`Embodiments in accordance With the present invention are
`best understood by reference to the folloWing detailed
`description When read in conjunction With the accompanying
`draWings.
`
`BRIEF DESCRIPTION OF THE DRAWING
`
`FIG. 1 is a diagram of a client-server system that includes
`a behavior blocking application executing on a host computer
`system in accordance With one embodiment of the present
`invention; and
`FIG. 2 is a How diagram of a host computer process in
`accordance With one embodiment of the present invention.
`Common reference numerals are used throughout the draW
`ings and detailed description to indicate like elements.
`
`DETAILED DESCRIPTION
`
`In accordance With one embodiment, referring to FIG. 2, a
`method includes determining that an action by an application
`is negative (check operation 218). Upon a determination that
`the action is negative, the method includes determining if the
`application has had at least one positive action prior to the
`negative action (check operation 220). A suspicion level
`counter for the application is incremented more (operations
`224, 226) or less (operations 222, 226) depending upon
`Whether the application has had at least one positive action
`prior to the negative action. By taking into consideration the
`positive action by the application, the occurrence of false
`positives is minimized.
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`More particularly, FIG. 1 is a diagram of a client-server
`system 100 that includes a behavior blocking application 106
`executing on a host computer system 102, e.g., a ?rst com
`puter system, in accordance With one embodiment of the
`present invention.
`Host computer system 102, sometimes called a client or
`user device, typically includes a central processing unit
`(CPU) 108, hereinafter processor 108, an input output (I/O)
`interface 110, and a memory 114.
`Host computer system 102 may further include standard
`devices like a keyboard 116, a mouse 118, a printer 120, and
`a display device 122, as Well as, one or more standard input/
`output (I/O) devices 123, such as a compact disk (CD) or
`DVD drive, ?oppy disk drive, or other digital or Waveform
`port for inputting data to and outputting data from host com
`puter system 102. In one embodiment, behavior blocking
`application 106 is loaded into host computer system 102 via
`I/O device 123, such as from a CD, DVD or ?oppy disk
`containing behavior blocking application 106.
`Host computer system 102 is coupled to a server system
`130 of client-server system 100 by a netWork 124. Server
`system 130 typically includes a display device 132, a proces
`sor 134, a memory 136, and a netWork interface 138.
`Further, host computer system 102 is also coupled to a
`hacker computer system 104 of client-server system 100 by
`netWork 124. In one embodiment, hacker computer system
`104 is similar to host computer system 102, for example,
`includes a central processing unit, an input output (I/O) inter
`face, and a memory. Hacker computer system 104 may fur
`ther include standard devices like a keyboard, a mouse, a
`printer, a display device and an I/O device(s). The various
`hardware components of hacker computer system 104 are not
`illustrated to avoid detracting from the principles of the inven
`tion.
`NetWork 124 can be any netWork or netWork system that is
`of interest to a user. In various embodiments, netWork inter
`face 138 and I/O interface 110 include analog modems, digi
`tal modems, or a netWork interface card.
`Behavior blocking application 106 is stored in memory
`114 of host computer system 102 and executed on host com
`puter system 102. The particular type of and con?guration of
`host computer system 102, hacker computer system 104, and
`server system 130 are not essential to this embodiment of the
`present invention.
`FIG. 2 is a How diagram ofa host computer process 200 in
`accordance With one embodiment of the present invention.
`Referring noW to FIGS. 1 and 2 together, execution of behav
`ior blocking application 106 by processor 108 results in the
`operations of host computer process 200 as described beloW
`in one embodiment.
`From an enter operation 202, How moves to a hook action
`(s) by application(s) operation 204. In hook action(s) by
`application(s) operation 204, one or more applications
`executed on ho st computer system 102 are hooked. Generally,
`an application is hooked by hooking and intercepting speci?c
`action(s), sometimes called hooked action(s), of the applica
`tion.
`More particularly, in hook action(s) by application(s)
`operation 204, one or more actions of one or more applica
`tions are hooked. To illustrate, a ?le system ?lter driver in the
`WindoWs operating system hooks ?le events by installing a
`layer betWeen the user and ?le system for the ?le events and
`intercepts the ?le events betWeen the user and ?le system.
`In accordance With one embodiment, an application is
`hooked by installing one or more user mode hooks to inter
`cept actions by the application that are interactions With the
`user. These actions by the application that are interactions
`
`000004
`
`

`
`US 8,220,055 B1
`
`3
`With the user are thus hooked actions. Hooking of applica
`tions and actions is Well knoWn to those of skill in the art and
`typically depends upon the particular operating system of
`host computer system 102. The particular hooking technique
`used is not essential to the present invention.
`From hook action(s) by application(s) operation 204, How
`moves to a hooked action operation 206. In hooked action
`operation 206, a hooked action, i.e., an action hooked in hook
`action(s) by application(s) operation 204, is made by a
`hooked application. The hooked action is sometimes herein
`referred to as “the action” or “the action by the hooked appli
`cation” for simplicity of discussion.
`From hooked action operation 206, How moves, optionally,
`to a stall action operation 208 (or directly to an action is
`positive check operation 210 if stall action operation 208 is
`not performed).
`In stall action operation 208, the action by the hooked
`application is stalled, i.e., is prevented from being executed or
`otherWise implemented. From stall action operation 208, How
`moves to action is positive check operation 210.
`In action is positive check operation 210, a determination is
`made as to Whether the action by the hooked application is
`positive, i.e., is a positive action. Generally, a positive action
`is an action that is rarely or never performed by malicious
`code. In one embodiment, malicious code is de?ned as any
`computer program, module, set of modules, or code that
`enters a computer system Without an authorized user’ s knoWl
`edge and/ or Without an authorized user’s consent.
`For example, malicious code rarely if ever interacts With
`the user, e.g., a human, of host computer system 102. As an
`illustration, malicious code has no user interaction about 95%
`of the time and about 5% of the time uses a message box to
`have a very minimal user interaction. Accordingly, in one
`embodiment, a positive action by an application occurs When
`the application interacts With the user of host computer sys
`tem 102, i.e., has a user interaction. Because use of a message
`box is a very minimal user interaction, in one embodiment,
`use of a message box is not de?ned as a positive action
`although use of a message box can be a positive action if
`desired to be de?ned as such.
`For example, a positive action by an application occurs
`When the application uses a user interface element to have a
`user interaction With the user.
`Examples of user interactions include interactions With the
`user in setting up the application or using the application. For
`example, a user interaction occurs When the application is
`con?gured by the user. As another example, a user interaction
`occurs When the user selects the recipient(s) of an e-mail
`message or the information, e.g., attachments, to be sent With
`an e-mail message. Although speci?c examples of user inter
`actions are provided, in light of this disclosure, it is under
`stood that other user interactions With an application can
`occur, and the particular user interactions depend, for
`example, on the particular application.
`Generally, a user interface element is an element used by a
`user in providing input or otherWise interacting With an appli
`cation. Examples of user interface elements include: (1)
`check boxes; (2) radio boxes; (3) list boxes; (4) combo boxes;
`(5) text boxes; (6) common dialog boxes; and (7) message
`boxes. Although speci?c examples of user interface elements
`are provided, in light of this disclosure, it is understood that
`other user interface elements can be used by the user, and the
`particular user interface element depends, for example, on the
`particular application.
`If a determination is made that the action by the hooked
`application is a positive action in action is positive check
`operation 210, How moves, optionally, to a decrement suspi
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`cion level counter for application operation 212 (or directly to
`an optional release action operation 214 if operation 212 is
`not performed or directly to an exit operation 216 if opera
`tions 212 and 214 are not performed).
`In one embodiment, each application has an associated
`suspicion level counter, Which is a measure of the suspicion
`associated With the application. This suspicion level counter
`is decremented in decrement suspicion level counter for
`application operation 212 thus reducing the suspicion asso
`ciate With the application.
`Decrement suspicion level counter for application opera
`tion 212 is optional and in one embodiment is not performed.
`In accordance With this embodiment, the suspicion level
`counter associate With the application is not decremented and
`the suspicion associated With the application remains
`unchanged.
`From decrement suspicion level counter for application
`operation 212, How moves to, optionally, release action
`operation 214. As discussed above, stall action operation 208
`is optional. Accordingly, if stall action operation 208 is per
`formed and the action Was stalled, release action operation
`214 is performed to release the action.
`Conversely, if stall action operation 208 Was not performed,
`release action operation 214 is unnecessary and thus not
`performed.
`From release action operation 214 (or directly from decre
`ment suspicion level counter for application operation 212 if
`operation 214 is not performed), ?oW moves to and exits at
`exit operation 216 or returns to hooked action operation 206.
`Returning again to action is positive check operation 210,
`if a determination is made that the action is not a positive
`action, ?ow moves to an action is negative check operation
`218.
`In action is negative check operation 218, a determination
`is made as to Whether the action by the hooked application is
`negative, i.e., is a negative action. Generally, a negative action
`is an action that is highly suspicious or suggestive of mali
`cious code.
`Examples of negative actions include: (1) attacking secu
`rity softWare; (2) sending of executable attachments; (3)
`copying of an application across a netWork; and (4) sending
`executable instant messengering attachments. Although spe
`ci?c examples of negative actions are provided, in light of this
`disclosure, it is understood that other negative actions can
`occur, and the particular negative actions depend, for
`example, on the particular application.
`If a determination is made that the action by the hooked
`application is not a negative action in action is negative check
`operation 218, How moves to optional release action opera
`tion 214 (or directly to exit operation 216 if operation 214 is
`not performed).
`Conversely, if a determination is made that the action by
`the hooked application is a negative action in action is nega
`tive check operation 218, How moves to a previous positive
`action(s) check operation 220. In previous positive action(s)
`check operation 220, a determination is made as to Whether
`the hooked application has performed any positive actions
`prior to the present negative action.
`If a determination is made that the hooked application has
`performed at least one positive action prior to the present
`negative action, How moves to a set increment value to loW
`operation 222.
`In set increment value to loW operation 222, the increment
`value for the suspicion level counter for the application is set
`to loW. Stated another Way, in set increment value to loW
`operation 222, the increment value for the suspicion level
`counter for the application is set to a ?rst increment value,
`
`000005
`
`

`
`US 8,220,055 B1
`
`5
`sometimes called a loW increment value. From set increment
`value to loW operation 222, How moves to an increment
`suspicion level counter for application operation 226.
`Conversely, if a determination is made that the hooked
`application has not performed at least one positive action
`prior to the present negative action, How moves to a set
`increment value to high operation 224.
`In set increment value to high operation 224, the increment
`value for the suspicion level counter for the application is set
`to high. Stated another Way, in set increment value to high
`operation 224, the increment value for the suspicion level
`counter for the application is set to a second increment value,
`sometimes called a high increment value. Generally, the sec
`ond or high increment value is greater than the ?rst or loW
`increment value. From set increment value to high operation
`224, How moves to increment suspicion level counter for
`application operation 226.
`In increment suspicion level counter for application opera
`tion 226, the suspicion level counter for the application is
`increment by the set increment value.
`More particularly, the suspicion level counter for the appli
`cation is increment by the loW increment value set in set
`increment value to loW operation 222 if the hooked applica
`tion has performed at least one positive action prior to the
`present negative action. Conversely, the suspicion level
`counter for the application is increment by the high increment
`value set in set increment value to high operation 224 if the
`hooked application has not performed at least one positive
`action prior to the present negative action.
`Thus, the suspicion level associate With the application,
`i.e., the suspicion level counter, is increment more or less by
`the negative action depending upon Whether the application
`has previous exhibited at least one positive action.
`From increment suspicion level counter for application
`operation 226, How moves to a suspicion level counter
`exceeds threshold check operation 228. In suspicion level
`counter exceeds threshold check operation 228, a determina
`tion is made as to Whether the suspicion level counter exceeds
`the suspicion level threshold for the application. In one
`embodiment, the suspicion level threshold is a value Which
`When exceeded by the suspicion level counter indicates With
`reliability that the application is malicious, i.e., contains mali
`cious code.
`If a determination is made that the suspicion level counter
`does not exceed the suspicion level threshold for the applica
`tion in suspicion level counter exceeds threshold check opera
`tion 228, How moves to release action operation 214 (or
`directly to exit operation 216 if operation 214 is not per
`formed). In this event, the negative action by the application,
`and, more generally, the suspicion associated With the appli
`cation, is not su?icient to conclude that the application is
`malicious.
`Conversely, if a determination is made that the suspicion
`level counter does exceed the suspicion level threshold for the
`application in suspicion level counter exceeds threshold
`check operation 228, How moves to a take protective action
`operation 230. In take protective action operation 230, pro
`tective action is taken to prevent the application from causing
`damage to or exploiting host computer system 102. For
`example, the action by the application is terminated. As dis
`cussed above, optionally, the action by the application Was
`stalled in stall action operation 208. As another example of
`protective action, the application and/or a malicious thread
`running Within the context of the application is terminated.
`Termination of applications is Well knoWn to those of skill in
`the art and so is not discussed further for clarity of discussion.
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`More particularly, because the suspicion level counter has
`exceeded the suspicion level threshold for the application, the
`likelihoodthat the application is malicious code is signi?cant.
`HoWever, by taking protective action, the application is pre
`vented from exploiting and/ or damaging host computer sys
`tem 102.
`In one embodiment, the user of host computer system 102
`and/or administrator are given a set of choices on the protec
`tive action to be taken in take protective action operation 230
`(or Whether no protective action is to be taken).
`To illustrate, take the case When operation 212 is not per
`formed, the loW increment value is 0.4, the high increment
`value is 0.6, and the suspicion level threshold is 0.5.
`In accordance With this example, if the hooked application
`has not performed at least one positive action prior to the
`present negative action, the suspicion level counter Will be
`incremented by and equal the high increment value of 0.6.
`Accordingly, a determination Will made in check operation
`228 that the suspicion level counter is 0.6, Which is greater
`than the suspicion level threshold of 0.5, and protective action
`Will be taken in take protective action 230.
`HoWever, continuing With this example, if the hooked
`application has performed at least one positive action prior to
`the present negative action, the suspicion level counter Will be
`incremented by and equal the loW increment value of 0.4.
`Accordingly, a determination Will made in check operation
`228 that the suspicion level counter is 0.4, Which is less than
`the suspicion level threshold of 0.5, and the action Will be
`released in release action operation 214.
`As this example demonstrates, by taking into consideration
`Whether or not the hooked application has performed at least
`one positive action prior to the present negative action, pro
`tective action is taken or not taken, respectively, thus mini
`miZing the incidence of false positives.
`To illustrate another example, take the case When the dec
`rement value of operation 212 is 0.34, the loW increment
`value is 0.34, the high increment value is 0.6, and the suspi
`cion level threshold is 1.0.
`In accordance With this example, if the hooked application
`has not performed at least one positive action and has per
`formed tWo negative actions, the suspicion level counter Will
`be equal to the high increment value of 0.6 multiplied by tWo,
`i.e., 1.2. Accordingly, a determination Will made in check
`operation 228 that the suspicion level counter is 1.2, Which is
`greater than the suspicion level threshold of 1.0, and protec
`tive action Will be taken in take protective action 230.
`HoWever, continuing With this example, if the hooked
`application has performed at least one positive action, three
`subsequent negative actions are alloWed before protective
`action is taken in take protective action 230. More particu
`larly, the suspicion level counter Will be —0.34, 0.00, 0.34,
`0.68 after the positive action, ?rst negative action, second
`negative action, and third negative action, respectively.
`Accordingly, if the application has previous exhibited at least
`one positive action, the suspicion associated With subsequent
`negative actions by the application is reduced thus minimiZ
`ing the occurrence of false positives.
`FloW moves from take protective action operation 230,
`optionally, to a notify host computer system user/administra
`tor operation 232 (or directly to exit operation 216 if opera
`tion 232 is not performed). In notify host computer system
`user/administrator operation 232, the user of host computer
`system 102 and/or the administrator are noti?ed that protec
`tive action has been taken on host computer system 102, e. g.,
`that an action and/ or an application have been terminated. The
`user and/or administrator can be noti?ed using any one of a
`number of techniques, e.g., by using a pop up WindoW, by
`
`000006
`
`

`
`US 8,220,055 B1
`
`7
`Writing to a ?le and/or otherwise by logging the event. Fur
`ther, a noti?cation or a sample of the malicious code can be
`provided to a security center.
`From notify host computer system user/ administrator
`operation 232, How moves to and exits at exit operation 216 or
`returns to hooked action operation 206.
`Referring again to FIG. 1, behavior blocking application
`106 is in computer memory 114. As used herein, a computer
`memory refers to a volatile memory, a non-volatile memory,
`or a combination of the tWo.
`Although behavior blocking application 106 is referred to
`as an application, this is illustrative only. Behavior blocking
`application 106 should be capable of being called from an
`application or the operating system. In one embodiment, an
`application is generally de?ned to be any executable code.
`Moreover, those of skill in the art Will understand that When it
`is said that an application or an operation takes some action,
`the action is the result of executing one or more instructions
`by a processor.
`While embodiments in accordance With the present inven
`tion have been described for a client-server con?guration, an
`embodiment of the present invention may be carried out using
`any suitable hardWare con?guration involving a personal
`computer, a Workstation, a portable device, or a netWork of
`computer devices. Other netWork con?gurations other than
`client-server con?gurations, e. g., peer-to-peer, Web-based,
`intranet, internet netWork con?gurations, are used in other
`embodiments.
`Herein, a computer program product comprises a medium
`con?gured to store or transport computer readable code in
`accordance With an embodiment of the present invention.
`Some examples of computer program products are CD-ROM
`discs, DVDs, ROM cards, ?oppy discs, magnetic tapes, com
`puter hard drives, servers on a netWork and signals transmit
`ted over a netWork representing computer readable code.
`As illustrated in FIG. 1, this medium may belong to the
`computer system itself. HoWever, the medium also may be
`removed from the computer system. For example, behavior
`blocking application 106 may be stored in memory 136 that is
`physically located in a location different from processor 108.
`Processor 108 should be coupled to the memory 136. This
`could be accomplished in a client-server system, or alterna
`tively via a connection to another computer via modems and
`analog lines, or digital interfaces and a digital carrier line.
`More speci?cally, in one embodiment, host computer sys
`tem 102 and/or server system 130 is a portable computer, a
`Workstation, a tWo-Way pager, a cellular telephone, a digital
`Wireless telephone, a personal digital assistant, a server com
`puter, an lntemet appliance, or any other device that includes
`components that can execute the behavior blocking function
`ality in accordance With at least one of the embodiments as
`described herein. Similarly, in another embodiment, host
`computer system 102 and/or server system 130 is comprised
`of multiple different computers, Wireless devices, cellular
`telephones, digital telephones, tWo-Way pagers, or personal
`digital assistants, server computers, or any desired combina
`tion of these devices that are interconnected to perform, the
`methods as described herein.
`In vieW of this disclosure, the behavior blocking function
`ality in accordance With one embodiment of present invention
`can be implemented in a Wide variety of computer system
`con?gurations. In addition, the behavior blocking function
`ality could be stored as different modules in memories of
`different devices. For example, behaviorblocking application
`106 could initially be stored in server system 130, and then as
`necessary, a portion of behavior blocking application 106
`could be transferred to host computer system 102 and
`
`50
`
`55
`
`60
`
`65
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`8
`executed on host computer system 102. Consequently, part of
`the behavior blocking functionality Would be executed on
`processor 134 of server system 130, and another part Would
`be executed on processor 108 of host computer system 102. In
`vieW of this disclosure, those of skill in the art can implement
`various embodiments of the present invention in a Wide
`variety of physical hardWare con?gurations using an operat
`ing system and computer programming language of interest
`to the user.
`In yet another embodiment, behavior blocking application
`106 is stored in memory 136 of server system 130. Behavior
`blocking application 106 is transferred over netWork 124 to
`memory 114 in host computer system 102. In this embodi
`ment, netWork interface 138 and I/O interface 110 Would
`include analog modems, digital modems, or a netWork inter
`face card. If modems are used, netWork 124 includes a com
`munications netWork, and behavior blocking application 106
`is doWnloaded via the communications netWork.
`This disclosure provides exemplary embodiments of the
`present invention. The scope of the present invention is not
`limited by these exemplary embodiments. Numerous varia
`tions, Whether explicitly provided for by the speci?cation or
`implied by the speci?cation or not, may be implemented by
`one of skill in the art in vieW of this disclosure.
`
`What is claimed is:
`1. A method comprising:
`decreasing a suspicion of a negative action by an applica
`tion if said application has previously performed a posi
`tive action comprising setting an increment value of a
`suspicion level counter for said negative action to a ?rst
`value, Wherein said positive action is use of a user inter
`face element by said application to have a user interac
`tion With a user,
`Wherein if a determination is made that said application has
`not had said previous positive action prior to said nega
`tive action, said method further comprising setting said
`increment value of said suspicion level counter for said
`negative action to a second value greater than said ?rst
`value; and
`incrementing said suspicion level counter by said incre
`ment value.
`2. The method of claim 1 Wherein said positive action
`comprises interacting With said user of a computer system.
`3. The method of claim 1 Wherein said positive action is an
`action that is never performed by malicious code.
`4. The method of claim 1 Wherein said positive action is an
`action that is rarely performed by malicious code.
`5. The method of claim 1 Wherein said user interaction
`comprises an interaction With said user in setting up said
`application.
`6. The method of claim 1 Wherein said user interaction
`comprises an interaction With said user in using said applica
`tion.
`7. The method of claim 1 Wherein said user interaction
`comprises said user selecting recipient(s) of an e-mail mes
`sage.
`8. The method of claim 1 Wherein said user interaction
`comprises said user selecting information to be sent With an
`e-mail message.
`9. The method of claim 1 Wherein said user interface ele
`ment is an element used by said user in interacting With sai

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