Abstract:
An object of the present invention is to provide an apparatus, a method, and a system for virus detection which can find even an unknown virus easily with no OS dependency. To achieve the foregoing object, the present invention provides a virus detection apparatus including an inspection computer to be connected to a mail server. The inspection computer includes file opening means for opening an attachment of e-mail transferred from said mail server, an I/O port for establishing interface connection with a PC, the PC being connected to the inspection computer to send and receive e-mail to/from the mail server through the inspection computer, virus inspecting means for detecting data of the attachment opened by said file opening means for access to said I/O port to inspect virus invasion, and warning means for outputting a warning signal from the virus inspecting means when access to the I/O port is detected.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The invention relates to an apparatus, a method, and a system for detecting an attachment of e-mail for macro viruses.  
           [0003]    2. Description of the Prior Art  
           [0004]    With the recent prevalence of PCs and the Internet, information exchange by means of e-mail is growing in use. It is often the case now that ones with evil intent hide viruses in attachments of e-mail so that users unaware of it open the attachments to let the viruses invade their PCs. Such viruses are called macro viruses since they adhere to certain application software and infect upon the execution of the software procedure. When macro viruses invade a PC, document files may be tampered with arbitrarily or an unintended screen may appear during system startup.  
           [0005]    When a number of PCs, such as corporate PCs, are connected over a LAN, a number of PCs can be exposed to virus attack at a time.  
           [0006]    Among the known methods for protecting a computer system from such computer viruses is one using so-called vaccines. Vaccines are a kind of dedicated software, containing a database that defines the patterns of viruses found and reported so far. Upon virus invasion, the vaccines collate the pattern of the virus with the patterns of the viruses stored in the database to identify the invading virus.  
           [0007]    The foregoing virus inspection using vaccine software, however, has the problem that it is effective against known viruses but hardly effective against unknown viruses. In addition, the database must be modified each time a new type of virus is found and reported. This requires that the vaccine users constantly update the vaccine software for data renewal. Moreover, such vaccine software is dependent on the computer OS (Operating System), having a problem of unavailability on different OSes.  
         SUMMARY OF THE INVENTION  
         [0008]    The present invention has been achieved to solve the foregoing conventional problems. It is thus an object of the present invention to provide an apparatus, a method, and a system for virus detection which can find even an unknown virus easily with no OS dependency.  
           [0009]    A virus detection apparatus according to the present invention includes an inspection computer to be connected to a mail server. The inspection server includes: file opening means for opening an attachment of e-mail transferred from the mail server; an I/O port for establishing interface connection with a PC, the PC being connected to the inspection computer to send and receive e-mail to/from the mail server through the inspection computer; virus inspecting means for detecting data of the attachment opened by the file opening means for access to the I/O port to inspect virus invasion; and warning means for outputting a warning signal from the virus inspecting means when access to the I/O port is detected. Viruses have the functions of infecting exterior through various peripheral devices, overwriting the contents of internal memories and external input/output devices, and sending unnecessary mail to other servers. Viruses thus drive various peripheral devices mapped to the I/O port. According to the configuration of the present invention, the I/O port can be monitored to detect access to the I/O port. It is therefore possible to realize a virus detection apparatus that can find even a new type of virus easily with no OS dependency.  
           [0010]    In the virus detection apparatus of the present invention, the warning means can inform users of virus invasion immediately. A preventive measure can thus be taken against virus infection.  
           [0011]    Moreover, in the virus detection apparatus of the present invention, the virus inspecting means supports boundary scan communications, and acquires access information on the I/O port from the data of the attachment and sends the access information to the mail server. According to this configuration, it is possible to know which port of the I/O port is accessed by the invading virus.  
           [0012]    In the virus detection apparatus of the present invention, communication is conducted between the virus inspecting means and the mail server through any of a printer port, a parallel input/output device, a serial input/output device, and a boundary scan communication device installed on the mail server, whereby a determination is made as to the access information on the I/O port acquired from the attachment by the virus inspecting means. According to this configuration, the access information on the I/O port can be sent and received by a route or clock independent of the inspection computer.  
           [0013]    The virus detection apparatus of the present invention also includes means for detecting the data of the attachment for access to a memory or an external input/output device, the memory or the external input/output device being peripheral equipment of the PC. According to this configuration, viruses can also be detected when the viruses try to make access to the internal memory or certain files such as an OS.  
           [0014]    The virus detection apparatus of the present invention also includes means for disabling memory access to the inspection computer. According to this configuration, it is possible to prevent viruses from accessing the memory to destroy data in the memory.  
           [0015]    A virus detection method of the present invention includes the steps of: opening, in an inspection computer, an attachment of e-mail transferred from a mail server to execute a macro of the attachment; and determining presence or absence of access to an I/O port from data of the attachment by using an I/O port check board, the I/O port establishing interface connection between the inspection computer and peripheral equipment of a PC. According to this method, it is possible to realize a virus detection method that can find even a new type of virus easily with no OS dependency.  
           [0016]    In the virus detection method of the present invention, the presence or absence of write access to the I/O port is determined by the I/O port check board, and the determination is transferred to the mail server. This method allows the virus-adhering attachment to be recovered on the mail-server side.  
           [0017]    Moreover, in the virus detection method of the present invention, the data of the attachment is inspected for access to a memory or a hard disk, the memory or the hard disk being peripheral equipment of the PC. According to this method, viruses can also be detected when the viruses try to make access to the internal memory or certain files such as an OS.  
           [0018]    A virus detection system of the present invention includes a mail server and an inspection computer connected to the mail server. The inspection computer includes: file opening means for opening an attachment of e-mail transferred from the mail server; an I/O port for establishing interface connection between the inspection computer and peripheral equipment of a PC; and an I/O port check board for detecting data of the attachment opened by the file opening means for access to the I/O port to inspect virus invasion. The attachment of the e-mail transferred from the mail server is opened and executed, is inspected and determined for presence or absence of access to the I/O port by using the I/O port check board. In the presence of access, the result of the inspection and determination is sent to the mail server to notify of the presence or absence of virus infection. According to this system, unknown viruses adhering to attachments of e-mail can be detected easily.  
           [0019]    In the virus detection system of the present invention, the mail server determines the presence or absence of the virus infection, and if there is the possibility of infection of a virus, the virus is removed from the attachment before e-mail including the attachment is sent to its original destination. According to this system, safe e-mail from whose attachments viruses are removed can be sent to users.  
           [0020]    As described above, the virus detection apparatus of the present invention includes an inspection computer connected to a mail server, the inspection computer including: the file opening means for opening an attachment of e-mail received from the mail server; the virus inspecting means for detecting data of the open attachment for access to the I/O port to inspect virus invasion; and the warning means for outputting a warning signal when access to the I/O port is detected. Detecting the access to the I/O port makes it possible to realize a virus detection apparatus that can find even a new type of virus easily with no OS dependency.  
           [0021]    The virus detection method of the present invention opens an attachment of e-mail received from a mail server to execute a macro of the attachment, and checks data of the attachment for write access to a certain I/O port by using an I/O port check board. It is therefore possible to realize a virus detection method that can find even a new type of virus easily with no OS dependency.  
           [0022]    The virus detection system of the present invention includes: an inspection computer which opens an attachment of e-mail received from a mail server to execute a macro thereof, inspects access to a certain I/O port by using an I/O port check board, and sends the result of inspection to the mail server; and the mail server which receives the result of inspection from the inspection computer and determines the presence or absence of virus infection. Unknown viruses adhering to attachments of e-mail can thus be inspected by a simple system configuration, so that virus-removed safe attachments can be sent to their original destinations.  
           [0023]    The object and advantages of the present invention will become more apparent from the following description of the preferred embodiments which is given with reference to the accompanying drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0024]    [0024]FIG. 1 is a block diagram showing the configuration of a virus detection apparatus according to a first embodiment of the present invention;  
         [0025]    [0025]FIG. 2 is a flowchart showing the operation of the virus detection apparatus according to the first embodiment of the present invention;  
         [0026]    [0026]FIG. 3 is a block diagram showing the configuration of a virus detection system according to a second embodiment of the present invention; and  
         [0027]    [0027]FIG. 4 is a flowchart showing the operation of the virus detection system according to the second embodiment of the present invention. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0028]    Hereinafter, embodiments of the present invention will be described with reference to the drawings.  
         [0029]    (First Embodiment)  
         [0030]    [0030]FIG. 1 shows the configuration of a virus detection apparatus according to a first embodiment of the present invention. In FIG. 1, an inspection computer  1  includes an MPU  2 , an input/output interface  3 , a mail receiving unit  4  including mail receiving means  4   a  and mail opening means  4   b,  an I/O port check board  5 , an I/O port  6 , an LED  7 , and the like. These components are connected with a PCI bus  8 .  
         [0031]    The MPU  2  is provided with the I/O port  6  which connects the inspection computer  1  and peripheral equipment. The I/O port  6  is an interface for establishing connection to RS232C, a keyboard, a mouse, a display, a disk drive, a GP-IB (General Purpose Interface Bus), an NIC (Network Interface Card), an RTC (Real Time Clock), and the like (not shown), with the respective addresses allocated thereto. The MPU  2  also has a CPU for performing various operations to control the entire apparatus, a ROM containing an OS and application programs, an SRAM for holding data temporarily, a flash memory (EEPROM) containing instructions or other data for controlling the operation of the CPU, and so on. For the OS, the inspection computer  1  adopts predetermined basic software such as Windows™ 2000 .  
         [0032]    The mail receiving means  4   a  of the mail receiving unit  4  receives e-mail with attachments or the attachments alone from a mail server  10  through the input/output interface  3 . The mail opening means  4   b  opens the attachments received to execute macros of the attachments. These operations are performed under the control of the MPU  2 .  
         [0033]    The I/O port check board  5  detects certain write access to the I/O port  6  which is arranged in the MPU  2 , thereby inspecting virus invasion. When the certain write access is detected by the I/O port check board  5 , a signal indicating the possibility of a virus is output from the I/O port check board  5  to the LED  7 . Consequently, users can see the possible virus infection easily when the LED  7  lights up. The determination on the write access to the I/O port  6 , i.e., the result of inspection as to the presence or absence of a virus is transferred from the I/O port check board  5  to the mail server  10  so that the presence or absence of the virus is inspected. A signal for notifying of the possible virus infection is also transferred to other CPUs such as a CPU  100  which is connected over a LAN.  
         [0034]    Next, the operation of the virus detecting apparatus used in this first embodiment will be described with reference to the flowchart of FIG. 2.  
         [0035]    In the present embodiment, description will be given of the case where e-mail having a virus-infected attachment is received. In FIG. 2, the power is initially turned on to start up the inspection computer  1  (step S 1 ). Mail is received from the mail server  10  (step S 2 ). An application determined by the extension of the attachment received is launched to open the attachment (step S 3 ). If the attachment is infected with a virus, the macro of the virus is executed and write access is made to the I/O port  6  when this attachment is opened. Then, the I/O port check board  5  detects the macro of the attachment for write access to the I/O port  6  (step S 4 ). If the write access is made, a signal indicating so is posted to the mail server  10  and the other CPU  100  connected over the other LAN. In addition, the LED  7  is lit to inform the users of the possible virus infection (step S 5 ). In the mean time, timer-based monitoring is performed, so that applications launched after a lapse of certain time are terminated (the timer is cancelled if the applications end before the timer setting) to release the objects. The execution of the macro may possibly infect the inspection computer with a virus. Then, the infected application(s) or all the necessary files are finally reinstalled for file restoration (step S 6 ).  
         [0036]    While the present embodiment has dealt with the case where virus infection is assumed, the LED  7  also lights up to inform the users of possible virus infection when attachments containing virus-uninfected normal programs are received and opened by the mail opening means  4   b  of the mail receiving unit. In this case, the programs are determined to be normal through the inspection for virus infection in the subsequent processing.  
         [0037]    In the present embodiment, the application programs for the inspection computer  1  to launch for virus check shall be limited to Word™ and Excel™ from Microsoft Corporation. In order to cope with viruses of future scheduling type, the system time shall be set a predetermined time ahead.  
         [0038]    As above, according to this first embodiment, the inspection computer has the mail receiving unit for opening an attachment of e-mail received from the mail server to execute the macro, the I/O port check board for detecting the data of the open file for write access to the I/O port to inspect virus invasion, and the LED for issuing a warning when the write access to the I/O port is detected. It is therefore possible to realize a virus detection apparatus that can find even a new type of virus easily with no OS dependency.  
         [0039]    (Second Embodiment)  
         [0040]    [0040]FIG. 3 shows the configuration of a virus detection system according to a second embodiment of the present invention. In FIG. 3, a mail server  10  is connected to the Internet  30 . The mail server  10  includes an MPU  11 , a communication unit  12 , an input/output interface  13 , a mail sending/receiving unit  14 , a check result determination unit  15 , a printer port  16 , a log file  17 , a monitor  18 , and the like. These components are connected with a PCI bus  19 . The MPU  11  consists of a CPU for performing various operations to control the entire apparatus, a ROM containing an OS and application programs, an SRAM for holding data temporarily, a flash memory (EEPROM) containing instructions or other data for controlling the operation of the CPU, and so on. In the second embodiment, LINUX is adopted as the OS of the mail server  10 . The communication unit  12  contains communication protocols capable of access to the Internet  30 . The mail sending/receiving unit  14  sends and receives e-mail through the communication unit  12 . The check result determination unit  15  determines whether or not an attachment is infected with a virus. The determination is displayed on the monitor  18  and stored into the log file  17 . The printer port  16  conducts communication with an I/O port check board  24  when an attachment of e-mail may be infected with a virus. The printer port  16  has a printer driver interface. While the mail server in the present embodiment uses the printer port, the same effect can be obtained by using a parallel input/output device, a serial input/output device, a boundary scan communication device, or the like.  
         [0041]    Now, an inspection computer  20  includes an MPU  21 , an input/output interface  22 , a mail receiving unit  23  including mail receiving means  23   a  and mail opening means  23   b,  the I/O port check board  24  which is capable of boundary scan tests, an I/O port  25 , an LED  26 , a printer port  27 , and the like. These components are connected with a PCI bus  28 . The MPU  21  is provided with the I/O port  25  which establishes connection between the inspection computer  20  and peripheral equipment. The I/O port  25  is an interface for establishing connection to RS232C, a keyboard, a mouse, a display, a disk drive, a GP-IB (General Purpose Interface Bus), an NIC (Network Interface Card), an RTC (Real Time Clock), and the like, with the respective addresses allocated thereto. The MPU  21  also has a CPU for performing various operations to control the entire apparatus, a ROM containing an OS and application programs, an SRAM for holding data temporarily, a flash memory (EEPROM) containing instructions or other data for controlling the operation of the CPU, and so on. In the present embodiment, predetermined basic software such as Windows™ 2000 is also adopted as the OS of the inspection computer  20 .  
         [0042]    The mail receiving means  23   a  of the mail receiving unit  23  receives e-mail with attachments or the attachments alone from the mail server through the input/outputs interface  22 . The mail opening means  23   b  open the attachments received to execute macros. These operations are performed under the control of the MPU  21 .  
         [0043]    The I/O port check board  24  detects certain write access to the I/O port  25  which is arranged in the MPU  21 , thereby inspecting virus invasion. When the certain write access is detected by the I/O port check board  24 , a signal indicating the possibility of a virus is output from the I/O port check board  24  to the LED  26 . Consequently, users can see the possible virus infection easily when the LED  26  lights up. The determination on the write access to the I/O port  25 , i.e., the result of inspection as to the presence or absence of a virus is transferred from the I/O port check board  24  to the mail server  10  so that the presence or absence of the virus is inspected. Besides, a signal indicating the possible virus infection is transferred to other CPUs such as a LAN-connected CPU (see FIG. 1). The printer port  27  conducts communication with the printer port  16 , having a printer driver interface.  
         [0044]    Next, the operation of the virus detecting system in this second embodiment will be described with reference to the flowchart of FIG. 4. In order to cope with viruses of future scheduling type, the system time shall be set a predetermined time ahead. Initially, the mail server  10  receives e-mail from the Internet  30  through the communication unit  12 . The mail server  10  acquires an attachment of the mail, if any, and stores the same into a memory in the MPU  11 . Then, the input/output interface  13  exchanges communication procedures with the input/output interface  22  of the inspection computer  20  so that the mail receiving unit  23  of the inspection computer  20  receives attachment data sent from the mail server  10  (step S 11 ). In the inspection computer  20 , when the reception of the file data is completed, the mail opening means  23   b  of the mail receiving unit  23  determine the application to be launched based on the extension of the attachment received, and execute the macro to open the attachment (step S 12 ). Next, the I/O port check board  24  checks whether the attachment accesses the I/O port  25  (step S 13 ). The check result is sent from the printer port  27  to the printer port  16  of the mail server  10 . Moreover, if select information exists, there is the possibility of virus infection. Thus, a display appears on-screen or the LED  26  lights up to warn users of it (step S 14 ). In the mean time, timer-based monitoring is performed, so that applications launched after a lapse of certain time are terminated (the timer is cancelled if the applications end before the timer setting). The execution of the macro may possibly infect the inspection computer  20  with a virus. Then, the infected application(s) or all the necessary files are reinstalled for file restoration (step S 15 ).  
         [0045]    While the check result is transmitted from the inspection computer  20  to the mail server  10 , the mail server  10  performs timer-based monitoring. If the mail server  10  receives no check result within a predetermined time, it issues an alarming notification to the inspection computer  20  and repeats a retry from the beginning a predetermined number of times. The check result determination unit  15  of the mail server  10  determines whether or not the I/O port  25  is accessed by a virus, and if accessed, which port of the I/O port  25  is accessed by the virus. Here, the determination is made on the basis of access information on the I/O port  25  acquired by the I/O port check board  24 , the access information being included in the check result received. The check result determination unit  15  issues a check completion notification to the inspection computer  20  (step S 21 ). The mail server  10  stores the determination into the log file  17 , and shows on the monitor  18  an on-screen message such as “Attachment xxx may be infected with a virus. Launch recovery software.” The recovery software is then launched to recover the attachment under the guidance (step S 22 ) before the e-mail including the recovered attachment is sent to its original destination (step S 23 ).  
         [0046]    The log file  17  for storing the check determination result contains such information as log output date, log ID, log type (trouble, warning, normal), log class (system, application), urgency (1, 2, 3, 4, 5), message, and mail information (mail Id, sender, destination, sending date and time, contents type, verification result (0: not detected, 1: detected, . . . ))  
         [0047]    As above, according to this second embodiment, the inspection computer includes the mail receiving unit for opening an attachment of e-mail received from the mail server to execute the macro, and the I/O port check board for detecting the data of the open file for write access to the I/O port to inspect virus invasion. The determination on the write access to the I/O port is sent to the mail server through the printer port. The check result determination unit of the mail server determines the presence or absence of virus infection. In the presence of virus infection, the virus is removed from the attachment in question before the e-mail is sent to its original destination. It is therefore possible to realize a virus detection system that can find even a new type of virus easily with no OS dependency. In addition, the access information on the I/O port is transmitted from the inspection computer to the mail server through the printer ports.  
         [0048]    Incidentally, the embodiments described above have dealt with the cases where the LED is used as the warning means for situations where the inspection computer may be virus-infected. Nevertheless, the warning may be given by means of other light, sound, or text, or a combination of these. In the second embodiment, the access information on the I/O port acquired by the I/O port check board may be transmitted to the mail server by using parallel input/output devices, serial input/output devices, or boundary scan communication devices, instead of the printer ports.  
         [0049]    While the invention has been described in conjunction with the preferred embodiments shown in the drawings, it will be obvious to those skilled in the art that changes and modifications may be readily made to the invention, and it is intended that all such changes and modifications fall within the scope of the invention.