throbber
5,623,600
`(11) Patent Number:
`United States Patent
`Apr. 22, 1997
`(45) Date of Patent:
`Ji et al.
`
`
`{19
`
`PNAAT
`
`US005623600A
`
`(54] VIRUS DETECTION AND REMOVAL 6350784=G/1994 Japan wessssseecssseessseeneee HOAN 1/00
`
`
`APPARATUS FOR COMPUTER NETWORKS
`9322723
`11/1993 WIPO uu...esse GOBF 11/00
`
`(75]
`
`Inventors: Shuang Ji, Foster City; Eva Chen,
`Cupertino, both of Calif.
`
`(73] Assignee: Trend Micro, Incorporated, Cupertino,
`Calif.
`
`Primary Examiner—Robert W. Beausoliel, Jr.
`Assistant Examiner—Albert Decady
`Attorney, Agent, or Firm—Christopher M. Tobin; Greg T.
`Sueoka
`
`21] Appl. Noy SEI06
`[22] Filed:
`Sep. 26, 1995
`we GOGF 11/34
`”
`[51] It. Ch erneenen
`
`[SZ] UwS. Ce eeeeeetorsersststen
`|395/187.01; 364/286.4;
`364/DIG. 1
`[58] Field of Search .
`- 395/186, 187.1,
`395/200.06;+380/4;364/285.1, 286.4
`
`[56]
`
`[57]
`ABSTRACT
`A system for detecting and eliminating viruses on a com-
`puter network includesa File Transfer Protocol (FTP) proxy
`server, for controlling the transferof files and a Simple Mail
`Transfer Protocol (SMTP) proxy server for cooing 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 infiles
`and messages are detected before transfer into or from the
`system. The FTP proxy server and SMTPproxyserver scan
`References Cited
`all incoming and outgoing files and messages, respectively
`U.S. PATENT DOCUMENTS
`before transfer for viruses and then transfer the files and
`messages, only if they do notcontain any viruses. A method
`- 380/4
`12/1990 Lentar-sscisissssissisiccnssciesinaes
`A975,950:
`6/1994 Hile ctal. .....
`5,319,776
`for processing a file before transmission into or from the
`-395/187.01
`5/1995 Hershey et al.
`5,414,833
`network includes the steps of: receiving the data transfer
`see 395/575
`~~ 395/81
`command andfile name; transferring the file to a system
`8/1995 Arnold etal. ....
`5,440,723
`5,444,850=8/1995 Chang o....eseccceseeeeoes
`.. 395/182
`node; performing virus detection on the file; determining
`5,448,668
`9/1995 Perelson et al. uu...
`. 395/183
`whether the file contains any viruses; transferring the file
`5,452,442
`9/1995 Kephart .............
`5,485,575
`1/1996 Chess etal. .
`.. 395/183
`from the system to a recipient node if the file does not
`
`5,491,791
`2/1996 Glownyetal.
`seitt 395/183
`contain a virus; and deleting the file if the file contains a
`5,511,163
`4/1996 Lercheett al. cesses395/183.15
`virus.
`
`
`
`FOREIGN PATENT DOCUMENTS
`
`666671
`
`8/1995 Buropean Pat, Off.
`
`........ HO4L 29/06
`
`22 Claims, 12 Drawing Sheets
`
`Cliens roadssents:
`Pauy seer
`Intrenet Demoncreatesan instunaced the FIT
`FTP proay serwvr
`
`fpresy screnrfe posers connection tothe FIT
`
`‘Clie made saris diana teaneder pared Ee
`
`fuses,dinedov adata pret
`
`6
`
`Tha iramaics neque’ ke tilenamemeriendey LS
`
`
`
`
`
` aie ine persiaparry:eae
`
`
`genresey a
`‘Travaer feren FTEprieay
`sererdadhent
`Bewuiph pert
` iteKleoreinew named Bleargairway |
`ode depecheonconibieeamonwere,
`td caekeregemary Ble
`
`
`
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 1
`
`
`
`
`I
`
`Tranaier fie irceneLesta FF proersenioretT
`T
`iu
`Streetenporinly. a pahewrty
`T
`“Araipectempvearitysieved leloe vinwes
`
`ry
`
`Sendcata lrancor rocquest weed Fle rue te
`TITwaceren and thembeterre
`
`Se ee)
`“ Seieepmivaiaiers
`ee ee
`Sendary eredeiectonmewweratorm |
`ERGproweactvests¢tivetona neve
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 1
`
`

`

`U.S. 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
`
`

`

`U.S. Patent
`
`Apr. 22, 1997
`
`Sheet 2 of 12
`
`5,623,600
`
`gS
`
`
`
`abesojysejeq
`
`gdIAep
`
`ce
`
`9”
`
`vv
`
`ra
`
`Ov
`
`ve
`
`9&
`
`¢bly
`
`vS
`
`eS
`
`OS
`
`SUOJEDIUNLWILUOS)
`
`wun
`
`
`
`UI]JJOMION
`
`
`
`sdiAeq ndu|
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 3
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 3
`
`
`
`

`

`U.S. Patent
`
`Apr. 22, 1997
`
`Sheet 3 of 12
`
`5,623,600
`
`68
`
`FIP
`
`Server
`
`60
`
`SMPT
`
`Proxy
`
`Server
`
`—
`Application
`
`Programs
`
`FIG. 3
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 4
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 4
`
`

`

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

`

`Sheet 5 of 12
`
`5,623,600
`
`U.S. Patent
`
`Apr. 22, 1997
`
`VS‘Ola
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 6
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 6
`
`

`

`Sheet 6 of 12
`
`5,623,600
`
`Apr. 22, 1997
`
`U.S. Patent
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 7
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 7
`
`

`

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

`

`U.S. Patent
`
`Apr. 22, 1997
`
`Sheet 8 of 12
`
`5,623,600
`
`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 storedfile for viruses
`
`Send any virus detection messages from FTP
`proxy serverto client as a reply
`
`Does
`
`
`file contain any
`viruses?
`
`Gee
`
`Yes
`
`
`
`
`
`
`
`
`612
`
`Determine configuraton settings
`
`Send request andfile to FTP
`
`626
`
`.
`
`
`
`No
`
`
`
`:
`
`
`
`Delete file or store renamed file at gateway node
`depending on configuration setting, and erase
`temporary file
`
`614
`
`616
`
`618
`
`620
`
`624
`
`628
`
`End
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 9
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 9
`
`

`

`U.S. Patent
`
`Apr. 22, 1997
`
`Sheet 9 of 12
`
`5,623,600
`
`Send data transfer request andfilename to
`FTP daemonandthento server
`
`Estabish a second port between FTP daemon
`and server
`
`Send file from server to the FTP daemon and
`then to FTP proxy sever
`
`640
`
`642
`
`644
`
`Send any virus detection messages from
`FTP proxy serverto client as a reply
`
`
`
` Does
`
`file contain any
`viruses?
`
`Yes
`
`656
`
`Retrieve configurationfile
`
`660
`
`
`
`
`Transferfile anyway?
`
`
`
`Delete file or store renamedfile at gateway
`node depending on configuration setting,
`
`and erase temporary file
`
`
`654
`
`658
`
`662
`
`Transferfile from FTP proxy
`server to client through port
`
`End
`
`FIG. 6C
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 10
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 10
`
`

`

`Sheet 10 of 12
`
`5,623,600
`
`Apr. 22, 1997
`
`U.S. Patent
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 11
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 11
`
`

`

`U.S. 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 SMTPproxyserver to the first port
`
`Spawn SMTP daemon
`
`Create a second port for communication from proxy
`server to SMTP daemon
`
`:
`Bind SMTP daemonto 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
`
`ve
`
`810
`
`812
`
`800
`
`818
`
`FIG. 8A
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 12
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 12
`
`

`

`U.S. Patent
`
`Apr. 22, 1997
`
`Sheet 12 of 12
`
`5,623,600
`
`Scan message for encoded portions
`
`820
`
`822
`
`No
`
`Does
`,
`message include encoded
`
`824
`
`Perform virus detection on message
`
`Transmit message through
`second port to SMTP daemon
`
`Create a third port for
`a
`as
`communication from SMTP
`daemonto server task
`
`aah
`
`830
`
`na
`
`836
`
`834
`
`portions?
`
`Store message in temporary file(s)
`
`
`Decode message
`
`
`Does —
`
`message contain any
`viruses?
`814
`Yes
`,
`
`;
`:
`Determine configuation for virus
`;
`;
`detection handling
`
`
`: 816|Determineaction to be takenif virus 838
`
`
`
`Bind server task to the third port
`detected
`
`Transmit message through third
`portto client
`
`Transmit transformed message and
`perform determined action on each
`encodedportion
`
`840
`
`
`
`End
`
`FIG. 8B
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 13
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 13
`
`

`

`5,623,600
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`
`1
`VIRUS DETECTION AND REMOVAL
`APPARATUS FOR COMPUTER NETWORKS
`
`2
`it was being prompted by a virus program. Another virus
`detection method, known as signature scanning, scans pro-
`gram codethat 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 drivesor optical drives. Yet another
`prior art approachto virus detection performs a checksum on
`The present invention relates generally to computer sys-
`all host programs stored on a system and known to be free
`tems and computer networks.
`In particular,
`the present
`from viruses. Thus, if a virus later attaches itself to a host
`invention relates to a system and method for detecting and
`removing computer viruses. Still more particularly,
`the 10 program,
`the checksum value will be different and the
`present invention relates to a System and method for detect-
`presenceof 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 numberof shortcomings. First, behavior interception is not
`2. Description of the Related Art
`successful at detecting all viruses becausecritical operations
`:
`:
`that may be part of the code for a virus can be placed at
`During the recent past, the use of computers has become
`fs
`ne
`5
`:
`widespread. Moreover,
`the interconnection of computers
`locations where such Critical operationsare likely to occur
`into networks has also become prevalent. Referring now to
`for the scapepeng2 aaams: Second, ae enx
`FIG.1, a block diagram ofa portion of a prior art informa-
` “UZ© Scanning 1s only performed on new inputs trom lis
`tion system 20 is shown. The portion of the information
`drives. With the advent of the Internet and its increased
`system 20 shown comprises a first network 22, a second ~” Popularity, there are nopriorart methodsthat have been able
`network 24 and third network 26. This information system
`to successfully scan connections 36 suchas those utilized by
`20is provided only by way of example,andthose skilled in
`a gateway node in communicating with other networks.
`the art will realize that the information system 20 may
`Third, many of the above methods DegnTe a: eeificant
`include any numberof networks, each of the networks being 25
`amountof computing resources, which in tum degrades the
`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 ofindividual
`30, 32 is preferably a microcomputer. The nodes 30, 32 are
`machines.
`coupled together to form a network by a plurality of network
`connections 36. For example, the nodes 30, 32 may be 30
`‘Therefore, there is a need for a system and method for
`connected together using a token ring format, ethernet
`effectively detecting and eliminating viruses withoutsignifi-
`format or any ofthe various other formats known in the art.
`cantly effecting the performanceof the computer. Moreover,
`Eachofthe networks 22, 24, 26 includes a node 32thatacts
`there is a need for a system and methodthat can detect and
`as a gateway to link the respective network 22, 24, 26 to 44 eliminate viruses in networks attached to other information
`other networks 22, 24, 26. Each of the gateway nodes32 is
`systems by way of gateways or the Internet.
`preferably coupled by a standard telephone line connection
`SUMMARYOF THE INVENTION
`34 such as POTS(Plain Old Telephone Service) or a T-1 link
`The present
`invention overcomes the limitations and
`to the other gateway nodes 32through a telephone switching
`shortcomingsoftheprior art with an apparatus and method
`— 28. All eae between the networks 22, ,,
`
`»26is preferably performed through one of the gateway for detecting and eliminating viruses on a computernet-
`nodes 32.
`work. A system including the present invention is a network
`One particular problem that has plagued computers, in_—formed ofa plurality of nodes and a gateway node for
`particular microcomputers, have been computerviruses and
`connection to other networks. The nodes are preferably
`worms. A computer virusis a section of code that is buried 45 microcomputers, and the gateway node comprises:a display
`or hidden in another program. Oncethe program is executed,
`device, a central processing unit, a memory forming the
`the codeis activated and attaches itself to other programsin
`apparatus of the present invention, an input device, a net-
`the system. Infected programs in turn copy the codeto other
`work link 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 upall available computer resources
`stored in the memory. The central processing unit of the
`eventually causing the computersystem to crash. Obviously, 55 gateway nodealso executes the FTP proxyserverfor trans-
`becauseof the destructive nature of worms and viruses, there
`mitting and receiving files over the communications unit,
`is aneed for eliminating them from computers and networks.
`and executes the SMTP proxy server for transmitting and
`The prior art has attemptedto reduce theeffects of viruses
`receiving messages over the communications unit. The FTP
`and preventtheir proliferation by using various virus detec-
`proxy server and SMTP proxy server are preferably
`tion programs. One such virus detection method, commonly 60 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
`mannersuch 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 prompisthe userfor 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
`(e.g., the user was not operating any program that employed
`the impact of using the FTP proxy server and SMTP proxy
`such a function), the user can abort the operation knowing
`server for the detection of viruses is minimized because only
`
`15
`
`50
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 14
`
`CS-1012
`Cisco Systems, Inc. v. Finjan, Inc.
`Page 14
`
`

`

`5,623,600
`
`3
`the files leaving or entering the networkare evaluated for the
`presence of viruses and all other “intra” network traffic is
`unaffected.
`
`The present invention also comprises a method forpro-
`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 stepsof: receiving the data transfer command and
`file name;transferring the file to the proxy server; perform-
`ing virus detection on the file; determining whetherthefile
`contains any viruses; transferring the file from the proxy
`serverto a recipient nodeif the file does not contain a virus;
`and performinga preset action with thefile 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, 1 is a block diagram ofa priorart 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 embodimentfor
`a gateway node including the apparatus of the present
`invention;
`FIG. 3 is a block diagram of a preferred embodimentfor
`a memory of the gateway node including the apparatusofthe
`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
`priorart;
`FIG. 5A is a functional block diagram showing a preferred
`system for sending data files according to a preferred
`embodimentofthe present invention;
`FIG. 3Bis a functional block diagram showing a preferred
`system for receiving data files according to a preferred
`embodimentof the present invention;
`FIGS. 6A, 6B and 6C are a flowchart of the preferred
`method for performingfile 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 8B are a flow chart of a preferred method
`for sending messages to/from 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 prior art, preferably includes a
`plurality of node systems 30 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 node33 that also performsvirus 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
`
`10
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55:
`
`60
`
`65
`
`4
`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 42is connected
`by a bus 56to 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 Neumann 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 68040 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 be an ethernet 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, ethernet, 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 networkor 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 34andviceversa.
`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 ora router coupled
`to the other networks in a conventional manner. In the
`preferred embodimentof the present invention, the 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-1 phoneline, 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
`throughthe input device 50, provides signals for sending and
`receiving data using the communications unit 54. Thetrans-
`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 schemethat 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 embodimentof the
`memory 44for the gateway node 33 is shownin 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 routinesof the present invention
`for detecting virusesin 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,623,600
`
`5
`6
`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 nodeis 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, 5B, 6A, 6B and
`generated bythe file transfer application 423,first processed
`6C. Similarly, the SMTP proxy server 62 is a routine for
`by the FTP proxyserverlayer 421, then processed bythefile
`controlling the transfer of messages to and from the gateway
`transfer protocol 417 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 8B. The present invention
`after processed by the SMTP protocoland other lowerlayers
`415, 413, 411 until] the physical layer is reached. The present
`preferably uses a conventional operating system 28 such as
`invention is particularly advantageous because all virus
`Berkeley Software Distribution UNIX. Those skilled in the
`screening is performed below the application level. There-
`art will realize how the present invention may bereadily
`fore, the applications are unaware that such virus detection
`adapted for use with other operating systems such as
`15 and elimination is being performed,and these operations are
`MACINTOSH System Software version 7.1, DOS, WIN-
`completely transparent to the operation of the application
`DOWS or WINDOWS NT. The memory 44 may also
`level layers 406. While the FIP proxy server layer 421 and
`include a varicty of different application programs 68
`the SMTP proxy server layer 422 have been shownin FIG.
`including but not limited to computer drawing programs,
`4 as being their own layer to demonstrate the coupling
`word processing programs, and spreadsheet programs. The
`€llects
`they provide between thefile transfer layer 423 and
`present invention is particularly advantageousoverthe prior a9
`file transfer protocol 417, and the electronic mail layer 424
`because it minimizes the impact of virus detection and
`and the SMTPprotocol layer 418, those skilled in the art will
`elimination since the FTP proxy server 60 and SMTP proxy
`realize that the FTP proxy server layer 421 and the SMTP
`server 62 are preferably only included orinstalled in the
`proxy server layer 422 can also be correctly viewed as being
`memory 44 of the gateway nodes 33. Thus,all data being
`transferred inside the protected domain of a given network ,, part of the file transfer protocol layer 417 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 FIP proxy server 60 and SMTP proxy server 62, has
`the FTP proxy server 60 will be described focusing onits
`been described above as being located and preferably is 39
`relationship to andits 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 apparatusof 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 webserver for
`stood with reference to FIGS. 5A and 5B,that graphically
`scanning files and messages as they are downloaded from
`show the functions performed by an Internet daemon 70, the
`the web. Furthermore,
`in an alternate embodiment,
`the 3; FIP proxy server 60, and an FIP daemon78, each of which
`apparatus of the present invention may be included in each
`resides on the gateway note 33. In FIGS. 5A and 5B,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 whichthefile is
`As best shown in FIG. 4, the CPU 42 also utilizes a
`being transferred (either from client task 72 to server task 82
`protocol layer hierarchy to communicate over the network. 40 or from server task 82 to client task 72), For the sake of
`The protocollayers of the hierarchy of the present invention
`clarity and ease of understanding only the data ports are
`are shown in FIG.4 in comparison to the ISO-OSIreference
`shown in FIGS. 5A and 5B, and the bi-directional lines
`model, for example. The protocol layers 410-426 of the
` _Tepresent commandorcontrol pathways and are assumed to
`hierarchy of the present invention are similar to the prior art
`include a commandport althoughit is not explicitly shown.
`protocollayers for the lower four layers 400-403 including: 45 The operation FTP proxy server 60 will now be described
`(1) a physical layer 400 formed ofthe transmission media
`with reference to a file transfer between a client task 72
`
`410; (2) a data link layer 401 formed of the network|(fequesting machine) and a server task 82 (supplying
`interface cards 411; (3) a network layer 402 formed of
`machine). While it is assumed that
`the client
`task 72
`address resolution 412, Internet protocol 413 and Internet
`(requesting machine) is inside a protected domain and the
`control messageprotocol 414; and (4) a transport layer 403 so Server task 82 (supplying machine)is outside the protected
`formed of the transmission control protocol 415 and a user
`domain, the invention described below is also used by the
`datagram protocol 416. Corresponding to the presentation|gateway node 33 whenclient task 72 (requesting machine)
`405 and session 404 layers, the protocol hierarchy of the
`is outside the protected domain and the server task 82
`present invention provides four methods of communication:
`(supplying machine) is inside the protected domain.
`a file transfer protocol 417, a simple mail transfer protocol ss|FIGS. 6A-6C are a flowchart of a preferred method for
`419, a TELNETprotocol 419 and a simple network man-
`performing file transfers from a controlled domain of a
`agementprotocol 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, terminal emulation 425, and network
`media 34 to a second node 32of the third network 26). The
`management 426. The present invention advantageously 60 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, andpart ofthe operating
`lar, according to the hierarchy of the present invention, a
`system 64 includesa fire wall, or program including routines
`FTP proxy server layer 421 and a SMTPproxyserver layer 65
`for authenticating users. The gateway node 33first 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 andfile 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
`
`

`

`5,623,600
`
`7
`done in a conventional mannertypically 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
`daemon70is program thatis 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-knownservices, such as TELNET,login, and
`FTP. When a connect request
`is detected,
`the Internet
`daemon 70 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 FIP 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 datatransfer request andfile
`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 step 606 the data transfer request and
`file name are received by the FTP proxy server 60. In step
`608, the FTP proxy server 60 determines whetherthe data is
`being transferred in an outbound direction (e.g., the file is
`being transferred from the client task 72 to the

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