WO2011152052A1 - 通信制御装置およびパケットフィルタリング方法 - Google Patents

通信制御装置およびパケットフィルタリング方法 Download PDF

Info

Publication number
WO2011152052A1
WO2011152052A1 PCT/JP2011/003097 JP2011003097W WO2011152052A1 WO 2011152052 A1 WO2011152052 A1 WO 2011152052A1 JP 2011003097 W JP2011003097 W JP 2011003097W WO 2011152052 A1 WO2011152052 A1 WO 2011152052A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
condition information
condition
control unit
communication
Prior art date
Application number
PCT/JP2011/003097
Other languages
English (en)
French (fr)
Inventor
明弘 海老名
聖治 久保
Original Assignee
パナソニック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニック株式会社 filed Critical パナソニック株式会社
Priority to JP2011535824A priority Critical patent/JP4861539B1/ja
Priority to US13/318,635 priority patent/US20120311692A1/en
Publication of WO2011152052A1 publication Critical patent/WO2011152052A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0245Filtering by information in the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management

Definitions

  • the present invention relates to a communication control apparatus and a packet filtering method for avoiding attacks on a system from a network such as a Dos attack (Denial of Service attack).
  • a Dos attack Delivery of Service attack
  • ICMP Internet Control Message Protocol
  • the first method is to avoid the attack by grasping the Dos attack pattern contents in advance and discarding packets that match the Dos attack pattern.
  • This method is used in, for example, anti-virus software used for ensuring security on a PC (Personal Computers) or the like.
  • the second method is to selectively receive only the packets that the device uses for communication.
  • a MAC address filtering function mounted on a conventional MAC corresponds to this method.
  • the MAC address filtering function provides security for the receiving device by registering the unicast MAC address of the other device with the receiving device so as not to receive packets other than packets transmitted from the other device. It is a method to secure.
  • the Dos attack technique is evolving day by day, and various patterns of attacks appear. Therefore, in the method of grasping the Dos attack pattern in advance, it is necessary to update the attack pattern as needed.
  • Examples of such communication devices include home appliances such as televisions and hard disk recorders.
  • home appliances such as televisions and hard disk recorders.
  • televisions having a function of acquiring and playing back multimedia contents via the Internet.
  • a television having such a network function is executed only by a communication program installed at the time of factory shipment, and no subsequent communication program is added or deleted.
  • the types of packets used by the television are only the types specified in advance. That is, theoretically, if only the pattern of a specified type of packet is registered as a condition for passing the filter, the Dos attack can be avoided.
  • packet filtering is performed on a LAN (not shown) so as not to affect main processing (for example, channel selection and broadcast data decoding for a television). It is generally performed by hardware such as a local area network controller. This prevents a load for packet filtering from being applied to a CPU (Central Processing Unit) that executes the main processing.
  • CPU Central Processing Unit
  • the present invention is a communication control apparatus having a packet filtering function that allows only packets corresponding to registered conditions to pass through in consideration of the conventional problems described above, without increasing the capacity of a memory for storing the conditions,
  • An object of the present invention is to provide a communication control apparatus that performs packet filtering accurately.
  • a communication control device is a communication control device that is connected to a network and executes one or more communication application programs, the first control unit, A first memory that stores packets to be processed by one or more communication application programs, and a first that indicates N + 1 or more (N is an integer of 1 or more) conditions for specifying packets to be stored in the first memory A storage unit for storing condition information; and a network communication unit for selectively transferring received packets to the first memory, wherein the network communication unit receives a packet transmitted through the network.
  • a second memory for storing second condition information in which up to N conditions among the N + 1 or more conditions are registered, and the reception unit receives A second control unit that performs a filtering process that is a process of transferring a packet that satisfies a condition registered in the second condition information to the first memory, and the first control unit includes: The second condition information is updated using at least one of the N + 1 or more conditions indicated in the first condition information.
  • the first control unit can temporally change a combination of a plurality of conditions stored in the second memory referred to by the second control unit. Thereby, all the conditions necessary for specifying the packet to be transferred to the first memory are used for packet filtering.
  • the second condition information is updated even during a period in which conditions such as addition or deletion of conditions are not updated with respect to the first condition information (a period in which the N + 1 or more conditions are maintained as they are).
  • all of the N + 1 or more conditions can be used as conditions actually used for the filter processing within a predetermined period.
  • the communication control device has a packet filtering function that allows only packets corresponding to the registered condition to pass, and the capacity of the memory (second memory) for storing the condition is increased. Packet filtering can be performed accurately without increasing it.
  • the first control unit when the first control unit updates the second condition information, the first control unit includes the N + 1 or more conditions indicated in the first condition information.
  • An unregistered condition that is not registered in the second condition information at the time of update is read from the first condition information, and the read unregistered condition is one of the conditions indicated in the second condition information
  • the unregistered condition may be registered in the second condition information by replacing with the above condition.
  • the first control unit may repeatedly update the second condition information.
  • the first control unit repeatedly updates the second condition information, so that each of the N + 1 or more conditions indicated in the first condition information May be registered in the second condition information in a predetermined order.
  • the first control unit since the first control unit has only to read the conditions from the first condition information in a predetermined order in the update process of the second condition information, for example, the update process is efficiently executed. Further, for example, all of the conditions for specifying a packet required by the communication control device are surely and equally registered in the second condition information.
  • the first control unit when the first control unit updates the second condition information, when there are a plurality of the unregistered conditions, the first control unit includes a plurality of the unregistered conditions.
  • the first control unit when there are a plurality of the unregistered conditions, the first control unit includes a plurality of the unregistered conditions.
  • the second condition information is registered in order from the longest period not registered in the second condition information. Therefore, for example, all of the conditions for specifying the packet required by the communication control device are surely and equally registered in the second condition information.
  • the first condition information further includes priority information indicating a priority of each condition indicated in the first condition information
  • the first control unit includes: When updating the second condition information, when there are a plurality of unregistered conditions, the unregistered condition with the highest priority among the plurality of unregistered conditions is identified by referring to the priority information. Then, the specified unregistered condition may be read from the first condition information.
  • an unregistered condition having a high priority is reliably identified from a plurality of unregistered conditions and registered in the second condition information. For this reason, for example, processing of a packet having a high priority as a processing target is executed more efficiently.
  • the first control unit when the first control unit updates the second condition information, the first control unit includes the N conditions indicated in the second condition information. A condition with the earliest time registered in the second condition information may be specified, and the specified condition may be replaced with the unregistered condition read from the first condition information by the control unit.
  • the second condition information when the second condition information is updated, the one with the longest continuous period registered in the second condition information at that time is replaced with the unregistered condition. Therefore, for example, it is possible to prevent a bias from occurring in the condition indicated by the second condition information.
  • each of the N + 1 or more conditions is associated with one of the one or more communication application programs, and the first control unit further includes the 1
  • the first condition information may be updated by adding a condition corresponding to the communication application program to be executed to the first condition information.
  • the first condition information that is the supplier of the condition to the second condition information is updated according to the activation status of the communication application program.
  • the second condition information is maintained in a state where only the actually necessary conditions are registered according to the time. Therefore, for example, the efficiency of processing related to packet filtering is further improved.
  • the first control unit further deletes a condition corresponding to the communication application program from the first condition information when the execution of the communication application program is completed. You may do that.
  • an unnecessary condition is surely deleted from the first condition information when it becomes unnecessary. Therefore, for example, the efficiency of processing related to packet filtering is further improved.
  • the present invention can also be realized as a packet filtering method including a characteristic process executed by the communication control apparatus according to any one of the above aspects.
  • the present invention can be realized as a program for causing a computer to execute each process included in the packet filtering method and as a recording medium on which the program is recorded.
  • the program can be distributed via a transmission medium such as the Internet or a recording medium such as a DVD.
  • the present invention can also be realized as an integrated circuit including characteristic components of the communication control device according to any one of the above aspects.
  • the present invention is a communication control apparatus having a packet filtering function that allows only packets that meet registered conditions to pass, and performs communication that accurately performs packet filtering without increasing the capacity of a memory that stores the conditions.
  • a control device can be provided.
  • the system including the communication control device is not destroyed by the Dos attack, and only a packet required by the device can be received using a limited memory capacity.
  • FIG. 1 is a diagram showing a main hardware configuration of a communication control apparatus according to an embodiment of the present invention.
  • FIG. 2 is a block diagram showing a main functional configuration of the communication control apparatus according to the embodiment of the present invention.
  • FIG. 3 is a diagram illustrating an example of a data configuration of the passing packet table according to the embodiment of the present invention.
  • FIG. 4 is a block diagram showing a main functional configuration of the control unit in the embodiment of the present invention.
  • FIG. 5 is a diagram illustrating an example of a data configuration of the device use packet table according to the embodiment of the present invention.
  • FIG. 6A is a flowchart showing a basic processing flow executed by the communication control apparatus according to the embodiment of the present invention.
  • FIG. 6A is a flowchart showing a basic processing flow executed by the communication control apparatus according to the embodiment of the present invention.
  • FIG. 6B is a flowchart showing a flow of a series of processing when the control unit performs update control in the embodiment of the present invention.
  • FIG. 7 is a diagram showing an example of transition of the contents of each table when the processing flow shown in FIG. 6B is executed.
  • FIG. 8 is a diagram illustrating a correspondence example between a packet pattern registered in the device usage packet table and a communication program in the embodiment of the present invention.
  • FIG. 9A is a diagram illustrating a first example of an updated device usage packet table according to the embodiment of the present invention.
  • FIG. 9B is a diagram showing a second example of the updated device usage packet table according to the embodiment of the present invention.
  • FIG. 1 is a diagram showing a main hardware configuration of a communication control apparatus 100 according to an embodiment of the present invention.
  • the communication control device 100 is connected to a LAN 101 that is a wired or wireless communication network, and can communicate with an external device via the LAN 101.
  • the communication control apparatus 100 includes a network interface 102, a first memory 103, a CPU 104, and a hard disk drive (HDD) 105.
  • the network interface 102 is an example of a network communication unit in the communication control apparatus of the present invention.
  • the network interface 102 is hardware that receives data transmitted from an external device via the LAN 101.
  • the network interface 102 has a memory structure such as FIFO and descriptor ring, and can receive a plurality of packets.
  • the first memory 103 is a memory for storing packets used by the communication control device 100 among packets received from the LAN 101.
  • the packet stored in the first memory 103 is read and processed during execution of the communication program stored in the HDD 105.
  • the communication control apparatus 100 communicates with an external device.
  • the HDD 105 is an example of a storage unit in the communication control device of the present invention, and is a storage device that stores a device use packet table in which a packet pattern used by the communication control device 100 is recorded.
  • the HDD 105 also stores a communication control layer and one or more communication programs executed by the 100.
  • the device use packet table will be described later with reference to FIG.
  • the storage unit in the communication control apparatus of the present invention is only required to be able to store information such as a device use packet table, and is a kind of non-volatile storage different from the HDD such as EEPROM (Electrically Erasable and Programmable Read Only Memory). It may be realized by a medium.
  • EEPROM Electrically Erasable and Programmable Read Only Memory
  • the communication program and the device use packet table may be stored in different storage devices.
  • the communication control device 100 is realized as a device that is incorporated in a home appliance such as a television, for example, and that transmits and receives data via a wired or wireless network by executing a communication program.
  • FIG. 2 is a block diagram showing a main functional configuration of the communication control apparatus 100.
  • the network interface 102 includes a packet receiving unit 201, a second control unit 210, and a second memory 200.
  • the second control unit 210 includes a comparison unit 202 and a transfer unit 204.
  • the packet receiving unit 201 receives a packet transmitted from the LAN 101.
  • the second control unit 210 transfers, to the first memory 103, packets that satisfy the conditions registered in the passing packet table 205 stored in the second memory 200 among the packets received by the packet receiving unit 201.
  • Filter processing that is.
  • the filtering process is executed by the comparison unit 202 and the transfer unit 204 performing the following processing.
  • the comparing unit 202 compares each packet received by the packet receiving unit 201 (hereinafter, also simply referred to as “received packet”) with a condition for transfer to the first memory 103.
  • the comparison unit 202 compares each received packet with N packet patterns (N is an integer equal to or greater than 1) indicated in the passing packet table 205 stored in the second memory 200.
  • the comparison unit 202 has a discard unit 203.
  • the discarding unit 203 receives a received packet that is determined not to correspond to any of the N packet patterns, that is, a received packet that is determined not to be transferred to the first packet. Discard before being transferred to 103.
  • the second control unit 210 may determine whether or not the received packet corresponds to one of N packet patterns by a process other than the comparison process. For example, the second control unit 210 may make the determination by substituting information such as a transmission source address acquired from the received packet into a predetermined function including information indicating N packet patterns.
  • the received packet determined not to be transferred to the first packet may not be transferred from the network interface 102 to the first memory 103, and the processing method may be a method other than discarding.
  • the processing method may be stored in a predetermined storage device for analysis of attack patterns.
  • the transfer unit 204 transfers the received packet to the first memory 103 when the received packet corresponds to any one of N packet patterns as a result of the comparison by the comparing unit 202. As a result, the received packet is stored in the first memory 103.
  • the second memory 200 is a memory for storing the passing packet table 205 as described above.
  • the passing packet table 205 is a table in which conditions for specifying packets to be received by the communication control apparatus 100 are registered. A data configuration example of the passing packet table 205 will be described later with reference to FIG.
  • the first control unit 206 updates the passing packet table 205. Specifically, the first control unit 206 can newly register a pattern of a packet to be transferred to the first memory 103 and can delete an already registered pattern.
  • the packet pattern registered in the device use packet table 405 stored in the HDD 105 is used.
  • the update process by the first control unit 206 and the filter process by the second control unit 210 are realized by the CPU 104 executing a control program (not shown) stored in the HDD 105, for example. .
  • the execution unit 207 is a processing unit that executes one or more communication programs stored in the HDD 105, and is realized by the CPU 104, for example.
  • the execution unit 207 reads and processes the packet stored in the first memory 103 by executing the communication program.
  • the second memory 200 in which the passing packet table 205 is stored is realized by a memory in the network interface 102 configured by hardware.
  • the maximum number of patterns that can be registered is about several tens to several hundreds, which is very small compared to packet patterns that should be received by a device including the network interface card. Is.
  • a packet not required by the communication control apparatus 100 is a Dos attack packet (hereinafter referred to as an “attack packet”) in the network interface 102 configured as hardware. It can be recognized that there is. A packet recognized as an attack packet can be discarded before being transferred to the first memory 103. As a result, it is possible to reduce the bus usage rate due to data transfer, and to suppress the processing load on the CPU 104 generated as a result of unnecessary data transfer.
  • attack packet a Dos attack packet in the network interface 102 configured as hardware.
  • FIG. 3 is a diagram illustrating an example of a data configuration of the passing packet table 205.
  • the passing packet table 205 is an example of second condition information in the communication control apparatus of the present invention, and is a table that can register up to N conditions among N + 1 or more conditions shown in the device usage packet table 405. .
  • the “condition” is a packet pattern composed of one or more pieces of attribute information of the packet.
  • N is an example for clarifying the description of the embodiment, and is not limited to a specific number.
  • the comparison unit 202 compares the received packet with the information shown in the passing packet table 205. As a result of the comparison, when the received packet matches any packet pattern shown in the passing packet table 205, the comparison unit 202 transfers the packet to the first memory 103 via the transfer unit 204. If they do not match, the discard unit 203 discards the received packet.
  • each packet pattern registered in the passing packet table 205 includes a source MAC address indicated in the Ether frame header, a source IP address indicated in the IP header, and a protocol, as shown in FIG. This is a combination of the type and destination port information indicated in the TCP header or UDP header.
  • the information constituting the packet pattern is not limited to these header information, and may be information included in other fields in the header of the packet. Further, the information is not limited to the header information, and information may be acquired from the data portion of various protocols and registered in the passing packet table 205 as information indicating a packet pattern to be passed. That is, information other than the header information may be used for the comparison process by the comparison unit 202.
  • FIG. 4 is a block diagram showing the main functional configuration of the first control unit 206.
  • the first control unit 206 includes an entry number acquisition unit 401, a table update unit 402, an update control unit 403, and a timer 404.
  • the entry number acquisition unit 401 acquires the total number of entries in the passing packet table 205.
  • the table updating unit 402 registers packet patterns in the passing packet table 205 and deletes packet patterns from the passing packet table 205.
  • the update control unit 403 identifies a packet pattern to be added to the passing packet table 205 from the device use packet table 405 and causes the table update unit 402 to register the packet pattern. Further, the update control unit 403 identifies a packet pattern to be deleted along with this registration, and causes the table update unit 402 to delete it. That is, the update control unit 403 can cause the table update unit 402 to perform packet pattern replacement.
  • the timer 404 notifies the update control unit 403 of the update timing.
  • the device use packet table 405 all packet patterns used by the communication control apparatus 100 are recorded. That is, a packet pattern for specifying all packets to be transferred from the network interface 102 to the first memory 103 is recorded in the device use packet table 405.
  • the device use packet table 405 for example, a pattern of a packet used by the communication control device 100 when the communication control device 100 is shipped from the factory is recorded.
  • the pattern of the packet used by the device may be updated according to the activation status of the communication program in the communication control apparatus 100. Such update of the device use packet table 405 will be described later with reference to FIG.
  • the timer 404 notifies the update control unit 403 of timing (update timing) to be updated at regular intervals.
  • the timer 404 has a function of notifying the update control unit 403 of the update timing at regular intervals such as every 10 ms or every 100 ms.
  • the update control unit 403 acquires the total number of entries in the passing packet table 205 via the entry number acquisition unit 401 when the communication program is started. Further, the update control unit 403 reads packet patterns corresponding to the total number of entries from the device use packet table 405. The read packet pattern is registered in the passing packet table 205 by the table updating unit 402.
  • the timer 404 notifies the update control unit 403 to perform the update 100 ms after the first registration.
  • the update control unit 403 acquires a packet pattern not registered in the passing packet table 205 from the device use packet table 405 and replaces it with a pattern already registered in the passing packet table 205. In this way, the passing packet table 205 is updated.
  • FIG. 5 is a diagram illustrating an example of a data configuration of the device use packet table 405.
  • the device use packet table 405 is an example of first condition information in the communication control apparatus 100 of the present invention, and is a table indicating N + 1 or more conditions for specifying a packet to be stored in the first memory 103. That is, it is a table in which conditions for specifying a packet required by the communication control apparatus 100 are recorded.
  • the number of patterns “4” is an example for clarifying the description of the embodiment, and is not limited to a specific number.
  • Each entry has “registration pattern”, “registration order”, and “registering flag” as data items. Each entry is given an entry number.
  • “Registration pattern” is an item indicating a packet pattern to be registered in the passing packet table 205.
  • “Registration order” is an item indicating the order in which the packet pattern of the entry is registered in the passing packet table 205.
  • “Registering flag” is an item for identifying whether or not the packet pattern of the entry is registered in the passing packet table 205.
  • pattern 1 and the like are shown, but as “registration pattern”, information having the same data configuration as “pattern” in passing packet table 205 shown in FIG. 3 is registered.
  • “Registration order” is an item indicating a numerical value to be counted up in order, and the order in which the update control unit 403 registers the pattern of the entry in the passing packet table 205 is recorded. For example, in the example shown in FIG. 5, it is shown that the registration pattern of entry number “1”, the registration pattern of entry number “2”, and the registration pattern of entry number “3” are registered in the passing packet table 205 in this order.
  • “Registering flag” is an item used to identify whether or not the registration pattern of the entry is being registered in the passing packet table 205. Specifically, an entry that is being registered in the passing packet table 205 is recorded as “registered”, and an entry that is not registered in the passing packet table 205 is recorded as “not registered”.
  • the update control unit 403 can search for an entry to be updated next from the registration order and the registering flag shown in the device use packet table 405.
  • the entry is registered in the passing packet table 205 in the past as the registration flag is “registered” and the numerical value in the registration order is smaller.
  • the entry registered in the passing packet table 205 is the earliest entry. Therefore, it is possible to determine that the packet pattern shown in the entry is a replacement target with priority.
  • an entry that has a non-registration period in the passing packet table 205 is longer as the registration flag is “not registered” and the numerical value in the registration order is smaller. In other words, the entry has the longest period since it was deleted from the passing packet table 205 in the past. Therefore, it is possible to determine that the packet pattern indicated in the entry is a registration target with priority.
  • FIG. 6A is a flowchart showing a basic processing flow executed by the communication control apparatus 100 according to the embodiment of the present invention.
  • the first control unit 206 updates the passing packet table 205 using the information shown in the device usage packet table 405 (S100).
  • the second control unit 210 performs a filtering process on the packet received by the packet receiving unit 201 based on the conditions registered in the updated passing packet table 205 (S110). Specifically, the following processing is performed by the comparison unit 202 and the transfer unit 204.
  • the comparison unit 202 compares the received packet with the packet pattern shown in the passed packet table 205 after being updated by the first control unit 206. As a result, it is determined whether or not the received packet satisfies the conditions shown in the updated passing packet table 205 (S110).
  • the received packet is transferred and stored in the first memory 103 by the transfer unit 204 (S120).
  • the received packet is discarded by the discarding unit 203 in the present embodiment.
  • FIG. 6B is a flowchart showing a flow of a series of processes when the first control unit 206 performs update control.
  • the update control unit 403 included in the first control unit 206 initializes the device use packet table 405 at the initial time such as when the communication program is started (S601). In the initial state, since the passing packet table 205 is unused, the update control unit 403 sets the registration order of each entry in the device use packet table 405 via the table update unit 402 to “0”, and sets a registration flag. “Not registered”. As a result, the device use packet table 405 is initialized.
  • the update control unit 403 determines whether the number of entries M registered in the device usage packet table 405 is greater than the maximum number of entries N that can be registered in the passing packet table 205 (S604).
  • the update control unit 403 determines that all entries registered in the device use packet table 405 can be registered in the passing packet table 205. As a result, the update control unit 403 registers the packet patterns of all entries shown in the device usage packet table 405 in the passing packet table 205 (S605), and ends the process related to updating the passing packet table 205.
  • the update control unit 403 performs update processing for sequentially rewriting the contents of the passing packet table 205. Specifically, the following processing is performed.
  • the update control unit 403 registers N that can be registered in the passing packet table 205 from the number M of entries registered in the device usage packet table 405 (S606).
  • the update control unit 403 extracts, for example, three entries corresponding to pattern 1 to pattern 3 from the four entries in the device usage packet table 405.
  • the update control unit 403 controls the table update unit 402 to register the extracted three packet patterns in the passing packet table 205.
  • the update control unit 403 updates the registration order and the registration flag of the three entries in the device usage packet table 405 that are registered in the process of S606 (S607). Specifically, the update control unit 403 assigns a numerical value from 1 to 3 to the registration order as the registration order of the corresponding three entries, and updates the registering flag to “registered”. As a result, the device use packet table 405 has the contents shown in FIG.
  • the update control unit 403 determines whether a certain time has elapsed (S608). Specifically, the update control unit 403 determines whether or not a notification is generated from the timer 404. If not (No in S608), the update control unit 403 returns to S608 and waits until a notification is generated.
  • the update control unit 403 acquires an entry whose registration flag is “unregistered” from the device use packet table 405 (S609). In the case of this example, the update control unit 403 acquires an entry corresponding to pattern 4 in the device usage packet table 405.
  • the update control unit 403 further acquires an entry pattern whose registration flag is “registered” from the device use packet table 405 (S610). Specifically, the update control unit 403 further acquires these three entries because the entries corresponding to pattern 1 to pattern 3 in the device usage packet table 405 are “registered”.
  • the update control unit 403 identifies the pattern to be changed from the entries acquired in S609 and S610 (S611).
  • the update control unit 403 specifies the entry with the smallest numerical value in the registration order from the three entries acquired in S610.
  • the pattern 1 of the passing packet table 205 is specified as a pattern to be replaced with the pattern 4 acquired in S609.
  • the update control unit 403 controls the table update unit 402 to register the unregistered pattern acquired in S609 in the passing packet table 205 (S612). Specifically, the table update unit 402 replaces the contents of pattern 1 in the passing packet table 205 with the contents of pattern 4 shown in the device usage packet table 405.
  • the update control unit 403 returns to S607 and updates the registration order of the entries in the device use packet table 405 and the registration flag. Specifically, the update control unit 403 updates the registering flag of the pattern 1 entry from “registered” to “not registered”, and changes the registering flag of pattern 4 from “not registered” to “registered”. Update. The update control unit 403 updates the registration order of each entry to the latest value. That is, at this time, “4” is recorded in the device usage packet table 405 as the registration order of the pattern 4.
  • FIG. 7 is a diagram showing an example of transition of the contents of each table when the processing flow shown in FIG. 6B is executed.
  • the notification timing of the timer 404 is assumed to be 100 ms.
  • the pattern with the earliest registration time in the passing packet table 205 among the three patterns of the passing packet table 205 is stored in the passing packet table 205 at the time of the update. It is replaced with a pattern that is not registered.
  • an attack packet that does not correspond to any packet pattern shown in the passing packet table 205 cannot pass through the network interface 102, and the communication control apparatus 100 is protected from the Dos attack.
  • the number of patterns registered in the device usage packet table 405 is two or more than the maximum number of entries N that can be registered in the passing packet table 205.
  • the first control unit 206 when there are a plurality of unregistered patterns, the first control unit 206, for example, among the plurality of unregistered patterns, the unregistered pattern with the longest period after being deleted from the passing packet table 205 in the past. Is identified. In short, the first control unit 206 identifies an unregistered pattern having the longest period that is not used for packet filtering.
  • the first control unit 206 further reads the specified unregistered pattern from the device use packet table 405 and replaces it with the packet pattern having the longest period registered in the passing packet table 205.
  • each of the plurality of packet patterns registered in the device use packet table 405 is sequentially and reliably and equally registered in the passing packet table 205.
  • comparison of periods after deletion from the passing packet table 205 and comparison of periods registered in the passing packet table 205 compare numerical values in the registration order of each packet pattern. Can be specified.
  • the update control unit 403 uses the device use packet table to indicate the last registration time in the passing packet table 205 for each of the plurality of packet patterns and the last deletion time from the passing packet table 205 for each of the plurality of packet patterns. 405 may be recorded.
  • the passage packet table 205 may not be updated every predetermined time (in the example shown in FIG. 7, every 100 ms). That is, the update interval of the passing packet table 205 may not be constant. The update of the passing packet table 205 may be repeated so that all packet patterns necessary for packet filtering appear in the passing packet table 205.
  • the communication control apparatus 100 has a packet filtering function. Specifically, only the received packet corresponding to the packet pattern registered in the passing packet table 205 is passed through the network interface 102 and stored in the first memory 103 as a processing target of the communication program. A received packet that does not correspond to any of these packet patterns is discarded as a Dos packet.
  • the combination of packet patterns held in the passing packet table 205 is switched by time sharing. In addition, the passing packet table 205 is updated.
  • the procedure for updating the passing packet table 205 shown in FIG. 7 is an example, and the present invention is not limited to this procedure. For example, it is assumed that the maximum value that can be registered in the passing packet table 205 is 3 and the number of patterns registered in the device usage packet table 405 is 5 or more.
  • the update control unit 403 may simultaneously replace two or more patterns among the three patterns registered in the passing packet table 205.
  • the passing packet table 205 is updated so that each of a plurality of packet patterns corresponding to all types of received packets that are essentially necessary appears in the passing packet table 205 at any timing of repeated updating. It only has to be done.
  • the priority of the packet pattern registered in the device usage packet table 405 may be determined in consideration of the activation frequency of the communication program corresponding to each packet pattern, the type of processing, and the like.
  • a packet pattern corresponding to a communication program that is constantly activated or most frequently activated among a plurality of communication programs executed by the communication control apparatus 100 has a high priority.
  • a packet pattern corresponding to a communication program for receiving and outputting an emergency broadcast informing information such as a disaster can be said to have a high priority.
  • a packet pattern corresponding to a communication program for decoding and displaying moving image stream data (that is, a packet pattern for identifying the stream data) has a high priority from the viewpoint of smooth reproduction of moving images. I can say that.
  • priority information (numerical value or the like) indicating the priority determined according to the activation frequency of the communication program corresponding to each entry or the type of processing to be executed is stored in each entry of the device usage packet table 405. Is added.
  • the first control unit 206 when updating the passing packet table 205, the first control unit 206 reads the packet pattern having the highest priority from a plurality of packet patterns not registered in the passing packet table 205 from the device use packet table 405. . The first control unit 206 further replaces the read packet pattern with, for example, a packet pattern having the lowest priority in the passing packet table 205.
  • the packet pattern having a high priority is maintained in the state registered in the passing packet table 205 for a longer period than the packet pattern having a low priority.
  • the device use packet table 405 that is the source of the packet pattern to the passing packet table 205 may be updated.
  • FIG. 8 is a diagram showing an example of correspondence between packet patterns registered in the device usage packet table 405 and communication programs.
  • patterns 1 to 4 correspond to communication programs [A] to [D], respectively.
  • the received packet corresponding to the pattern 1 is a packet processed by [A].
  • the device use packet table 405 may be updated according to the activation status of the communication program.
  • FIG. 9A is a diagram illustrating a first example of the updated device usage packet table 405, and FIG. 9B is a diagram illustrating a second example of the updated device usage packet table 405.
  • This registration process is performed, for example, when the update control unit 403 registers the patterns 1 and 3 in the device use packet table 405 according to the activated instructions [A] and [C].
  • the information indicating the patterns 1 and 3 may be held in [A] and [C].
  • the device use packet table 405 is stored in the HDD 105. It may be stored separately.
  • the update control unit 403 registers the pattern 2 corresponding to [B] in the device use packet table 405.
  • the pattern 2 is read from the device use packet table 405 and registered in the passing packet table 205.
  • the update control unit 403 After this, for example, when the communication program [A] ends (that is, when execution of [A] ends and [A] shifts to a non-startup state), for example, the update control unit 403 Then, the pattern 1 is deleted from the device use packet table 405.
  • the passing packet table 205 is updated as shown in FIG. As a result, each of the four packet patterns intermittently appears in the passing packet table 205.
  • the maximum number N of entries that can be registered in the passing packet table 205 is 3 and the total number of packet patterns used for packet filtering is 10. Under this assumption, even if the activation status of each communication program is taken into consideration, for example, when the number of activated communication programs becomes 5, the passing packet table 205 needs to be updated.
  • the passing packet table 205 may be updated according to the activation status of the communication program without updating the device use packet table 405.
  • the first control unit 206 updates the passing packet table 205, it confirms which communication program is being activated.
  • the first control unit 206 further reads out a packet pattern corresponding to the active communication program and unregistered in the passing packet table 205 at the time of the update from the device use packet table 405 and registers it in the passing packet table 205. To do.
  • the read unregistered pattern is replaced with the packet pattern corresponding to the communication program that has not been started or the packet pattern with the longest period registered in the passing packet table 205.
  • the network interface 102 is configured by hardware. That is, the communication control apparatus 100 performs packet filtering by hardware.
  • the CPU 104 may perform packet filtering by referring to the passing packet table 205 stored in a predetermined storage medium.
  • the CPU 104 may compare the received packet with a smaller number of packet patterns than the total number of packet patterns necessary for packet filtering. For this reason, more efficient packet filtering is executed than when all the packet patterns necessary for packet filtering are used for comparison.
  • the communication control device has been described based on the embodiment.
  • the present invention is not limited to these embodiments. Unless it deviates from the gist of the present invention, various modifications conceived by those skilled in the art have been made in the present embodiment, or forms constructed by combining a plurality of the above-described constituent elements are within the scope of the present invention. include.
  • the present invention is useful as a communication device that transmits and receives information and a home appliance such as a television, and as a communication control device provided in the communication device and the home appliance.
  • Communication control device 101 LAN 102 Network interface 103 First memory 104 CPU 105 HDD 200 Second memory 201 Packet receiving unit 202 Comparison unit 203 Discarding unit 204 Transfer unit 205 Passed packet table 206 First control unit 207 Execution unit 210 Second control unit 401 Number of entries acquisition unit 402 Table update unit 403 Update control unit 404 Timer 405 Device use packet table

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 1以上の通信アプリケーションプログラムを実行する通信制御装置(100)であって、第一制御部(206)と、第一メモリ(103)と、第一条件情報(405)を記憶する記憶部(105)と、ネットワーク通信部(102)とを備え、ネットワーク通信部(102)は、受信部(201)と、第二条件情報(205)を記憶する第二メモリ(200)と、受信部(201)が受信したパケットのうち、第二条件情報(205)に登録されている条件に該当するパケットを第一メモリ(103)に転送する処理であるフィルタ処理を行う第二制御部(210)とを有し、第一制御部(206)は、第一条件情報(405)に示されるN+1個以上の条件のうちの少なくとも1つの条件を用いて、第二条件情報(205)の更新を行う。

Description

通信制御装置およびパケットフィルタリング方法
 本発明は、Dos攻撃(Denial of Service攻撃)等の、システムに対するネットワークからの攻撃を回避する、通信制御装置およびパケットフィルタリング方法に関する。
 従来、ネットワーク機能を有する機器に対して、短時間に大量のデータ送信し、当該ネットワーク機器に対して高負荷を与えることにより、サービスおよびシステムを利用不能にさせるDos攻撃と言われるものがある。
 Dos攻撃には、ICMP(Internet Control Message Protocol)と呼ばれるプロトコルを利用して短時間に膨大な数のICMP Echo Requestパケットを送信する攻撃方法などがよく知られている。従来、このようなDos攻撃を行うにはネットワークの知識が必要であった。
 しかし、近年では、容易に利用できるDos攻撃ツールなどが広がっている。そのため、ネットワークの知識の乏しいユーザであっても簡単に攻撃可能な環境が整ってきている。その結果、ICMPに限らず様々な種類のDos攻撃をすることが可能となっている。
 このようなDos攻撃を回避する方法として、大きく2通りの方法がある。
 1つ目は、事前にDos攻撃のパターン内容を把握しておきDos攻撃パターンにマッチするパケットを破棄することで攻撃を回避する方法である。この方法は、例えば、PC(Personal Computers)等で、セキュリティを確保する為に使用されるウイルス対策ソフトで用いられている。
 2つ目は、機器が通信に利用するパケットのみを選択的に受信する方法である。例えば、従来のMAC(Media Access Control)に搭載されているMACアドレスフィルタリング機能などが当該方法に該当する。
 MACアドレスフィルタリング機能とは、受信機器に他の機器のユニキャストMACアドレスを登録することにより、当該他の機器から送信されるパケット以外のパケットを受信しないようにすることで当該受信機器に対するセキュリティを確保する方法である。
 また、ファイアウォールを実現する先行例の一例として、特許文献1に記載のように、パケットパターンをハッシュ化してテーブルに登録する方法がある。
特開2007-142664号公報
 ここで、Dos攻撃の手法は日々進化しており様々なパターンによる攻撃が登場するため、事前にDos攻撃のパターンを把握する方法においては、攻撃パターンを随時更新する必要がある。
 そのため、この方法は、PC等の利用用途が特定されていない機器、例えば、使用目的に応じて通信アプリケーションプログラム(以下、単に「通信プログラム」という。)を追加および削除することが一般的である機器においては有用である。
 しかし、実行するサービスが特定されている通信機器においては、通信に利用するパケットのみを受信する方法を用いた方が効率の良いDos攻撃回避を行うことが可能である。
 このような通信機器としては、テレビおよびハードディスクレコーダなどの家電機器が例示される。例えば、近年、インターネットを介してマルチメディアコンテンツを取得し再生する機能を有するテレビが存在する。このようなネットワーク機能を有するテレビは、原則として工場出荷時に組み込まれた通信プログラムのみが実行され、事後的な通信プログラムの追加および削除は行われない。
 そのため、当該テレビが使用するパケットの種類は原則として予め特定される種類のみである。つまり、理論上、特定される種類のパケットのパターンのみをフィルタを通過させる条件として登録しておけば、Dos攻撃を回避することができる。
 また、このような組み込み機器では、PC等とは異なり、主要な処理(例えば、テレビであれば、チャンネルの選択および放送データの復号など)に影響を与えないように、パケットフィルタリングは、LAN(Local Area Network)コントローラ等の、ハードウェアで行われることが一般的である。これにより、当該主要な処理を実行するCPU(Central Processing Unit)にパケットフィルタリングのための負荷をかけることが防止される。
 ここで、機器に必要なパケットのパターンのみをフィルタに登録し、登録されたパターンに該当しないパケットをDosパケットと判断する考えを、従来のパケットフィルタリングの機能に適用することを想定する。この場合、登録可能なパターン数は有限である一方で、様々なサービスの実現のために、機器が必要とするパケットのパターン数は増加傾向にある。そのため、パケットフィルタリングに必要なパケットパターンを全て登録できないといった課題がある。
 なお、例えば特許文献1に記載の技術のように、ハッシュ化を利用する事で、パケットパターンの登録数を増やすことは可能である。しかし、必要なパケットパターンを全て登録できないといった課題の根本的解決にはならない。
 特に、上述のように、パケットフィルタリングをハードウェアで実現することを考えた場合、登録可能なパターン数を増やすということは、当該ハードウェアが備えるメモリの容量を増加させる必要が生じる。しかしながら、例えば生産コストを考慮すると、メモリ容量を増加させることは課題を解決する方策としては適切ではない。
 本発明は上記従来の課題を考慮し、登録されている条件に該当するパケットのみを通過させるパケットフィルタリング機能を有する通信制御装置であって、当該条件を格納するメモリの容量を増加させることなく、的確にパケットフィルタリングを行う通信制御装置を提供することを目的とする。
 上記従来の課題を解決するために、本発明の一態様に係る通信制御装置は、ネットワークに接続され、1以上の通信アプリケーションプログラムを実行する通信制御装置であって、第一制御部と、前記1以上の通信アプリケーションプログラムに処理されるパケットを蓄積する第一メモリと、前記第一メモリに蓄積すべきパケットを特定するためのN+1個以上(Nは1以上の整数)の条件を示す第一条件情報を記憶する記憶部と、受信したパケットを選択的に前記第一メモリに転送するネットワーク通信部とを備え、前記ネットワーク通信部は、前記ネットワークを介して送信されるパケットを受信する受信部と、前記N+1個以上の条件のうちのN個までの条件が登録される第二条件情報を記憶する第二メモリと、前記受信部が受信したパケットのうち、前記第二条件情報に登録されている条件に該当するパケットを前記第一メモリに転送する処理であるフィルタ処理を行う第二制御部と、を有し、前記第一制御部は、前記第一条件情報に示される前記N+1個以上の条件のうちの少なくとも1つの条件を用いて、前記第二条件情報の更新を行う。
 この構成により、例えば第二メモリの容量が小さいために、当該通信制御装置が必要とするパケットを特定するための条件の全てを第二条件情報に登録できない場合であっても、これら全ての条件のそれぞれを、パケットフィルタリングに用いることが可能となる。
 具体的には、第一制御部が、第二制御部に参照される第二メモリに格納された複数の条件の組み合わせを時間的に変更することができる。これにより、第一メモリに転送すべきパケットを特定するために必要な条件の全てがパケットフィルタリングに用いられる。
 つまり、第一条件情報に対し条件の追加または削除などの更新が行われていない期間(当該N+1個以上の条件がそのまま維持されている期間)であっても第二条件情報の更新は実行される。その結果、所定の期間内に、当該N+1個以上の条件の全てを、フィルタ処理に実際に用いられる条件として用いることができる。
 これにより、当該通信制御装置が必要とするパケットのみを第一メモリに格納させ、かつ、それ以外のパケットを確実に破棄等することができる。
 従って、本態様の通信制御装置によれば、登録されている条件に該当するパケットのみを通過させるパケットフィルタリング機能を有する通信制御装置であって、条件を格納するメモリ(第二メモリ)の容量を増加させることなく、的確にパケットフィルタリングを行うことができる。
 また、本発明の一態様に係る通信制御装置において、前記第一制御部は、前記第二条件情報の更新を行う場合、前記第一条件情報に示される前記N+1個以上の条件のうち、当該更新の時点で前記第二条件情報に登録されていない条件である未登録条件を前記第一条件情報から読み出し、読み出した未登録条件を、前記第二条件情報に示される条件のうちのいずれかの条件と置き換えることで前記未登録条件を前記第二条件情報に登録するとしてもよい。
 この構成によれば、パケットフィルタリングにおける比較処理に用いられる第二条件情報の更新の際に、その時点で、第二条件情報に登録されていない条件が確実に特定され、第二条件情報に登録される。これにより、例えば、より効果的なパケットフィルタリングが実行される。
 また、本発明の一態様に係る通信制御装置において、前記第一制御部は、前記第二条件情報の更新を繰り返し行うとしてもよい。
 この構成によれば、第二条件情報の更新が随時行われるため、例えば、当該通信制御装置が必要とするパケットの処理がより効率よく実行される。
 また、本発明の一態様に係る通信制御装置において、前記第一制御部は、前記第二条件情報の更新を繰り返し行うことで、前記第一条件情報に示される前記N+1個以上の条件のそれぞれを、所定の順序で前記第二条件情報に登録するとしてもよい。
 この構成によれば、第一制御部は、第二条件情報の更新処理において、所定の順序で第一条件情報から条件を読み出していけばよいため、例えば更新処理が効率よく実行される。また、例えば、当該通信制御装置が必要とするパケットを特定するための条件の全てが、確実かつ平等に第二条件情報に登録される。
 また、本発明の一態様に係る通信制御装置において、前記第一制御部は、前記第二条件情報の更新を行う場合、前記未登録条件が複数あるときは、複数の前記未登録条件の中で、過去に前記第二条件情報から削除されてからの期間が最も長い未登録条件を特定し、特定した未登録条件を前記第一条件情報から読み出すとしてもよい。
 この構成によれば、第二条件情報に登録されていない期間が長いものから順に、第二条件情報に登録される。そのため、例えば、当該通信制御装置が必要とするパケットを特定するための条件の全てが、確実かつ平等に第二条件情報に登録される。
 また、本発明の一態様に係る通信制御装置において、前記第一条件情報はさらに、前記第一条件情報に示される条件それぞれの優先度を示す優先度情報を含み、前記第一制御部は、前記第二条件情報の更新を行う場合、前記未登録条件が複数あるときは、前記優先度情報を参照することで、複数の前記未登録条件の中で最も優先度の高い未登録条件を特定し、特定した未登録条件を前記第一条件情報から読み出すとしてもよい。
 この構成によれば、複数の未登録条件の中から優先度の高い未登録条件が確実に特定され、第二条件情報に登録される。そのため、例えば、処理の対象としての優先度が高いパケットの処理が、より効率よく実行される。
 また、本発明の一態様に係る通信制御装置において、前記第一制御部は、前記第二条件情報の更新を行う場合、前記第二条件情報に示される前記N個までの条件のうち、前記第二条件情報に登録された時期が最も早い条件を特定し、特定した条件を、前記制御部が前記第一条件情報から読み出した前記未登録条件と置き換えるとしてもよい。
 この構成によれば、第二条件情報の更新の際に、その時点で第二条件情報に登録されている連続期間が最も長いものが、未登録条件と置き換えられる。そのため、例えば、第二条件情報に示される条件に偏りが発生することが防止される。
 また、本発明の一態様に係る通信制御装置において、前記N+1個以上の条件のそれぞれは、前記1以上の通信アプリケーションプログラムのいずれかと対応付けられており、前記第一制御部はさらに、前記1以上の通信アプリケーションプログラムのいずれかが実行される際に、実行される通信アプリケーションプログラムに対応する条件を前記第一条件情報に追加することで、前記第一条件情報を更新するとしてもよい。
 この構成によれば、第二条件情報への条件の供給元である第一条件情報が、通信アプリケーションプログラムの起動状況に応じて更新される。これにより、第二条件情報は、時期に応じて実際に必要な条件のみが登録された状態に維持される。従って、例えば、パケットフィルタリングに係る処理の効率性がより向上する。
 また、本発明の一態様に係る通信制御装置において、前記第一制御部はさらに、前記通信アプリケーションプログラムの実行が終了した場合、前記通信アプリケーションプログラムに対応する条件を、前記第一条件情報から削除するとしてもよい。
 この構成によれば、不要となった条件は、不要となった時点で確実に第一条件情報から削除される。従って、例えば、パケットフィルタリングに係る処理の効率性がより向上する。
 また、本発明は、上記いずれかの態様の通信制御装置が実行する特徴的な処理を含むパケットフィルタリング方法として実現することもできる。また、当該パケットフィルタリング方法が含む各処理をコンピュータに実行させるためのプログラムとして実現すること、および、そのプログラムが記録された記録媒体として実現することもできる。そして、そのプログラムをインターネット等の伝送媒体又はDVD等の記録媒体を介して配信することもできる。
 また、本発明は、上記いずれかの態様の通信制御装置の特徴的な構成部を備える集積回路として実現することもできる。
 本発明は、登録されている条件に該当するパケットのみを通過させるパケットフィルタリング機能を有する通信制御装置であって、当該条件を格納するメモリの容量を増加させることなく、的確にパケットフィルタリングを行う通信制御装置を提供することができる。
 これにより、当該通信制御装置を備えるシステムがDos攻撃により破壊されることなく、かつ、有限のメモリ容量を活用して機器が必要とするパケットのみを受信することが可能となる。
図1は、本発明の実施の形態の通信制御装置の主要なハードウェア構成を示す図である。 図2は、本発明の実施の形態の通信制御装置の主要な機能構成を示すブロック図である。 図3は、本発明の実施の形態における通過パケットテーブルのデータ構成の一例を示す図である。 図4は、本発明の実施の形態における制御部の主要な機能構成を示すブロック図である。 図5は、本発明の実施の形態における機器使用パケットテーブルのデータ構成の一例を示す図である。 図6Aは、本発明の実施の形態の通信制御装置が実行する基本的な処理の流れを示すフロー図である。 図6Bは、本発明の実施の形態における制御部が更新制御を行う際の一連の処理の流れを示すフロー図である。 図7は、図6Bに示す処理フローが実行された場合における、各テーブルの内容の遷移の一例を示す図である。 図8は、本発明の実施の形態における機器使用パケットテーブルに登録されたパケットパターンと、通信プログラムとの対応例を示す図である。 図9Aは、本発明の実施の形態における更新後の機器使用パケットテーブルの第一の例を示す図である。 図9Bは、本発明の実施の形態における更新後の機器使用パケットテーブルの第二の例を示す図である。
 以下、本発明を実施するための形態について、図面を参照しながら説明する。
 まず、本発明の実施の形態の通信制御装置の構成について図1~図5を用いて説明する。
 図1は、本発明の実施の形態の通信制御装置100の主要なハードウェア構成を示す図である。
 通信制御装置100は、有線または無線の通信ネットワークであるLAN101に接続されており、LAN101を介して外部機器と通信を行うことができる。
 また、通信制御装置100は、ネットワークインターフェース102と、第一メモリ103と、CPU104と、ハードディスクドライブ(HDD)105とを備える。
 ネットワークインターフェース102は、本発明の通信制御装置におけるネットワーク通信部の一例である。ネットワークインターフェース102は、本実施の形態では、外部機器からLAN101を介して送信されるデータを受信するハードウェアである。具体的には、ネットワークインターフェース102は、FIFOおよびディスクリプタリングなどのメモリ構造を有し、複数のパケットを受信することができる。
 第一メモリ103は、LAN101ら受信したパケットのうちの、通信制御装置100が使用するパケットを格納するためのメモリである。第一メモリ103に格納されたパケットは、HDD105に記憶されている通信プログラムの実行中に読み出され、処理される。
 つまり、CPU104が、第一メモリ103に格納されているパケットを処理することで、通信制御装置100は外部機器と通信を行う。
 HDD105は、本発明の通信制御装置における記憶部の一例であり、通信制御装置100が使用するパケットのパターンが記録された機器使用パケットテーブルを記憶する記憶装置である。また、HDD105には、通信制御層と100が実行する1以上の通信プログラムも記憶されている。機器使用パケットテーブルについては、図5を用いて後述する。
 なお、本発明の通信制御装置における記憶部は、機器使用パケットテーブル等の情報を記憶可能であればよく、EEPROM(Electrically Erasable and Programmable Read Only Memory)等の、HDDとは異なる種類の不揮発性記憶媒体によって実現されてもよい。
 また、通信プログラムと機器使用パケットテーブルとはそれぞれ別の記憶装置に記憶されていてもよい。
 また、通信制御装置100は、例えばテレビ等の家電機器に内蔵され、通信プログラムを実行することで有線または無線のネットワークを介してデータを送受信する装置として実現される。
 図2は、通信制御装置100の主要な機能構成を示すブロック図である。
 ネットワークインターフェース102は、パケット受信部201、第二制御部210、および第二メモリ200を備える。また、第二制御部210は、比較部202および転送部204を有する。
 パケット受信部201は、LAN101から送られてくるパケットを受信する。
 第二制御部210は、パケット受信部201が受信したパケットのうち、第二メモリ200に格納されている通過パケットテーブル205に登録されている条件に該当するパケットを第一メモリ103に転送する処理であるフィルタ処理を行う。本実施の形態では、比較部202および転送部204が以下に示す処理を行うことでフィルタ処理が実行される。
 比較部202は、パケット受信部201が受信したパケット(以下、単に「受信パケット」ともいう。)のそれぞれについて、第一メモリ103への転送のための条件との比較を行う。
 具体的には、比較部202は、受信パケットのそれぞれと、第二メモリ200に格納されている通過パケットテーブル205に示されるN個(Nは1以上の整数)のパケットパターンとを比較する。
 また、比較部202は、破棄部203を有する。破棄部203は、比較部202による比較の結果、N個のパケットパターンのいずれにも該当しないと判断された受信パケット、つまり、第一パケットに転送しないと判断された受信パケットを、第一メモリ103に転送される前に破棄する。
 なお、第二制御部210は、比較処理以外の処理によって、受信パケットがN個のパケットパターンのいずれかに該当するか否かの判断を行ってもよい。第二制御部210は、例えば、受信パケットから取得される送信元アドレス等の情報を、N個のパケットパターンを示す情報を含む所定の関数に代入することで、当該判断を行ってもよい。
 また、第一パケットに転送しないと判断された受信パケットは、ネットワークインターフェース102から第一メモリ103に転送されなければよく、その処理方法は破棄以外の方法であってもよい。例えば、攻撃パターンの解析のために所定の記憶装置に蓄積されてもよい。
 転送部204は、比較部202による比較の結果、受信パケットがN個のうちのいずれかのパケットパターンに該当する場合に、当該受信パケットを第一メモリ103に転送する。これにより、当該受信パケットは第一メモリ103に格納される。
 第二メモリ200は、上述のように、通過パケットテーブル205を格納するメモリである。
 通過パケットテーブル205は、通信制御装置100が受信すべきパケットを特定する条件が登録されるテーブルである。通過パケットテーブル205のデータ構成例については、図3を用いて後述する。
 第一制御部206は、通過パケットテーブル205を更新する。具体的には、第一制御部206は、第一メモリ103に転送すべきパケットのパターンを新規に登録すること、および、既に登録されているパターンを削除することができる。
 また、この更新の際には、HDD105に記憶されている機器使用パケットテーブル405に登録されたパケットパターンが用いられる。
 なお、第一制御部206による上記更新処理、および、第二制御部210による上記フィルタ処理は、例えばCPU104が、HDD105に記憶されている制御プログラム(図示せず)を実行することにより実現される。
 実行部207は、HDD105に記憶されている1以上の通信プログラムを実行する処理部であり、例えばCPU104により実現される。実行部207は、通信プログラムを実行することで、第一メモリ103に格納されたパケットを読み出して処理する。
 ここで、通過パケットテーブル205が記憶されている第二メモリ200は、ハードウェアで構成されるネットワークインターフェース102内のメモリによって実現されている。このような、ネットワークインターフェースカードが有するメモリでは、登録可能なパターンの最大数は数十個から数百個程度であり、当該ネットワークインターフェースカードを備える装置が受信すべきパケットパターンに比べて非常に少ないものである。
 本実施の形態の通信制御装置100では、このようにハードウェアで構成されるネットワークインターフェース102で、通信制御装置100が必要としないパケットをDos攻撃のパケット(以下、「攻撃パケット」という。)であると認識することができる。また、攻撃パケットと認識されたパケットは、第一メモリ103に転送する前に破棄することができる。これにより、データ転送によるバス使用率の低減すること、および、不必要なデータ転送の結果発生するCPU104の処理負荷を抑制することが可能である。
 図3は、通過パケットテーブル205のデータ構成の一例を示す図である。
 通過パケットテーブル205は、本発明の通信制御装置における第二条件情報の一例であり、機器使用パケットテーブル405に示されるN+1個以上の条件のうちのN個までの条件を登録可能なテーブルである。本実施の形態において、この“条件”とは、パケットの1以上の属性情報から構成されるパケットパターンである。
 図3に示す例では、N=3個のエントリから構成される通過パケットテーブル205が図示されている。各エントリは、フィルタを通過させるべきパケット、つまり、第一メモリ103に転送すべきパケットを特定するためのパケットパターンを示す項目である“パターン”を有する。また、各エントリにはエントリ番号が付与されている。
 なお、上記Nの値“3”は、実施の形態の説明の明確化のための一例であり、特定の数には限定されない。
 比較部202は、受信パケットと、通過パケットテーブル205に示される情報との比較を行う。比較の結果、当該受信パケットが、通過パケットテーブル205に示されるいずれかのパケットパターンと一致する場合、比較部202は転送部204を介して第一メモリ103にパケットを転送する。また、これらが一致しなければ、破棄部203が当該受信パケットを破棄する。
 本実施の形態では、通過パケットテーブル205に登録されるパケットパターンのそれぞれは、図3に示されるように、Etherフレームヘッダに示される送信元MACアドレス、IPヘッダに示される送信元IPアドレス、プロトコルタイプ、およびTCPヘッダまたはUDPヘッダに示される宛先ポート情報の組み合わせである。
 しかし、パケットパターンを構成する情報は、これらヘッダ情報に限定されるものではなく、パケットのヘッダ部内の他のフィールドに含まれる情報でもよい。さらには、ヘッダ情報に限定されるものでもなく各種プロトコルのデータ部から情報を取得し、通過させるべきパケットのパターンを示す情報として通過パケットテーブル205に登録してもよい。つまり、ヘッダ情報以外の情報を、比較部202による比較処理に用いてもよい。
 図4は、第一制御部206の主要な機能構成を示すブロック図である。
 第一制御部206は、エントリ数取得部401、テーブル更新部402、更新制御部403、およびタイマー404を有する。
 エントリ数取得部401は、通過パケットテーブル205の総エントリ数を取得する。テーブル更新部402は、通過パケットテーブル205へのパケットパターンの登録および通過パケットテーブル205からのパケットパターンの削除を行う。
 更新制御部403は、機器使用パケットテーブル405の中から通過パケットテーブル205に追加するパケットパターンを特定し、テーブル更新部402に登録させる。また、更新制御部403は、この登録に伴い、削除すべきパケットパターンを特定し、テーブル更新部402に削除させる。つまり、更新制御部403は、テーブル更新部402に、パケットパターンの置き換えを行わせることができる。
 タイマー404は、更新制御部403に対して更新のタイミングを通知する。
 機器使用パケットテーブル405には、通信制御装置100が使用するパケットのパターンが全て記録されている。つまり、ネットワークインターフェース102から第一メモリ103に転送されるべき全てのパケットを特定するためのパケットパターンが機器使用パケットテーブル405に記録されている。
 機器使用パケットテーブル405には、例えば、通信制御装置100の工場出荷時に、通信制御装置100が使用するパケットのパターンが記録される。しかし、例えば、通信制御装置100における通信プログラムの起動状況に応じて機器が使用するパケットのパターンが更新されてもよい。このような、機器使用パケットテーブル405の更新については、図8等を用いて後述する。
 タイマー404は、一定間隔毎に更新制御部403に対して更新すべきタイミング(更新タイミング)を通知する。タイマー404は、例えば10ms毎または100ms毎などの一定間隔毎に更新制御部403に更新タイミングを通知する機能を有する。
 更新制御部403は、通信プログラムの起動時などにおいて、エントリ数取得部401を介して通過パケットテーブル205の総エントリ数を取得する。更新制御部403はさらに、当該総エントリ数分のパケットパターンを、機器使用パケットテーブル405から読み出す。読み出されたパケットパターンは、テーブル更新部402により通過パケットテーブル205に登録される。
 その後、例えばタイマー404による通知間隔が100msに設定されている場合は、最初の登録から100ms後にタイマー404から更新制御部403に対して更新を実行するように通知が行われる。この通知を受けた更新制御部403は、通過パケットテーブル205に未登録のパケットパターンを機器使用パケットテーブル405から取得し、通過パケットテーブル205に既に登録されているパターンと置き換える。このようにして、通過パケットテーブル205が更新される。
 このように、更新制御部403が動作することで、通過パケットテーブル205に登録可能なエントリ数以上のパケットパターンがパケットフィルタリングのために必要な場合であっても、Dos攻撃を回避しつつ、通信制御装置100が必要とするパケットのみを受信することが可能となる。
 図5は、機器使用パケットテーブル405のデータ構成の一例を示す図である。
 機器使用パケットテーブル405は、本発明の通信制御装置100における第一条件情報の一例であり、第一メモリ103に格納すべきパケットを特定するためのN+1個以上の条件を示すテーブルである。つまり、通信制御装置100が必要とするパケットを特定するための条件が記録されたテーブルである。
 図5に示す例では、N+1=4個のエントリから構成される機器使用パケットテーブル405が図示されている。つまり本実施の形態では、通信制御装置100が通信する際に受信すべきパケットのパターンは4個であることを示している。なお、このパターン数“4”は、実施の形態の説明の明確化のための一例であり、特定の数には限定されない。
 各エントリは、データ項目として、“登録パターン”と、“登録順”と、“登録中フラグ”とを有する。また、各エントリにはエントリ番号が付与されている。
 “登録パターン”は、通過パケットテーブル205に登録するパケットパターンを示す項目である。“登録順”は、当該エントリのパケットパターンを通過パケットテーブル205に登録した順番を示す項目である。“登録中フラグ”は、当該エントリのパケットパターンが通過パケットテーブル205に登録されているかどうかを識別する項目である。
 なお、図5では“パターン1”等で示されているが、“登録パターン”としては、図3に示す、通過パケットテーブル205における“パターン”と同じデータ構成の情報が登録されている。
 “登録順”は、順番にカウントアップする数値を示す項目であって、更新制御部403が当該エントリのパターンを通過パケットテーブル205に登録した順番が記録されている。例えば図5に示す例ではエントリ番号“1”の登録パターン、エントリ番号“2”の登録パターン、エントリ番号“3”の登録パターンの順に、通過パケットテーブル205に登録されたことが示される。
 “登録中フラグ”は、当該エントリの登録パターンが通過パケットテーブル205に登録中であるかどうかを識別するために使用する項目である。具体的には、通過パケットテーブル205に登録中のエントリについては“登録済”と記録され、通過パケットテーブル205に未登録のエントリについては“未登録”と記録される。
 更新制御部403は、機器使用パケットテーブル405に示される、これら登録順と登録中フラグとから次に更新対象となるエントリを検索することが可能である。
 すなわち、登録中フラグが“登録済”であり、かつ、登録順の数値が小さいほど過去に通過パケットテーブル205に登録されたエントリである。言い換えると、通過パケットテーブル205に登録された時期が最も早いエントリである。そのため、当該エントリに示されるパケットパターンは優先的に置き換えの対象であると判断することが可能である。
 さらに、登録中フラグが“未登録”で、登録順の数値が小さいほど通過パケットテーブル205への未登録期間が長いエントリである。言い換えると、過去に通過パケットテーブル205から削除されてからの期間が最も長いエントリである。そのため、当該エントリに示されるパケットパターンは優先的に登録の対象であることが判断可能である。
 次に、以上のように構成された本発明の実施の形態の通信制御装置100の処理の流れについて図6A~図7を用いて説明する。
 まず、図6Aを用いて、通信制御装置100の基本的な処理の流れを説明する。
 図6Aは、本発明の実施の形態の通信制御装置100が実行する基本的な処理の流れを示すフロー図である。
 第一制御部206は、機器使用パケットテーブル405に示される情報を用いて、通過パケットテーブル205を更新する(S100)。
 第二制御部210は、更新後の通過パケットテーブル205に登録されている条件を基に、パケット受信部201が受信したパケットのフィルタ処理を行う(S110)。具体的には、比較部202および転送部204により以下の処理が行われる。
 比較部202は、受信パケットと、第一制御部206による更新後の通過パケットテーブル205に示されるパケットパターンとを比較する。これにより、受信パケットが、更新後の通過パケットテーブル205に示される条件を満たすか否かが判断される(S110)。
 当該受信パケットが当該条件を満たすと判断された場合(S110でYes)、当該受信パケットは、転送部204により、第一メモリ103に転送され格納される(S120)。
 なお、当該受信パケットが当該条件を満たさないと判断された場合、本実施の形態では、当該受信パケットは、破棄部203により破棄される。
 次に、図6Bを用いて、通過パケットテーブル205の更新についての詳細な処理の流れを説明する。
 図6Bは、第一制御部206が更新制御を行う際の一連の処理の流れを示すフロー図である。
 第一制御部206が有する更新制御部403は、通信プログラムの起動時などの初期時に、機器使用パケットテーブル405を初期化する(S601)。初期状態においては、通過パケットテーブル205は未使用状態のため、更新制御部403は、テーブル更新部402を介して機器使用パケットテーブル405の各エントリの登録順を“0”とし、登録中フラグを“未登録”とする。これにより機器使用パケットテーブル405は初期化される。
 更新制御部403は、通過パケットテーブル205に登録可能な最大エントリ数Nを、エントリ数取得部401を介して取得する(S602)。本実施の形態では通過パケットテーブル205に登録可能な最大エントリ数は3であるため、更新制御部403は、N=“3”を取得する。
 更新制御部403は、機器使用パケットテーブル405に登録されているエントリ数Mを取得する(S603)。本実施の形態では機器使用パケットテーブル405は4個のエントリから構成されているため、更新制御部403は、M=“4”を取得する。
 更新制御部403は、機器使用パケットテーブル405に登録されているエントリ数Mが、通過パケットテーブル205に登録可能な最大エントリ数Nより多いか否かを判断する(S604)。
 S604での判断結果が偽の場合(S604でNo)、更新制御部403は、機器使用パケットテーブル405に登録されている全てのエントリを通過パケットテーブル205に登録可能と判断する。その結果、更新制御部403は、機器使用パケットテーブル405に示される全てのエントリのパケットパターンを通過パケットテーブル205に登録し(S605)、通過パケットテーブル205の更新に係る処理を終了する。
 S604での判定結果が真の場合(S604でYes)、機器使用パケットテーブル405に登録されている全てのエントリを通過パケットテーブル205に登録することは出来ない。
 そこで、更新制御部403は、通過パケットテーブル205の内容を順次書き換えていく更新処理を実施する。具体的には以下の処理が実施される。
 更新制御部403は、機器使用パケットテーブル405に登録されているエントリ数Mの中から通過パケットテーブル205に登録可能なN個を登録する(S606)。更新制御部403は、機器使用パケットテーブル405の4個のエントリの中から、例えばパターン1からパターン3に該当する3個のエントリを抽出する。更新制御部403はテーブル更新部402を制御することで、抽出したこれら3個のパケットパターンを通過パケットテーブル205に登録する。
 更新制御部403は、S606の処理で登録対象となった機器使用パケットテーブル405の3個のエントリの登録順と登録中フラグとを更新する(S607)。具体的には、更新制御部403は、該当する3個のエントリの登録順として、登録した順番に1から3までの数値を付与し、登録中フラグを“登録済”に更新する。その結果、機器使用パケットテーブル405は、図5に示す内容となる。
 更新制御部403は、一定時間経過したか否かを判定する(S608)。具体的には、更新制御部403は、タイマー404から通知が発生しているかどうかを判断し、発生していない場合(S608でNo)はS608に戻り、通知が発生するまで待機する。
 タイマー404から通知が発生している場合(S608でYes)には、更新制御部403は、機器使用パケットテーブル405から登録中フラグが“未登録”であるエントリを取得する(S609)。本例の場合、更新制御部403は、前記機器使用パケットテーブル405のパターン4に該当するエントリを取得する。
 更新制御部403はさらに、機器使用パケットテーブル405から登録中フラグが“登録済”であるエントリのパターンを取得する(S610)。具体的には、更新制御部403はさらに、前記機器使用パケットテーブル405のパターン1からパターン3に該当するエントリが“登録済”であるため、これら3個のエントリを取得する。
 更新制御部403は、S609とS610とで取得したエントリから変更対象となるパターンを特定する(S611)。
 具体的には、更新制御部403は、S610で取得した3個のエントリの中から登録順の数値が一番小さいエントリを特定する。ここでは、パターン1のエントリの登録順が一番小さいため、通過パケットテーブル205のパターン1を、S609で取得したパターン4と置き換えるパターンとして特定する。
 更新制御部403はテーブル更新部402を制御することで、S609で取得した未登録のパターンを通過パケットテーブル205に登録する(S612)。具体的には、テーブル更新部402は、通過パケットテーブル205のパターン1の内容を、機器使用パケットテーブル405に示されるパターン4の内容に置き換える。
 更新制御部403は、S607に戻り、機器使用パケットテーブル405のエントリの登録順と登録中フラグとを更新する。具体的には、更新制御部403は、パターン1のエントリの登録中フラグを“登録済”から“未登録”に更新し、パターン4の登録中フラグを“未登録”から“登録済”に更新する。更新制御部403は、各エントリの登録順を最新の値に更新する。つまり、この時点では、パターン4の登録順として“4”が機器使用パケットテーブル405に記録される。
 図7は、図6Bに示す処理フローが実行された場合における、各テーブルの内容の遷移の一例を示す図である。
 なお、図7では、タイマー404の通知のタイミングが100ms間隔であると想定して図示している。
 図7に示すように、初期登録のタイミングでは、通過パケットテーブル205には、パターン1~3の3つのパケットパターンが登録されている。従って、これら3つのパケットパターンのいずれかに該当する受信パケットのみが、ネットワークインターフェース102を通過し、第一メモリ103に転送され格納される。第一メモリ103に格納された受信パケットは、実行部207によって実行される通信プログラムに処理される。
 その後、通過パケットテーブル205に対する定期的な更新ごとに、通過パケットテーブル205の3つのパターンのうちの、通過パケットテーブル205への登録時期が最も早いパターンが、当該更新の時点で通過パケットテーブル205に登録されていないパターンに置き換えられる。
 これにより、通信制御装置100が必要とする受信パケットのみを、ネットワークインターフェース102を通過させて第一メモリ103に格納させることができる。
 言い換えると、通過パケットテーブル205に示されるいずれのパケットパターンにも該当しない攻撃パケットは、ネットワークインターフェース102を通過することは不可能であり、通信制御装置100は、Dos攻撃から保護される。
 なお、機器使用パケットテーブル405に登録されたパターン数が、通過パケットテーブル205に登録可能な最大エントリ数Nより2以上多い場合を想定する。この場合、ある更新の時点では、機器使用パケットテーブル405に登録されたパケットパターンのうち、通過パケットテーブル205に未登録のパケットパターン(未登録パターン)が複数存在する。
 このように、未登録パターンが複数存在する場合、第一制御部206は、例えばこれら複数の未登録パターンの中で、過去に通過パケットテーブル205から削除されてからの期間が最も長い未登録パターンを特定する。簡単にいうと、第一制御部206は、パケットフィルタリングに用いられていない期間が最も長い未登録パターンを特定する。
 第一制御部206はさらに、特定した未登録パターンを機器使用パケットテーブル405から読み出して、通過パケットテーブル205に登録されている期間が最も長いパケットパターンと置き換える。
 これにより、機器使用パケットテーブル405に登録された複数のパケットパターンのそれぞれは、順次、確実かつ平等に通過パケットテーブル205に登録される。
 なお、複数のパケットパターンそれぞれについての、通過パケットテーブル205から削除されてからの期間の比較、および通過パケットテーブル205に登録されている期間の比較は、各パケットパターンの登録順の数値を比較することで特定することができる。
 また、複数のパケットパターンそれぞれの通過パケットテーブル205への最後の登録時刻、および、複数のパケットパターンそれぞれの通過パケットテーブル205からの最後の削除時刻を、例えば更新制御部403が、機器使用パケットテーブル405に記録してもよい。
 この場合、これらの時刻を参照することで、次の更新で通過パケットテーブル205に登録すべき未登録パターンおよび、当該未登録パターンに置き換えられるべきパターンを特定することもできる。
 また、通過パケットテーブル205の更新は所定の時間の経過ごと(図7に示す例では100msごと)でなくてもよい。つまり、通過パケットテーブル205の更新の間隔が一定でなくてもよい。パケットフィルタリングに必要な全てのパケットパターンが通過パケットテーブル205に現れるように、通過パケットテーブル205の更新が繰り返されればよい。
 以上のように、本実施の形態の通信制御装置100は、パケットフィルタリング機能を有する。具体的には、通過パケットテーブル205に登録されているパケットパターンに対応する受信パケットのみを、通信プログラムの処理の対象としてネットワークインターフェース102を通過させ第一メモリ103に格納する。また、これらパケットパターンのいずれにも該当しない受信パケットはDosパケットとして破棄する。
 また、ネットワークインターフェース102を通過させるべき受信パケットのパターンの数が、通過パケットテーブル205に登録可能な最大値を超える場合には、通過パケットテーブル205が保持するパケットパターンの組み合わせをタイムシェアにより切替えるように、通過パケットテーブル205を更新する。
 これにより、Dosパケットを回避しつつ、通過パケットテーブル205に登録可能な最大値以上の種類の受信パケットを正規のパケットとして受信する通信制御装置を提供することが可能である。
 なお、図7に示す通過パケットテーブル205の更新の手順は一例であり、本発明は、当該手順に限定されることはない。例えば、通過パケットテーブル205の登録可能な最大値が3であり、機器使用パケットテーブル405に登録されているパターン数が5以上である場合を想定する。
 この場合、更新制御部403は、通過パケットテーブル205に登録されている3つのパターンのうちの、2以上のパターンに対して同時に置き換えを行ってもよい。
 つまり、本来的に必要な全ての種類の受信パケットに対応する複数のパケットパターンのそれぞれが、繰り返し行われる更新のいずれかのタイミングで、通過パケットテーブル205に現れるように、通過パケットテーブル205が更新されればよい。
 また、機器使用パケットテーブル405に登録されているパケットパターンの優先度は、パケットパターンそれぞれに対応する通信プログラムの起動頻度および処理の種類等を考慮して決定してもよい。
 例えば、通信制御装置100が実行する複数の通信プログラムの中で、常に起動している、または、起動している頻度が最も高い通信プログラムに対応するパケットパターンは優先度が高いといえる。
 また、例えば、災害等の情報を知らせる緊急放送を受信し出力するための通信プログラムに対応するパケットパターンも、優先度が高いといえる。
 また、例えば動画のストリームデータを復号し表示するための通信プログラムに対応するパケットパターン(つまり、当該ストリームデータを識別するためのパケットパターン)も、動画の滑らかな再生という観点から優先度が高いといえる。
 そこで、このような優先度の高いパケットパターンについては、通過パケットテーブル205に常時登録されているように、または、登録されている期間ができるだけ長くなるように、通過パケットテーブル205を更新してもよい。
 この場合、例えば、機器使用パケットテーブル405の各エントリに、それぞれのエントリに対応する通信プログラムの起動頻度または実行する処理の種類等に応じて決定された優先度を示す優先度情報(数値など)を付加しておく。
 さらに、第一制御部206は、通過パケットテーブル205の更新の際に、機器使用パケットテーブル405から、通過パケットテーブル205に登録されていない複数のパケットパターンのうち優先度が最も高いパケットパターンを読み出す。第一制御部206はさらに、読み出したパケットパターンを、例えば通過パケットテーブル205の中の優先度が最も低いパケットパターンと置き換える。
 これにより、優先度の高いパケットパターンは、優先度の低いパケットパターンよりも長い期間、通過パケットテーブル205に登録された状態が維持される。
 また、通過パケットテーブル205へのパケットパターンの供給元である機器使用パケットテーブル405が更新されてもよい。
 図8は、機器使用パケットテーブル405に登録されたパケットパターンと、通信プログラムとの対応例を示す図である。
 図8に示すように、パターン1~パターン4が、それぞれ通信プログラムである[A]~[D]に対応すると想定する。例えば、パターン1に対応する受信パケットは、[A]に処理されるパケットである。
 この場合、例えば、通信プログラムの起動状況に応じて、機器使用パケットテーブル405が更新されてもよい。
 図9Aは、更新後の機器使用パケットテーブル405の第一の例を示す図であり、図9Bは、更新後の機器使用パケットテーブル405の第二の例を示す図である。
 例えば、通信プログラム[A]~[D]のうち、[A]と[C]のみが起動したと想定する。この場合、[A]および[C]に対応する、パターン1および3のみが、機器使用パケットテーブル405に登録される。
 この登録処理は、例えば、更新制御部403が、起動した[A]と[C]のそれぞれの指示に従ってパターン1および3を機器使用パケットテーブル405に登録することで行われる。
 なお、パターン1および3を示す情報は、[A]および[C]に保持されていてもよく、機器使用パケットテーブル405への登録用のパケットパターンとして、例えばHDD105に機器使用パケットテーブル405とは別に記憶されていてもよい。
 その後、例えば、通信プログラム[B]が起動すると、更新制御部403が、[B]に対応するパターン2を機器使用パケットテーブル405に登録する。
 また、この時点で、通過パケットテーブル205には1つのパケットパターンが追加可能であるため、パターン2が機器使用パケットテーブル405から読み出され、通過パケットテーブル205に登録される。
 なお、この後に、例えば、通信プログラム[A]が、終了した場合(つまり、[A]の実行が終了することで[A]が非起動中に移行した場合)、例えば、更新制御部403が、機器使用パケットテーブル405からパターン1を削除する。
 このように、複数の通信プログラムそれぞれの起動状況に応じて機器使用パケットテーブル405を更新することで、実際にパケットフィルタリングに必要なパケットパターンのみが機器使用パケットテーブル405に登録されている状態が維持される。
 その結果、受信パケットとの比較に用いられる通過パケットテーブル205には、実際に必要なパケットパターンのみが登録されるため、より効率のよいパケットフィルタリングが実行される。
 例えば、上述のように、4つのパケットパターンが機器使用パケットテーブル405に登録されており、かつ、通過パケットテーブル205の登録可能な最大エントリ数Nが3である場合、4つのパケットパターンの全てを通過パケットテーブル205に保持させることができない。そのため、図7に示すような通過パケットテーブル205の更新が行われる。これにより、4つのパケットパターンのそれぞれは、断続的に通過パケットテーブル205に出現する。
 しかしながら、例えば図9Aに示すように、通信プログラム[A]および[C]のみが起動中である場合、パケットフィルタリングに実際に必要なパケットパターンは、パターン1と3のみである。この場合、これらパターン1と3とが通過パケットテーブル205に常時登録された状態を維持することができる。
 また、例えば、通過パケットテーブル205の登録可能な最大エントリ数Nが3であり、かつ、パケットフィルタリングに用いられるパケットパターンの総数が10である場合を想定する。この想定下においては、各通信プログラムの起動状況を考慮したとしても、例えば、起動中の通信プログラムの数が5となった場合などには、通過パケットテーブル205の更新が必要となる。
 しかしながら、登録可能な最大エントリ数Nが3である通過パケットテーブル205に対して、10個のパケットパターンのそれぞれを順次登録していくよりも、5個のパケットパターンのそれぞれを順次登録する方が、処理効率が高くなる。具体的には、後者の方が、実際にパケットフィルタリングに必要なパケットパターンが通過パケットテーブル205に登録されている期間が長くなる。
 なお、機器使用パケットテーブル405を更新せずに、通過パケットテーブル205を通信プログラムの起動状況に応じて更新してもよい。
 例えば、第一制御部206が、通過パケットテーブル205を更新する際に、どの通信プログラムが起動中であるかを確認する。第一制御部206はさらに、起動中の通信プログラムに対応し、かつ、当該更新の時点で通過パケットテーブル205に未登録のパケットパターンを機器使用パケットテーブル405から読み出して、通過パケットテーブル205に登録する。
 具体的には、読み出された未登録パターンと、起動していない通信プログラムに対応するパケットパターン、または、通過パケットテーブル205に登録されている期間が最も長いパケットパターンとが置き換えられる。
 第一制御部206がこのような処理を実行することでも、パケットフィルタリングに実際に必要なパケットパターンのみが通過パケットテーブル205に登録されている状態を維持することができる。
 すなわち、通過パケットテーブル205の登録可能な最大エントリ数Nよりも、パケットフィルタリングに必要なパケットパターンの総数が大きな場合、Nと当該総数との差の大小を問わず、その時点で実際に必要なパケットパターンがどれであるかを随時考慮しながら通過パケットテーブル205の管理(更新すること、および、更新せずに維持することなど)を行うことで、パケットフィルタリングに係る処理の効率をより向上させることができる。
 また、本実施の形態において、ネットワークインターフェース102はハードウェアで構成されているとした。つまり、通信制御装置100は、ハードウェアによりパケットフィルタリングを行うとした。
 しかしながら通信制御装置100は、例えばCPU104が、所定の記憶媒体に格納された通過パケットテーブル205を参照することで、パケットフィルタリングを行ってもよい。
 この場合、CPU104は、パケットフィルタリングに必要なパケットパターンの総数よりも少ない数のパケットパターンと受信パケットとの比較を行えばよい。そのため、パケットフィルタリングに必要なパケットパターンの全てを比較に用いる場合よりも効率のよいパケットフィルタリングが実行される。
 以上、本発明の一態様に係る通信制御装置について、実施の形態に基づいて説明した。しかしながら、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものも、あるいは、上記説明された複数の構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
 以上のように、本発明によれば、Dos攻撃により通信システムが破壊されることなく、有限のメモリ容量を効率よく使用することで当該通信システムが必要とするパケットを受信することが可能となる。従って、本発明は、情報の送受信を行う通信機器およびテレビ等の家電機器として、並びに通信機器および家電機器が備える通信制御装置等として有用である。
  100  通信制御装置
  101  LAN
  102  ネットワークインターフェース
  103  第一メモリ
  104  CPU
  105  HDD
  200  第二メモリ
  201  パケット受信部
  202  比較部
  203  破棄部
  204  転送部
  205  通過パケットテーブル
  206  第一制御部
  207  実行部
  210  第二制御部
  401  エントリ数取得部
  402  テーブル更新部
  403  更新制御部
  404  タイマー
  405  機器使用パケットテーブル

Claims (10)

  1.  ネットワークに接続され、1以上の通信アプリケーションプログラムを実行する通信制御装置であって、
     第一制御部と、
     前記1以上の通信アプリケーションプログラムに処理されるパケットを蓄積する第一メモリと、
     前記第一メモリに蓄積すべきパケットを特定するためのN+1個以上(Nは1以上の整数)の条件を示す第一条件情報を記憶する記憶部と、
     受信したパケットを選択的に前記第一メモリに転送するネットワーク通信部とを備え、
     前記ネットワーク通信部は、
     前記ネットワークを介して送信されるパケットを受信する受信部と、
     前記N+1個以上の条件のうちのN個までの条件が登録される第二条件情報を記憶する第二メモリと、
     前記受信部が受信したパケットのうち、前記第二条件情報に登録されている条件に該当するパケットを前記第一メモリに転送する処理であるフィルタ処理を行う第二制御部と、を有し、
     前記第一制御部は、前記第一条件情報に示される前記N+1個以上の条件のうちの少なくとも1つの条件を用いて、前記第二条件情報の更新を行う
     通信制御装置。
  2.  前記第一制御部は、前記第二条件情報の更新を行う場合、前記第一条件情報に示される前記N+1個以上の条件のうち、当該更新の時点で前記第二条件情報に登録されていない条件である未登録条件を前記第一条件情報から読み出し、読み出した未登録条件を、前記第二条件情報に示される条件のうちのいずれかの条件と置き換えることで前記未登録条件を前記第二条件情報に登録する
     請求項1記載の通信制御装置。
  3.  前記第一制御部は、前記第二条件情報の更新を繰り返し行う
     請求項1または2に記載の通信制御装置。
  4.  前記第一制御部は、前記第二条件情報の更新を繰り返し行うことで、前記第一条件情報に示される前記N+1個以上の条件のそれぞれを、所定の順序で前記第二条件情報に登録する
     請求項1または2に記載の通信制御装置。
  5.  前記第一制御部は、前記第二条件情報の更新を行う場合、前記未登録条件が複数あるときは、複数の前記未登録条件の中で、過去に前記第二条件情報から削除されてからの期間が最も長い未登録条件を特定し、特定した未登録条件を前記第一条件情報から読み出す
     請求項2記載の通信制御装置。
  6.  前記第一条件情報はさらに、前記第一条件情報に示される条件それぞれの優先度を示す優先度情報を含み、
     前記第一制御部は、前記第二条件情報の更新を行う場合、前記未登録条件が複数あるときは、前記優先度情報を参照することで、複数の前記未登録条件の中で最も優先度の高い未登録条件を特定し、特定した未登録条件を前記第一条件情報から読み出す
     請求項2記載の通信制御装置。
  7.  前記第一制御部は、前記第二条件情報の更新を行う場合、前記第二条件情報に示される前記N個までの条件のうち、前記第二条件情報に登録された時期が最も早い条件を特定し、特定した条件を、前記制御部が前記第一条件情報から読み出した前記未登録条件と置き換える
     請求項2記載の通信制御装置。
  8.  前記N+1個以上の条件のそれぞれは、前記1以上の通信アプリケーションプログラムのいずれかと対応付けられており、
     前記第一制御部はさらに、前記1以上の通信アプリケーションプログラムのいずれかが実行される際に、実行される通信アプリケーションプログラムに対応する条件を前記第一条件情報に追加することで、前記第一条件情報を更新する
     請求項1~7のいずれか1項に記載の通信制御装置。
  9.  前記第一制御部はさらに、前記通信アプリケーションプログラムの実行が終了した場合、前記通信アプリケーションプログラムに対応する条件を、前記第一条件情報から削除する
     請求項8記載の通信制御装置。
  10.  ネットワークに接続され、1以上の通信アプリケーションプログラムを実行する通信制御装置におけるパケットフィルタリング方法であって、
     前記通信制御装置は、
     前記1以上の通信アプリケーションプログラムに処理されるパケットを格納する第一メモリと、
     前記第一メモリに格納すべきパケットを特定するためのN+1個以上(Nは1以上の整数)の条件を示す第一条件情報を記憶する記憶部と、
     受信したパケットを選択的に前記第一メモリに転送するネットワーク通信部とを備え、
     前記パケットフィルタリング方法は、
     前記ネットワークを介して送信されるパケットを前記ネットワーク通信部が受信する受信ステップと、
     前記ネットワーク通信部が有する第二メモリに記憶されている、前記N+1個以上の条件のうちのN個の条件が登録された第二条件情報を、前記第一条件情報に示される前記N+1個以上の条件のうちの少なくとも1つの条件を用いて更新する更新ステップと、
     前記受信ステップにおいて受信されたパケットのうち、前記更新ステップにおいて更新された前記第二条件情報に登録されている条件に該当するパケットを前記第一メモリに転送する処理であるフィルタ処理を行うフィルタリングステップと
     を含むパケットフィルタリング方法。
PCT/JP2011/003097 2010-06-02 2011-06-02 通信制御装置およびパケットフィルタリング方法 WO2011152052A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011535824A JP4861539B1 (ja) 2010-06-02 2011-06-02 通信制御装置およびパケットフィルタリング方法
US13/318,635 US20120311692A1 (en) 2010-06-02 2011-06-02 Communication contol apparatus and packet filtering method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-127366 2010-06-02
JP2010127366 2010-06-02

Publications (1)

Publication Number Publication Date
WO2011152052A1 true WO2011152052A1 (ja) 2011-12-08

Family

ID=45066443

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/003097 WO2011152052A1 (ja) 2010-06-02 2011-06-02 通信制御装置およびパケットフィルタリング方法

Country Status (3)

Country Link
US (1) US20120311692A1 (ja)
JP (1) JP4861539B1 (ja)
WO (1) WO2011152052A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015115794A (ja) * 2013-12-12 2015-06-22 株式会社日立製作所 転送装置、転送方法、および、転送プログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013079999A1 (en) * 2011-12-02 2013-06-06 Canon Kabushiki Kaisha Methods and devices for encoding and decoding messages
US9032385B2 (en) 2011-12-28 2015-05-12 Lg Electronics Inc. Mobile terminal and control method thereof
JP2013161122A (ja) * 2012-02-01 2013-08-19 Canon Inc データ処理装置、情報処理方法、及びプログラム
JP6112938B2 (ja) * 2013-03-29 2017-04-12 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
JP5835291B2 (ja) * 2013-09-05 2015-12-24 コニカミノルタ株式会社 通信装置およびそのカスタマイズ方法ならびにコンピュータプログラム
US11159546B1 (en) * 2021-04-20 2021-10-26 Centripetal Networks, Inc. Methods and systems for efficient threat context-aware packet filtering for network protection

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112852A (ja) * 1998-10-06 2000-04-21 Toshiba Corp 通信システムにおける同時使用端末数の制限機構
JP2002232453A (ja) * 2001-02-02 2002-08-16 Nec Corp インターネットプロトコルフィルタリング装置及びインターネットプロトコルフィルタリング方法
JP2005203941A (ja) * 2004-01-14 2005-07-28 Matsushita Electric Ind Co Ltd パケット処理方法、パケット処理装置、パケット処理プログラム、パケット受信処理装置およびパケット受信システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6845499B2 (en) * 2001-01-31 2005-01-18 I2 Technologies Us, Inc. System and method for developing software applications using an extended XML-based framework
JP3794491B2 (ja) * 2002-08-20 2006-07-05 日本電気株式会社 攻撃防御システムおよび攻撃防御方法
WO2006090781A1 (ja) * 2005-02-24 2006-08-31 Nec Corporation フィルタリングルール分析方法及びシステム
JP2006246302A (ja) * 2005-03-07 2006-09-14 Matsushita Electric Ind Co Ltd パケットフィルタ装置、およびそれを用いた装置、並びに、パケットフィルタ方法
JP5131563B2 (ja) * 2007-02-21 2013-01-30 日本電気株式会社 コンピュータ、動作ルール適用方法、オペレーティングシステム
JP5153480B2 (ja) * 2008-06-27 2013-02-27 三菱電機株式会社 ゲートウェイ装置およびパケットフィルタリング方法
CN102812675B (zh) * 2010-02-04 2015-05-13 日本电信电话株式会社 分组转送处理装置、方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112852A (ja) * 1998-10-06 2000-04-21 Toshiba Corp 通信システムにおける同時使用端末数の制限機構
JP2002232453A (ja) * 2001-02-02 2002-08-16 Nec Corp インターネットプロトコルフィルタリング装置及びインターネットプロトコルフィルタリング方法
JP2005203941A (ja) * 2004-01-14 2005-07-28 Matsushita Electric Ind Co Ltd パケット処理方法、パケット処理装置、パケット処理プログラム、パケット受信処理装置およびパケット受信システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015115794A (ja) * 2013-12-12 2015-06-22 株式会社日立製作所 転送装置、転送方法、および、転送プログラム

Also Published As

Publication number Publication date
JP4861539B1 (ja) 2012-01-25
US20120311692A1 (en) 2012-12-06
JPWO2011152052A1 (ja) 2013-07-25

Similar Documents

Publication Publication Date Title
JP4861539B1 (ja) 通信制御装置およびパケットフィルタリング方法
JP4392294B2 (ja) 通信統計収集装置
US9853988B2 (en) Method and system for detecting threats using metadata vectors
US9118571B2 (en) Methods of operating load balancing switches and controllers using matching patterns with unrestricted characters
CN102577275B (zh) 中继控制设备、中继控制系统、中继控制方法
US11057423B2 (en) System for distributing virtual entity behavior profiling in cloud deployments
WO2009139170A1 (ja) 攻撃パケット検知装置、攻撃パケット検知方法、映像受信装置、コンテンツ記録装置、およびip通信装置
US9059965B2 (en) Method and system for enforcing security policies on network traffic
WO2019232071A1 (en) Aggregation of scalable network flow events
WO2012098786A1 (ja) ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法
JP6454224B2 (ja) 通信装置
JP2011522473A (ja) 低速および/または分散型のスキャニングマルウェアに感染した企業ネットワークホストを識別するための方法およびシステム
US8725852B1 (en) Dynamic network action based on DHCP notification
US9521154B2 (en) Detecting suspicious network activity using flow sampling
JP2017046149A (ja) 通信装置
US20210084013A1 (en) Method and apparatus for autonomous firewall rule management
US20170195181A1 (en) Method and system for selective route download in network devices
US20140086250A1 (en) Communication device and address learning method
US20180191650A1 (en) Publish-subscribe based exchange for network services
WO2016195619A1 (en) Application of network flow rule action based on packet counter
CN106209680B (zh) 信息处理装置以及信息处理方法
US8948188B1 (en) Method and apparatus for managing traffic through a network switch
US11218357B1 (en) Aggregation of incident data for correlated incidents
CN108111420B (zh) 一种流表项管理方法、装置、电子设备及存储介质
US20090073877A1 (en) Packet processing apparatus, communication system, packet processing method and program that executes this method

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2011535824

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13318635

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11789465

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11789465

Country of ref document: EP

Kind code of ref document: A1