throbber
(l2) Ulllted States Patent
`Agrawal et a].
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 8,108,929 B2
`Jan. 31, 2012
`
`US008108929B2
`
`(54) METHOD AND SYSTEM FOR DETECTING
`INTRUSIVE ANOMALOUS USE OF A
`SOFTWARE SYSTEM USING MULTIPLE
`DETECTION ALGORITHMS
`
`a 3V . . . . . . . . . . ..
`
`gagerer a1~ ~~~~~~~~~~~~~~~~ ~~
`2i:
`2003/0188190 A1* 10/2003 Aaron et a1. ..... ..
`713/201
`2004/0034795 Al *
`2/2004 Anderson et a1. ..
`713/201
`2004/0143756 A1* 7/2004 MunSon et a1.
`713/200
`2005/0229250 A1* 10/2005 Ring etal. . . . . .
`. . . .. 726/23
`2007/0107052 A1 *
`5/2007 Cangml et al' """""""" " 726/22
`(75) Inventors: Subhash C.Agr'aWal, Boxboro, MA
`OTHER PUBLICATIONS
`(US); Scott M. Wimer', Burlington, MA
`Jonathan H‘ Young’ Newton’ MA X. Hoang, J. Hu, and P. Bertok. “A Multi-layer Model for Anomaly
`Intrusion Detection Using Program Sequences of System Calls”,
`Networks’ 2003'
`* cited by examiner
`
`(73) Assignee: Re?ex Systems, LLC, Atlanta, GA (U S)
`
`*
`
`Primary Examiner * Gilberto Barron, Jr.
`Assistant Examiner * Virginia T Ho
`(74) Attorney, Agent, or Firm * David H. Judson
`
`ABSTRACT
`(57)
`A target software system is instrumented to generate behavior
`data representing a current observation or observation aggre
`gate. A method then determines Whether the current observa
`tion or observation aggregate Warrants a second level exami
`nation; preferably, this determination is made by processing
`the current observation or observation aggregate through a
`?rst level detection algorithm that provides a provisional
`indication Of a Possible immsion- If executing the ?rst level
`detection algorithm indicates that the Current Observation or
`observation aggregate Warrants a second level examination,
`the method continues by processing the current observation
`or observation aggregate through at least one second level
`detection algorithms to provide a more de?nite, ?ne grain
`indication of a possible intrusion. Multiple algorithms may be
`executed together Within a single examination level, With the
`-
`-
`-
`.
`.
`lndlvldual results then analyzed to obtaln a composite result
`or output indicative of intrusive or anomalous behavior.
`
`23 Claims, 4 Drawing Sheets
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1844 days.
`
`(21) Appl.No.: 10/967,945
`
`(22) Filed:
`
`Oct. 19, 2004
`
`(65)
`
`Pnor Pubhcatlon Data
`US 2006/0085854 A1
`Apr. 20, 2006
`
`(51) Int. C1.
`(200601)
`G06F 21/00
`(52) us. Cl. ....................................................... .. 726/23
`(58) Field of Classi?cation Search ................... .. 726/23
`See apphcanon ?le for Complete Search hlstory'
`References Cited
`
`(56)
`
`Us PATENT DOCUMENTS
`
`726/23
`6,839,850 B1 *
`1/2005 Campbell et al.
`726/22
`7 069 588 B2 * 60006 Call et al
`726/25
`7,162,741 B2 *
`1/2007 Eskin et a1‘ ‘‘‘ u
`726/23
`7,487,542 B2 *
`2/2009 Boulanger et a1.
`2002/0078381 A1 *
`6/2002 Farley et a1. ................ .. 713/201
`
`KERNEL
`y
`
`FAST ALGORITH MS
`
`F1 : MAXIMUM SENSOR
`FREQUENCY TEST
`F2: MARKOV MODEL
`
`SOPHISTICATED ALGORITHMS
`
`S1 : CORRELATION SHIFT
`ALGORITHMS
`1 ELLIPSOID
`S3 : MULTl-CLUSTER ANALYSIS
`54 I SUPPORT VECTOR MACHINE
`
`USER/COMMAND GROUPS
`
`' ONE FOR ENTIRE SYSTEM
`' USER-DEFINED
`' DATA-DRIVEN
`
`USER
`an
`
`1
`
`SYMC 1008
`
`

`

`US. Patent
`
`Jan. 31, 2012
`
`Sheet 1 of4
`
`US 8,108,929 B2
`
`OPERATING
`SYSTEM
`A
`
`I
`SYSTEM CALL CLICKS :
`INTERCEPTOR
`A
`10/4
`
`106
`/
`CLICK
`AGGREGATOR
`CLICK AGGREGATES
`FOR P
`ESSING
`R00
`
`KERNEL SPACE
`
`[100
`
`FIG. 1
`
`‘I
`
`T
`
`108, IIEHREURNIIICQIEN
`OR DIFFERENT MACHINE) \
`USER SPACE
`I02
`
`CLICK
`TRIAGEI SAVE
`CLICK >
`200/ OR DISCARD?
`
`DI ARD
`SC
`
`KERNEL SPACE
`
`SAVE
`I
`FAST BADNESS
`SCORE>
`THRESHOLD?
`
`202/
`
`V
`PROCESS PARTIAL
`204/ (SUSPICIOUS)
`CLICK BUFFER
`
`SCORE OK >
`
`CLICK
`CONTINUE
`AGGREGATE
`BUFFER FULL? \ 205
`
`:
`
`‘I
`PROCESS FULL
`(NOT SUSPICIOUS) \ 208
`CLICK BUFFER
`
`/
`100
`
`FIG. 2
`
`2
`
`SYMC 1008
`
`

`

`US. Patent
`
`Jan. 31, 2012
`
`Sheet 2 014
`
`US 8,108,929 B2
`
`6
`30 \[
`308
`
`| 310
`I /
`I
`Ei J PERIODICALLY
`'
`:
`
`<THRESHOLD?
`
`YES
`
`NEXT
`ALGORITHM
`7
`
`I
`I
`I
`I
`'
`PROCEED ,
`'
`I
`I
`I
`I
`
`0 0 0000 0000 000 0
`
`311
`
`< L
`THRESHOLD
`
`YES
`
`3/14
`
`312
`
`NO
`
`PROCEED
`
`< U
`THRESHOLD
`
`NO
`
`KERNEL
`302
`——
`
`FAST ALGORITHMS
`
`F :MAXIMUM SENSOR
`I FREQUENCY TEST
`F2: MARKOV MODEL
`
`SOPHISTICATED ALGORITHMS '
`
`S1 ; CORRELATION SHIFT
`ALGORITHMS
`S2 ; ELLIPSOID
`s3 ; MULTI-CLUSTER ANALYSIS
`84 ; SUPPORT vEcTOR MACHINE
`
`USER/COMMAND GROUPS
`
`- ONE FOR ENTIRE SYSTEM
`' USER-DEFINED
`
`' DATA-DRIVEN
`
`USER
`
`304
`
`NEXT
`ALGORITHM
`?
`
`316/ TAKE ACTION
`
`FIG. 3
`
`3
`
`SYMC 1008
`
`

`

`US. Patent
`
`Jan. 31, 2012
`
`Sheet 3 014
`
`US 8,108,929 B2
`
`ALGORITHM
`2
`
`FIG 4 Z‘HLFQTT'WHEE
`
`404
`\
`DEEMED TO BE
`ACCEPTABLE
`
`ACCEPTABLE
`BEHAVIOR
`
`502
`\
`
`504
`\
`
`MARKOV MQDEL
`ALGORITHM ON
`SYSCALL
`SEQUENCE
`LENGTH 40
`
`IVIARKOV MQDEL
`ALGORITHM ON
`SYSCALL
`SEQUENCE
`LENGTH 8
`
`510
`V
`\
`PRQB (LAST
`SENSOR/
`sEQUENCE OF
`PRECEDING 39
`sENsQRs)
`
`512
`V
`\
`PRQB (LAST
`sENsoR/
`sEQUENCE OF
`PRECEDING 8
`sENsQRs)
`
`506
`/
`K-MEANS
`ALGORITHM ON
`RELAT|vE sENsoR
`FREQUENCY; 200
`SENSORS PER
`0BsERvAT|0N
`AGGREGATE
`
`514
`/
`V
`D'STSQ'SEE OF
`OBSERVATION
`AGGREGATE FROM
`THE NEAREST
`CLUSTER
`
`508
`/
`
`EAESEATES;
`ABNORMAL
`TERMINATION
`RATE OVER
`LAST MINUTE
`
`516
`/
`
`V
`PRQB
`(oBsERvED
`RECENT
`SEGMENT
`FAULT RATE)
`
`F1 G. 5
`
`EXCEEDS
`THRESHOLDS
`?
`
`NO
`
`518
`
`INTRUSION/ANOMALY
`
`NONE
`
`4
`
`SYMC 1008
`
`

`

`US. Patent
`
`Jan. 31, 2012
`
`Sheet 4 of4
`
`US 8,108,929 B2
`
`INDIVIDUALALGORITHM
`RESULTS Ri| ,...,Rim
`I
`602 \ RESULT EVALUATION ALGORITHM
`(E.G., BAYESIAN NETWORK)
`I
`AGGREGATE RESULT
`
`‘
`
`J
`
`)
`
`600\’
`
`L
`
`604 A
`
`EXCEEDS
`THRESHOLDS
`?
`
`NO
`
`606
`
`INTRUSION/ANOMALY
`
`FIG. 6
`
`‘I
`NONE
`
`0000000
`
`OBSERVATIONS
`
`7/“
`
`INDIVIDUAL ALGORITHM
`RESULTS Ri|,...,Rim
`
`O O O O O O O ['NQ'EVS'BEASEQERORRIEM ]
`00000 00
`7\06
`
`MEASURED
`OBSERVATIONS \ 708
`
`706/
`
`710 / COMPOSITE OBSERVATION SET FOR NEXT LEVEL
`FIG. 7
`
`5
`
`SYMC 1008
`
`

`

`US 8,108,929 B2
`
`1
`METHOD AND SYSTEM FOR DETECTING
`INTRUSIVE ANOMALOUS USE OF A
`SOFTWARE SYSTEM USING MULTIPLE
`DETECTION ALGORITHMS
`
`BACKGROUND OF THE INVENTION
`
`1. Technical Field
`The present invention generally relates to detecting the use
`of software, and more speci?cally, to the dynamic detection
`of an intrusive anomalous use of computer softWare.
`2. Description of the Related Art
`The literature and media abound With reports of successful
`violations of computer system security by both external
`attackers and internal users. These breaches occur through
`physical attacks, social engineering attacks, and attacks on
`the system. In a system attack, the intruder subverts or
`bypasses the security mechanisms of the system in order to
`gain unauthorized access to the system or to increase current
`access privileges. These attacks are successful When the
`attacker is able to cause the system softWare to execute in a
`manner that is typically inconsistent With the softWare speci
`?cation and thus leads to a breach in security.
`Intrusion detection systems monitor some traces of user
`activity to determine if an intrusion has occurred. The traces
`of activity can be collated from audit trails or logs, netWork
`monitoring or a combination of both. Once the data regarding
`a relevant aspect of the behavior of the system are collected,
`the classi?cation stage starts. Intrusion detection classi?ca
`tion techniques can be broadly catalogued in the tWo main
`groups: misuse intrusion detection, and anomaly intrusion
`detection. The ?rst type of classi?cation technique searches
`for occurrences of knoWn attacks having particular signa
`tures, and the second type searches for a departure from
`normality. Some of the neWest intrusion detection tools incor
`porate both approaches.
`Some recent systems have employed dynamic softWare
`measurement techniques, but they either make a decision
`instantaneously (at every measurement), or they aggregate
`measurements (either by time or by number of observations)
`and perform analyses on aggregates. Techniques that make a
`decision at every measurement point should be very fast,
`because they can potentially be called thousands of times per
`second. This performance constraint severely limits the
`detection accuracy of such techniques. On the other hand,
`techniques that only consider aggregated system behavior can
`have a signi?cant latency betWeen the time of intrusion and
`the time of detection due to the aggregation delay.
`There remains a need for improved techniques.
`
`BRIEF SUMMARY OF THE INVENTION
`
`The present invention shoWs hoW to use a combination of
`analysis techniques (detectors) to improve over the detection
`accuracy of instantaneous detectors Without the latency inher
`ent in simple aggregation-based detection. By cascading
`detectors, fast algorithms are used to Weed out normal behav
`ior very quickly, While more complex algorithms are run
`preferably only When there is a good possibility that some
`thing is Wrong. The complex algorithms may also be run
`periodically to provide additional assurance that no abnormal
`behaviors are occurring or have occurred. Multiple detection
`algorithms may also be combined in parallel to improve the
`precision of detection of very speci?c kinds of behavior or
`anomaliesifor example, a very precise detector for a speci?c
`kind of knoWn assault may be combined With a general detec
`tion algorithm for divergence from previous knoWn behavior.
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`An embodiment of the invention includes a method of
`detecting an intrusion into a target softWare system that has
`been instrumented to generate behavior data representing a
`current observation or observation aggregate. The method
`begins by determining Whether the current observation or
`observation aggregate Warrants a second level examination;
`preferably, this determination is made by processing the cur
`rent observation or observation aggregate through a ?rst level
`detection algorithm that provides a ?rst or “provisional” indi
`cation of a possible intrusion. If a result of executing the ?rst
`level detection algorithm indicates that the current observa
`tion or observation aggregate Warrants a second level exami
`nation, the method continues by processing the current obser
`vation or observation aggregate through at least one or more
`second level detection algorithms to provide a second, more
`de?nite indication of a possible intrusion. The observation
`aggregates used by the ?rst and second level detection algo
`rithms may be the same or different. The ?rst and second level
`detection algorithms may be executed in the same or different
`systems, machines or processors. The target softWare system
`operation may be suspended as the current observation or
`observation aggregate is processed through the one or more
`second level detection algorithms. A given action (e.g., send
`ing an alert, logging the event, activating a countermeasure, or
`the like) may be taken if the result of the second level exami
`nation indicates a possible intrusion.
`In certain circumstances, such as Where a ?rst level deter
`mination can be made With high con?dence that an anomaly
`exists or is executing, it may not be necessary to fully perform
`the second level determination, or to perform the second level
`determination at all.
`The present invention is not limited to using the above
`described multi-level or multi-stage technique just for intru
`sion detection. More generally, the technique may be gener
`aliZed for use in detecting an anomaly in a given behavior of
`the target softWare system. In this context, the invention also
`contemplates the further step of conditionally suspending a
`given operation of the target softWare system that is suspected
`of causing the anomaly While executing the one or more
`second level detection algorithms. The execution of the target
`softWare system may continue despite the possible anomaly
`While the second level examination is performed.
`Preferably, the ?rst level detection algorithm has a compu
`tational-ef?ciency that is greater than a computational-e?i
`ciency of the second level detection algorithm. (This is not a
`limitation, hoWever). In an illustrative embodiment, compu
`tational ef?ciency is measured as a given function of memory
`and processing requirements. Thus, for example, the ?rst
`level detection algorithm may use non-?oating point arith
`metic operations While the second level detection algorithm
`uses ?oating point arithmetic operations. Alternatively, the
`?rst level detection algorithm may use single precision ?oat
`ing point arithmetic operations While the second level detec
`tion algorithm uses double precision ?oating point arithmetic
`operations. Generalizing even further, the ?rst level may
`implement an approximation to a complex algorithm While
`the second level implements the complex algorithm itself.
`In operation, a given ?rst level detection algorithm com
`putes a metric (a value or a set of values) by processing the
`current observation or observation aggregate. This metric
`may then be compared against a given threshold value to
`determine Whether the current observation or observation
`aggregate Warrants the second level examination. In a repre
`sentative (but non-limiting) embodiment, the ?rst level detec
`tion algorithm implements a given mathematical process
`using non-?oating point computations to determine Whether
`the current observation or observation aggregate Warrants the
`
`6
`
`SYMC 1008
`
`

`

`US 8,108,929 B2
`
`3
`second level examination. The given mathematical process
`may be a Markov model process, a frequency threshold pro
`cess, an ellipsoidal model process, or the like.
`As also described, the given second level detection algo
`rithm typically Will have more computational requirements,
`although this is not a strict limitation of the invention. The one
`or more second level detection algorithms preferably are
`selected from a set of mathematical models or algorithms that
`are executed using ?oating-point computations and that
`include: ellipsoidal models, k-means models, decision tree
`models, support vector machine (SVM) models, Markov pro
`cess models, correlation factor models, frequency threshold
`models, ellipsoidal models, and combinations thereof. More
`generally, the ?rst level detection algorithm is a coarse clus
`tering or pattern matching algorithm and the second level
`detection algorithm is a ?ne clustering or pattern matching
`algorithm.
`As is Well-knoWn, a target softWare system may be conve
`niently characteriZed as operating in one of several modes: a
`kernel mode, and a user mode. Typically, a kernel mode refers
`to the situation Where given instructions, program sequences
`or code portions have direct access to all memory, including
`the address spaces of all user-mode processes and applica
`tions, and to hardWare. In contrast, user mode refers to the
`typical softWare system processing mode in Which applica
`tions run. Typically, Where given instructions, program
`sequences or code portions execute in kernel mode, such code
`is run Within a protected memory or space. According to an
`illustrative embodiment of the present invention, the ?rst
`level detection algorithm is executed in the kernel mode and
`at least one second level detection algorithm is executed in the
`user mode.
`According to an illustrative embodiment of the invention,
`the step of processing the current observation or observation
`aggregate through at least one or more second level detection
`algorithms processes the current observation or observation
`aggregate through at least a pair of second level detection
`algorithms Whose outputs are combined according to a given
`function to provide the second, more de?nite indication of the
`possible intrusion. Although not meant to be limiting, the
`given function is selected from a set of functions, for example,
`linear functions, non-linear functions, and logical combina
`tions of linear functions and non-linear functions. The outputs
`may be combined concurrently or otherWise.
`According to a more generaliZed embodiment, a current
`observation or observation aggregate is processed during a
`?rst level examination through a set of one or more fast
`algorithms, e.g., in a cascade manner. If the current observa
`tion or observation aggregate triggers a given threshold for a
`given fast algorithm, a next fast algorithm is tested, and the
`process iterates. If the threshold for each fast algorithm is
`triggered (and the thresholds may vary), a second level
`examination may be initiated. During the second level exami
`nation, the current observation or observation aggregate is
`processed through a set of one or more sophisticated algo
`rithms, e. g., in a cascade manner. If the current observation or
`observation aggregate triggers one or more thresholds for a
`given sophisticated algorithm, a next sophisticated algorithm
`is tested, and the process iterates. If the thresholds (as the case
`may be) for each sophisticated algorithm are triggered (and
`the thresholds may vary), a given action indicative of an
`intrusion or anomaly is taken. Preferably, the ?rst level
`examination occurs in kernel mode While the second level
`examination occurs in user mode.
`The principles of the present invention are not limited to
`multi-level examinations. Multiple algorithms may be
`executed together Within a single examination level, With the
`
`4
`individual results then analyZed to obtain a composite result
`or output indicative of intrusive or anomalous behavior. As a
`representative example, the system may run algorithms in
`parallel to analyZe different types of characteristics embed
`ded in given data, e.g., running a temporal-based algorithm
`(e.g., a Markov model) to examine sequence or temporal
`characteristics, and running frequency-based (e. g., cluster
`analysis algorithms) to analyZe frequency clustering. Of
`course, the system can also run the same algorithm in parallel
`to get similar information by analyZing data for different time
`periods, With the results then analyZed. In addition, the sys
`tem can run algorithms in parallel to explore different types of
`machine, device or program features. Thus, in an illustrative
`embodiment, there may be a examination level in Which a set
`of n algorithms are executed, With each algorithm testing
`against a different characteristic or feature, and their respec
`tive outcomes evaluated together (e. g., against a given thresh
`old) to make a decision. A threshold check may be simple or
`complex. Thus, for example, complex decision machines or
`logic made be used for making a decision, even Within a given
`examination level. Examples of such decision machines
`include Bayesian netWorks or decision tree models to deter
`mine the probability that intrusive or anomalous behavior has
`occurred, cluster analysis algorithms applied to a composite
`vector of observation analysis results, or the like.
`The foregoing has outlined some of the more pertinent
`features of the invention. These features should be construed
`to be merely illustrative. Many other bene?cial results can be
`attained by applying the disclosed invention in a different
`manner or by modifying the invention as Will be described.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`For a more complete understanding of the present inven
`tion and the advantages thereof, reference is noW made to the
`folloWing descriptions taken in conjunction With the accom
`panying draWings, in Which:
`FIG. 1 is a simpli?ed block diagram of a ?rst embodiment
`of the present invention as implemented in a system call
`interception system;
`FIG. 2 is a simpli?ed representation of the click aggregator
`and processing logic components of FIG. 1;
`FIG. 3 is a high level representation of a more generaliZed
`implementation of the present invention, Wherein each pro
`cessing level includes a set of one or more cascaded algo
`rithms;
`FIG. 4 illustrates hoW one can improve detection accuracy
`by executing a pair of algorithms Within a given examination
`level;
`FIG. 5 illustrates a set of algorithms that are executed in
`parallel against given system behavior characteristics or fea
`tures;
`FIG. 6 is a simpli?ed ?owchart of a generaliZed threshold
`check process that may implemented Within a given exami
`nation level; and
`FIG. 7 illustrates hoW an observation aggregate may be
`enhanced With the results from prior analyses of the observa
`tions, alloWing algorithms executed at a next level to bene?t
`from and take into account the results of algorithms executed
`earlier.
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`DETAILED DESCRIPTION OF AN
`ILLUSTRATIVE EMBODIMENT
`
`65
`
`FIG. 1 illustrates one illustrative embodiment of the
`present invention. In this embodiment, an interface betWeen a
`softWare system kernel space 100 anduser space 102 includes
`
`7
`
`SYMC 1008
`
`

`

`US 8,108,929 B2
`
`5
`a system call interceptor 104 and a click or observation aggre
`gator 106 that together determines Whether a current obser
`vation or observation aggregate Warrants a second level
`examination; preferably, this determination is made by pro
`cessing the current observation or observation aggregate
`through a ?rst level detection algorithm that provides a ?rst,
`provisional indication of a possible intrusion. If a result of
`executing the ?rst level detection algorithm indicates that the
`current observation or observation aggregate Warrants a sec
`ond level examination, the aggregator 106 continues by pro
`cessing the current observation or observation aggregate
`through at least one or more second level detection algorithms
`to provide a second, more de?nite ?ne grain indication of a
`possible intrusion. Although the click aggregator 106 is
`shoWn operating in kernel space, more typically the second
`level examination Will takes place in user space. The code
`running in user space can generally support higher computa
`tional requirements as measured in terms of memory and
`processing demands as compared to the code that runs in
`kernel space. The click aggregator provides an output to a
`Watcher application 108, Which runs the second level algo
`rithms and may be running on the same machine or otherWise
`available on a remote machine.
`Although FIG. 1 illustrates the capture of execution behav
`ior at a system call interface, this is not a limitation. The
`execution behavior may be captured at other interfaces, such
`as at a function call, at code branch points, and the like.
`FIG. 2 is a simpli?ed block diagram of the-click aggregator
`and processing logic. In general, a click may be thought of as
`an observation of execution behavior. When a click arrives, a
`test is performed at step 200 to determine Whether it should be
`evaluated. Typically, the mechanism evaluates all clicks, but
`there may be situations (still Within the scope of the invention)
`in Which observations of certain execution behavior may not
`be evaluated, e.g., a very frequent behavior, a behavior that is
`proven alWays to be benign, or a behavior the further process
`ing of Which may potentially create undesirable artifacts. If
`the outcome of the test at step 200 indicates that the click
`should be evaluated, the click is saved, preferably in a ring
`buffer (or similar structure), and evaluated using an algorithm
`that takes into consideration prior execution behaviors (al
`ready present in the ring buffer) to produce a score value.
`Because in this illustrative embodiment the score is to be used
`for detecting “bad behavior” using fast algorithm(s), it is
`sometimes referred to as a “fast badness score.” A test is
`performed at step 202 to determine Whether this fast badness
`score is greater than a given threshold. In the illustrated
`embodiment, the threshold is predetermined in some off-line
`manner, e.g., by testing the algorithm With different loads. If
`the fast badness score is greater than the given threshold, the
`routine branches to step 204 to process the click buffer, Which
`contains suspicious behavior. If, hoWever, the outcome of the
`test at step 202 indicates that the fast badness score is not
`greater than the given threshold, the routine branches to step
`206 Where a test is performed to determine Whether the buffer
`is full. If the buffer is not full, the routine continues. If the
`buffer is full, the routine continues at step 208 to process the
`click buffer to do a periodic check (e. g., using more complex
`algorithms) to ensure that no suspicious behavior has escaped
`detection. The processing of the task Whose execution behav
`ior is being analyZed may be put of hold While the evaluation
`takes place.
`FIG. 3 illustrates a further generaliZation of the invention.
`As illustrated, a current observation or observation aggregate
`300 is processed through a ?rst level examination 302 and,
`optionally, through a second level examination 304. For rep
`resentative purposes, the ?rst level examination 302 occurs in
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`kernel mode, While the second level examination 304 occurs
`in user space. There may be multiple algorithms at a given
`level. The ?rst level examination 302 involves one or more
`fast algorithms P1, With tWo such algorithms being shoWn,
`e.g., F 1, an independent sensor frequency analysis, and F2, a
`fast approximation Markov model. In this examination, the
`current observation or observation aggregate 300 is applied to
`the function Fl. (block 306) With the output then being tested
`against a threshold 308. If the threshold is not met, then the
`routine terminates (as indicated by the “Proceed” statement,
`Which indicates that the application that is generating the data
`should continue execution). If the threshold is met, a test 309
`is performed to determine Whether a next Fl- algorithm should
`be used for further evaluation. If so, the routine cycles back to
`step 306 and the ?rst level examination iterates against the
`next fast algorithm (e.g., F2). Of course, each fast algorithm
`may have a different threshold value or constraint, and each
`may process a different, but related, observation aggregate.
`The particular identity of the fast algorithm and the described
`sequence of these algorithms are merely representative. As
`also seen in FIG. 3, the current observation or observation
`aggregate 300 may also be tested periodically (through the
`one or more fast algorithm(s) Fl) as indicated by the block
`310. If the current observation or observation aggregate
`has triggered the applicable threshold in all of the fast algo
`rithm(s) Fl- (e.g., Fl, then F2, and so forth), the second level
`examination 304 is initiated.
`Generalizing further, the second level examination can be
`triggered if scores from M out of N algorithms in the ?rst level
`examination exceed a given threshold (for the respective
`algorithms).
`The second level examination 304 comprises a set of one or
`more “sophisticated” algorithms 8,, Which in this illustrated
`example includes S1, a correlation shift algorithm, S2, an
`ellipsoid algorithm, S3, a multi-cluster analysis, S4, a support
`vector machine, a sequence analysis algorithm (not shoWn),
`and so forth. As described above, the particular identity and
`sequence of these sophisticated algorithms is merely illustra
`tive. In this embodiment, the observation or observation
`aggregate is evaluated by a given Sl- algorithm (block 312)
`With the output thereof (Which is a value) compared to a loWer
`threshold value L. This is block 314. If the test at block 314
`is not triggered, the second level examination ends, With the
`application continues to “Proceed” as described above. If,
`hoWever, the output of the test at block 314 indicates that a
`loWer threshold has been exceeded, the output (of the given Sl
`algorithm) is compared against an upper threshold value Ui.
`This is block 316. (The particular values of LI. and U1. may vary
`depending on the type of algorithm used, of course). If the
`value generated by executing the S1- algorithm is greater than
`the upper threshold value, then a given action 318 is initiated
`because an intrusion (or anomaly) is indicated.
`If the result of executing the given Sl- algorithm is less than
`the upper threshold value Ui, the routine continues at step 320
`to test Whether any additional sophisticated Sl- algorithm
`remains to be tested. If the result of the test at step 320
`indicates that there is a next sophisticated algorithm, the
`routine iterates and repeats the above-described process.
`When the result of the test at step 320 is negative, the routine
`also branches and takes the given action 318.
`Thus, FIG. 3 illustrates hoW multiple algorithms can be
`used in a cascading fashion (even Within a given examination
`level). In the second level examination, each algorithm also
`uses tests against multiple thresholds, although this is not a
`limitation of the invention either. In the alternative, the mul
`tiple (R or Si) algorithms compute partial scores that together
`
`8
`
`SYMC 1008
`
`

`

`US 8,108,929 B2
`
`7
`may form a multi-element score or a composite aggregate
`score. Of course, a similar function can be implemented in
`kernel space as Well.
`The principles of the present invention are not limited to
`multi-level examinations. Multiple algorithms may be
`executed together Within a single examination level, With the
`individual results then analyZed to obtain a composite result
`or output. This concept is illustrated generally in FIG. 4. In
`this illustration, algorithm 1 is executed and includes an area
`of acceptable behavior data illustrated by reference numeral
`400. Algorithm 2 is executed (concurrently, or otherWise in
`“parallel”inamely, at the same examination level) and
`includes an area of acceptable behavior data illustrated by
`reference numeral 402. Because the algorithms are run in
`parallel (or, more generally, Within the same examination
`level), an area of overlap 404 is then deemed to be acceptable
`behavior for the test, as a Whole, or that area may be more
`narroWly constrained (as reference 406) by some policy or
`other metric. As a representative example, the system may run
`algorithms in parallel to analyZe different types of character
`istics embedded in given data, e.g., running a temporal-based
`algorithm (e.g., a Markov model) to examine sequence or
`temporal characteristics, and running frequency-based (e.g.,
`cluster analysis algorithms) to analyZe frequency clustering.
`Of course, the system can also run the same algorithm in
`parallel to get similar information by analyZing data for dif
`ferent time periods, With the results then analyZed. An
`example of this approach Would be to run a Markov model in
`parallel With different WindoW siZes. In this example, the
`system can then determine Whether the intrusion or anomaly
`has appeared only recently.
`Note that the system can run algorithms in parallel to
`explore different types of machine, device or program fea
`tures. Examples of such characteristics or features include,
`Without limitation, resource utiliZation metrics, number of
`segment faults or abnormal terminations over a certain
`period, actual commands or queries being issued by users,
`parameters for system calls and other function calls, IP
`addresses, and the like. FIG. 5 illustrates a one examination
`level approach Where a set of four (4) algorithms are executed,
`With each algorithm testing against a different characteristic
`or feature and their outcomes are evaluated together to make
`decision about a next step. In this example, a ?rst algorithm
`502 is a Markov model running on system call sequences of a
`?rst given length (e.g., 40), a second algorithm 504 is also a
`Markov model, but one that runs on system call sequences of
`a second given length (e.g., 8). A k-means algorithm 506
`executes on relative sensor frequency (e.g., 200 sensors per
`observation aggregate), and a fourth algorithm 508 examines
`segment faults or abnormal termination rates over a given
`time period (e.g., one minute). The output 510 of the ?rst
`algorithm 502 is an estimate of the probability of occurrence
`of the sequence represented by a value of a last sensor con
`catenated With the values from the sequence of the preceding
`39 sensors. The output 512 of the second algorithm 504 is an
`estimate of the probability of occurrence of the sequence
`represented by a value of a last sensor concatenated With the
`values from the sequence of the preceding 7 sensors. The
`output 514 of the third algorithm 506 is a distance value of a
`last

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