throbber
Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 1 of 16
`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 1 of 16
`
`EXHIBIT F
`EXHIBIT F
`
`

`

`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 2 of 16
`
`
`
`Exhibit 3
`
`

`

`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 3 of 16
`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 3 of 16
`SORUS BULLETIN CONF
`SEMBER [995 «78
`
`DYNASUC DETECTION AND CLASSIFICATION OF
`COMPUTER VIRUSES USING GENERAL BEHAVIOUR
`PATTERNS
`
`Adarton Swarree
`
`ee
`Virus Test Center, University of Haralurg. Odenwaldst, 9, 26243 Ham
`burs Germany
`i
`Tel e449 404 GN4T Fax 40-418 4
`
`Boudouin Le Charlier and 4 bdelaziz Mownyi
`
`.
`
`FLLUNDP.Institut d Informatique, University ofNamur, Belen
`
`exail blegtinfofindp ac.be/ amox
`Anto.tundp-ac. be
`
`
`
`ABSTRACT
`
`
`
`toaly havetees develspedto speadup thisprowess,rangingi mpreseraans Which idertiypreviousty-
`jassifiedHlesto progianis thalsénerare detection data. Sameavitl vinsproduceshave bullt-in meéchanisins
`inaneon feurisics. which enable thentdetechuimewa viewses, Cayorninaely all these tots have
`
`fintidions.
`>
`See teepencge tater aan bt
`8? ERE
`
`to mouliar Wes
`we wills
`in thispaner,
`eaeofdatahueyththeenriss:
`
`
`
`Eanand:SpeecutecriesfouEGE
`generalrules
`SelesEOE.
`|
`
` i
`
`INTROTHICTION
`
`
`Virus resdarchiers midst cope with manythotisands ofauspected files each month, but the problem is net ap
`
`mauch themumberofnewvirusesGwhnchnumberperhapsafevehundred andgrowsata nowrlyaxyXponentia|
`rated aa the nuniberoffilesthe researcherreceives and must anaives~ the olut. Qutetperktaps ne hundred
`files, only one may actually contain.a newvirus. Linfortunately, there are no shortcuts E
`fie has to he
`proces
`
`
`
`SO LUOS VisiBulletin Li2) TheGusdrant, binges, Ontardshice. ON:433S,» Regis,
`
`Pak thisfabless
`be reproduce!
`5
`dom apy fon
`
`
`
`JNPR-FNJN2902900477273
`
`

`

`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 4 of 16
`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 4 of 16
`de SWEMMER DYMAMIC DETECTIONANEY CLASSIFICATION OF COMPUTER VIRUSES...
`
`
`exquiring speciahsts,
`all brute forex manual analysis,
`re standard method of sortingout sucki
`
`
`
`it
`remove previously -classifiedles and viruses to ulillies which extract strings from infected files thataid in
`athe viruses. However, none ofthe achations are sats
`¢ Clearly, racre advancedtools are
`
`5ometoolshavebeendevelopedttohelpcopewiththeproblem,rangingfromprogramewhichideattyand
`
`
`
`aper, the concept ofdynamic analysis as appliedto witases 18 disGussed, This is based on amidea
`VIBES Firus fitrusion Detection ExpertSysiemj, comed atthe Virus Test Center [BFHS91]. The
`
`ten will comprise ofa PE emulation and an LOES-like expertsystem. Itshould be capable of detecting
`viral behavionr wading a serofa prionniles, asshovwnin the preliminary work done with Dr. Fischer-
`
`
`Hubner. Furthermore, advanced rules will helprin class
`the detected vir,
`
`
`‘The presen! version. ofVIDES is only ofinterest to virusresearchers: itis not designedtobeapractical
`
`
`
`
`
`
`avetere for the end-neer - its demands on procesaing pewer and hardware plationm-are too high. However, i
`
`unknownviruses rapidty and provide detection and classification mtormation to the
`can be used to went
`
`
`researcher. [alan serves aa.a prototype for the future application of iu
`Hirusion detecticn technologyi
`detecting malicious software underfuture operazing system, such a6 O8/2, MS-Windows NT and 9S,
`Lana, Solaris, ete:
`
`ERssone)
`
`
`He current state-dfthe art in ardi-wirus
`organized as follows:
`Section 2 presents
`‘The rest afthe paper is
`
`
`we
`Section 4 discussesthe architectare of the PC
`technology oto.3 desembes 4 genervirus detecuon rule:
`
`
`auditing svstem: Section & shows howthe expert systern ASAD is used to analyse the activity data collected
`by the PC emulator: and finally, Section 6 contains some conalucdingremarks.
`
`o-3
`
`CURRENTSTATE OF THE ART
`
`Forthe purpose ofdishussian itwill be necessaryto deline the termcommuter Vira.
`
`24
`
`TERMS
`
`
`‘Phere is still no untversally-acreed definition fora cornpuiter virus. Whatis miss:
`neisa description which
`
`
`
`is still genera] enourh to account tor al possible umplementations ofeainputer virus
`An ationwas
`
`“ing delinition gor a computer virue is the result of discussion mcomp.surus (Wirus-L) derived From
`
`trade in [SwiOS) whichistheresultetsmanyyears ofeapenenes with virases nthe Virus Test Center. The
`
`
`Defi
`
`A Computer Viras is a rownne or a program taitcan ‘infect otherne
`ais Io modifving them
`
`oF their environment such thar a call to an infected programimplies a call te a passibly evolved,
`Rrncdonall, similar, cope of the virus,
`
`
`
`
`A rhore formal, tut lens aseful,Cefralion of#Sommpusee
`Zome? ne Gata =
`
`elmnition, it vas
`We taik ofthe infected Mlegs the 7
`
`
`gras, such asthe bank
`or MasterBoot Sector. whereas Fle:Vatuusesinfectexecutable §i as such a EXE
`
`UMMdies. Foran ine
`depth discussion afthe properties ofviruses, ploase refertyliterature such as: [Hrut2), (SKO4ST[CobO4] or
`
`
`
`
`
`be Sound in
`
`2
`
`{Cohss) Using the farmal
`
`Pera? ].
`
`SPOTAe:
`
`
`
`
`
`ft
`
`Today, asitis feehagomy cani bedayssided |into nye onoakestheyve
`
`
`
`ASVANCES 1 technoloes thisrenee
`eS HOolonger¢endrel vidmmaeny of the modern ani-virus
`
`
`
`products, Tins type of technologyis knownto us as 2
`The latter attempts to detects virusa
`abacrving attribtites characteristic of all viruses, For instance, integrity checkers detect viruses by checkitig
`for modifications inexecutable files: a characteristic of many(although not all) virases.
`
`
`
`Ro and the generic
`nbe detected, Duc to
`
`
`
`t. EN SHS T im any Jorn
`
`
`> teprad
`
`JNPR-FNJN2902900477274
`
`

`

`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 5 of 16
`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 5 of 16
`
`VIRUS BULLETIN COMPERENCE SEPTEMBER 1995 © 77
`
`22
`
`VIRDUSSPECIFICDETECTION
`
`Virus specific detection is byfar the most popular type ofvirus protection used on PCs. Information
`fromthe virus analysis is used in the so-called scammer to detect Ht. Usually,a scanneruses.a database.cf
`virus dentification mformation which enable it to detect all viruses previouslyanalysed.
`
`Thetermscanner has become increasingly incorrectterminology. The temacomes fromm lexvical scanner, Le.
`a pattern matching tool. Traditionally scanners have been just that, The information extracted fromviruses
`were strings which were representative ofthat partioniar vines. This means that the string. has to:
`
`» differ significantly from all other viruses, and
`
`@ scene.
`
`a differsignificantly fromstrings found in bonafide anti-virus programs.
`:ding such strings was the entite artofanti-virus program writing until polymorphic viruses appeared on
`Pnorvpies viruses were the firstminor challenge to string searching methods. The bodv ofthe virus was
`erypted in the host file, and could not be sought, due to its variable nature. However, the bady was
`prvependel bya deeryptor-loader which mustbe inplain text(unencrypted codey otherwise itwould not be
`executable. This decryptorcan snl be detected using strings, even Wit becomes difficultto differentiate
`between viruses,
`
`Polymorphic viruses are the obvious next step in avoiding detection. Here, the decrypter is implemented
`ia variable manner, so that pattern. matching becomes impossible or verydifficult. Early polymorphic
`viruses were Hentified usinga set ofpattems (strings with variable elements). Moreover, simple virus
`detection techniques are made unreliable by the appearance ofthe so-called Mfitation Engines such as
`Mig and TPE (Trident Polymorphic Engine), These are object Hbrary modules generating variable
`implementations ofthe virus decryptor. They can easily be linked with viruses to produce highly
`polymorphic infectors. Scanning techniques are further complicated by the fact that the resulting wiruses
`do nothave any scan strings in common even iftheir structure remains constant. Whea polymorphic
`technologyimproved, statistical analysis of the opcodes was used,
`
`Recently, the best of the scanners have shifted course from merely detecting viruses to attempiing to
`ify the sinus. This is often done withadded strings, perhaps position dependent, or checksums, overthe
`
`invariant part ofthe wirus. To support this, many anti-vitus products. have implemented machine-code
`enmulators so that the virus’ own decryptor can be used to decrypt the virus. Using these enhancernents, the
`positive identification ofeven polymorphic viruses poses no problem.
`
`The next shitt many scammers are presently experiencing is awayfron known virus only detection to
`detection ofunknown viruses.
`The method of choice is heuristics. Heuristics are built into an anti-virus
`product.in anattempt to deduce whether a file is infeeted ot not. This ismast often done by looking far a
`pattern ofceriain code fragments that occur most often in viruses and hopefully notin bondtide programs.
`Heuristics analysis. suffers froma moderate to high false-positive rate. Of course, 2 manifacturer of a
`heuristic scanner will improve the heuristics both to avoid falsepositives and still find all newviruses, but
`both cannot be achieved completely. Usually, a heuristic scanner will contain a “traditional’ pattern-rmatching
`component, so that viruses van be identified by-name.
`
`23 GENERIC VIRUS DETECTION
`
`Computer viruses must replicate to be viruses. This means that a virus must be observable byits mechanisne
`of replication.
`
` ENCE €2995 Virus Bulletin Lid, 2? The Quadrant, Abingdon, Oxfordshire, OR ISSYVS, Encland,
`Tel, +44 (QVIIS SS5139. Noo part of this publication. may be seproduced, stored in 2 retrieval system, or iransmitied im arotorn
`
`ai
`the prior writien permission of the publishers.
`
`JNPR-FNJN2902900477275
`
`

`

`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 6 of 16
`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 6 of 16
`
`78 ~ SWIMMER: DYNAMIC DETECTIONAND CLASSIFICATIONOF COMPUTER VIRUSES...
`
`(in fortunately, it 1s notas easy 10 Observe the replication as it may seem. DOS, in i various flavours,
`provides ho processisolation, oreven protectionofthe operating system from programs, This means that
`any monitoring programcan be circumvented by a virus which has been programmed to do so. There used ta
`be roasy anti-virus programs which would try to monitor sysiem activity for viruses, but werenot proof
`against all viruses. This problemJed to the demise ofmanysuch prograrns.. Later in the paper, we shall
`discuss how we avoidedtheproblem when mmplementing VIDES.
`
`A more caramon approach ie to detect symptoms ofthe infection such as file modifications. Thisrype of
`program is usually called an inesrity checker or checksummer.
`
`When prosraims are installed on the PC, checksums are caloulated over the entire Me, or over portions of the
`file. These checksums are thet used fo verity thatthe programs have not been modified, The shortcomingof
`this methodis that the integrity checker can detect a modification inthefile, but cannot determine whether
`the modification is due toa-virus or not. A legitiviaie modification io, for instance, the data area of3
`program will cause the same alarm as-a virns infection.
`
`Another problemis virus technology aimed specifically against anti-virus products.Advances instealth and
`tunnelling technologyhave. made updates necessary. There have also been directattacks avainst
`particular mtegrity checkers, rendering them useless. Again, the lack: ofsupport trom the operating
`system makes the prevention ofsuch attacks very difficult. As a consequence, the acceptance of such
`nroduczsts low.
`
`The non-specific nature of the detection has little appeal for many of the users. Even generic repair
`facilities iff the anti-virus products do not help, despite these methodseffectively rendering identification
`urmecessary. The problem is partly understandable. The user is concerned with his data. Merely
`disinfecting the programs is not enough i data has been manipulated. Only ifthe virus has been
`identified and analyzed can ‘the user determineif his data wae threatened.
`
`Gerierie virus detection technology should notbe disniissed. [tis just ag valid as virus-specific technology.
`The problems so far have stemmed from the permissiveness. ofthe underlying operating system, DOS, and
`from the limits inthe programs, Both problems can be addressed.
`
`3
`
`DYNAMIC DETECTION RULES
`
`Before we can aitempt to detect a virus using ASAX, we need to model the virus attack strategy, This is
`then translated into RUSSEL. the rule-based language which ASAD uses to identify the virus attack.
`
`34
`
`REPRESENTING INFECTION PATTERNS USING STATE TRANSITION DIAGRAMS
`
`State transition diayramis are erminenily suitablefor representing vires infection scenarios, Ja thisraodel of
`representation, we distinguish two basic components: anode ina state transition diagrain represents senie
`aspects of the computing systemstate. Arcsrepresents actions performed bya program in execution,
`
`Gi’en afcurtrent) state x, the action a takes the systemfromthestate sto the states2¢-shown in Figure
`The infection process played bya virus can be viewed as.a sequence ofactions which drivesthe system
`from an initial clearstate to.a final infectiousstate. where some files are infected. In order to get a.cornplete
`deseription of the actual scenars, a state 1s adorned bv a set of assertions, characterizingthe objects as
`affected by-actions,
`
`
`
`Figure 1> State wansition. diagraia
`
`
`
`
`99SViniss Bulletin Led,21 The Guadrant, Abingdon, Oxfordshire OXT43VS, England.
`Tel +44 (Q)}235 355
`
`s publication mav be reproduced, storgd in 4 retrieval.
`system, or transmitter
`
`the publishers.
`without the prior wnitien permission: o
`
`JNPR-FNJN2902900477276
`
`

`

`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 7 of 16
`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 7 of 16
`
`VIRUS BULLETIN CONFERENCE, SEPTEMBER [O95 -° 79
`
`
`in practice,
`we onlyrepresent those actions relevant to the infection scenario. Ag a result, many possible
`actions mayaccurbetween adjacent states. butare notrecordedbecause they do notentail amadification in
`the current state, in terms ofauditing, irrelevant audit records mayhe present in the sequenceofaudit
`records representing the infection signature,
`
`For the sake of siraplicity, discussion ofthe generic detection rules aré based on the state transition
`diagrams described above.
`
`3.2
`
`BUILDING THE RULES
`
`VIDES uses three types ofdetection rules: genenc detecuan rules, virus specific rules, other miles. As its
`name implies, generic rules are used to detect all viruses which-use a knownattack pattern. For this. models
`of virus behaviour are needed for the target aystem (in our case MS-DOS). Virus-specific mulesuse
`information from a previous analysis to detect that specific virus, or direct variants. These rules are similar
`to vinas-specific detection programs, except for the fact that they analvzethe dynamic behaviour ofthe virus
`instead ofits code. Finally, there are the “other niles” for gleaning other information front the virus which
`can be used in its classification.
`
`We will not go into the virus-specific rales or the ‘other’ rudes, concentrating mstead on the seneric rtlés.
`
`in developing ageneric rule for detecting vinises, weneed-to have a model forthe virus attack. No one
`model wil do, because MS-DOS viruses can use. choose from many cHective strategies. This is
`compounded by tke diversity of executable fle types for MS-DOS. Fortunately forus, the maiaritv of
`viruses have chosen one particular strategy, and infect only two types ofexecutable files. This means that
`we van detect most viruses with very few rales. On the other hand. avirus which usesen unknownatiack
`Stratcay will not be detected. Forthis reagan, the prototype analysis system contains an auxularystatic
`analvsis camponentto detect such problems.
`
`In thefollowing, we will developa generic rule which detects file infectors that modifvthe file directly to
`vain control over that file. We will concentrate on COMfile infectors. EXE fle infectars are detected in an
`analogous way.
`
`We uvust make two assumptions about the behaviour ofDO'S viruses to help us buildthe rule.
`
`Assumption i:
`
`4flle:pifectingvirus modifies the hastfile in such a waythat t gains control overthe
`hostfile when the hostfile is ran.
`
`This is 4 specific version ofthe virus definition (Def1}. However, it dagsn't specify whenthevirus gains
`contral over the host file,
`
`fhe virus ia aninjectedfile receives contval overtheple befave the original host
`Assumption Z:
`program.
`
`Thatis, when the infected fle is mm, the virus is nun before the host program.
`
`Discussion: ifthe virus.never gains control overthe hast file, it would not fulfil the definition ofa virus.
`This observation leads ic Assumption |. However, there is no reason (ar the definition} whythe viras must
`vain control before the host does.
`
`We make an additional assumpuon that the-virus does’gain contra! before the hostprogram does, The reason
`ave do this isto avoid very blatant false positives. However, t'should be noted that Assumption 2 does not
`result from the virus definition, and will causé some viruses to be missed, Fof these Cases, other mules are
`used.
`
`CES199S Virus Balletin Ltd, 31 TheChdrant, Abingdon, Ontondshive, ON 1439'S, Enotand.
`
`
`post of this publication mav be reproduced, stewed ina retrieval system, or transmitted im any form
`
`the poor wrifleh permission of the publishers.
`without
`
`JNPR-FNJN2902900477277
`
`

`

`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 8 of 16
`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 8 of 16
`
`EG > SWAPAMERS DYNAMIC DETECHOM AND CLASSIFICATIONGF COMPUTER VIRLBES..
`
`3.2
`
`$ENDING OOM FILE INFECTIONS
`
`With respéotio assumptions | and 2, we ate bakine-for peo possible infection strategies:
`
`ssther
`
`itead of ¥
`
`other
`
`of Or Wntes |
`
`See
`
`other
`yoad or writes |
`
`
`Pisure 2. Generic rulefor idenafving COMfile injectors
`
` laning oft
`
`
`
`fora write to thed
`i Thesdrus is overnaiting. Therefore, we are looking
`without a previousread to the same looation. Otherreads andwritesars pernuited.
`
`2 The virusis son-overucioig, We expect to seeareadto BOF, then awrite to BOF. Before, m
`
`between, and afierthese two events, other readsand WHIRSare permutied,
`
`The assumption it both casesia thatthewrite te BOF cauaes the
`
`virus he gain control on excoution,
`
`in the case of a non-overwriting virus, we assurae thet the virus first readsthe original code at BOFand
`
`then replaces it with ifs awncode, usually asuspto fhe virus body. In mostcases,
`the number ofbytes. read
`
`
`
`
`
`
`
`wil be the same.as the nuraber of vies
`written, bul we cannolassume dns. In the opse ofan. oversviting
`
`virus, the code is notread (and saved scanewhered, but overeri
`
`
`Otherreads and writes are not actually relevant to the detection of the virus. Thevvan be logged and used in
`venerating vires specific rules,
`
`
`the file,
`
` The rule is initiated by the opening ofa file Onmeses 3 CONST tile). Thecule is terminated bv aclose of
`
`
`
`actual iifection to occur. Welook forthe readBOP followed bythe wre BOForthe write BOFvoathout
`where this does not have to be done by thevirus itself fe betweenthese neo events, we expect the
`the read. Other administrative operations, lke travkong the file poertion, are also done bvthe rule. This is
`
`shown in the siete transi
`tion diagram of Firure 2.
`
`eet
`Some viruses obuse twoblemis for the mle byclosingthe file after a first set of operanone, This is handled
`ce
`emiechatiany whick waits fox a possible open event on the same file frotn the virus. in order that
`
`loos not alavddiree ilefiniiehoand clog up the rule mernory, there area mumiber of terminating
`
`
` GMAGIYS, Enviand.
`
`POSS Virus Paulistin bed, 31 The Cradrant, Abingtonsaiordatd
`or Trassnutiod da any fork
`Tel +44 UNU2IS SAShe °
`ation may be repokkuiced, stored in a reirievs
`
`
`without
`the priar swittes pert
`
`JNPR-FNJN2902900477278
`
`

`

`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 9 of 16
`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 9 of 16
`
`VIRUS BULTE IN CONFERENCE SEPTEMBER 1995 + G1
`
`events..Infig. 2, peogien 1s abstracted ay a transition element, whereasiis implementation 19 as a-separate
`male.
`
`MS-DOS provides hyo reethods ofaccessing files. The most common method uses file handles Access
`
`lsinefile control biocks (FCB) wes provided far compatibility to CP/M, and is rarely used, even by
`viruses, However, because itis used, weneed a separate ruleto handle this method. The basie rule stays the
`same, but intenial handling of the data isdifferent.
`
`We could avoid this problemby abstracting the audit data‘to. give usa generic viewofthe svstem events,
`
`This way. wécould reduce the number of audit records to only relevant higher-level records by using a
`filter. After that, processing becornes simpler as the problems of reopens and handle/FCB use disappear.
`This method also allows us to applythe niles.on rian-MS-DOS systems which provide similar file handling,
`
`
`Asamatier of fact, ASAitself is the logical choice to act as the filter. The first A SAX system reads the
`raw audit trul, converts it into veneric data, and pipes its output as a NADF file for further processing. (see
`Section 5). Using ASAXasa filter allows us to reduce the compleaity afmaintaming such a system while
`not sacrificing any power,
`
`4
`
`PC AUDITING
`
`The prerequisite for using an ditrusion Detection (1D) system like ASAis an audit systent which securely
`collects system activitydata. In addition, integrity of the 1D system uselfmast not be compromised: this
`means that the audit data retrieval, analysis and archiving must be secured against corruption by viruses,
`Moreover, the [Dsystern must not be prevented from reporting (raising alarms, updating virus information
`databases} the results ofsuch analysis. DOS neither provides such’aservice, nor makes the mnplementation
`of such a service easy. ts total lack of security mechanisms means that the collection of data can be
`subveried. Eyenif the collection can be secured, the data 1s opento manipulation istared on the same
`raachine.
`
`For the prototype oPVIDES, we were. not bound to a real-world implementation, so we exploredvarious
`allemative possibilities. The experience gained bythe use. ofsuch a systern will not benefit DOS users, but
`should be applicable to users ofvarious ereerging 32-bitoperating aysternis which offer DOS support,
`
`We have made several atternpts to build a satisfactory audit system: these are described hereafter,
`
`41
`
`DOSEINTERRUPTS
`
`All DOS services are provided to application programs vig interrupts, which can be described as indexed
`iitéisegment calls. Primarily, interrupt Ox21 is used. The requested service is entered into the AH
`register and its parameters are entered into fhe other registers, Whenthe service is finished. it returns
`contro! te the calling pragtamand provides its results in registers or in buffers,
`
`Theveryfirst implementation ofan auditing system was a filter which was placed before DOS Servives and
`registered all calls to DOS functions. This was done very early ontogether with Dr. Fischer-Hulbner, to
`prove the feasibiliey ofthe VIDES concept. italso dernonstrated the limits which DOS imposes onthe
`inaplementation ofsuch an auditing system:it did not ran reliably, aud could be subverted by tunnelling
`VIFLses,
`
`This implementation was soon scrapped, but i did prove that the premuse was correct: viruzes could be
`found using ID technology. This was perhaps the finst suchatrial that had been done [BFHS91],
`
`(CE G1995 Virus Bulletin Ltd, 21 TheQuadrant, Abinedon, Oxfordshire, OX143 VS, England.
`
`part of fhis publication may “be reproduced, stored in a retricval system, or wanseaitied in-asy form
`
`
`JNPR-FNJN2902900477279
`
`

`

`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 10 of 16
`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 10 of 16
`oe
`82 + SWIMMER: DYNAMIC DETECTION AND CLASSIFICATION OF COMPUTER VIRUSES...
`
`42
`
`‘VEIRFUAL 8086 MACHINE
`
`‘The Inte iAPX 386 introducedthe so-called virtual 8086 machine mode. A protected mode operating system
`canecreate manyvirtual 2086 machines in whiehtasks can run completely isolated fromeach other and fom
`the operating system. Each task ‘sees’ only ts own environment. Operating systems suck Ob/2 use these
`constructs to provide @ full DOS environment forDOS proerams..Al calls to the maachine (via the BIOS
`interface or direct port access) and DOSare redirectedto the host operating system (O3/2 in this case) for
`processing.
`
`This mechanism canalso be used to monitor the activity in DOS session, Because all interrupts are being
`redirected to the native operating system, the native operating system can record the activity securelyand
`enobtrusrely.
`
`Care has to be taken in the implernentation ofthe virtual 8086 machine. The DOS windows in OS/2 have
`been shown in testsat the VTC to be too permissive. In the course of 4 cornprehensive test including the
`entire collection.offile viruses, many ofthe viruses running under a DOS window managed to harmvital
`paris ofthe system. One problem was that O3/2 files could be manipulated directly from within the DOS
`gession. However, this didnotexplain the corruption ofthe rushing opérating systent.
`
`Even thouzh using a virtual 8086 machine was the original method ofchoice, such experiments showed that
`the complexityof building a safe implementation would be difficult. 4 more secure methad was sought for
`the protetype.
`
`43 HARDWARE SUPPORT
`
`Hardware debugging systems, such as the Periscope IV may be used to monitor system events. closelym
`real ime. This isachieved by acard fitted betweenthe CPU and the motherboard. and which can-set break
`points on various.types ofeventa.on the PC's bus. The card is connected to a receiving card in a second PC
`which is used to control the debugeing session.
`
`Monitoring system behaviour oma DOS machine can be accornplished by capturing the Interrupt x21
`directly, or by setting 3 break point in the resident DOS kemel. Special memory areas can be monitored by
`setting a. break condition on access to those areas.
`
`The monitoring is completely unobtrusive, Le. ihe programwill not notice a difference between ninning
`with or without the debugger, When an event is triggered, the PC is stoppedwhile the controlling PC is
`processing the data. [f the controlline PCis fast enough, the ume delay should be nearlynemlieible,
`
`A hardware solution using the Periscape [is complicated bythe problemofautomating the processes
`necessary to test larve mumbers of viruses on different operanng systema When such a solunen is
`implemented,itwill offer the possibility oftesting viruses on other PC operating systerns which require full
`iAPX 386 compatibility.
`
`44
`
`8686 EMULATION
`
`The sohution which was finally chosen was the sofiware emulauon ofthe086 processor. An emulation is a
`program which accepts the entire instruction set of a processor as input, and interprets the binary code as the
`original processor would. All other elements of the machine miuat be tnplemented oremblated, e.g. the
`various ports. To simplify and quickenthe emulation, the BIOS Code ( Basic Input Output Systeot - the
`interface betweenthe operating system and the hardware) can be replaced with special ernulationhooks, so
`that the complicated machine access can be sidpped.as long as all accesa to those services are routed via the
`BIUS. Inthe case of a graphics adapter, the entire hacdware must be emulated. whereas disk access can be
`handled with hooks im thé BIOS.
`
`
`
`#
`
`
`CEES O95 Virus Bulletin Lid, 23 Fie Quadrant, Abineden, Gsvfordshire GN T43 VS, England,
` Tel
`
`
`$4 (QH238 388135,
`1
`part of this publication may he reproduced, sicred in a retuevel system, orciamsmited in ey. fonn
`without tne. prior
`written permission. of the publishers.
`
`JNPR-FNJN2902900477280
`
`

`

`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 11 of 16
`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 11 of 16
`
`GRUBOLLETIN CONFERENCE. SEPTEMBER F995
`
`
`
` semulstion gives us all the advant
`
`Ofthe hardware soiation phisthe
`
`
`
`
`
`
`rOuTam funmingS ihe ental
`ed bythe ennilation when mecreapeabletiprot
`8530
`itain pseudo realtime with res
`
`
`
`mynParca ME OY
`
`he emulation ave bere st
`
`
`
`he timiedn the emulation can alse be stopped.
`as Peet
`
`PaCCES
`
`
`tothe hostmachine atall. Thisis!
`emulation is “sate’ asthe rannine virus has nic
`taract machine’ s memory is being controlledentirely by the emulation, and file accesses are directed toa
`virtual disk, stored asa disk imagefle.
`
`“She maior problem with using anemulationis its lackofqeeed. Evenon fastplationn, the summing speed
`wonkymarg sally fasterthan an onemal Pc
`
`45 ACTIVITY DATA FORMAT
`
`
`Audit revords
` Pinerasion Detection Dean?
`
`
`ODieet,
`3. However, due 1 the wary
`Exceplion-Condigan,aoe
`Time-Giamp=
`
`Which
`“et
`eraadel¢
`
`
`
`handied in DOS, this patterns slhiahty modified to collectuseful availanly ateributes, Por ivstanec, the code
`nt ofa pracess ig chosen instead ofthe common process identifler In mom ocstiag mmadi-user
`
`OPCLAlINY SvStenns.
`
`The audi record attributes of records as cublected by the PC emulatorhave the following meaning: code
`seginent is the address inmemoryofthe executable image of the program: funtion number is the nernber
`ofthe POS function requested by the program: ave(J isa hist ofregister/memory values used in the
`
`calitoaDOSfiction: ret (J isa Hat of register/memory values as returned by the function call:
`
`
`
`
`sthe type ofthe record: SiarrYimie and EnilTime are the ttime stump ofaction start and end
`
`eee The tinal formar for an MS-DOSaudit record is
`7
`Spode
`segment,
`Re PAYDE
`
`
`
`StartfTime, &ad Unw,fenton number, are tj, rep © 3>
`
`2 @
`
`Fiepyia virus figure 3) £acery
`
`$6 ACTIVITY DATA COLLECTION
`
`The audit svetem was integrated into an existing PC emulation bypenehooke inte the module for
`
`
`
`processingall opcodes corresponding with theevents (acefig, 4. The
`reprinsarily calls tothe DOS
`functions. This wasimplemented is auchaway, that Stealth and ronnellingHnisea could notcicumventthe
`
`
`
`Yin a setrieval :
`
`
`SEE, OT TRsRerTAS
`fs way foes
`
`
`
`JNPR-FNJN2902900477281
`
`

`

`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 12 of 16
`Case 3:17-cv-05659-WHA Document 410-6 Filed 03/28/19 Page 12 of 16
`
`Ad. + SMIAUMER: DYNAMIC DE TECHON AND CLASSHCATONOF COMPUTER VIRUSES.
`
`
`mechanism. A separate module recewes notification ofthe event and pushesall parameters on io astack,
`Whe the DOS call returns. iheparameters are popped from-the-stack and senttc the:audit trail with the
`
`return: values.
`
`~auciit
`
`
`cpu
`[etreneeeeereereee Weenierrraemnmmnrnnmnmmamananensanatanaeeed
`hardy‘var
`
`St
`
`
`i
`
`
`
`Figured4: Modules in Pasdara
`
`
`
`
`ingernally, the audit trail comulies to acanonical format which is also ASAX’s native format This is very
`wenerce, and allows most types ofrecords to he implemenited,
`An example ofan audittrailis:printed in Figure 3. This isa duran readable repentOemation ofthe binary
`OP tle. Phe example is fram an audit trail ofthe Vienna virus, Che text representatundoes not
`craply exactiy with the binary version. Some ofthe less umpartant fields are raising sothatthe audi
`
`2,
`
`
`
`TE
`
`ord becomes clearer and shorter.
`
`Ty the next section, we showhwthe activity data produced by the emulator is analysed using ASA.
`
`47 USING RUSSEL TO DETECT INFECTION SCENARIOS
`
`
`languane can be used effectively to detect-an infection scenaris.
`in this section, we shawhowthe RUSSEL
`
`
`We firstmode] the nection os astute tras
`on diagram, then bnefly show hawthis diagramcan be
`
`
`translatedikke RASSEL miles,
`
`
`Rack state m the diagramis represented by 4 rale describingnol ont: the current state, hat also the seagence
`of previous statis leading to if, The actual parameters ofthe current rule encodeall therelevantinformaiton
`
`
`cobleceedin previously-visited states. A ‘transition in the diagramis represented bythe rule-triwering
`
`
`mechanism ofthe RUSSE
`as described m section
`4. The actual parameters ofthe current mule are
`
`eorpured from the
`data tens
`ad
`bythe current aud
`rdandfrornthe pararncters ofthe currerd
`pod, lnc-new cule represends thenawcurrent etgte mthe tranériian diaerarm.
`mule. Cinecetr,
`.
`
`veryfirst achwe rule af the be
`tn particular, the
`scummng ofthe detection provess as no actual parameters,
`
`singe #0 informationis contained in the initial state tone canargue that the iniiiel state contains this
`
`
`erion: systemis clean. That is then represented byan empty list ofparameters), As an example, t

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