This application claims the priority of Japanese Patent Application No. 2009-201794 applied on Sep. 1, 2009 and incorporates it in this application by the reference of the contents.
The present invention relates to a method and a system for detecting a malicious process such as a computer virus that makes unauthorized activity via a network.
For one of countermeasures against unauthorized intrusion via a network, a network intrusion detection system can be mentioned. For technique related to the network intrusion detection system, technique disclosed in a patent document 1 can be mentioned. In the patent document 1, an intrusion detection system monitors communication via a network, analyzes a flowing packet, and judges whether unauthorized intrusion is made or not. In addition, when the intrusion detection system judges that unauthorized intrusion is made, it takes measures such as the cutoff of communication.
For technique that applies the network intrusion detection system for detecting that a terminal infected with a computer virus exists inside a network, techniques disclosed in a patent document 2 and a non-patent document 1 can be mentioned. In the technique disclosed in the patent document 2, the detection of abnormal communication is executed based upon a monitoring result of communication via a network. When abnormal communication is detected, a terminal is notified of a characteristic pattern of the abnormal communication and the terminal determines whether abnormal communication is made in the past or not by comparing the characteristic pattern with a characteristic pattern of communication by the terminal itself. Further, in the technique disclosed in the non-patent document 1, a terminal that performs suspicious activity is detected by monitoring communication via a network and associating plural network activities by one terminal.
Recently, a type of a computer virus called Bot is posing problems. Bot operates in a terminal (a computer) of a user and performs unauthorized activity corresponding to an instruction of an attacker at a remote site via a network. For unauthorized activities of Bot, attack on the vulnerability of software, denial of service attack, the transmission of spam mail and the outside transmission of confidential information in a terminal infected with Bot can be mentioned.
Bot does not necessarily attack the vulnerability of software unlike a conventional type computer virus such as worm. The techniques disclosed in the patent document 1 and the patent document 2 have a problem that attack including abnormal data on the vulnerability of software can be detected by the techniques while unauthorized activities such as the transmission of spam mail and the outside transmission of confidential information cannot be detected. This reason is that for example, the transmission of spam mail is not the transmission of such data as makes the operation of the software out of order but the transmission according to the same procedure as normal mail.
Besides, the technique disclosed in the non-patent document 1 has a problem that when plural network activities (the transmission of a mail and chat communication by Internet relay chat (IRC)) are normally performed without depending upon an unauthorized process and others, a normal terminal is wrongly detected as a suspicious terminal. As described above, according to the detection of abnormality using the conventional type intrusion detection system, it is difficult to discriminate an unauthorized activity according to a normal procedure from a normal activity and detect the unauthorized activity.
As described above, since it is difficult to detect an unauthorized process by monitoring only activities in a network, the activity of a process in a terminal or the activity of a process in a network or both are monitored, the activity and an identifier of the process are associated, the activity is unified for the same process or every group of associated processes, and it is determined whether an unauthorized activity is performed or not in the present invention.
In this case, the association of two processes means that a process common to both exists when processes (parent processes) that generated the respective processes are recursively pursued.
Concrete embodiments of the present invention are as follows. A terminal, a communication monitoring apparatus and an unauthorized process determination apparatus are connected to an internal network. In the terminal, memory access and access to a storage device and an input device (hereinafter called system access) are monitored, an activity acquired by the monitoring of the system access and a process in the terminal are associated, and the unauthorized process determination apparatus is notified of them. Further, in the communication monitoring apparatus, communication executed by the terminal is monitored, an activity acquired by the monitoring of communication and the process in the terminal are associated, and the unauthorized process determination apparatus is notified of them. In the unauthorized process determination apparatus, referring to the notified activity, it is determined, depending upon whether or not the activity that meets predetermined conditions is executed by the same process or its associated process, that the unauthorized process is going on in the terminal.
According to the present invention, the activity of an unauthorized process the detection of which is difficult by only monitoring communication performed via a network can be detected.
Referring to the drawings, embodiments of the present invention will be described below. The following description shows the embodiments of the present invention and does not limit the configuration, the functions and others of the present invention.
As shown in
The terminal 101 is an information processing unit and is a terminal owned by a user such as PC. The terminal 101 is provided with an arithmetic unit 211, a memory 212, a storage device 213 such as a hard disk, a communication device 214 such as a network card, an input device 215 such as a keyboard and a mouse and a display device 216 such as a liquid crystal display (LCD). The arithmetic unit 211 executes a program stored in the storage device 213 and controls each device. The storage device 213 stores programs executed by the arithmetic unit 211, data and others used by the arithmetic unit 211. The communication device 214 receives data from another apparatus via the network 104, transmits the data to the arithmetic unit 211, and transmits data generated by the arithmetic unit 211 to another apparatus via the network 104. The arithmetic unit 211 controls the input device 215 and the display device 216, inputs data from the input device 215, and outputs the data to the display device 216. Programs are stored in the storage device 213, a program is loaded from the storage device 213 onto the memory 212, and is executed by the arithmetic unit 211. The terminal 101 loads the program from the storage device 213 and executes it. For another example, however, the terminal may also load a program from an optical record medium such as CD and DVD, a magneto-optical record medium such as MO, a tape medium, a magnetic record medium or a record medium such as a semiconductor memory. Further, for yet another example, the terminal may also load these programs from another apparatus via a communication medium. The communication medium denotes a network or a digital signal or a carrier wave transmitted on the network.
The communication monitoring apparatus 2 is provided with an arithmetic unit 221, a memory 222, a storage device 223 such as a hard disk, communication devices 224, 225 such as a network card, an input device 226 such as a keyboard and a mouse and a display device 227 such as LCD. The unauthorized process determination apparatus 103 is provided with an arithmetic unit 231, a memory 232, a storage device 233 such as a hard disk, a communication device 234 such as a network card, an input device 235 such as a keyboard and a mouse and a display device 236 such as LCD. The operation as hardware of the communication monitoring apparatus 102 and the unauthorized process determination apparatus 103 is similar to the operation of the terminal 101.
In this embodiment, the unauthorized process detection system 100 detects an unauthorized process operated inside the terminal 101. The terminal 101 is provided with a data transmission and reception unit 311 that transmits/receives information to/from the internal network 104, a process 312 operated inside, a system monitoring unit 313 that monitors access by the process 312 to the storage device 213, the input device 215 and others, a process information association unit 314 that associates communication with the internal network 4 via the data transmission and reception unit 311 and the process, a system monitoring result notification unit 315 that transmits a result of monitoring by the system monitoring unit 313 to the unauthorized process determination apparatus 103, and a process information database 316 that stores the information showing parent-child relationship of which process generated the process in the terminal 101.
The process 312 is an instance in executing an arbitrary program stored in the storage device 213 and others in the terminal 101 and executes the transmission/reception of information to/from the internal network 4 via the data transmission and reception unit 311, access to the memory 212, the input device 215 and others or both. Access by the process 312 to a storage device and an input device such as the memory 212 and the input device 215 is called system access and the transmission/reception of information to/from the internal network 4 is called communication. An object of monitoring in this embodiment is the system access and the communication.
Referring to
The unauthorized process determination apparatus 103 is provided with a data transmission and reception unit 331 that transmits/receives information to/from the internal network 104, a system monitoring result reception unit 332 that receives a system monitoring result notified from the system monitoring result notification unit 315 of the terminal 101 via the data transmission and reception unit 331, a communication monitoring result reception unit 333 that receives a communication monitoring result notified from the communication monitoring result notification unit 324 of the communication monitoring apparatus 102 via the data transmission and reception unit 331, a system monitoring result database 334 that accumulates received system monitoring results, a communication monitoring result database 335 that accumulates received communication monitoring results, determination policy 336 that defines unauthorized activities (hereinafter, unauthorized “activity” is used for a term as which a computer virus and others are supposed. However, the unauthorized activity means unauthorized “processing” or “operation” accompanied with the execution of an unauthorized process. Similarly, “processing” or “operation” accompanied with the execution of a normal process is also “activity”), an unauthorized process determination unit 337 that determines whether the process operated in the terminal 101 is an unauthorized process or not by comparing the system monitoring result database 334, the communication monitoring result database 335 with the contents of the determination policy 336, and a determination result notification unit 338 that notifies of warning based upon a result of determination acquired by the unauthorized process determination unit 337.
The registration of information in the determination policy 336 is not defined in this embodiment. For an example of the registration of information, a method in which a network manager manually registers and a method of regularly accessing to an external web site and downloading information to be registered as in the existing antivirus software can be given.
The operation of the unauthorized process detection system 100 will be described below. The process 312 in the terminal 101 reads data stored in the memory 212 and the storage device 213, writes data there, and accesses the input device 215 and the display device 216 (these are collectively called system access). The system monitoring unit 313 monitors the system access in the terminal 101 by the process 312 and checks whether a process that performs a suspicious activity exists or not. In this embodiment, processes to be monitored by the system monitoring unit 313 are all processes operated in the terminal 101. However, limitation such as only specific processes are monitored by the system monitoring unit 313 and only processes activated by specific users are monitored by the system monitoring unit may also be added.
When the activation of the process is detected, an identifier of the process the activation of which is detected and an identifier of a process (a parent process) that generated the process are acquired (a step 804). The identifier of the process and the identifier of the parent process are acquired utilizing a function of an operating system (OS) or are acquired by reading data in a specific location of the memory 212 in the terminal 101.
The acquired identifiers of the process and the parent process are registered in the process information database 316 (a step 805) and control is returned to the step 801 so as to continue monitoring. When a process (a normal process) which is clearly not unauthorized exists among processes in the terminal 101, the normal process may also be filtered to prevent a process identifier or a parent process identifier which coincides with an identifier of the normal process from being registered in the process information database 316 in registering in the process information database 316.
When the detection of the system access is verified in the step 803, the contents of the system access are specified (a step 806) and it is judged whether or not the unauthorized process determination unit 337 is to be notified of the system access (a step 807).
The monitoring of system access and the specification of the contents include the detection of access to a specific folder by the monitoring of file access in the terminal 101 described in “Information Leakage Prevention Function of host based for P2P File Exchange Environment” by Masaaki Matsuoka, Takahiro Matsuki, Masatoshi Terada, Tetsuro Kito and Hirofumi Nakakoji in a research report Vol. 2008 No. 71 pp. 115-122, 2008 by Computer Security Group of Information Processing Society of Japan or the detection of execution by the same process in the combination defined beforehand of calls for a feature by the monitoring of a call for a feature of OS by an arbitrary process described in “A Study on Detecting Information Leak Virus by Activity Monitoring” by Tetsuro Kito, Takahiro Matsuki, Masaaki Matsuoka, Hirofumi Nakakoji and Masatoshi Terada in a research report Vol. 2008 No. 71 pp. 317-322, 2008 by Computer Security Group of Information Processing Society of Japan for example.
When it is judged in the step 807 that the system access is not required to be notified, control is returned to the step 801 to continue the monitoring of system access. When it is judged that the system access is to be notified, an identifier of the process which executed the system access is acquired (a step 808) and an associated process identifier list of the process the identifier of which is acquired is acquired from the process information database 316 (a step 809). The process which executed the system access is specified by reading data in a specific location in the memory 212 of the terminal 101. Depending upon the OS, such reading of data in a memory may also be provided as a function. The system monitoring result notification unit 315 is called (a step 810), the unauthorized process determination apparatus 103 is notified of system monitoring results (the identifier of the process (a result of the step 808), the associated process identifier list (a result of the step 809) and the activity contents (a result of the step 806)), and control is returned to the step 801 to continue the monitoring of system access.
The process 312 communicates via the data transmission and reception unit 311 in addition to system access. The process information association unit 314 in the terminal 101 monitors the communication by the process 312 via the data transmission and reception unit 311 and associates the process with communication parameters. The process information association unit 314 is software provided with a function for associating the information of a process with communication parameters and provides information that enables specifying what the process that executed the communication is when the communication monitoring unit 323 of the communication monitoring apparatus 102 detects the communication.
When the packet to be transmitted is an IP packet, the process information association unit acquires an identifier of the process that tries to transmit the packet (a step 905) and acquires an associated process identifier list of the process, the identifier of which is acquired, from the process information database 316 (a step 906). The process that tries to transmit the packet is acquired utilizing the function of the OS or is specified by reading data in a specific location in the memory 212 of the terminal 101. The process information association unit writes the acquired identifier of the process and the acquired associated process identifier list to the packet (a step 907), transmits the packet to which the identifier of the process and the associated process identifier list are written (the step 908), and control is returned to the step 901 to continue the monitoring.
In the step 907, the process identifier and others are written to an option field of the IP packet as described in “Information Sharing Architecture for P2P File Exchange Environment” by Masatoshi Terada, Tetsuro Kito, Hirofumi Nakakoji, Takahiro Matsuki and Masaaki Matsuoka in a research report Vol. 2008 No. 21 pp. 243-248, 2008 by Computer Security Group of Information Processing Society of Japan, for example.
When communication is detected by the communication monitoring unit 323, the process that executed the communication can be specified by only referring to a specific part (for example, an option field) of the packet without relying on other information by writing process information to the IP packet.
For another example of associating communication and a process in the process information association unit 314, the association of communication parameters and a process identifier is recorded every time communication is executed and the communication monitoring apparatus may also be notified of the association at predetermined timing.
When the process 312 in the terminal 101 transmits a packet to the external network 105, the packet passes the communication monitoring apparatus 102. The communication monitoring unit 323 in the communication monitoring apparatus 102 monitors the packet passing the communication monitoring apparatus 102 and specifies what type communication by the passing packet is.
The activity contents are specified using the method in the existing intrusion detection system described in the patent document 1 or based upon an IP address and a port number of the passing packet for example.
When it is judged in the step 1004 that the activity is not required to be notified, control is returned to the step 1001 to continue monitoring. When it is judged in the step 1004 that the activity is to be notified, information associated with the process that executed the communication is acquired (a step 1005).
The acquisition of information associated with the process in the step 1005, that is, the acquisition of a process identifier and an associated process identifier list varies depending upon a method of associating communication and a process in the process association unit 314 in the terminal 101. As described above, when the process identifier and the associated process identifier list are written to the IP packet in the process association unit 314, the process identifier and the associated process identifier list are acquired by extracting the information written to the packet.
The communication monitoring result notification unit 324 is called (a step 1006), the unauthorized process determination apparatus 103 is notified of a communication monitoring result (the identifier, the associated process identifier list and the communication contents respectively of the process that executed communication), and control is returned to the step 1001 to continue the monitoring of communication.
Information of the activity detected in the system monitoring unit 313 in the terminal 101 and in the communication monitoring unit 323 in the communication monitoring apparatus 102 is transmitted to the unauthorized process determination apparatus 103 by the system monitoring result notification unit 315 and the communication monitoring result notification unit 324. The system monitoring result reception unit 332 receives the system monitoring result transmitted from the terminal 101, records the received system monitoring result in the system monitoring result database 334, and calls the unauthorized process determination unit 337 using the system monitoring result for a calling parameter. The communication monitoring result reception unit 333 receives the communication monitoring result transmitted from the communication monitoring apparatus 102, records the received communication monitoring result in the communication monitoring result database 335, and calls the unauthorized process determination unit 337 using the communication monitoring result for a calling parameter. The unauthorized process determination unit 337 determines whether the unauthorized process is going on in the terminal 101 or not based upon the monitoring result given as the parameter and the information respectively stored in the system monitoring result database 334, the communication monitoring result database 335 and the determination policy 336.
The communication monitoring result database 335 is referred to (the step 1107) and it is checked whether or not a communication monitoring result having the same terminal identifier as the terminal identifier extracted in the step 1102 exists (a step 1108). When the communication monitoring result having the same terminal identifier as the extracted terminal identifier exists in the communication monitoring result database 335, the processing proceeds to a step 1109 and when no communication monitoring result exists, the processing proceeds to a step 1011. It is checked whether or not a communication monitoring result associated with the acquired monitoring result among communication monitoring results having the same terminal identifier as the extracted terminal identifier exists (the step 1109). When the communication monitoring result associated with the acquired monitoring result exists in the communication monitoring result database 335, the associated communication monitoring result is acquired (a step 1110). The meaning of the association of a certain monitoring result with another communication monitoring result is as described above.
The determination policy is referred to (a step 1111) and it is checked whether policy that meets all the determination conditions exists or not based upon the monitoring result acquired in the step 1101, the system monitoring result acquired in the step 1106 and the communication monitoring result acquired in the step 1110 (a step 1112). To plainly explain an object checked in the step 1112 because the flowchart showing the processing in
When the determination result notification unit 338 is called by the unauthorized process determination unit 337, the determination result notification unit 338 notifies the terminal 101 or a communication control unit not shown or an organization that manages the internal network 104 of a message that the unauthorized process is going on in the terminal 101 and the identifier of the process judged unauthorized as warning.
The terminal 101 inhibits the activity of the unauthorized process by stopping the process judged unauthorized and/or taking measures such as blocking the system access and the communication of the process when the terminal receives the warning. Further, applicable measures except the measures against the process itself include the prohibition of the following activation of a file executed by the unauthorized process and the stop of another process, if any, that executes the file executed by the unauthorized process.
When the communication control unit receives the warning, it controls communication of the terminal 101 in which it is judged that the unauthorized process is going on or the communication of the process judged unauthorized among communications by the terminal 101. In this case, the control means the disconnection of communication, the limitation of a band, a change of a path and others. The communication control unit that executes the control may also be connected on a path passing in access from the terminal 101 to the external network 105 or a function as the communication control unit may also be built in the communication monitoring apparatus 102.
When the organization that manages the internal network 104 receives the warning, the organization takes measures to enhance the safety of the whole network such as the transmission of the warning to the terminal 101 in which it is judged that the unauthorized process is going on, the transmission of the warning to terminals connected to the internal network 104 except the terminal 101, and the transmission of the warning to the communication control unit.
In this embodiment, the three of the terminal 101, the communication monitoring apparatus 102 and the unauthorized process determination apparatus 103 are used. However, the terminal 101 or the communication monitoring apparatus 102 may also function as the unauthorized process determination apparatus 103 and the system may also be configured by the two. When the terminal 101 also functions as the unauthorized process determination apparatus 103, the system monitoring result notification unit 315 and the system monitoring result reception unit 332 are not required to be connected via the network and a system monitoring result is directly notified the system monitoring result reception unit 332 from the system monitoring result notification unit 315. Similarly, when the communication monitoring apparatus 102 also functions as the unauthorized process determination apparatus 103, the communication monitoring result notification unit 324 and the communication monitoring result reception unit 333 are not required to be connected via the network and the communication monitoring result reception unit 333 is directly notified of a communication monitoring result from the communication monitoring result notification unit 324.
Further, the terminal 101 may also function as the communication monitoring apparatus 102. In this case, communication as an object monitored by the communication monitoring unit 323 is not communication between the internal network 104 and the external network 105 but communication via the internal network 104 by the terminal 101. Also, in this case, the process information association unit 314 is not required to write a process identifier and an associated process identifier list to an IP packet as in the step 907 shown in
In addition, in this embodiment, an identifier of a process that executes an activity and its associated process identifier list are included in information notified by the system monitoring result notification unit 315 and the communication monitoring result notification unit 324. However, no associated process identifier list may be included in notified information. In that case, the unauthorized process determination apparatus 103 is notified of information stored in the process information database 316 from the terminal 101 and an associated process identifier list is acquired at the system monitoring result reception unit 332 and the communication monitoring result reception unit 333 respectively of the unauthorized process determination apparatus 103 based upon the information stored in the process information database 316.
According to this embodiment, it can be detected that an unauthorized process is going on by associating an activity acquired by the monitoring of the system and an activity acquired by the monitoring of communication with a process identifier.
For technique that recently attracts intention, technique called a virtual machine monitor can be given. The virtual machine monitor is software operated in an information processing unit such as a terminal 101 and a virtual machine that can be treated in the similar way to an actual terminal is operated. Since the virtual machine is operated in the virtual machine monitor (under the control of the virtual machine monitor), the virtual machine monitor can monitor a state of the virtual machine operated in the virtual machine monitor by referring to a memory managed by the virtual machine monitor itself. Some unauthorized processes such as Bot are provided with a function for detecting that monitoring is performed in the terminal and invalidating the monitoring. However, monitoring is never invalidated by monitoring the virtual machine in which an unauthorized process is operated from the outside using the virtual machine monitor.
In this embodiment, an example that a terminal utilized by a user is the virtual machine will be described. This embodiment is different from the first embodiment in the software configuration of the terminal 101. The description of contents common to those of the first embodiment is omitted.
In this embodiment, the virtual machine monitor 1201 is provided with a data transmission and reception unit 1209 that transmits/receives data to/from the internal network 104, a system monitoring unit 1210, a process information association unit 1211, a system monitoring result notification unit 1212 and a process information database 1213 in addition to the virtual machine 1202. The system monitoring unit 1210 monitors the system access of the process 1203 inside the virtual machine 1202 outside the virtual machine 1202. The process information association unit 1211 monitors communication from the virtual machine 1202 to the internal network 104 outside the virtual machine 1202 and associates the process in the virtual machine 1202 with communication parameters of the monitored communication. The system monitoring result notification unit 1212 transmits a monitoring result acquired by the system monitoring unit 1210 to an unauthorized process determination apparatus 103 via the data transmission and reception unit 1209. The process information database 1213 stores an identifier of the process in the virtual machine 1202 and an identifier of a process (a parent process) that generated the process.
Processing by the system monitoring unit 1210 is similar to the processing shown in
According to this embodiment, monitoring can be executed without suffering an effect such as the invalidation of security software by an unauthorized process by monitoring the inside of the virtual machine 1202 outside the virtual machine 1202 and a malicious unauthorized process such as an authorized process that counteracts the monitoring of the terminal can also be detected.
100: Unauthorized process detection system, 101: Terminal, 102: Communication monitoring apparatus, 103: Unauthorized process determination apparatus, 104: Internal network, 105: External network, 313: System monitoring unit, 314: Process information association unit, 315: System monitoring result notification unit, 316: Process information database, 323: Communication monitoring unit, 324: Communication monitoring result notification unit, 332: System monitoring result reception unit, 333: Communication monitoring result reception unit, 334: System monitoring result database, 335: Communication monitoring result database, 336: Determination policy, 337: Unauthorized process determination unit, 338: Determination result notification unit.
Number | Date | Country | Kind |
---|---|---|---|
2009-201794 | Sep 2009 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2010/003782 | 6/7/2010 | WO | 00 | 4/11/2012 |