throbber
EXHIBIT C
`
`000001
`
`Symantec 1039
`IPR2015-01892
`Symantec v. Finjan
`
`

`
`D mtBI1r;r:flECn1UEuhTaIlliIlI:N:
`JLJ1. WKJKJ
`INTERNATIONAL
`
`# CONFERENCE
`
`Boston Park Plaza Hotel and Towers
`"
`20-22 September
`
`OOOOO2
`
`000002
`
`

`
`VIRUS BULLETIN CONFERENCE. SEPTEMBER 1 995 0!
` —~—
`
`5
`
`.Q6‘
`
`Proceedings of
`The Fifth Intprnational
`Virus Bulletin Conference
`
`Lg
`
`VIRUS BULLETIN CONFERENCE 01995 Virus Bulletin
`+44 (0
`555139. No part of this
`icmion may
`f the
`‘sham.
`' out the
`‘or written pennission 0
`
`21 The Quadrant, Abingdon,
`reproduced. stated in a netrieval sys
`
`ordshire, 0X14
`or translnitted in an
`
`England.
`fem
`
`000003
`
`
`000003
`
`

`
`ii ' VIRUS BULLEWN CONFERENCE, SEPTEMBER I995
`
`
`Copyright © 1995
`
`Virus Bulletin Ltd
`
`2i The Quadrant, Abingdon, OX14 3YS, England
`All rights reserved. No part ofthispublication maybe reproduced, storedin aretrieval system, or
`transmitted in any form or by any means, electronic, mechanical, photocopying, recording orotherwise,
`withoutpriorpermissionofthe publishers.
`No responsibility is assumed by the Publisher for any injury and/or damage to persons or property as a
`matter ofproducts liability, negligence or otherwise, or from any use ofoperation ofany methods, products,
`instructions ofideas contained in the material herein.
`
`.
`
`s ‘N
`
` OJ
`
`VIRUS BULLETIN COIVHERENCE 01995 Virus Bulletin Ltd, 21 The Quadrant, Ablngdon, Oxfordshlrc, 0X14 3Y8, England.
`' Tel. +44 (0)1235 555139. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form
`without the prior written permission of the publishers.
`.
`000004
`
`
`000004
`
`

`
`VIRUSBULLETINCONFERENCE, SEPTEMBER I 995 - iii
`
`Or
`
`CONTENTS
`
`DAY 1
`
`Corporate stream
`
`The anti—virus strategy system
`Sarah Gordon
`Blessings in disguise: building outofdisaster
`Paulbucklin
`Humandimension ofcomputerviruses
`JeanHitchings
`Fullyautomatedresponseforinthewildviruses (FAR -ITW)
`Milcelamberz
`Technical stream 1
`
`-
`
`The PCbootsequence,itsrisks and opportunities
`JonathanLettw'n
`Secu1'ingDOS
`,
`NevilleBulsara
`Modern methods ofdeteetingand eradicatingknownand unknownvimses
`Dmz‘tryMostovoy
`Evaluating distributedvirusprotectionproducts
`ScottGordon
`
`Technical stream 2
`
`Dynamicdetectionandclassification ofcomputervirusesusinggeneral
`behaviourpattems
`Mbrton Swimmer
`Flash BIOS - a newsecurity loophole
`Jakubflzmbtsld
`Automatic virusanalysersystem
`FerencLeitold
`Theproblemsin creatinggoatfiles
`IgorMut!ik
`'
`Automatic testing ofmemoryresidentanti—virus sofiwarc
`DavidAubrey-Jones
`Late additions
`
`- ‘
`
`1
`
`ll
`
`21
`
`29
`
`41
`
`51
`
`67
`
`71
`
`75
`
`39
`
`99
`
`109
`
`125
`
`-
`
`CornputerviruscsinheterogencousUnixnetworks
`PeterRaa'afii
`
`Why do we need heuristics?
`Frans Veldman
`
`
`
`1.
`
`:
`
`‘ .
`.
`
` 12¢/Q30‘)?
`ens47<
`
`
`
`VIRUS BULLETIN CONFERENCE 01995 Virus Bulletin Ltd, 21 The Quadrant, Ablngdon, Oxfordshire, 0X14 31/S, Ernghnd.
`Tel. +44 (0)1235 555139. No part of this publication may be reproduced, stored in n teirieval system, or transmitted in any fozm
`without the prior written pexmiasion of the publishers.
`
`OOOOO5
`
`000005
`
`

`
`lv° VIRUS BULLETIN CONFERENCE, SEPTEMBER I995
`
`
`DAY 2
`
`Corporate stream
`
`A testing time
`Paul Robinson
`
`Fending offviruses in the university community: acase study ofthe Macintosh
`Juafy Edwards
`
`Recentviruses, vims writers and routes ofvirus spread in Hong Kong and China
`Allan Dyer
`
`Case study ofvirus control in a large organisation
`Luciian Caric & Philip Kruss
`
`Computer viruses: 3.global perspective
`Steve White, Jefliey Kephart & David Chess
`-
`Technicalstream]
`Virusprotectionaspaitoftheoverallsofiwaredevelopmentprocess
`
`Robin Kinney
`
`Harmless and usefulvirusescan hardly exist
`Pavellamacka
`
`The effect ofcomputer viruses on OS/2 and Warp
`John Morar& David Chess
`
`Technical stream 2
`
`Heuristic scanners: artificial intelligence?
`Righard Zwienenberg
`
`Virus detection- ‘the brainyway’
`Glenn Coates &DavidLeigh
`
`Datasecurityproblems associated withhigh capacity IDE hard disks
`RogerRiordan
`Scanners ofthe year 2000: heuristics
`Dmitry Gryaznov
`
`Computerviruses and artificial intelligence
`DavidStang
`
`Late additions
`
`The evolution ofpolymorphicviruses
`Fridrik Slculason
`
`Macroviruses - the sum ofall Ph3 3rs?
`RichardFord
`
`UKGovemmentcettificationofanti-virussoftware
`Chris Baxter
`
`133
`
`145
`
`151
`
`159
`
`165
`
`183
`
`193
`
`199
`
`203
`
`211
`
`217
`
`235
`
`I
`
`IX
`
`‘
`
`Vt
`./
`
`
`
`E
`
`I I
`
`!
`i
`
`VIRUS BULLEIYN CONFEIBWCE 01995 Virus Bulletin Ltd, 21 The Quadnnt,_ Ablngdon, Oxfordshlre, OX1-1 3Y8, England.
`Tel. +44 (0)1235 555139. No part of this publication'may be reproduced, stored in a" retrieval system. or transmitted in any form
`without the prior written permission of the publishers.
`OOOOO6
`
`
`000006
`
`

`
`_____‘___.____._____?__.._—_.———-e————
`
`VIRUS BULLE'i7N CONFERENCE, SEPTEMBER I995 ~ 75
`
`DYNAMIC DETECTION AND CLASSIFICATION OF
`
`COMPUTER VIRUSES USING GENERAL BEHAVIOUR
`
`PATTERNS
`
`Morton Swimmer
`
`Virus Test Center, University ofHamburg, Odenwaldstr. 9, 20255 Hamburg, Germany
`
`Tel +49 404 910041 - Fax +49 405 471 5226 - Email swimmer@acm.org
`
`Baudouin Ie Charlier andAbdelaziz Mounji
`
`F.U.N.D.P., Institut d’Infom1atique, University ofNamur, Belgium
`
`Email ble@info.fimdp.ac.be / amo@info.fundp.ac.be
`
`ABSTRACT
`
`We numberoffiles which needprocessingby virus labs is growing exponentially. Even though only a small
`proportion ofthesefiles will contain a new virus, eachfile requires examination. The normal methodjbr
`dealing withfiles is still bruteforce manual analysis. A virus expert runs several tests on a givenfile and
`delivers a verdict on whether it is virulent or not. Ifit is a new virus, it will be necessary to detect it. Some
`tools havebeen developedto speed up thisprocess, rangingfromprograms which identtfitpreviousbn
`classzjfiedfiles toprograms that generate detection data. Some anti-virusproducis have built-in mechanisms
`based on heuristics, which enable them to detectunlcnown viruses. Unfortunately all these tools have
`limitations.
`
`In thispaper, we will demonstrate how an emulator is used to monitor the system activity ofa virtual PC,
`and how the expertsystem ASAXis used to analyse the stream ofdata whicg the emulatorproduces. We use
`general rules to detect real viruses generically and reliably, andspecific rules to extract details oftheir
`behaviour. The resulting system is called VIDES: it is a prototypefor an automatic analysis systemfor
`computer viruses andpossibly a prototype anti-virusproduct for the emerging 32 bt'tPCoperating
`systems.
`
`1
`
`INTRODUCTION
`
`Virus researchers must cope with many thousands ofsuspectedfiles each month, but the problem is not so
`much the number ofnew viruses (which number perhaps a few hundred and grows at a nearly exponential
`rate) as the number offiles the researcher receives and must analyse - the glut. Out ofperhaps one hundred
`fiIeS one may actually contain anewvirus. Unfortunately, there are no shortcuts. Everyfile hastobc
`proc
`
`‘A-
`Hr
`
`I/YRUSBULLET1NCONFERENCE4D1995Vlrus BullctinLid,2l The Quadrant, AbiI1gd0n. Oxlbrdshire, OFEMSYS, England.
`Tel. +44 (0)11_35 55§139. No _part of this publication may be reproduced. stored in a. retrieval system, or lransrnmed in any form
`without the pnur wntten p6lml$SlOl'l oi‘ the publishers.
`
`OOOOO7
`
`000007
`
`

`
`76 ° SWJMMER: DYNAMIC DE TECHON AND Cl.ASSiF!CATlON OF COMPUTER VIRUSES...
`
`
`The standard method ofsorting out such files is still brute force manual analysis, requiring specialists.
`Some tools have been developed to help cope with the problem, ranging fromprograms which identify and
`remove previously——classified files andviruses to utilitieswhich extract strings from infected files that aid in
`identifying the viruses. However, none ofthe solutions are satisfactory. Clearly, more advanced tools are
`needed.
`
`in this paper, the concept of dynamic analysis as applied to viruses is discussed. This is based on an idea
`called VIDES ( VirusIntrusion. Detection ExpertSystem), coined at the Virus Test Center [BFHS9 1 ]. The
`system will comprise ofa PC emulation and an IDES-like expert system It should be capable ofdetecting
`viral behaviour using a set ofapriori rules, as shown in the preliminary work done with Dr. Fischer~
`Hiibner. Furthermore, advanced rules will help in classifying the detected virus.
`
`The present version ofVIDES is only of interest to virus researchers; it is not designed to be a practical
`system for the end-user - its demands on processing power and hardware platform are too high. However, it
`can be used to identify unknown viruses rapidly and provide detection and classification information to the
`researcher. It also serves as a prototype for the fixture application ofintrusion detection technology in
`detecting malicious software under future operating systems, such as OS/2, MS-Windows NT and 95,
`Linux, Solaris, etc.
`
`The rest ofthe paper is organized as follows: Section 2 presents the current state ofthe art in anti-virus
`technology; Section 3 describesa generic virus detection rule; Section 4 discusses the architecture ofthe PC
`auditing system; Section 5 shows how the expert system ASAX is used to analyse the activity data collected
`by the PC emulator; and finally, Section 6 contains some concluding remarks.
`
`0
`
`2
`
`CUI§RENT STATE OF THE ART
`
`For the purpose ofdiscussion it will be necessary to define the term computer virus.
`
`2.!
`
`TERMS
`
`There is still no universally-agreed definition for a computer virus. What is missing is a description which
`is still general enough to account for all possible implementations ofcomputer viruses. An attempt was
`made in [Swi95], which is the result of many years ofexperience with viruses in the Virus Test Center. The
`following definition for a computer virus is the result ofdiscussion in comp.virus (Virus-L) derived from
`[Seb]:
`
`Def 1
`
`A Computer Virus is a routine or aprogram thatcan ‘infect ‘otherprograms bymo.<1zj)5/ingthern
`or their environment such that a call to an infectedprogram implies a call to apossibly evolved.
`fimctionally similar. copy ofthe virus.
`
`A more formal, but less useful, definition ofacomputer virus can be found in [Coh85]. Using the formal
`definition, it was possible to prove the virus property undecrdable.
`
`We talk ofthe infected file as the hostprogram. System viruses infect system programs. Such 33 1h€_ b00t
`or Master Boot Sector, whereas file viruses infect executable files such as BXE or COM files. For an in-
`depth discussion ofthe properties ofviruses, please refer to literature such as: ['Hru92], [SK94], [Coh94] or
`[Fer92].
`
`Today, anti-virus technology can be divided into two approaches: the virus specific and the generic
`approach. In principle, the former requires knowledge ofthe viruses before they can be detected. Due to
`advances in technology, this prerequisite is no longer entirely valid in many ofthe modern anti-‘virus
`products. This type oftechnology is known to us as a scanner. The latter attempts to detect a virus by _
`observing attributes characteristic ofall viruses. For instance, integrity checkers detect viruses by checking
`for modifications in executable files; a characteristic ofmany (although not all) viruses.
`
`
`V1RusBvu.Erwco~FmsNc5ei99svrmnurnunm. 21 ThcQIldflfllsM'h1EWflo01T0fd8|Iifl.0X143Y3aF¢fl8hI}d«
`Tel. +44 (0)1235 555139. No part of this publication may be reproduced, stored in a retrieval system. or transmitted in any form
`without the prior written permission of the publishers.
`000008
`
`000008
`
`

`
`VIRUS BULLETIN CONFERENCE, SEPTEMBER I995 ° 77
`
`
`V 22 VIRUS SPECIFIC DETECTION
`
`Virus specific detection is by far the most popular type ofvirus protection used on PCS. Information
`from the virus analysis is used in the so-called scannerto detect it. Usually, a scanneruses a database of
`virus identification infomiation which enable it to detect all viruses previously analysed.
`
`The termscanner has become increasingly incorrect terminology. The term comes from lexical scanner, i.e.
`a pattern matching tool. Traditionally scanners have beenjust that. The information extracted from viruses
`were strings which were representative ofthat particular virus. This means that the string has to:
`
`a differ significantly from all other viruses, and
`
`a differ significantly from strings found in bonafide anti-virus programs.
`
`Finding such strings was the entire art ofanti-virus program writing until polymorphic viruses appeared on
`the scene.
`
`Encrypted viruses were the first minor challenge to string searching methods. The body of the virus was
`encrypted in the host file, and could notbe sought, due to its variable nature. However, thebody was
`C prependcd by a decryptor-loaderwhich mustbe in plain text(unencrypted code); otherwise itwould notbe
`executable. This decryptor can still be detected using strings, even if it becomes difficultto differentiate
`between viruses.
`‘
`
`Polymorphic viruses are the obvious next step in avoiding detection. Here, the decryptor is implemented
`in a variable manner, so thatpattern matching becomes impossible or very difficult. Early polymorphic
`viruses were identified using a set ofpatterns (strings with variable elements). Moreover, simple virus
`detection techniques are made unreliable by the appearance ofthe so-called Mutation Engines such as
`MtE and TPE (Trident Polymorphic Engine). These are object library modules generating variable
`implementations ofthe virus decryptor. They can easilybe linked with vimses to produce highly
`polymorphic infectors. Scanning techniques are further complicated by the fact that the resulting viruses
`do not have any scan strings in common even iftheir structure remains constant. When polymorphic
`technology improved, statistical analysis ofthe opcodes was used.
`
`Recently, the best ofthe scanners have shifted course from merely detecting viruses to attempting to
`identify the virus. This is often done with added strings, perhaps position dependent, or checkairns, over the
`invariantpart ofthe virus. To support this, many anti-vinrs products have implemented machine-code
`emulators so that the virus‘ own decryptor canbe used to decrypt the virus. Using these enhancements, the
`positive identification ofeven polymorphic viruses poses no problem.
`
`(3
`
`The next shifi many scanners are presently experiencing is away from known virus only detection to
`detection ofunknown vimses. The method ofchoice is heunsncs. Heuristics are built into an anti-virus
`product in an attempt to deduce whether a file is infected or not
`is most often done by looking for a
`pattern ofcertain code fiagments that occur most often in viruses and hopefully not in bonafide programs.
`
`Heuristics analysis suffers from a moderate to high false-positive rate. Ofcourse, a manufacturer ofa
`heuristic scannerwill improve the heuristicsboth to avoid falsepositives and still find all new viruses, but
`both cannot be achieved completely. Usually, a heuristic scannerwill contain a ‘traditional’ pattern-matching
`component, so that viruses can be identified by name.
`
`2.3 GENERIC VIRUS DETECI‘ION
`
`Computer viruses must replicate to be viruses. This means that a virus must be observable by its mechanism
`of replication.
`
`T V
`
`IRUSBULLETINCONFERENCE@1995 VirusFlfllclinMd. 21 TheQuadrant. Ahlltgtlml,Oxfordshire,0Xl43YS. Enghmd.
`Tel.
`44 0 23
`.
`'
`'
`'
`‘
`‘
`-
`v
`..<.>.:...s
`as -n - W W or were w my run»
`
`kw
`
`OOOOO9
`
`000009
`
`

`
`78 0 $WIMMER' DYNAMIC DETECTION AND CLASSIFICATION OF COMPUTER VIRUSES...
`
`
`Unfortunately, it is not as easy to observe the replication as it may seem. DOS, in it vaiious flavours,
`provides no process isolation, or even protection ofthe operating system from programs. This means that
`any monitoring program can be circumvented by avirus which has been programmed to do so. There used to
`be many anti-virus programs which would try to monitorsystem activity for viruses, but were not proof
`against all viruses. This problem led to the demise of many such programs. Later in the paper, we shall
`discuss how we avoided the problem when implementing VIDES.
`'
`
`A more common approach is to detect symptoms of the infection such as file modifications. This type of
`program is usually called an integrity checker or checlrsummer.
`
`When programs are installed on the PC, checksums are calculated over the entire file, or over portions of the
`file. These checksums are then used to verify that the programs have not been modified. The shortcoming of
`this method is that the integiitychecker can detect a modification in the file, but carmot deteimine whether
`the modification is due to a virus or not. A legitimate modification to, for instance, the data area of a
`program will cause the same alarm as avirus infection.
`
`Another problem is virus technology aimed specifically against anti-virus products. Advances in stealth and
`tunnelling technology have made updates necessary. There have also been direct attacks against
`particular integrity checkers, rendering them useless. Again, the lack ofsupport from the operating
`system makes the prevention of such attacks very difficult. As a consequence, the acceptance of such
`products is low.
`=
`
`U
`
`The non-specific nature of the detection has little appeal for many of the users. Even generic repair
`facilities in the anti-virus products do not help, despite these methods effectively rendering identification
`unnecessary. The problem is partly understandable. The user is concerned with his data. Merely
`disinfecting the programs is not enough if data has been manipulated. Only if the virus has been
`identified and analyzed can the user detemiine if his data was threatened.
`
`Generic virus detection technology should not be dismissed. It isjust as valid as virus-specific technology.
`The problems so far have stemmed from the permissiveness ofthe underlying operating system, DOS, and
`from the limits in the programs. Both problems can be addressed.
`
`3
`
`DYNAMIC DETECTION RULES
`
`Before we can attempt to detect a virus using ASAX, we need to model the virus attack strategy. This is
`then translated into RUSSEL, the mle-based language which ASAX uses to identify the virus attack.
`
`3
`
`3.1
`
`REPRESENTING INFECTION PATTERNS USING STATE TRANSITION DIAGRAMS
`
`State transition diagrams are eminently suitable for representing virus infection scenarios. In this model of
`representation, we distinguish two basic components: a node in a state transition‘diagrai_n represents some
`aspects ofthe computing system state. Arcs represents actions performed by a program in execution.
`Given a (current) state si, the action a takes the system from the state s, to the state sfas shown in Figure
`1. The infection process played by a virus can be viewed as a sequence ofactions which drives the system
`from an initial clean state to a final infectious state, where some files are infected. In order to get a complete
`description ofthe actual scenario, a state is adorned by a set ofassertions, characterizing the objects as
`affected by actions.
`
`Figure 1: State transition diagram
`
`
`3
`
`VIRUSBULLETWCONFERENCE @1995 Virus BulletinLtd,21 The Quadrant, Abingdon, Oxfordshire, OX14 3YS,
`Tel. +44 (0)1235 555139. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form
`without the prior written pennission of the publishers.
`000010
`
`000010
`
`

`
`WRUS BULLETIN CONFERENCE SEPTEMBER I 995 - 79
`
`
`C In practice,we only representthoseactionsrelevanttotheinfection scenario. Asa result,manypossible
`
`actions may occur between adjacent states, but are not recorded because they do not entail a modification in
`the current state. In terms ofauditing, irrelevant audit records may be present in the sequence ofaudit
`records representing the infection signature.
`
`For the sake ofsimplicity, discussion of the generic detection rules are based on the state transition
`diagrams described above.
`.
`
`3.2 BUILDING THE RULES
`
`VTDES uses three types ofdetection rules: generic detection rules, virus specific rules, other rules. As its
`name implies, generic rules are used to detectall viruses which use a known attack pattern. For this, models
`ofvirus behaviour are needed for the target system (in our case MS-DOS). Virus-specific mles use
`information from a previous analysis to detect that specific virus, or direct variants. These rules are similar
`to virus-specific detection programs, except for the fact that they analyze the dynamic behaviour ofthe virus
`instead ofits code. Finally, there are the ‘other rules’ for gleaning other infomiation item the virus which
`can be used in its classification.
`C We will notgo into thevirus-specific rules orthe ‘other’ rules, concentrating instead on the generic rules.
`
`In developing a generic rule for detecting viruses, we need to have a model for the virus attack. No one
`model will do, because MS-DOS viruses can use choose from many effective strategies. This is
`compounded by the diversity of executable file types for MS-DOS. Fortunately forus, the majority of
`viruses have chosen one particular strategy, and infect only two types ofexecutable files. This means that
`we can detect most viruses with very few rules. On the other hand, a virus which uses an unknown attack
`strategy will not be detected. For this reason, the prototype analysis system contains an auxiliary static
`analysis component to detect such problems.
`
`In the following, we will develop a generic rule which detects file infectors that modify the file directly to
`gain control over that file. We will concentrate on COM file infectors. EXE file infectors are detected in an
`analogous way.
`
`We must make two assumptions about the behaviour ofDOS viruses to help us buildthe rule.
`
`Assumption 1:
`
`Afile-infecting virus modifies the hostfile in such a way that itgains control over the
`hastjile when the hostfile is run.
`
`Va
`
`This is a specific version ofthe virus definition (Def 1). However, it doesn’t specify when the virus gains
`control over the host file.
`
`Hie virus in an injéctedfile receives control overthefile before the original host
`Assumption 2:
`program.
`
`That is, when the infected file is run, the virus is run before the host program.
`
`Discussion: If the virus never gains control over the host file, it would not fulfil the definition ofa virus.
`This observation leads to Assumption 1. However, there is no reason (in the definition) why the virus must
`gain control before the host does.
`
`We make an additional assumption that the virus does gain control before the hostprogram does. The reason
`we do this is to avoid very blatant false positives. However, it should be noted that Assumption 2 does not
`I'Cs:l.(lilt fromthe virus definition, and will cause some viruses to be missed. For these cases, otherrulesare
`u
`.
`
`U
`
`
`
`WRUSBULLETWCONFERENCEO1995 VirusBulletinLtd,2l 'l'hcQt.lIdfl.l'lI, Abingdon.Oxronishire, OXMSYS, Engiand.
`Tel. +44 (0)1235 555139. No part
`(‘this
`bfcati
`be
`cod
`'
`~
`-
`-
`wmmm the prior W.-mm Wmissimoof mep1l;IubI“sh;t;'m&)'
`repmdu
`, stored in a removal system, or transmitted in my form
`00001 1
`
`000011
`
`

`
`80 ' SWIMMER' DYNAMIC DETECTION AND CLASSIFICATION OF COMPUTER VIRUSES...
`
`
`3.3
`
`FINDING COM FILE INFECTIONS
`
`‘
`
`3
`
`With respectto assumptions 1 and 2, we are looking for twopossible infection strategies:
`
`
`
` other
`,
`
`
`
`read or writes
`
`
`
`
`other
`read or writes
`
`read or writes 5
`
`Figure 2: Generic rulefor identryjzing COMfile infectors
`
`1 The virus is overwriting. Therefore, we are looking for a write to the beginning of the file (BOF),
`withouta previous read to the same location. Other reads and
`are permitted.
`
`2 The virus is nan-overwriting. We expect to see a read to BOF, then a write to BOF. Before, in
`between, and afierthese two events, other reads and writes are permitted.
`
`The assumption in both cases is thatthe write to BOF causes the virus to gain control on execution.
`
`A‘war’
`
`In the case of a non-overwriting virus, we assume that the virus first reads the original code at BOF and
`then replaces it with its own code, usually ajump to the virus body. In most cases, the number ofbytes read
`will be the same as the number ofbytes written, but we cannot assume this. In the case ofan overwriting
`virus, the code is not read (and saved somewhere), but overwritten.
`
`Other reads and writes are not actually relevant to the detection of the virus. They can be logged and used in
`generating virus- specific rules.
`
`The rule is initiated by the opening ofa file (in this case a COM file). The rule is terminated by a close of
`the file, where this does not have to be done by the virus itself. In between these two events, we expect the
`actual infection to occur. We look for the read BOF followed by the write BOF or the write BOFwithout
`the read. Other administrative operations, like tracking the file position, are also done by the rule. This is
`shown in the state transition diagram ofFigure 2.
`
`Some viruses cause problems for the rule by closing the file after a first set of operations. This is handled
`by a reopen mechanism which waits for apossible open event on the same file from the virus. In order that
`this rule does not stay active indefinitely and clog up the rule memory, there are a number ofterminating
`U
`VIRUSBU1.LE71NCONFFRENCE©l995 Virus Bulletin Ltd, 21 Theouadrmt, Abtngdon, Oxfnrdshint, OXMJYS, England.
`Tel. +44 (0)1135 555139. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any fonn
`without the prior written permission of the publishers.
`
`OOOO12
`
`000012
`
`

`
`(ll
`
`events. In fig. 2, reopen is abstracted as a transition element, whereas its implementation is as a separate
`rule.
`
`VIRUS BULLETIN CONFERENCE, SEPTEMBER I 995 0 8/
`
`MS-DOS provides two methods ofaccessing files. The most common method uses file handles. Access
`usingfile control blocks (FCB) was provided for compatibility to CP/M, and is rarely used, even by
`viruses. However, because it is used, we need a separate rule to handle this method. The basic rule stays the
`same, but internal handling of the data is different.
`
`We could avoid this problem by abstracting the audit data to give us a generic view of the system events.
`This way, we could reduce the number ofaudit records to only relevant higher—level records by using a
`filter. After that, processing becomes simpler as the problems of reopens and handle/FCB use disappear.
`This method also allows us to apply the rules on non-MS-DOS systems which provide similar file handling.
`
`As a matter of fact, ASAX itself is the logical choice to act as the filter. The first ASAX system reads the
`raw audit trail, converts it into genetic data, and pipes its output as a NADF file for further processing (see
`Section 5). Using ASAX as a filter allows us to reduce the complexity ofmaintaining such a system while
`not sacrificing any power.
`
`4
`
`PC AUDITING
`
`The prerequisite for using an Intrusion Detection (ID) system like ASAX is an audit system which securely
`collects system activity data. In addition, integrity ofthe ID system itselfmust not be compromised: this
`means that the audit data retrieval, analysis and archiving must be secured against corruption by viruses.
`Moreover, the ID system must not be prevented firom reporting (raising alarms, updating virus information
`databases) the results ofsuch analysis. DOS neither provides such a service, nor makes the implementation
`of such a service easy. Its total lack ofsecurity mechanisms means that the collection of data can be
`subverted. Even if the collection can be secured, the data is open to manipulation ifstored on the same
`machine.
`
`For the prototype ofVIDES, we were not bound to a real world implementation, so we explored various
`alternative possibilities. The experience gained by the use of such a system will not benefit DOS users, but
`should be applicable to users ofvarious emerging 32-bit operating systems which offer DOS support.
`
`We have made several attempts to build a satisfactory audit system: these are described hereafier.
`
`-""
`I.
`
`4.1
`
`DOS INTERRUPTS
`
`All DOS services areprovided to application programs via interrupts, which can be described as indexed
`inter-segment calls. Primarily, interrupt 0x21 is used. The requested service is entered into the AH
`register and its parameters are entered into the other registers. When the service is finished, it returns
`control to the calling program and provides its results in registers or in buffers.
`
`The very first implementation ofan auditing system was a filter which was placed before DOS Services and
`registered all calls to DOS functions. This was done very early on, together with Dr. Fischer-Hiibner, to
`prove the feasibility ofthe VIDES concept. It also demonstrated the limits which DOS imposes on the
`implementation ofsuch an auditing system: it did not run reliably, and could be subverted by tunnelling
`viruses.
`
`This implementation was soon scrapped, but it did prove that the premise was correct: viruses could be
`found using ID technology. This was perhaps the first such a trial that had been done [BFHS9I].
`
`C
`
`
`
`WRUSBULLETINCONFERENCEC31995 VlrusBulletinL!d,2l Th¢Qt.Iadnnt, Abingdon, Oxfordshlre, 0X14JYS, England.
`Tel. +44 (0)1235 555139. No part of this publication may be reproduced, stored in a. retrieval system, or transmitted in any form
`“H1011? The Prior written permission of the publishers.
`
`OOOO13
`
`000013
`
`

`
`82 ~ SWIMMER DYNAMIC DETECTION AND CMSSIFICATION OF COMDUTER VIRUSES...
`
`
`4.2 VIRTUAL 8086 MACHINE
`
`The Intel iAPX 386 introduced the so-called virtual 8086 machine mode. A protected_mode operating system
`can create many virtual 8086 machines in which tasks can run completely isolated from each other and from
`the operating system. Each task ‘sees’ only its own environment. Operating systems such OS/2 use these
`constructs to provide a full DOS environment for DOS programs. All callsto the machine (via the BIOS
`interface or direct port access) and DOS are redirected to the host operating system (OS/2 in this case) for
`processing.
`
`This mechanism can also 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 securely and
`unobtrusively.
`
`Care has to be taken in the implementation ofthe virtual 8086 machine. The DOS windows in OS/2 have
`been shown in tests at the VTC to be too permissive. In the course ofa comprehensive test including the
`entire collection offile viruses, many ofthe viruses running under a DOS window managed to harm vital
`parts ofthe system. One problem was that OS/2 files could be manipulated directly from within the DOS
`session. However, this did not explain the corruption ofthe running operating system.
`
`Even though using a virtual 8086 machine was the original method ofchoice, such experiments showed that
`the complexity of building a safe implementation would be difficult. A more secure method was sought for
`the prototype.
`
`4.3
`
`HARDWARE SUPPORT
`
`Hardware debugging systems, such as the Periscope IV, may be used to monitor system events closely in
`real time. This is achieved by a card fitted between the CPU and the motherboard and which can set break
`points on various types ofevents on the PC’s bus. The card is connected to a receiving card in a second PC
`which is used to control the debugging session.
`
`Monitoring system behaviour on a DOS machine can be accomplished by capturing the Intemipt 0x21
`directly, or by setting a break point in the resident DOS kernel. Special memory areas can be monitored by
`setting a break condition on access to those areas.
`
`The monitoring is completely unobtrusive, i. e. the program will not notice a difference between running
`with or without the debugger. When an event is triggered, the PC is stopped while the controlling PC is
`processing the data. Ifthe controlling PC is fast enough, the tune delay should be nearly negligible.
`
`A hardware solution usingthe PeriscopeIVis complicated by the problem ofautomating the processes
`necessary to test large numbers ofviruses on different operating systems. When such a solution is
`.
`implemented, itwill offer the possibility oftesting viruses on other PC operating systems which require full
`iAPX 3 86 compatibility.
`
`4.4
`
`8086 EMULATION
`
`emulation is a
`The solution which was fuially chosen was the software emulation ofthe 808.6 processor.
`program which accepts the entire instruction set ofaprocessor as input, and Interprets the binary Code 35315
`original processor would. All other elements ofthe machine must be implemented or emulated, eg. the
`various ports To simplify and quicken the emulation, the BIOS Code (Basic Input Qutput System - the
`interface between the operating system and the hardware) can be replaced with special emulation books, so
`that the complicated machine access can be skipped as long as all access to those servicesare routed via the
`BIOS. In the case of a graphics adapter, the entire hardware must be emulated, whereas disk access can be
`handle

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