throbber
5,623,600
`[11] Patent Number:
`119]
`Ulllted States Patent
`
`Ji et al.
`[45] Date of Patent:
`Apr. 22, 1997
`
`U8005623600A
`
`[54] VIRUS DETECTIONAND REMOVAL
`APPARATUS FOR COMPUTER NETWORKS
`
`6350784
`9322723
`
`Japan
`611994
`1111993 WIPO
`
`H04»: 1100
`GOEF 11100
`
`[75]
`
`Inventors: Shuang Ji, Foster City; Eva Chen,
`(hipertino, both of Calif.
`
`[73] Assignce:
`
`"It-end Micro, Incorporated, Copertino,
`Calif.
`
`[21] Appl' No" 533306
`[22] Filed:
`Sep. 26, 1995
`'GMF 11134
`[51]
`Int. Cl'6
`‘ '
`
`395f187-01 364’23644
`[52} U'S' C"
`'
`-
`364(9161
`3951'185 137 l
`[53] Field or 583011
`3951'20005‘1‘3801’4-1-3‘541’235 1 236-4
`
`[56]
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`4,975,950 122'1990 Lent!
`5,319,776
`611994 Hilc eta].
`5,414,833
`51" 1995 Hershey et a1.
`5.440.723
`811995 Arnold et a1.
`5,444,851]
`311995 Chang
`5,448,668
`911995 Perelson et a].
`5,452,442
`911995 Kephart .............
`5,435,515
`111996 Chess ct a1.
`..
`5,491,791
`211996 Glowny et a1.
`5,511,163
`411996 Lerche 1:1 3].
`
`
`
`
`
`38014
`- 395113101
`3951575
`33:23:]
`__ 3951132
`395mg
`__ 395.1133
`...... 3951183
`395113115
`
`Primary Examiner—Robert W. Beansoliel, Jr.
`Assistant Examiner—Albert Decady
`Attorney, Agent, or Firm—Christopher M. Tobin; Greg T.
`Sueoka
`
`[57]
`ABSTRACT
`A system for detecting and eliminating viruses on a com—
`puter network includes a File Transfer Protocol (FTP) proxy
`server, for controlling the transfer of files and a Sim le Mai]
`Transfer Protocol (SMTP) proxy server for controlling the
`transfer of mail messages through the system. The FTP
`proxy server and SMTP proxy server run concurrently with
`the normal operation of the system and operate in a manner
`such that viruses transmitted to or from the network in files
`and messages are detected before transfer into or from the
`system. The FTP proxy server and SMTP proxy server scan
`all incoming and outgoing files and messages, respectively
`before transfer for vtruses and then transfer the files and
`
`messages, only if they do not contain any viruses, A method
`for processing a file before transmission into or from the
`network includes the steps of: receiving the data transfer
`command and_file name; transferring the file to a system
`11096; performing v1rus detection on the file; determining
`whether the file contains any viruses; transferring the file
`from the system to a recipient node if the file does not
`contain a virus; and deleting the file if the file contains a
`virus.
`
`FOREIGN PATENT DOCUMENTS
`
`666671
`
`811995 European Pat. on.
`
`11041. 29106
`
`22 Claims, 12 Drawing Sheets
`
`
`pm 11111-1
`
`
`
`Him 11.1.4.1 W 11111 r 11 m 1-
`
`"l‘d-tmflthwhknw
`
`
`
`".'mwrxnat-Klntnuwvll
`
`
`_......_x—, 1
`| Mlil'lurvt‘nkmu1mm
`r‘
`sparse-11mm1n 111-111111111011“
`filJIl‘l-fivdflflnnflmmffim .
`
`I
`
`1111111111 Mneemsnin‘md um
`luau-1.1.11 rum 11.111111111me
`
`
`(In-.11 Mr 1.1111. 11.111 2.111" 111,” s: 1.;-
`m. 1.111 “11111115111 1 am ".1
`
`
`um 11mm 11mm 11 1111 mummt 11,:
`HT penny 1111-11-1
`
`
`1w; met-unis" amumu
`11mm..-
`
`
`
`1Ilmlflf1wllmr—l;.'l RIF“I ”Wm
`“Writ-F- _
`r _._.
`*‘NJkWWL*‘WII
`11111111" Imus-1:111:11.“ in. 1.1 1.1.1111
`Hmmmamn “mm-um-
`
`i
`
`_
`
`-_
`P 11
`F
`
`”"
`
`'
`
`
`11.111.111.111 .1... ”filth-ll p.11...» 111a.-
`Inn-11 Newt-11PM...
`wxmmlflmmxnll:m
`mums-
`wamlflwrm
`nun—111.11" 1.11am 111.11,.111111111 "
`
`
`1wumem1mm1n
`
`
`“Mommas
`
`
`CS-1012
`
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 1
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 1
`
`

`

`US. Patent
`
`Apr. 22, 1997
`
`Sheet 1 of 12
`
`5,623,600
`
`Telepone Line or
`
`Network Link
`
`Fig. 1 (Prior Art)
`
`CS—1012
`
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 2
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 2
`
`

`

`US. Patent
`
`Apr. 22, 1997
`
`Sheet 2 of 12
`
`5,623,600
`
`mm
`
`
`
`$9053mm
`
`83%
`
`Wm
`
`vm
`
`mCOHmUEDF—EOU
`
`Es
`
`mm
`
`mm
`
`
`
`
`
`HE:Vtoaumz83mm.59:
`
`Om
`
`mm
`
`mw
`
`3Vm¢ow
`
`mat
`
`CS—1012
`
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 3
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 3
`
`
`
`
`

`

`US. Patent
`
`Apr. 22, 1997
`
`Sheet 3 of 12
`
`5,623,600
`
`68
`
`Operating
`System
`
`66
`
`Kernel
`
`Algiplication
`rograms
`
`FIG. 3
`
`08-1012
`
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 4
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 4
`
`

`

`US. Patent
`
`Apr. 22, 1997
`
`Sheet 4 of 12
`
`5,623,600
`
`08] Layer
`
`Protocol
`
`Implementation
`
`406
`
`423
`
`424
`
`425
`
`426
`
`Application
`
`File Tranfer Electronic
`Mail
`422
`
`421
`
`FTP Proxy
`Server
`
`SMTP Proxy
`server
`
`Network
`Terminal
`Emulation Management
`
`Physical
`
`405
`
`417
`
`413
`
`419
`
`420
`
`Presentation
`
`4134
`
`Session
`
`403
`
`Transport
`
`402
`
`Network
`
`401
`
`File Tranfer
`
`Protocol
`
`(FTP)
`
`Simple Mail
`Tranfer
`
`Protocol
`
`(SMTP)
`
`415
`
`TELNET
`
`Protocol
`
`Simple
`Network
`
`Management
`Protocol
`
`(SNM P)
`
`416
`
`Transmission Control
`
`User Datagram Protocol
`
`Protocol
`412
`
`(TCP)
`
`413
`
`(UDP)
`
`414
`
`Address
`Resolution
`
`Internet
`Protocol
`
`(IP)
`
`Internet Control
`Message
`Protocol
`(ICMP)
`
`411
`
`Data Link
`
`Network Interface Cards: Ethernet, StarLAN token
`
`400
`
`Fiing
`41o
`
`Transmission media: twisted pair. coax or Fiber
`Optics
`
`FIG. 4
`
`08-1012
`
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 5
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 5
`
`

`

`US. Patent
`
`Apr. 22, 1997
`
`Sheet 5 of 12
`
`5,623,600
`
`Emmi+wfiwumm
`
` $va+358.9%
`
`08-1012
`
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 6
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 6
`
`
`
`

`

`US. Patent
`
`Apr. 22, 1997
`
`Sheet 6 of 12
`
`5,623,600
`
`Emma+mfimuwm
`
`m3.
`8mm
`
`Emmy”+
`
`CS—1012
`
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 7
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 7
`
`
`
`
`

`

`US. Patent
`
`Apr. 22, 1997
`
`Sheet 7 of 12
`
`5,623,600
`
`'
`
`600
`
`602
`
`604
`
`606
`
`Client node sends connection request
`
`Internet Daemon creates an instance of the FTP
`
`proxy server 8: passes connection to the FTP
`
`
`
`proxy server
`
`Client node sends data transfer request 8: file
`name, and establishes a data port
`
`Data transfer request 6: file name received by
`FTP proxy server
`
`608
`
`
`
`Yes
`
`
`
`13 data
`being transferred in an outbound
`
`direction?
`
`No
`
`
`
`FIG. 6A
`
`CS—1012
`
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 8
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 8
`
`

`

`US. Patent
`
`Apr. 22, 1997
`
`Sheet 3 of 12
`
`5,623,600
`
`N0
`
`
`Is the
`file of a type that can contain
`
`viruses?
`
`Transfer file from client to FTP proxy server
`through port
`
`
`
`Store file temporarily at gateway
`
`
`
`Analyze temporarily stored file for viruses
`
`Send any Virus detection messages fmm FTP
`proxy server to client as a reply
`
` Does
`file contain any
`viruses?
`
`
`
`612
`
`Determine configuraton settings
`
`
`
`
`622
`
`626
`
`Send request and file to FTP
`daemon for transfer to server
`
`Transfer file anyway?
`
`
`
`
`
`
`
`No
`
`Delete file or store renamed file at gateway node
`depending on configuraticm setting, and erase
`temporary file
`
`61
`
`624
`
`628
`
`End
`
`FIG. 68
`
`08-1012
`
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 9
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 9
`
`

`

`US. Patent
`
`Apr. 22, 1997
`
`Sheet 9 of 12
`
`5,623,600
`
`Send data transfer request and file name to
`FTP daemon and then to server
`
`.
`
`Estabish a second port between FTP daemon
`and server
`
`Send file from server to the FTP daemon and
`
`then to FTP ‘- roxy sever
`
`640
`
`642
`
`644
`
`Yes
`
`No
`lie of a type that can contain
`
`
`
`Store file temporarily at gateway
`
`Analyze temporarily stored file for viruses
`
`Send any virus detection messages from
`FTP proxy server to client as a reply
`
`
`
` 656
`Does
`file contain any
`viruses?
`
`
`
`Yes
`
`Retrieve configuration file
`
`Transfer file anyway?
`
`660
`
`Transfer file from FTP pmxy
`server to chent through port
`
`650
`
`652
`
`654
`
`658
`
`662
`
`Delete file or store renamed file at gateway
`
`node depending on configuration setting,
`and erase temporary file
`
`
`
`
`
`End
`
`FIG. 6C
`
`CS—1012
`
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 10
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 10
`
`

`

`US. Patent
`
`Apr. 22, 1997
`
`Sheet 10 of 12
`
`5,623,600
`
` bmwm+wkfimUmM—h
` Emmi+mfimuwm
`
`CS—1012
`
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 1'1
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 11
`
`
`

`

`US. Patent
`
`Apr. 22, 1997
`
`Sheet 11 of 12
`
`5,623,600
`
`Spawn SMTP proxy server
`
`Create a first port for communication between the
`client and SMTP proxy server
`
`Bind SMTP proxy server to the first port
`
`Spawn SMTP daemon
`
`Create a second port for communication from proxy
`server to SMTP daemon
`
`.
`Blnd SMTP daemon to the second port
`
`Client node requests a connection from the SMTP
`proxy server
`
`Transmit message from client node to SMTP proxy
`server
`
`802
`
`804
`
`806
`
`808
`
`810
`
`812
`
`8'00
`
`818
`
`FIG. 8A
`
`CS—1012
`
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 12
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 12
`
`

`

`US. Patent
`
`Apr. 22, 1997
`
`Sheet 12 of 12
`
`5,623,600
`
`820
`
`Scan message for encoded portions
`
`822
`
`No
`
`Does
`
`Yes
`
`message include encode
`- ortions?
`
`
`
`
`Store message in temporary file(s)
`
`.
`.
`Perform vrrus detectlon on message
`
`Transmit message through
`second port to SMTP daemon
`
`
`
`
`message contain any
`viruses?
`
`Does
`
`828
`
`832
`
`836
`
`838
`
`840
`
` 824
`
`
`
`Create a third port for
`.
`.
`communication from SMTP
`daemon to server task
`
`.
`.
`.
`.
`Deterrmne configuatlon for vrrus
`.
`.
`detecnon handling
`
`814
`
`Yes
`
`
`816
`'
`
`Bind server task to the third port
`
`Determine action to be taken if virus
`detected
`
`Transmit message through third
`port to client
`
`'
`
`Transmit transformed message and
`perform determined action on each
`encoded portion
`
`
`
`End
`
`FIG. 88
`
`08-1012
`
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 13
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 13
`
`

`

`1
`VIRUS DETECTION AND REMOVAL
`APPARATUS FOR COMPUTER NETWORKS
`
`5,623 ,600
`
`2
`
`5
`
`50
`
`BACKGROUND OF THE INVENTION
`
`it was being prompted by a virus program. Another virus
`detection method, known as signature scanning, scans pro-
`gram code that is being copied onto the system. The system
`searches for known patterns of program code used for
`viruses. Currently, signature scanning only operates on the
`floppy disk drives, hard drives or optical drives. Yet another
`1. Field of the Invention
`priorart approach to virus detection performs acheeksun't 01"
`The present invention relates generally to computer sys-
`all hOSt programs stored 011 a system and known to be free
`terns and computer networks.
`In particular,
`the present
`from “111595- Thus, if a virus later attaches itself t0 a h05t
`invention relates to a system and method for detecting and
`“31110,.ng computer viruses. Still more pmiCulal—ly,
`the to program,
`the checksum value will be different and the
`present invention relates to a System and method for deteet—
`presence or a virus can be detected.
`ing and removing computer viruses from file and message
`Nonetheless, these approaches of the prior art suffer from
`transfers between computer networks.
`a number of shortcomings. First, behavior interception is not
`1 Description of the Related Art
`successful at detecting all viruses because critical operations
`During the recent past, the use of computers has become 15
`that may be part Of the. code for a-vtrus can be placed at
`widespread. Moreover,
`the interconnection of computers
`locations where sueherltleal operatlons are likely to occur
`into networks has also become prevalent. Referring now to
`for the normal-operation of programs. Second, “‘9” srgpa-
`FIG. 1, a block diagram of a portion of a prior art inforrna—
`gtéicicanwnil‘ggul]: Ogicfifigflidlgrgi? $3“; lir::c:s::]ci
`1101] system 20 is shown. The portion of the information 20
`popularity, there are no prior art methods that have been able
`system 20 shown comprises a first network 22, a second
`to successfully scan connections 36 such as those utilized by
`network 24 and third network 26. This information system
`a gateway node in communicating with other networks.
`20 is provided only by way of example, and those skilled in
`Third, many of the above methods require a significant
`the art will realize that the information system 20 may
`amount of computing resources, which in turn degrades the
`include any number of networks, each of the networks being
`overall performance of system. Thus, operating the virus
`its own protected domain and having any number of nodes.
`detection programs on every computer becomes impractical.
`As shown in FIG. 1, each of the networks 22, 24, 26 is
`Therefore, the operation of many such virus detection pro-
`formed from a plurality of nodes 30, 32. Each of the nodes
`grams is disabled for improved performance of individual
`30, 32 is preferably a microcomputer. The nodes 30, 32 are
`machines.
`'
`coupled together to form a network by a plurality of network
`Therefore, there is a need for a system and method for
`connections 35_ For example, the nodes 30. 32 may be 30
`effectively detecting and eliminating viruses without signifi-
`connected together using a token ring format, ethemet
`Ctltttt)’ efl‘ecting the performance 0f the CDmPUtCT- MDTCOVCT’
`format or any of the various other formats known in the art.
`1115??? is a sped f0r_ a system and method that cat} detect and
`Each of the networks 22, 24, 26 includes a node 32 that acts
`as a gateway to link the mgpgcfivc network 22’ 24, 26 to 35 eltnnnate Vll‘uSCS in networks attached to other information
`other networks 22, 24, 26. Each of die gateway nodes 32 is
`systems by way 0f gateways 01' the Internet.
`preferably coupled by a standard telephone line connection
`SUMMARY OF THE INVENTION
`34 such as POTS (Plain Old Telephone Service) or aT—l link
`The present
`invention overcomes the limitations and
`to the other gateway nodes 32through a telephone switching
`ELEM]? 28. All clommurucatlon between the networks 22, 40 shortconlirlgs of the prior art with an apparatus and method
`‘
`6 ‘5 preferab 5! performed through one Of the gateway
`for detecting and eliminating viruses on a computer net-
`nodes 32'
`work. A system including the present invention is a network
`one particular problem that has Plagl-lcd CDmPUtCFS’ ttl
`formed of a plurality of nodes and a gateway node for
`particular microcomputers, have been computer viruses 311d
`connection to other networks. The nodes are preferably
`Wfltms- A CDmPUtBI' virus is a 580mm 0f 00th that is buried 45 microcomputers, and the gateway node comprises: a display
`or hidden in another program. Once the program is executed,
`device, a central processing unit, a memory forming the
`the code is activated and attaches itself to other programs in
`apparatus of the present invention, an input device, a net-
`the system. Infected programs in turn copy the code to other
`work ]ink and a communications unit. The memory further
`programs. The effect of such viruses can be simple pranks
`comprises an operating system including a kernel, a File
`that cause a message to be displayed on the screen or more
`Transfer Protocol (FTP) proxy server, and a Simple Mail
`serious effects such as the destruction of programs and data.
`Transfer Protocol (SMTP) proxy server. The central pro-
`Another problem in the prior art is worms. Worms are
`cessing unit, display device, input device, and memory are
`destructive programs that replicate themselves throughout
`coupled and operate to execute the application programs
`disk and memory using up all available computer resources
`stored in the memory. The central processing unit of the
`eventually causing the computer system to crash. Obviously. 55 gateway node also executes the FTP proxy server for trans-
`hccausc of the destructive nature of WORDS and Viruses, them
`mining and receiving files over [he commurdcafions unit,
`is a need for eliminating thfim frflm Compulfirs and networks.
`and executes the SMTP proxy server for transmtting and
`The prior art has attempted to reduce the effects of viruses
`receiving messages over the communications unit. The FTP
`and prevent their proliferation by using various virus dctee—
`proxy server and SMTP proxy server are preferably
`tion programs. One such virus detection method, commonly so executed concurrently with the normal operation of the
`referred to as behavior interception, monitors the computer
`gateway node. The servers advantageously operate in a
`or system for important operating system functions such as
`manner such that viruses transmitted to or from the network
`write, erase, format disk, etc. When such operations occur,
`in messages and files are detected before the files are
`the program prompts the user for input as to whether such an
`transferred into or from the network. The gateway node of
`operation is expected. If such an operation is not expected 65
`the present invention is particularly advantageous because
`the impact of using the FTP proxy server and SMTP proxy
`(e.g., the user was not operating any program that employed
`such a function), the user can abort the operation knowing
`server for the detection of viruses is minimized because only
`
`CS—1012
`
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 14
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 14
`
`

`

`3
`
`4
`
`5,623,600
`
`the files leaving or entering the network are evaluated for the
`presence of viruses and all other “intra” network traffic is
`unaffected.
`
`The present invention also comprises a method for pro—
`cessing a file before transmission into the network and a
`method for processing a file before transmission from the
`network. The preferred method for processing a file com—
`prises the steps of: receiving the data transfer command and
`file name; transferring the file to the proxy server; perform-
`ing virus detection on the file; determining whether the file
`contains any viruses; transferring the file from the proxy
`server to a recipient node if the file does not contain a virus;
`and performing a preset action with the file if it does contain
`a virus. The present invention also includes methods for
`processing messages before transmission to or from the
`network that operate in a similar manner.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. I is a block diagram of a prior an information system
`with a plurality of networks and a plurality of nodes upon
`which the present invention operates;
`FIG. 2 is a block diagram of a preferred embodiment for
`a gateway node including the apparatus of the present
`invention;
`
`FIG. 3 is a block diagram of a preferred embodiment for
`a memory of the gateway node including the apparatus of the
`present invention;
`
`FIG. 4 is a block diagram of a preferred embodiment for
`a protocol
`layer hierarchy constructed according to the
`present invention compared to the OSI layer model of the
`prior art;
`FIG. 5A is a functional block diagram showing apreferred
`system for sending data files according to a preferred
`embodiment of the present invention;
`FIG. 5B is a functional block diagram showing a preferred
`system for receiving data files according to a preferred
`embodiment of the present invention;
`FIGS. 6A, (JB and 6C are a flowchart of the preferred
`method for performing file transfer according to the present
`invention;
`
`FIG. 7 is a functional block diagram showing a preferred
`system for transmitting mail messages according to a pre—
`ferred embodiment of the present invention; and
`FIGS. 8A and BB are a flow chart of a preferred method
`for sending messages toffrom a network.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`The virus detection system and method of the present
`invention preferably operates on an information system 20
`as has been described above with reference to FIG. 1. The
`present invention, like the plior art, preferably includes a
`plurality of node systems 3!} and at least one gateway node
`33 for each network 22, 24, 26. However,
`the present
`invention is different from the prior art because it provides
`novel gateway node 33 that also performs virus detection for
`all files being transmitted into or out of a network. Further—
`more,
`the novel gateway node 33 also performs virus
`detection on all messages being transmitted into or out of an
`associated network.
`
`Referring now to FIG. 2, a block diagram of a preferred
`embodiment of the novel gateway node 33 constructed in
`accordance with the present invention is shown. A preferred
`embodiment of the gateway node 33 comprises a display
`
`5
`
`ID
`
`15
`
`2t}
`
`25
`
`30
`
`35
`
`4t}
`
`45
`
`St)
`
`55
`
`6t}
`
`65
`
`device 40, a central processing unit (CPU) 42, a memory 44-,
`a data storage device 46, an input device 50, a network link
`52, and a communications unit 54. The CPU 42 is connected
`by a bus 56 to the display device 40, the memory 44, the data
`storage device 46. the input device 50, the network link 52,
`and the communications unit 54 in a von Neumarm archi-
`tecture. The CPU 42, display device 40, input device 50, and
`memory 44 may be coupled in a conventional manner such
`as a personal computer. The CPU 42 is preferably a micro—
`processor such as an Motorola 6804-0 or Intel Pentium or
`X86 type processor; the display device 40 is preferably a
`video monitor; and the input device 50 is preferably a
`keyboard and mouse type controller. The CPU 42 is also
`coupled to the data storage device 44 such as a hard disk
`drive in a conventional manner. Those skilled in the art will
`realize that
`the gateway node 33 may also be a mini-
`computer or a mainframe computer.
`The bus 56 is also coupled to the network link 52 to
`facilitate communication between the gateway node 33 and
`the other nodes 30 of the network. In the preferred embodi-
`ment of the present
`invention,
`the network link 52 is
`preferably a network adapter card including a transceiver
`that is coupled to a cable or line 36. For example, the
`network link 52 may he an ethemet card connected to a
`coaxial line, a twisted pair line or a fiber optic line. Those
`skilled in the art will realize that a variety of different
`networking configurations and operating systems including
`token ring, ethemet, or arcnet may be used and that the
`present invention is independent of such use. The network
`link 52 is responsible for sending, receiving, and storing the
`signals sent over the network or within the protected domain
`of a given network. The network link 52 is coupled to the
`bus 56 to provide these signals to the CPU 34 and vice versa.
`The bus 56 is also coupled to the communications unit 54
`to facilitate communication between the gateway node 33
`and the other networks. Specifically, the communications
`unit 54 is coupled to the CPU 42 for sending data and
`message to other networks. For example, the communica—
`tions unit 54 may be a modem, a bridge or a router coupled
`to the other networks in a conventions} manner. In the
`preferred embodiment of the present invention, die commu-
`nications unit 54 is preferably a router. The communications
`unit 54 is in turn coupled to other networks via a media 34
`such as a dedicated T—l phone line, fiber optics, or any one
`of a number of conventional connecting methods.
`The CPU 42, under the guidance and control of instruc-
`tions received from the memory 44 and from the user
`through the input device 50, provides signals for sending and
`receiving data using the communications unit 54. The trans—
`fer of data between networks is broken down into the
`sending and receiving files and messages which in turn are
`broken down into packets. The methods of the present
`invention employ a virus detection scheme that is applied to
`all transfers of messages and files into or out of a network
`via its gateway node 33.
`Referring now to FIG. 3, the preferred embodiment of the
`memory 44 for the gateway node 33 is shown in more detail.
`The memory 44 is preferably a random access memory
`(RAM), but may also include read-only memory (ROM).
`The memory 44 preferably comprises a File Transfer Pro-
`tocol (FTP) proxy server 60, a Simple Mail Transfer Pro-
`tocol {SMTP} proxy server 62, and an operating system 64
`including a kernel 66. The routines of the present invention
`for detecting viruses in file transfers and messages primarily
`include the FTP proxy server 60 and the SMTP proxy server
`62. The FTP proxy server 60 is a routine for controlling file
`transfers to and from the gateway node 33 via the commu—
`
`CS-1012
`
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 15
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 15
`
`

`

`5
`
`6
`
`5,623,600
`
`nications unit 54, and thus controlling file transfers to and
`layer 424 and the SMTP
`417, and the electronic mail
`from a given network of which the gateway node is a part.
`protocol layer 418, to process file transfers and messages,
`The operation of the FTP proxy server 60 is described below
`respectively. For example, any file transfer requests are
`in more detail with reference to FIGS. 5A, SB, 6A, 6B and
`generated by the file transfer application 423, first processed
`6C. Similarly, the SMTP proxy server 62 is a routine for
`by the FTP proxy server layer 421, then processed by the file
`controlling the transfer of messages to and from the gateway
`transfer protocol 41'? and other lower layers 415, 413, 411
`node 33, and thus to and from the respective network
`until the data transfer is actually applied to the transmission
`associated with the gateway node 33. The operation of the
`media 410. Similarly. any messaging requests are first
`SMTP proxy server 62 is described below in more detail
`processed by the SMTP proxy server layer 418, and there-
`with reference to FIG. 7 8A and SB. The present invention
`after processed by the SMTP protocol and other lower layers
`preferably uses a conventional operating system 28 such as to 415, 413, 411 until the physical layer is reached. The present
`Berkeley Software Distribution UNIX. Those skilled in the
`invention is particularly advantageous because all virus
`art will realize how the present invention may be readily
`screening is performed below the application level. There-
`adaptcd for use with other operating systems such as
`fore, the applications are unaware that such virus detection
`MACINTOSH System Software version 7.1, DOS, WIN— ,5 and elimination is being performed, and these operations are
`DOWS or WINDOWS NT. The memory 44 may also
`completely transparent to the operation of the application
`include a variety of different application programs 68
`level layers 406. While the FTP proxy server layer 421 and
`including but not limited to computer drawing programs,
`the SMTP proxy server layer 422 have been shown in FIG.
`word processing programs, and spreadsheet programs. The
`4 as being their own layer to demonstrate the coupling
`present invention is particularly advantageous over the prior 20 elfects they provide between the file transfer layer 423 and
`because it minimizes the impact of virus detection and
`file transfer protocol 41?, and the electronic mail layer 424
`elimination since the FTP proxy server 60 and SMTP proxy
`and the SMTP protocol layer 418, those skilled in the art will
`server 62 are preferably only included or installed in the
`realize that the FTP proxy server layer 421 and die SMTP
`memory 44 of the gateway nodes 33. Thus, all data being
`proxy server layer 422 can also be correctly viewed as being
`transferred inside the protected domain of a given network 25 part of the file transfer protocol layer 41'?l and the SMTP
`will not be checked because the data packets might not be
`protocol layer 418, respectively, because they are invisible
`routed via the gateway node 33.
`or transparent to the application layer 406.
`While the apparatus of the present invention. in particular
`A preferred method of operation and an embodiment for
`the FTP proxy server 60 and SMTP proxy server 62, has
`the FTP proxy server 60 will be described focusing on its
`been described above as being located and preferably is 30
`relationship to and its control of the gateway node 33, and
`located on the gateway node 33, those skilled in the art will
`thus, control over access to the medium, line 34, for con-
`realize that the apparatus of the present invention could also
`nections to other networks. The method can best be under—
`be included on a FTP server or a world wide web server for
`stood with reference to FIGS. 5A and SB, that graphically
`scanning files and messages as they are downloaded from
`show the functions performed by an lntemet daemon 70, the
`the web. Furthermore,
`in an alternate embodiment,
`the 35 FTP proxy server 60, and an FTP daemon 78, each of which
`apparatus of the present invention may be included in each
`resides on the gateway note 33. In FIGS. 5A and SB, like
`node of a network for performing virus detection on all
`reference numbers have been used for like parts and the
`messages received or transmitted from that node.
`figures are different only in the direction in which the file is
`As best shown in FIG. 4’ me CPU 42 3130 utilizes a
`being transferred (either from client task 72 to server task 82
`protocol layer hierarchy to communicate over the network. 40 01' from server “33k 82 ‘0 client [35k 72)- For the sake Of
`The protocol layers of the hierarchy of the present invention
`clarity and case Of understanding only the data ports are
`are shown in FlG.4in comparison to the ISO—051 reference
`shown in FIGS- 5A 311d 53, and the bi—directional lines
`model, for example. The protocol layers 410-426 of the
`rcpmscnt command or control Pathways and massumcd to
`hierarchy of the present invention are similar to the prior art
`include 3- conunand P011 although it is not explicltly shown.
`protocol layers for the lower four layers 400—403 including: 45 The operation FTP proxy server 60 Will now h“ described
`(1) a physical layer 490 formed of the transmission media
`with reference to a file transfer between a client task 72
`410;
`(2} a data link layer 401 formed of the network
`(requesting machine) and a scrvcr task 82 (supplying
`interface cards 41]; (3) a network layer 402 formed of
`machine). While it
`is assumed “181 “16 Chi-711$ MSk 72
`address resolution 412, Internet protocol 413 and Internet
`(requesting machine) is inside a protected domain and the
`control message protocol 414; and (4] a transport layer 403 so server task 32 (supplying machine) is OUISidC the protected
`formed of the transmission control protocol 415 and a user
`domain, the invention described 13‘3th is also used by the
`datagram protocol 416. Corresponding to the presentation
`gateway “Ode 33 When client [33k 72 (fall-1054113 maChiIIB)
`405 and session 404 layers, the protocol hierarchy of the
`is outside the protected domain and the 5'31“” 135k 82
`present invention provides four methflds of commumcafiun;
`(supplying machine) is inside the protected domain.
`a file transfer protocol 41?, a simple mail transfer protocol 55
`FIGS. (IA—6C are a flowchart of a preferred method for
`419, a TELNET protocol 419 and a simple network man—
`performing file transfers from a controlled domain of a
`agernent protocol 420. There are corresponding components
`network across a medium 34 to another network (e.g., a file
`on the application layer 406 to handle file transfer 423,
`transfer from a node 32 of the second network 24 across the
`electronic mail 424, terrrtinal emulation 425, and network
`media 34 to a second node 32 of the third network 26). The
`management 426. The present invention advantageously no method begins with step 600 with the client node sending a
`detects, controls and eliminates viruses by providing an
`connection request over the network to the gateway node 33.
`additional layer between the application layer 406 and the
`In step 602, The gateway node 33 preferably has an oper-
`presentation layer 405 for the gateway nodes 33. In particu—
`ating system 64 as described above, and part of the operating
`lar, according to the hierarchy of the present invention, a
`system 64 includes afire wall, orprogram including routines
`FTP proxy server layer 421 and a SMTP proxy server layer 65
`for authenticating users. The gateway node 33 first tries to
`authenticate the user and decide whether to allow the
`422 are provided. These layers 421,422 operate in conjunc—
`tion with the file transfer layer 423 and file transfer protocol
`
`connections requested, once the request is received. This is
`
`CS—1012
`
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 16
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 16
`
`

`

`7
`
`8
`
`5,623,600
`
`done in a conventional manner typically available as part of
`UNIX. The Internet daemon 70 creates an instance of the
`FTP proxy server 60 and passes the connection to the FTP
`proxy server 60 for servicing in step 602. The Internet
`daemon 70 is program that is part of the operating system 64,
`and it runs in the background. When being run, one of the
`functions of the Internet daemon '70 is to bind socket ports
`for many well—known services, such as TELNET, login, and
`FTP. When a connect request
`is detected,
`the Internet
`daemon 7|] constructed in accordance with the present
`invention, spawns the FTP proxy server 60, which is the
`server that will actually handle the data transfer. Thereafter,
`the FTP proxy server 60 controls the network traffic passing
`between the client task 72 and the server task 82. Then in
`
`step 604, the client node sends a data transfer request and file
`name, and established a first data port 76 through which the
`data will be transferred between the FTP proxy server 60 and
`the client task 72. In st

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