Exemplary embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
A terminal 1 is a communication apparatus connected to the network 2. The terminal 1 includes an application 11, a pattern receiving section 12, a pattern matching section 13, a pattern matching time management section 14, a packet type analysis section 15, and a maximum allowable delay time database 16.
The application 11 receives a packet and performs predetermined processing to the packet.
The pattern receiving section 12 receives a packet according to, e.g., a TCP/IP protocol stack. When the terminal 1 receives a packet from the network 2, the pattern receiving section 12 transfers the packet to the pattern matching section 13.
The pattern matching section 13 has an inline-type matching function of performing pattern matching between the packet transferred from the pattern receiving section 12 and an intrusion detection rule of an IDS. When it is determined as a result of the pattern matching that the packet is a normal one, the pattern matching section 13 transfers the packet to the application 11. On the other hand, when it is determined that the packet corresponds to an intrusion attack, the pattern matching section 13 makes a corresponding notification to an administrator and discards the relevant packet. Further, the pattern matching section 13 transfers a terminal reception packet to the pattern matching time management section 14 so as to set pattern matching processing time. In the exemplary embodiment, the pattern matching section 13 corresponds to the inline-type intrusion detection means (unit) of the present invention.
The pattern matching time management section 14 has functions of: receiving a packet from the pattern matching section 13; transferring the received packet to the packet type analysis section 15 so as to identify a protocol; managing the upper limit of an allowable delay time (hereinafter, referred to as “maximum allowable delay time”) according to the identified protocol; and notifies the pattern matching section 13 that the maximum allowable delay time is reached. In the exemplary embodiment, the pattern matching time management section 14 corresponds to the cancellation notification generation means (unit) of the present invention.
The packet type analysis section 15 has functions of receiving a terminal reception packet and analyzing the communication mode of the protocol of the received packet. The packet type analysis section 15 receives a terminal reception packet and returns a protocol identifier corresponding to the input packet.
When receiving the protocol identifier as an input, the maximum allowable delay time database 16 searches, using the protocol identifier as a key, for the maximum allowable delay time that has previously been defined in association with the protocol identifier and returns a result of the search to the pattern matching time management section 14 as a return value.
When receiving a packet from the network 2, the pattern receiving section 12 of the terminal 1 notifies the pattern matching section 13 of the received packet (step a1). The pattern matching section 13 then notifies the pattern matching time management section 14 of this terminal reception packet (step a2).
Further, the pattern matching section 13 executes packet matching processing. When determining as a result of the matching processing that the packet corresponds to an intrusion attack, the pattern matching section 13 discards the packet (step a3).
The pattern matching time management section 14 acquires the current time (step a4). The pattern matching time management section 14 notifies the packet type analysis section 15 of the terminal reception packet so as to request the packet type analysis section 15 to perform protocol analysis of the received packet (step a5).
The packet type analysis section 15 analyzes the protocol of the terminal reception packet based on the structure thereof. The packet type analysis section 15 returns a protocol identifier corresponding to the received packet to the pattern matching time management section 14 as an analysis result (step a6).
The pattern matching time management section 14 notifies the maximum allowable delay time information database 16 so as to know the upper limit of an allowable delay time (step a7).
The maximum allowable delay time information database 16 uses the notified protocol identifier as a key to search a database as shown in
When receiving the packet from the pattern matching section 13, the pattern matching time management section 14 sets a time obtained by adding the current time acquired in step a4 and maximum allowable delay time as a wake-up timer event (step a9).
When the wake-up timer event is generated, the pattern matching time management section 14 fires the pattern matching timer (step a10). Then, the pattern matching time management section 14 notifies the pattern matching section 13 of cancellation of the pattern matching (step a11). Then, the pattern matching section 13 cancels the pattern matching processing and transfers normal packets to the application 11 (step a12).
By providing a function of canceling the pattern matching during execution thereof as described above, it is possible to ensure a real-time processing performance and to minimize lowering of security due to occurrence of unchecked packet.
A second exemplary embodiment of the present invention will next be described with reference to
The terminal 1 according to the present exemplary embodiment additionally includes, with respect to the terminal of the first exemplary embodiment shown in
In order to achieve this function, the pattern matching section 13 of
Further, the pattern matching time management section 14 of
Further, a pattern matching processing time information database 19 is newly provided in the terminal 1. The pattern matching processing time information database 19 has functions of receiving a protocol identifier as a key input and returning an intrusion detection rule detection rule execution order list in which the execution order of the intrusion detection rules is described by a list of intrusion detection rule identifiers to the pattern matching time/execution order management section 18.
The pattern matching time/execution order management section 18 receives, in step a6, a packet type from the packet type analysis section 15 as a return value and, after that, asks the pattern matching processing time information database 19 about the pattern matching execution order (step b1).
The pattern matching processing time information database 19 extracts sets corresponding to the protocol identifier from the table shown in
After the change of the intrusion detection rule execution order, the pattern matching processing time information database 19 returns the intrusion detection rule identifiers in the form of a pattern matching execution order list (step b2).
The pattern matching time/execution order management section 18 notifies the matching order control/pattern matching section 17 of the pattern matching execution order list obtained in step b2 as an argument (step b3).
The matching order control/pattern matching section 17 executes the pattern matching according to the pattern matching execution order list obtained in step b3 (step b4). Then, step a11 follows step b4. As a matter of course, steps a7 to a10 are executed in parallel with step b4.
As described above, the execution order of the intrusion detection rules can dynamically be changed in consideration of the importance and processing time at the communication (protocol) time at which real-time processing is required. Thus, it is possible to execute the matching processing starting from a packet having a higher importance in terms of security within the allowable delay time.
Therefore, even on a protocol providing a strict restriction on a delay, such as VoIP (Voice over Internet Protocol), it is possible to prevent a delay or occurrence of unchecked packets while executing pattern matching of a higher importance.
A third exemplary embodiment of the present invention will be described with reference to
The terminal 1 according to the first exemplary embodiment has a function of canceling the pattern matching processing; on the other hand, in the present exemplary embodiment, an intrusion detection rules that has not been subjected to the pattern matching is passed to a non-inline-type pattern matching section 13b to thereby allow the pattern matching to be performed even after the application 11 has started packet reception.
In order to achieve this function, a non-inline continuous type pattern matching section 13a and a non-inline-type pattern matching section 13b are provided in place of the pattern matching section 13 of
The non-inline continuous type pattern matching section 13a has a function of passing a list of intrusion detection rule that have not been subjected to the pattern matching to the non-inline-type pattern matching section 13b when a notification of the cancellation of the pattern matching is sent to the pattern matching section 13 of
The non-inline-type pattern matching section 13b has functions of receiving the list of intrusion detection rules from the non-inline continuous type pattern matching section 13a and executing the pattern matching for the terminal reception packet in parallel with the packet reception processing by the application 11.
Although the non-inline continuous type pattern matching section 13a and non-inline-type pattern matching section 13b are individually provided in the present exemplary embodiment, it is possible to integrate them as one function. In this case, when a notification of the cancellation of the pattern matching is sent, the packet that is being processed is passed to the application 11 and, at the same time, the pattern matching for the packet is continued.
Operation of the third exemplary embodiment will be described with reference to
That is, the processing from step a1 to a12 is the same as that of the first exemplary embodiment. When receiving a notification of the cancellation of the pattern matching after step a12, the non-inline continuous type pattern matching section 13a passes an unexecuted intrusion detection rule to the non-inline-type pattern matching section 13b together with the reception packet (step c1).
The non-inline-type pattern matching section 13b executes the pattern matching corresponding to the unexecuted intrusion detection rule in parallel with the packet reception processing by the application 11 (step c2).
If the non-inline-type pattern matching section 13b determines that the packet that has been subjected to the pattern matching is an abnormal one, it sends to a corresponding notification to a given system such as the application or system administrator (step c13).
As described above, it is possible to realize a function of executing the pattern matching even after the application 11 starts the packet reception processing by passing the intrusion detection rule that has not been subjected to the pattern matching to the non-inline-type pattern matching section as well as a function of canceling the inline-type pattern matching processing, thereby preventing occurrence of unchecked packets.
A fourth exemplary embodiment of the present invention will next be described with reference to
In the present exemplary embodiment, a function of delaying the packet reception processing of the application 11 until the maximum allowable delay time is reached is added to a communication apparatus having a non-inline-type intrusion detection function, allowing an abnormal packet detected within the maximum allowable delay time to be discarded.
As a result, even a communication apparatus having a non-inline-type intrusion detection function can maintain its real-time processing performance. Further, it is possible to prevent an abnormal packet detected within the maximum allowable delay time from being received by the application by discarding it.
In the present exemplary embodiment, a non-inline packet receiving section 12a is provided in place of the pattern matching section 13 of
The non-inline packet receiving section 12a has functions of receiving a packet, passing the received packet to the non-inline-type pattern matching section 13b for pattern matching, and delaying the packet transfer to the application 11 until the maximum allowable delay time is reached.
When the present exemplary embodiment is actually carried out, the non-inline packet receiving section 12a is implemented in a socket library, and readout of recv ( ) is; blocked until the maximum allowable delay time is reached. The other components of the terminal 1 are the same as those shown in
Operation of the present exemplary embodiment will be described with reference to a sequence diagram of
When the non-inline packet receiving section 12a receives a packet, a notification of the reception packet is sent to the non-inline-type pattern matching section 13b (step a1). At the same time, the reception packet is buffered in a not shown buffer provided inside the non-inline packet receiving section 12a until a notification of the cancellation of the pattern matching is sent thereto and thereby the reception packet is not passed to the application 11 (step d1).
When the pattern matching is canceled (step a12) and a packet reception permission notification is sent from the non-inline-type pattern matching section 13b to non-inline packet receiving section 12a (step d2), the non-inline packet receiving section 12a passes the buffered packet to the application 11 (step d3). The non-inline-type pattern matching section 13b continues the pattern matching and, if the packet is an abnormal one, sends to a corresponding notification to a given system such as the application or system administrator (step d4).
The operations in the above exemplary embodiments can previously be stored as a program in a recording medium such as an ROM (Read Only Memory) and executed by allowing a computer (CPU: Central Processing Unit) to read the program. As the communication terminal 1, a personal computer (including portable type), a mobile communication terminal, a network appliance, and a sensor device can be mentioned. In particular, by applying the present invention to an apparatus whose performance of hardware resources such as processor or memory is limited, the processing delay due to IDS processing can effectively be minimized.
Further, in the above exemplary embodiments, the application 11 is merely an exemplar and it includes a predetermined program such as a system or application.
While the invention has been particularly shown and described with reference to exemplary embodiments thereof, the invention is not limited to these embodiments. It will be understand by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the claims.
Number | Date | Country | Kind |
---|---|---|---|
2006-240915 | Sep 2006 | JP | national |