Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7147601B2 - Inspection method and inspection system - Google Patents
[go: Go Back, main page]

JP7147601B2 - Inspection method and inspection system - Google Patents

Inspection method and inspection system Download PDF

Info

Publication number
JP7147601B2
JP7147601B2 JP2019015085A JP2019015085A JP7147601B2 JP 7147601 B2 JP7147601 B2 JP 7147601B2 JP 2019015085 A JP2019015085 A JP 2019015085A JP 2019015085 A JP2019015085 A JP 2019015085A JP 7147601 B2 JP7147601 B2 JP 7147601B2
Authority
JP
Japan
Prior art keywords
packets
packet
server
inspected
ack
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2019015085A
Other languages
Japanese (ja)
Other versions
JP2020123871A (en
Inventor
正明 野呂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019015085A priority Critical patent/JP7147601B2/en
Publication of JP2020123871A publication Critical patent/JP2020123871A/en
Application granted granted Critical
Publication of JP7147601B2 publication Critical patent/JP7147601B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、検査方法および検査システムに関する。 The present invention relates to an inspection method and an inspection system.

近年、「モノのインターネット(IoT:Internet of Things)」という用語とともに、様々なものに通信機能を搭載してネットワークと接続することが行われている。そして、こうしたIoT機器からデータを収集し、収集したデータを活用して、これまでに無かったサービス、および、より価値を高めたサービスを提供する試みが成されている。 In recent years, along with the term "Internet of Things (IoT)," various things are equipped with communication functions and connected to networks. Attempts have been made to collect data from these IoT devices and utilize the collected data to provide services that have never existed before and services with higher value.

また、ネットワークのセキュリティに関連する技術が知られている(例えば、特許文献1および特許文献2)。 Techniques related to network security are also known (for example, Patent Literature 1 and Patent Literature 2).

特開2010-11206号公報Japanese Unexamined Patent Application Publication No. 2010-11206 特開2005-193590号公報JP-A-2005-193590

IoT機器がウイルスなどに感染し、他の機器を攻撃してしまうことがある。こうした脅威に対し、例えば、IoT機器が十分な機能を有していれば、IoT機器にセキュリティ対策ソフトをインストールしたりすることで、対策を講じることができる。しかしながら、IoT機器のなかには、セキュリティ対策ソフトをインストールするといった対策を講じることのできない機器も含まれている。そのため、IoT機器が不正な通信をしていないか検査することのできる更なる技術の提供が望まれている。 An IoT device may be infected with a virus or the like and attack other devices. For example, if the IoT device has sufficient functions, it is possible to take countermeasures against such threats by installing security software on the IoT device. However, among IoT devices, there are devices for which countermeasures such as installation of security countermeasure software cannot be taken. Therefore, it is desired to provide a further technology that can check whether IoT devices are conducting unauthorized communication.

1つの側面では、本発明は、機器が不正な通信を実行していないかを検査することを目的とする。 In one aspect, an object of the present invention is to check whether a device is executing unauthorized communication.

本発明の一つの態様の検査方法は、サーバが、検査対象の装置宛ての肯定確認応答を破棄するようにパケットフィルタに設定し、パケットフィルタで検査対象の装置宛ての肯定確認応答を破棄したタイミングに基づき、検査対象の装置が発信したパケットの数を表す第1のパケット数と、検査対象の装置がサーバに宛てて送信したパケットの数を表す第2のパケット数とを収集し、第1のパケット数および第2のパケット数が所定の誤差範囲内で合致しているか否かにより、検査対象の装置の不正な通信を検査する、ことを含む。 In the inspection method according to one aspect of the present invention, the server sets the packet filter to discard the positive acknowledgment addressed to the device to be inspected, and the timing at which the packet filter discards the positive acknowledgment addressed to the device to be inspected a first number of packets representing the number of packets sent by the device under test and a second number of packets representing the number of packets transmitted to the server by the device under test based on and inspecting the device under inspection for unauthorized communication according to whether the number of packets of and the number of packets of the second match within a predetermined error range.

機器が不正な通信を実行していないかを検査することができる。 It is possible to check whether the device is executing unauthorized communication.

例示的なIoTシステムを示す図である。1 illustrates an exemplary IoT system; FIG. 実施形態に係るIoTシステムを例示する図である。1 is a diagram illustrating an IoT system according to an embodiment; FIG. 実施形態に係るサーバのブロック構成を例示する図である。It is a figure which illustrates the block configuration of the server which concerns on embodiment. 実施形態に係る検査対象のIoT機器の不正通信の検査処理の動作フローを例示する図である。FIG. 7 is a diagram illustrating an operation flow of inspection processing for unauthorized communication of an IoT device to be inspected according to the embodiment; 実施形態に係るトラフィック情報取得処理を例示する図である。It is a figure which illustrates the traffic information acquisition process which concerns on embodiment. パケット計数装置により収集される計数情報を例示する図である。FIG. 4 illustrates counting information collected by a packet counting device; SNMPプロトコルでの問い合わせを例示する図である。FIG. 4 illustrates an inquiry in the SNMP protocol; 例示的なSNMPプロトコルで提供されるパケット数に関する情報を含むオブジェクトを例示する図である。FIG. 2 illustrates an object containing information about the number of packets provided in an exemplary SNMP protocol; パケット分析部により収集される分析情報を例示する図である。FIG. 5 is a diagram illustrating analysis information collected by a packet analysis unit; パケット分析部が実行するパケット分析処理を例示する図である。FIG. 4 is a diagram illustrating packet analysis processing executed by a packet analysis unit; 経路およびバッファ上のパケットを例示する図である。FIG. 4 illustrates packets on paths and buffers; 送信側の装置と受信側の装置との間のTCPによる通信制御を説明する図である。FIG. 2 is a diagram for explaining communication control by TCP between a device on the transmission side and a device on the reception side; 実施形態に係る通信時のトラフィック情報取得処理の動作フローを例示する図である。FIG. 7 is a diagram illustrating an operation flow of traffic information acquisition processing during communication according to the embodiment; 実施形態に係る接続要求の破棄を説明する図である。FIG. 10 is a diagram illustrating discarding of a connection request according to the embodiment; FIG. 別の実施形態に係るパケット分析部の配置を例示する図である。FIG. 11 is a diagram illustrating the arrangement of packet analysis units according to another embodiment; TCPのバージョンに応じたパケットの送信手順の違いを例示する図である。FIG. 4 is a diagram illustrating differences in packet transmission procedures according to TCP versions; 変形例1に係るTCPの第2のバージョンにおけるトラフィック情報の収集の実行タイミングを例示する図である。FIG. 10 is a diagram illustrating execution timings of collecting traffic information in the second version of TCP according to Modification 1; 変形例1に係る通信時のトラフィック情報取得処理の動作フローを例示する図である。FIG. 11 is a diagram illustrating an operation flow of traffic information acquisition processing during communication according to Modification 1; 変形例2に係るトラフィック情報の収集の実行タイミングを例示する図である。FIG. 11 is a diagram illustrating execution timings of collecting traffic information according to Modification 2; 変形例2に係るトラフィック情報の収集の実行タイミングを更に例示する図である。FIG. 11 is a diagram further illustrating execution timings for collecting traffic information according to Modification 2; 変形例2に係る通信時のトラフィック情報取得処理の動作フローを例示する図である。FIG. 12 is a diagram illustrating an operation flow of traffic information acquisition processing during communication according to Modification 2; 変形例3に係るトラフィック情報の収集の実行タイミングを例示する図である。FIG. 11 is a diagram illustrating execution timings of collecting traffic information according to Modification 3; 変形例3に係る通信時のトラフィック情報取得処理の動作フローを例示する図である。FIG. 12 is a diagram illustrating an operation flow of traffic information acquisition processing during communication according to Modification 3; 実施形態に係るサーバまたはパケット分析部を実現するためのコンピュータのハードウェア構成を例示する図である。It is a figure which illustrates the hardware constitutions of the computer for implement|achieving the server or packet analysis part which concerns on embodiment.

以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付す。 Several embodiments of the present invention will be described in detail below with reference to the drawings. In addition, the same code|symbol is attached|subjected to the element which corresponds in several drawings.

図1は、例示的なIoTシステム100を示す図である。図1では、組織内のIT網150の下にサーバ102と複数のIoT機器101とで形成される別なネットワーク105が示されている。サーバ102と複数のIoT機器101は、IoTシステム100を形成している。IoT機器101は、例えば、情報を収集する様々な機器であってよく、収集した情報をサーバ102に送信する。例えば、IoT機器101が、温度計や湿度計などのセンサである場合、IoT機器101は、計測した温度や湿度などの情報を定期的にサーバ102に提供してよい。また、例えば、IoT機器101が、エアコンディショナーのコントローラなどの電化製品に搭載されたマイコンである場合は、電化製品に入力された操作などに関する情報がサーバ102に提供されてよい。そして、サーバ102は、例えば、IoT機器101から収集した情報を用いて、組織内のIT網150に接続した端末に、様々なサービスを提供してもよい。 FIG. 1 is a diagram illustrating an exemplary IoT system 100. As shown in FIG. FIG. 1 shows another network 105 formed by a server 102 and a plurality of IoT devices 101 under an IT network 150 within an organization. A server 102 and a plurality of IoT devices 101 form an IoT system 100 . The IoT device 101 may be, for example, various devices that collect information and transmit the collected information to the server 102 . For example, if the IoT device 101 is a sensor such as a thermometer or a hygrometer, the IoT device 101 may periodically provide information such as measured temperature and humidity to the server 102 . Also, for example, if the IoT device 101 is a microcomputer mounted on an electrical appliance such as an air conditioner controller, information regarding operations input to the electrical appliance may be provided to the server 102 . The server 102 may use the information collected from the IoT device 101, for example, to provide various services to terminals connected to the IT network 150 within the organization.

ここで、IoT機器101がウイルスなどに感染し、他の機器を攻撃してしまうことがある。こうした脅威は、例えば、IoT機器101が十分な機能を有していれば、セキュリティ対策ソフトをインストールしたりすることで、対策を講じることができる。 Here, the IoT device 101 may be infected with a virus or the like and attack other devices. For example, if the IoT device 101 has sufficient functions, countermeasures against such threats can be taken by installing security software.

しかしながら、IoT機器101のなかには、セキュリティ対策ソフトをインストールするといった対策を講じることのできない機器も含まれている。例えば、IoT機器101のなかには、独自のオペレーティングシステム(OS:Operating System)で動作していたり、旧式のOSで動作していたり、或いは、そもそもOSが無いものもあり、セキュリティ対策ソフトを導入できないことがある。そのため、IoT機器の不正な通信を検出することのできる更なる技術の提供が望まれている。 However, the IoT devices 101 include devices for which measures such as installation of security software cannot be taken. For example, some of the IoT devices 101 operate on their own operating system (OS: Operating System), some operate on an outdated OS, and some do not have an OS in the first place, and security software cannot be installed. There is Therefore, it is desired to provide a further technique capable of detecting unauthorized communication of IoT devices.

ここで、IoT機器101は、例えば、図1のサーバ102などの特定のホストにデータを上げ続けるといった利用をされることが多く、IoT機器101は、しばしば特定のホストとのみ通信するように設定される。このような場合に、特定のホストとのみ通信するように設定されているIoT機器101が、ホスト以外の装置と通信していたとすると、そのIoT機器101は不正な通信を行っている可能性が高いと判定することが可能である。 Here, the IoT device 101 is often used, for example, to keep sending data to a specific host such as the server 102 in FIG. be done. In such a case, if the IoT device 101, which is set to communicate only with a specific host, communicates with a device other than the host, the IoT device 101 may be conducting unauthorized communication. It is possible to determine that it is high.

そこで、以下で述べる実施形態では、例えば、IoT機器101が送信したパケット数と、IoT機器101からホストに届くパケット数とが所定の誤差範囲内で合致しているかを検査して、IoT機器101がホスト以外の装置と通信しているか否かを検査する。所定の誤差範囲は、例えば、1%~2%など、IoTシステムで発生するパケットロスの頻度などを事前に調査することで、許容可能な誤差範囲に設定することができる。そして、例えば、IoT機器101が送信したパケット数と、IoT機器101からホストに届くパケット数とが所定の誤差範囲を超えて大きく異なれば、IoT機器101はホスト以外の他の装置と不正な通信をしている可能性が高いと推定することができる。換言すると、例えば、IoT機器101が不正な通信をしている場合、IoT機器101が送信するパケットの数は不正な通信の数だけ増えることになる。一方で、それらの不正な通信のパケットはホストには届かないため、IoT機器101からホストに届くパケット数に変化はなく、IoT機器101が送信したパケット数の方が、IoT機器101からホストに届くパケット数とよりも増えることになる。また、例えば、IoT機器101が送信したパケット数と、IoT機器101からホストに届くパケット数とが所定の誤差範囲内で合致していれば、IoT機器101はホスト以外の他の装置とは通信していないことが推定できる。以下、実施形態を更に詳細に説明する。 Therefore, in the embodiments described below, for example, it is checked whether the number of packets transmitted by the IoT device 101 and the number of packets arriving from the IoT device 101 to the host match within a predetermined error range. is communicating with a device other than the host. The predetermined error range can be set to an allowable error range, such as 1% to 2%, by investigating the frequency of packet losses occurring in the IoT system in advance. Then, for example, if the number of packets transmitted by the IoT device 101 and the number of packets delivered from the IoT device 101 to the host are significantly different beyond a predetermined error range, the IoT device 101 may perform unauthorized communication with devices other than the host. It can be estimated that there is a high possibility that In other words, for example, when the IoT device 101 is conducting unauthorized communication, the number of packets transmitted by the IoT device 101 increases by the number of unauthorized communications. On the other hand, since these packets of unauthorized communication do not reach the host, there is no change in the number of packets sent from the IoT device 101 to the host, and the number of packets sent by the IoT device 101 is greater than the number of packets sent from the IoT device 101 to the host. It will be more than the number of packets that arrive. Further, for example, if the number of packets transmitted by the IoT device 101 and the number of packets delivered from the IoT device 101 to the host match within a predetermined error range, the IoT device 101 can communicate with devices other than the host. It can be assumed that they did not. Embodiments will be described in more detail below.

図2は、実施形態に係るIoTシステム200を例示する図である。IoTシステム200は、例えば、IoT機器101と、サーバ202と、パケット計数装置211と、ハブ(HUB)212と、パケット分析部213とを含む。なお、一実施形態において、IoT機器101の不正な通信を検査する検査システム250は、サーバ202と、パケット計数装置211と、ハブ(HUB)212と、パケット分析部213を含んでよい。ここで、IoT機器101は、正常に動作しているときには、サーバ202のみと通信するように設定されているものとする。サーバ202は、例えば、IoT機器101から各種の計測データを収集し、IT網150に接続する他の装置などに計測データを用いて様々なサービスを提供してよい。なお、サーバ202は、例えば、パケットをルーティングする機能は有していなくてよく、IoT機器101が送信したパケットは、サーバ202を超えてIT網150には流れなくてよい。 FIG. 2 is a diagram illustrating an IoT system 200 according to an embodiment. The IoT system 200 includes, for example, an IoT device 101, a server 202, a packet counting device 211, a hub (HUB) 212, and a packet analysis unit 213. Note that, in one embodiment, the inspection system 250 that inspects unauthorized communication of the IoT device 101 may include the server 202 , the packet counting device 211 , the hub (HUB) 212 and the packet analysis unit 213 . Here, it is assumed that the IoT device 101 is set to communicate only with the server 202 when operating normally. The server 202 may, for example, collect various measurement data from the IoT device 101 and use the measurement data to provide various services to other devices connected to the IT network 150 . For example, the server 202 may not have a packet routing function, and packets transmitted by the IoT device 101 may not flow to the IT network 150 beyond the server 202 .

パケット計数装置211は、例えば、SNMP(Simple Network Management Protocol)対応のスイッチであってよく、一例では、インテリジェントスイッチであってよい。パケット計数装置211を、一実施形態においては、パケット計数スイッチと呼ぶことがある。パケット計数装置211は、例えば、入力されるパケットを、ポートごとにカウントし、パケットを宛先のポートに出力する。IoT機器101は、例えば、パケット計数装置211の特定のポートと接続されていてよい。そのため、IoT機器101が接続されるポートに対してパケット計数装置211がカウントしたパケット数は、そのポートに接続するIoT機器101が送信したパケット数として用いることができる。 The packet counting device 211 may be, for example, a switch compatible with SNMP (Simple Network Management Protocol), and in one example, may be an intelligent switch. Packet counting device 211 may be referred to as a packet counting switch in one embodiment. The packet counting device 211, for example, counts input packets for each port and outputs the packets to the destination port. The IoT device 101 may be connected to a specific port of the packet counting device 211, for example. Therefore, the number of packets counted by the packet counting device 211 for the port to which the IoT device 101 is connected can be used as the number of packets transmitted by the IoT device 101 connected to that port.

パケット分析部213は、例えば、プロトコルアナライザであってよい。プロトコルアナライザは、例えば、ネットワークやデータ機器間を流れるデータを解析する装置やプログラムである。パケット分析部213は、例えば、入力されたパケットを、パケットの送信元を示すソースアドレスごとにカウントしてよい。なお、ソースアドレスとしては、例えば、MACアドレス、またはIPアドレスなどを用いることができる。 The packet analysis unit 213 may be, for example, a protocol analyzer. A protocol analyzer is, for example, a device or program that analyzes data flowing between networks and data devices. The packet analysis unit 213 may, for example, count input packets for each source address indicating the source of the packet. Note that, for example, a MAC address or an IP address can be used as the source address.

ハブ212は、例えば、リピータハブであってよい。リピータハブは、例えば、受信したパケットを、接続する全ての端末に送信する。従って、図2において、パケット計数装置211から入力されたサーバ202宛てのパケットは全て、リピータハブによりパケット分析部213にも送信される。パケット分析部213は、パケットのソースアドレスを分析することで、検査対象のIoT機器101からサーバ202に宛てて送信されたパケットの個数を計数することが可能である。 Hub 212 may be, for example, a repeater hub. The repeater hub, for example, transmits received packets to all connected terminals. Therefore, in FIG. 2, all packets addressed to the server 202 input from the packet counting device 211 are also sent to the packet analysis section 213 by the repeater hub. The packet analysis unit 213 can count the number of packets transmitted from the IoT device 101 to be inspected to the server 202 by analyzing the source address of the packet.

そのため、サーバ202は、例えば、パケット計数装置211から、検査対象のIoT機器101が送信したパケット数を表す第1のパケット数を取得することができる。また、サーバ202は、パケット分析部213から、検査対象のIoT機器101がサーバ202に送信したパケット数を表す第2のパケット数を取得することができる。その後、サーバ202は、例えば、第1のパケット数と第2のパケット数とを比較することにより、検査対象のIoT機器101が不正な通信を行っているか否かを判定することができる。なお、以下で述べる実施形態では、検査対象のIoT機器101が送信したパケット数を表す第1のパケット数、および検査対象のIoT機器101がサーバ202に送信したパケット数を表す第2のパケット数をトラフィック情報と呼ぶことがある。 Therefore, the server 202 can obtain, for example, from the packet counting device 211 the first number of packets representing the number of packets transmitted by the IoT device 101 to be inspected. Also, the server 202 can acquire from the packet analysis unit 213 a second number of packets representing the number of packets transmitted to the server 202 by the IoT device 101 to be inspected. After that, the server 202 can determine whether or not the IoT device 101 to be inspected is conducting unauthorized communication, for example, by comparing the first number of packets and the second number of packets. In the embodiments described below, a first packet count representing the number of packets transmitted by the IoT device 101 to be inspected and a second packet count representing the number of packets transmitted by the IoT device 101 to be inspected to the server 202 is sometimes called traffic information.

図3は、実施形態に係るサーバ202のブロック構成を例示する図である。サーバ202は、例えば、制御部301、記憶部302、および通信部303を含む。制御部301は、例えばOS350、設定部311、取得部312、および検査部313などとして動作する。サーバ202の記憶部302は、例えば、プログラムおよびデータなどの情報を記憶していてよい。一実施形態においては、サーバ202の記憶部302は、例えば、後述する分析情報900を記憶している。これらの各部の詳細および記憶部302に格納されている情報の詳細については後述する。 FIG. 3 is a diagram illustrating a block configuration of the server 202 according to the embodiment. Server 202 includes, for example, control unit 301 , storage unit 302 , and communication unit 303 . The control unit 301 operates, for example, as an OS 350, a setting unit 311, an acquisition unit 312, an inspection unit 313, and the like. The storage unit 302 of the server 202 may store information such as programs and data, for example. In one embodiment, the storage unit 302 of the server 202 stores, for example, analysis information 900 described below. Details of these units and details of information stored in the storage unit 302 will be described later.

図4は、実施形態に係る検査対象のIoT機器101による不正な通信の検査処理の動作フローを例示する図である。サーバ202の制御部301は、例えば、不正通信の検査処理の実行指示が入力されると、図4の検査処理を開始してよい。 FIG. 4 is a diagram illustrating an operation flow of inspection processing for unauthorized communication by the IoT device 101 to be inspected according to the embodiment. The control unit 301 of the server 202 may start the inspection process of FIG. 4, for example, when an instruction to execute the inspection process of unauthorized communication is input.

ステップ401(以降、ステップを“S”と記載し、例えば、S401と表記する)において制御部301は、不正通信を検査するIoT機器101を選択する。例えば、制御部301は、ユーザからのIoT機器101の選択を受け付け、ユーザによって選択されたIoT機器101を検査対象として選択してよい。 In step 401 (hereinafter, the step is written as "S", for example, written as S401), the control unit 301 selects the IoT device 101 to inspect for unauthorized communication. For example, the control unit 301 may receive selection of the IoT device 101 from the user, and select the IoT device 101 selected by the user as an inspection target.

S402において制御部301は、検査対象のIoT機器101と通信中か否かを判定する。検査対象のIoT機器101と通信中でない場合(S402がNO)、フローはS403に進む。S403において制御部301は、図5を参照して後述するトラフィック情報収集処理を実行してトラフィック情報を収集し、フローはS405に進む。なお、トラフィック情報は、上述のように、例えば、IoT機器101が不正な通信を実行しているか否かを検査するために用いる情報である。一例では、トラフィック情報は、IoT機器101が送信したパケット数を表す第1のパケット数と、IoT機器101からホストに送信されたパケット数を表す第2のパケット数とを含んでよい。 In S402, the control unit 301 determines whether or not communication is being performed with the IoT device 101 to be inspected. If not communicating with the IoT device 101 to be inspected (NO in S402), the flow proceeds to S403. In S403, the control unit 301 collects traffic information by executing traffic information collection processing, which will be described later with reference to FIG. 5, and the flow proceeds to S405. Note that the traffic information is, for example, information used to check whether the IoT device 101 is executing unauthorized communication, as described above. In one example, the traffic information may include a first packet count representing the number of packets transmitted by the IoT device 101 and a second packet count representing the number of packets transmitted from the IoT device 101 to the host.

また、S402において検査対象のIoT機器101と接続を確立しており、通信中である場合(S402がYES)、フローはS404に進む。S404において制御部301は、図13を参照して後述する通信時のトラフィック情報収集処理を実行してトラフィック情報を収集し、フローはS405に進む。 Also, in S402, if the connection with the IoT device 101 to be inspected has been established and communication is in progress (YES in S402), the flow proceeds to S404. In S404, the control unit 301 collects traffic information by executing traffic information collection processing during communication, which will be described later with reference to FIG. 13, and the flow proceeds to S405.

S405において制御部301は、例えば、収集したトラフィック情報に基づいて、検査対象のIoT機器101が不正な通信をしているか否かを検査し、本動作フローは終了する。例えば、IoT機器101が送信したパケット数を表す第1のパケット数と、IoT機器101からホストに送信されたパケット数を表す第2のパケット数とが所定の誤差範囲内で合致していたとする。この場合、制御部301は、IoT機器101が不正な通信をしていないと判定してよい。一方、例えば、第1のパケット数と、第2のパケット数とが所定の誤差範囲を超えて異なっていたとする(例えば、IoT機器101が送信したパケット数を表す第1のパケット数の方が所定値以上多い)。この場合、制御部301は、IoT機器101が不正な通信をしていると判定してよい。 In S405, for example, based on the collected traffic information, the control unit 301 inspects whether the IoT device 101 to be inspected is conducting unauthorized communication, and this operation flow ends. For example, assume that the first number of packets representing the number of packets transmitted by the IoT device 101 and the second number of packets representing the number of packets transmitted from the IoT device 101 to the host match within a predetermined error range. . In this case, the control unit 301 may determine that the IoT device 101 is not conducting unauthorized communication. On the other hand, for example, suppose that the first number of packets and the second number of packets differ by exceeding a predetermined error range (for example, the first number of packets representing the number of packets transmitted by the IoT device 101 is more than a predetermined value). In this case, the control unit 301 may determine that the IoT device 101 is conducting unauthorized communication.

(トラフィック情報収集処理)
続いて、図4のS403で実行されるトラフィック情報の収集処理について説明する。図5は、実施形態に係るトラフィック情報取得処理を例示する図である。制御部301は、例えば、図4のS403に進むと、図5の動作フローを開始してよい。
(traffic information collection processing)
Next, the traffic information collection processing executed in S403 of FIG. 4 will be described. FIG. 5 is a diagram illustrating traffic information acquisition processing according to the embodiment. For example, when proceeding to S403 of FIG. 4, the control unit 301 may start the operation flow of FIG.

S501において制御部301は、例えば、パケット計数装置211から、検査対象のIoT機器101が接続しているポートのパケット数を、第1のパケット数として取得する。なお、制御部301は、一実施形態においては、以下の図6~図8で述べるようにして、検査対象のIoT機器101が接続しているポートのパケット数を取得してよい。 In S501, for example, the control unit 301 acquires the number of packets of the port connected to the IoT device 101 to be inspected from the packet counting device 211 as the first number of packets. Note that, in one embodiment, the control unit 301 may acquire the number of packets of the port to which the IoT device 101 to be inspected is connected, as described in FIGS. 6 to 8 below.

図6は、パケット計数装置211により収集される計数情報600を例示する図である。パケット計数装置211は、例えば、パケットが入力されると、パケットが入力されたポートの情報と対応付けて、そのパケットのパケット番号を計数情報600に登録する。なお、一例では、パケット計数装置211は、起動時からの累積で入力されたパケットの情報を計数情報600に記録してよい。また、パケット計数装置211は、例えば、インテリジェントスイッチであってよく、SNMPプロトコルで外部と通信する。 FIG. 6 is a diagram illustrating counting information 600 collected by the packet counting device 211. As shown in FIG. For example, when a packet is input, the packet counting device 211 registers the packet number of the packet in the counting information 600 in association with the information of the port through which the packet was input. In one example, the packet counting device 211 may record the cumulative input packet information from the startup in the counting information 600 . Also, the packet counting device 211 may be, for example, an intelligent switch, and communicates with the outside using the SNMP protocol.

図7は、SNMPプロトコルでの問い合わせを例示する図である。パケット計数装置211は、例えば、メモリなどの記憶装置701備えていてよく、記憶装置701に計数情報600を記憶している。そして、サーバ202は、例えば、GETコマンドとともに、オブジェクト識別子(OID:Object Identifier)と、ポート番号(図7では「x」)を指定して問い合わせをパケット計数装置211に送信する。それにより、サーバ202は、例えば、パケット計数装置211からオブジェクト識別子と対応する値の返信を受けることができる。 FIG. 7 is a diagram illustrating an inquiry in the SNMP protocol. The packet counting device 211 may have a storage device 701 such as a memory, for example, and count information 600 is stored in the storage device 701 . Then, the server 202 sends an inquiry to the packet counting device 211 by designating an object identifier (OID) and a port number ("x" in FIG. 7) together with, for example, a GET command. Thereby, the server 202 can receive back the object identifier and the corresponding value from the packet counting device 211, for example.

図8は、例示的なSNMPプロトコルで提供されるパケット数に関する情報を含むオブジェクトを示す図である。サーバ202の制御部301は、例えば、パケット計数装置211に5回問い合わせを行い、図8に示す5つのオブジェクトの値を取得することで、IoT機器101がパケット計数装置211のポートを介して送信したパケットの数を取得することができる。例えば、制御部301は、“ifInUcastPkts”および“ifInNUcastPkts”の2つを合算し、指定したポートの受信パケットの合算値を得る。また、制御部301は、“ifInDiscards”、“ifInErrors”、および“ifInUnknownProtos”の3つを合算することで、ポートに入力されたエラーパケットの合算値を得る。そして、制御部301は、受信パケットの合算値から、エラーパケットの合算値を差し引くことで、IoT機器101がパケット計数装置211のポートを介して送信したパケットの数を取得してよい。 FIG. 8 shows an object containing information about the number of packets provided in an exemplary SNMP protocol. The control unit 301 of the server 202, for example, makes an inquiry to the packet counting device 211 five times and acquires the values of the five objects shown in FIG. You can get the number of packets sent. For example, the control unit 301 sums "ifInUcastPkts" and "ifInNUcastPkts" to obtain the sum of received packets of the specified port. Also, the control unit 301 obtains the total value of error packets input to the port by summing up three of "ifInDiscards", "ifInErrors", and "ifInUnknownProtos". Then, the control unit 301 may acquire the number of packets transmitted by the IoT device 101 via the port of the packet counting device 211 by subtracting the total value of error packets from the total value of received packets.

続いて、S502において制御部301は、検査対象のIoT機器101からサーバ202に宛てて送信されたパケットの数を第2のパケット数としてパケット分析部213から取得し、本動作フローは終了し、フローはS405に進む。なお、制御部301は、一実施形態においては、以下の図9~図10に述べるようにして、検査対象のIoT機器101からサーバ202に宛てて送信されたパケットの数を取得してよい。 Subsequently, in S502, the control unit 301 acquires the number of packets transmitted from the IoT device 101 to be inspected to the server 202 as the second number of packets from the packet analysis unit 213, and the operation flow ends. Flow proceeds to S405. In one embodiment, the control unit 301 may acquire the number of packets transmitted from the IoT device 101 to be inspected to the server 202 as described in FIGS. 9 and 10 below.

図9は、パケット分析部213により収集される分析情報900を例示する図である。パケット分析部213は、例えば、パケットが入力されると、パケットの送信元を示すソースアドレスを分析し、ソースアドレス単位で入力されたパケットの数をカウントし、分析情報900に登録する。なお、一例では、パケット分析部213は、起動時からの累積で入力されたパケットの数をカウントしてよい。パケット分析部213は、例えば、プロトコルアナライザであってよい。パケット分析部213は、例えば、サーバ202の問い合わせに応じて、問い合わせで指定されるソースアドレスを用いて、検査対象のIoT機器101がサーバ202に宛てて送信したパケット数を分析情報900から読み出し、返信してよい。 FIG. 9 is a diagram illustrating analysis information 900 collected by the packet analysis unit 213. As shown in FIG. For example, when a packet is input, the packet analysis unit 213 analyzes the source address indicating the source of the packet, counts the number of packets input in units of source address, and registers the count in the analysis information 900 . In one example, the packet analysis unit 213 may count the number of packets input cumulatively from the start. The packet analysis unit 213 may be, for example, a protocol analyzer. For example, in response to an inquiry from the server 202, the packet analysis unit 213 reads the number of packets transmitted by the IoT device 101 to be inspected to the server 202 from the analysis information 900 using the source address specified in the inquiry, you can reply.

図10は、パケット分析部213が実行するパケット分析処理を例示する図である。パケット分析部213は、例えば、起動すると図10の動作フローを開始してよい。 FIG. 10 is a diagram illustrating packet analysis processing executed by the packet analysis unit 213. As shown in FIG. For example, the packet analysis unit 213 may start the operation flow of FIG. 10 when activated.

S1001において制御部301は、パケットを受信したか否かを判定する。パケットを受信していない場合(S1001がNO)、フローはS1001の処理を繰り返す。一方、S1001においてパケットを受信した場合(S1001がYES)、フローはS1002に進む。 In S1001, the control unit 301 determines whether or not a packet has been received. If no packet has been received (NO in S1001), the flow repeats the processing of S1001. On the other hand, if a packet has been received in S1001 (YES in S1001), the flow advances to S1002.

S1002において制御部301は、受信したパケットが、サーバ202からのパケット数の問い合わせか否かを判定する。サーバ202からのパケット数の問い合わせで無い場合(S1002がNO)、フローはS1004に進む。一方、サーバ202からのパケット数の問い合わせである場合(S1002がYES)、フローはS1003に進む。 In S<b>1002 , the control unit 301 determines whether the received packet is an inquiry about the number of packets from the server 202 . If it is not an inquiry about the number of packets from the server 202 (NO in S1002), the flow advances to S1004. On the other hand, if the inquiry is for the number of packets from the server 202 (YES in S1002), the flow advances to S1003.

S1003において制御部301は、問い合わせにおいて、例えば、MACアドレスまたはIPアドレスなどで指定される検査対象のIoT機器101を、ソースアドレスとする分析情報900のエントリからパケット数を読み出し、サーバ202に返す。 In S<b>1003 , the control unit 301 reads the number of packets from the entry of the analysis information 900 whose source address is the IoT device 101 to be inspected, which is specified by, for example, the MAC address or IP address in the inquiry, and returns it to the server 202 .

S1004において制御部301は、受信したパケットのソースアドレスを分析し、ソースアドレスと対応する分析情報900のエントリのパケット数を1加算して、ソースアドレスごとにパケット数をカウントし、フローはS1001に戻る。 In S1004, the control unit 301 analyzes the source address of the received packet, adds 1 to the number of packets in the entry of the analysis information 900 corresponding to the source address, counts the number of packets for each source address, and the flow proceeds to S1001. return.

図10の動作フローにより、分析情報900には、サーバに宛てて送信されたパケットの数が、ソースアドレスごとに登録される。また、図10の動作フローにより、サーバ202の制御部301は、S502で送信されるサーバ202からの問い合わせに対して、検査対象のIoT機器101からサーバ202に宛てて送信されたパケットの数を表す第2のパケット数を取得することができる。 According to the operation flow of FIG. 10, the number of packets transmitted to the server is registered in the analysis information 900 for each source address. 10, the control unit 301 of the server 202 counts the number of packets transmitted from the IoT device 101 to be inspected to the server 202 in response to the inquiry from the server 202 transmitted in S502. A second number of packets to represent can be obtained.

(通信時のトラフィック情報収集処理)
続いて、S404で制御部301が実行する通信時のトラフィック情報取得処理を説明する。
(Traffic information collection processing during communication)
Next, traffic information acquisition processing during communication executed by the control unit 301 in S404 will be described.

例えば、検査対象のIoT機器101の検査を実行する際に、検査対象のIoT機器101が、サーバ202と通信接続を確立していることがある。ここで、例えば、検査対象のIoT機器101が、サーバ202と通信接続を確立していなければ、検査対象のIoT機器101が過去に発信したサーバ202宛てのパケットは既に配送先への配送が完了している状態にある。そのため、サーバ202は、パケット計数装置211と、パケット分析部213とのそれぞれから取得した検査対象のIoT機器101のトラフィック情報を用いて、検査対象のIoT機器101が不正な通信を行っているか否かを判定することができる。 For example, when executing the inspection of the IoT device 101 to be inspected, the IoT device 101 to be inspected may establish a communication connection with the server 202 . Here, for example, if the IoT device 101 to be inspected has not established a communication connection with the server 202, the packets addressed to the server 202 sent by the IoT device 101 to be inspected in the past have already been delivered to the delivery destination. is in a state of being Therefore, the server 202 uses the traffic information of the IoT device 101 to be inspected obtained from the packet counting device 211 and the packet analysis unit 213 to determine whether the IoT device 101 to be inspected is conducting unauthorized communication. It is possible to determine whether

しかしながら、例えば、サーバ202が、検査対象のIoT機器101を検査する際に、検査対象のIoT機器101がサーバ202と通信接続を確立している場合、検査対象のIoT機器101はサーバ202にパケットを送信している。この場合、例えば、図11に示すように、通信経路上、或いはパケット計数装置211およびパケット分析部213が備えるバッファなどに配送の完了していないパケットが存在し得る。そして、この様なタイミングで、パケット計数装置211およびパケット分析部213からパケット数を取得しても、未配送のパケットにより数に差がでてしまうことがある。また、そもそもパケット計数装置211と、パケット分析部213とでパケット数を取得するタイミングが合致していないと、検査対象のIoT機器101が正常に動作していても、パケット数に差がでてしまう。例えば、パケット数を取得する際にパケット計数装置211と、パケット分析部213とのそれぞれが最後にカウントしたパケットが同じであれば、パケット数を比較して検査対象のIoT機器101を検査することができる。しかしながら、例えば、パケット計数装置211とパケット分析部213とが最後にカウントしたパケットが、検査対象のIoT機器101において大きく異なるタイミングで発信されたパケットであれば、パケット数を比較しても、意味のある判定を実行できない。そして、こうしたIoT機器101の不正な通信以外に起因してパケット数にズレが生じてしまうと、パケット数を収集しても検査対象のIoT機器101を検査することができない。 However, for example, when the server 202 inspects the IoT device 101 to be inspected, if the IoT device 101 to be inspected has established a communication connection with the server 202, the IoT device 101 to be inspected sends a packet to the server 202. is sending In this case, for example, as shown in FIG. 11, there may be undelivered packets on the communication path or in the buffers of the packet counter 211 and the packet analysis unit 213 . Even if the number of packets is acquired from the packet counting device 211 and the packet analysis unit 213 at such timing, the number may differ due to undelivered packets. Moreover, if the timing of acquiring the number of packets between the packet counting device 211 and the packet analysis unit 213 does not match in the first place, the number of packets will differ even if the IoT device 101 to be inspected is operating normally. put away. For example, when obtaining the number of packets, if the last packets counted by the packet counting device 211 and the packet analysis unit 213 are the same, the numbers of packets are compared to inspect the IoT device 101 to be inspected. can be done. However, if, for example, the last packets counted by the packet counting device 211 and the packet analysis unit 213 are packets transmitted at significantly different timings in the IoT device 101 to be inspected, comparing the numbers of packets does not make sense. A certain judgment cannot be executed. If there is a discrepancy in the number of packets due to reasons other than such unauthorized communication of the IoT device 101, the IoT device 101 to be inspected cannot be inspected even if the number of packets is collected.

この様な、IoT機器101の不正な通信以外に起因するパケット数のズレを低減する一つの手法として、パケット数の取得時に検査対象のIoT機器101によるパケットの送信を一時的に停止させることが考えられる。検査対象のIoT機器101によるパケットの送信を停止させることで、例えば、経路上やバッファ上に存在する未配送のパケットの配送の完了を待ってからトラフィック情報の収集を行うことが可能になる。また、IoT機器101が発信した全てのパケットの配送が完了した状態であれば、パケット計数装置211およびパケット分析部213から収集タイミングの合致したパケット数を取得することができる。 As one method for reducing such discrepancies in the number of packets caused by factors other than unauthorized communication of the IoT device 101, it is possible to temporarily stop the transmission of packets by the IoT device 101 to be inspected when the number of packets is obtained. Conceivable. By stopping packet transmission by the IoT device 101 to be inspected, for example, it becomes possible to collect traffic information after waiting for the completion of delivery of undelivered packets existing on the route or buffer. Also, if the delivery of all packets sent by the IoT device 101 is completed, the number of packets whose collection timing matches can be acquired from the packet counting device 211 and the packet analysis unit 213 .

しかしながら、IoT機器101のなかには、外部からの制御インタフェースがほとんど用意されておらず、例えば、パケットの送信停止などの制御ができないIoT機器101もある。そこで、実施形態では、TCP(Transmission Control Protocol)による通信制御の仕組みを利用して、IoT機器101からのパケットの送信を停止させる。例えば、実施形態ではサーバ102の制御部301は、検査対象のIoT機器101からパケットを受信した場合に、そのパケットに対するACK(肯定確認応答)を破棄する。ACKを破棄することで、検査対象のIoT機器101はACK待ちの状態に入り、検査対象のIoT機器101からのパケットの送信が一時的に停止される。それにより、検査対象のIoT機器101がサーバ202と通信中であっても、トラフィック情報を収集して検査対象のIoT機器101を検査することができる。以下、検査対象のIoT機器101がサーバ202と通信接続を確立している状態におけるトラフィック情報の収集について更に詳細に説明する。 However, among the IoT devices 101, almost no control interface from the outside is prepared, and for example, there are some IoT devices 101 that cannot be controlled such as stopping transmission of packets. Therefore, in the embodiment, transmission of packets from the IoT device 101 is stopped using a communication control mechanism based on TCP (Transmission Control Protocol). For example, in the embodiment, when a packet is received from the IoT device 101 to be inspected, the control unit 301 of the server 102 discards an ACK (positive acknowledgment) for that packet. By discarding the ACK, the IoT device 101 to be inspected enters a state of waiting for ACK, and the transmission of packets from the IoT device 101 to be inspected is temporarily stopped. As a result, even when the IoT device 101 to be inspected is communicating with the server 202, traffic information can be collected and the IoT device 101 to be inspected can be inspected. Collection of traffic information in a state where the IoT device 101 to be inspected has established a communication connection with the server 202 will be described in more detail below.

図12は、送信側の装置と受信側の装置との間のTCPによる通信制御を説明する図である。なお、送信側の装置は、例えば、IoT機器101であってよい。また、受信側の装置は、例えば、サーバ202であってよい。 FIG. 12 is a diagram for explaining communication control by TCP between a device on the transmitting side and a device on the receiving side. Note that the device on the transmission side may be the IoT device 101, for example. Also, the receiving device may be, for example, the server 202 .

図12(a)は、TCPによるパケットの送信の流れを例示している。図12(a)に示す様に、送信側の装置が受信側の装置にパケットを送信したとする(図12(a)の(1))。なお、TCPでは、パケットの送信にウィンドウ制御という方式が採用されておいる。ウィンドウ制御では、ウィンドウサイズ分の複数のパケットがACKによる確認なしで連続して送信され、ACKはそれらの複数のパケットに対して、1つだけ返送される。以下では、連続して送信されるウィンドウサイズ分の複数のパケットのかたまりを1箱とし、例えば、1箱のパケットを送信するといった表現を用いることがある。 FIG. 12(a) illustrates the flow of packet transmission by TCP. As shown in FIG. 12(a), it is assumed that the transmitting device transmits a packet to the receiving device ((1) in FIG. 12(a)). Note that TCP employs a method called window control for packet transmission. In window control, multiple packets of the window size are sent consecutively without acknowledgment by ACK, and only one ACK is returned for those multiple packets. In the following description, a group of packets corresponding to the window size that are continuously transmitted is regarded as one box, and an expression such as, for example, transmitting one box of packets may be used.

送信側の装置が送信した1箱分のパケットを受信側の装置が受信すると、受信側の装置は、受信したパケットと対応するACKを返信する(図12(a)の(2))。ACKを受信すると、送信側の装置は、ウィンドウサイズを増やすなどの調整を行い(図12(a)の(3))、調整後のウィンドウサイズで次の箱のパケットを送信する(図12(a)の(4))。ここで、受信側の装置からのACKが返らないと、送信側の装置はACKの受信待ちの状態に入る。 When the device on the receiving side receives one box of packets sent by the device on the sending side, the device on the receiving side returns an ACK corresponding to the received packet ((2) in FIG. 12(a)). When the ACK is received, the device on the transmitting side makes adjustments such as increasing the window size ((3) in FIG. 12(a)), and transmits the next box of packets with the adjusted window size (FIG. 12 ( a) (4)). Here, if ACK is not returned from the device on the receiving side, the device on the transmitting side enters a state of waiting for reception of ACK.

図12(b)は、送信側の装置のACKの受信待ちの状態を例示する図である。図12(b)に示す様に、送信側の装置が1箱分のパケットを送信したとする(図12(b)の(1))。1箱分のパケットを受信側の装置が受信すると、受信側の装置は、受信したパケットと対応するACKを返信するが、このACKを破棄したとする(図12(b)の(2))。この場合、送信側の装置は、ACKの受信待ちの状態になる。ACKの受信待ちの状態は、(1)でパケットを送信してから、再送タイマに設定された所定の待ち時間が経過し、タイムアウトするまで続く。再送タイマがタイムアウトすると(図12(b)の(3))、送信側の装置は、例えば、ウィンドウサイズを減らすなどの調整を行う(図12(b)の(4))。そして、送信側の装置は、調整後のウィンドウサイズで1箱分のパケットを再送し(図12(b)の(5))、受信側の装置に再送パケットが届く(図12(b)の(6))。 FIG. 12(b) is a diagram exemplifying the state of waiting for ACK reception of the device on the transmitting side. As shown in FIG. 12(b), it is assumed that the device on the transmitting side has transmitted packets for one box ((1) in FIG. 12(b)). When the device on the receiving side receives packets for one box, the device on the receiving side returns an ACK corresponding to the received packet, but assumes that this ACK is discarded ((2) in FIG. 12(b)). . In this case, the device on the transmitting side waits for ACK reception. The state of waiting for reception of ACK continues from the transmission of the packet in (1) until a predetermined waiting time set in the retransmission timer elapses and times out. When the retransmission timer times out ((3) in FIG. 12(b)), the device on the transmitting side makes adjustments such as reducing the window size, for example ((4) in FIG. 12(b)). Then, the device on the transmitting side resends packets for one box with the adjusted window size ((5) in FIG. 12(b)), and the resent packets arrive at the device on the receiving side ((5) in FIG. 12(b)). (6)).

この場合、送信側の装置は、(1)でパケットを送信した後は、(5)でパケットの再送を実行するまでパケットの送信を停止する。そのため、このパケットの送信が停止する期間において、サーバ202は、測定誤差を抑えたトラフィック情報を収集することができる。 In this case, after transmitting the packet in (1), the device on the transmitting side stops transmitting the packet until it retransmits the packet in (5). Therefore, the server 202 can collect traffic information with reduced measurement errors during this period in which packet transmission is stopped.

以上で述べた様に、受信側の装置は、ACKを破棄して送信側の装置からのパケットの送信を停止させることで、送信側の装置が受信側の装置に宛てて送信した全てのパケットの配送が完了した状態を作り出して、トラフィック情報の取得を実行することができる。 As described above, the device on the receiving side discards the ACK and stops the transmission of packets from the device on the transmitting side. It is possible to create a state in which the delivery of data has been completed and execute the acquisition of traffic information.

なお、図12の例では、TCPの通信制御に従って、送信側の装置のパケットの送信を停止させている。そのため、例えば、TCPで通信していれば、IoT機器101がパケットの送信停止などを受け付ける外部からの制御インタフェースを備えていなくても、IoT機器101のパケットの送信を停止させることができる。 Note that, in the example of FIG. 12, the packet transmission of the device on the transmitting side is stopped according to TCP communication control. Therefore, for example, if communication is performed using TCP, the packet transmission of the IoT device 101 can be stopped even if the IoT device 101 does not have an external control interface for receiving packet transmission stop or the like.

また、ACKの破棄は、一例では、受信側の装置のファイアウォールなどのパケットフィルタに、自装置から検査対象のIoT機器101宛てのACKまたはTCPのパケットを破棄するように設定することで実行することができる。パケットフィルタを利用することで、例えば、OS350などに改変を加えなくても、ACKまたはTCPのパケットを破棄することができる。 Also, for example, ACK discarding can be executed by setting a packet filter such as a firewall of the device on the receiving side to discard ACKs or TCP packets addressed to the IoT device 101 to be inspected from the own device. can be done. By using a packet filter, for example, ACK or TCP packets can be discarded without modifying the OS 350 or the like.

続いて、以上で述べたACKの破棄を用いる通信時のトラフィック情報取得処理の動作フローを説明する。図13は、S404で制御部301が実行する通信時のトラフィック情報取得処理の動作フローを例示する図である。制御部301は、例えば、図4のS404に進むと、図13の動作フローを開始してよい。 Next, the operation flow of the traffic information acquisition process during communication using the discarding of ACK described above will be described. FIG. 13 is a diagram illustrating an operation flow of traffic information acquisition processing during communication executed by the control unit 301 in S404. For example, when proceeding to S404 of FIG. 4, the control unit 301 may start the operation flow of FIG.

S1301において制御部301は、自装置から検査対象のIoT機器101宛てのACKまたはTCPのパケットを破棄するようにパケットフィルタに設定する。 In S<b>1301 , the control unit 301 sets the packet filter to discard ACK or TCP packets addressed to the IoT device 101 to be inspected from its own device.

S1302において制御部301は、TCPのACKの破棄が実施されるまで待機する。ACKの破棄が実施されると、フローはS1303に進む。 In S1302, the control unit 301 waits until the TCP ACK is discarded. Once the ACK is discarded, flow proceeds to S1303.

続く、S1303およびS1304の処理は、図5のS501およびS502の処理と対応していてよく、制御部301は、S501およびS502の処理と同様の処理を実行してトラフィック情報を取得してよい。 The subsequent processes of S1303 and S1304 may correspond to the processes of S501 and S502 of FIG. 5, and the control unit 301 may acquire traffic information by executing processes similar to those of S501 and S502.

S1305において制御部は、S1301で設定したパケットフィルタを解除し、本動作フローは終了し、フローはS405に進む。 In S1305, the control unit cancels the packet filter set in S1301, the operation flow ends, and the flow proceeds to S405.

以上で述べた様に、実施形態によれば、検査対象のIoT機器101のトラフィック情報を収集することで、IoT機器101による不正な通信を検出することができる。そのため、例えば、セキュリティ対策ソフトをインストールすることのできない簡素な機能のみを有するIoT機器101であっても、不正な通信を実行しているか否かを検査することが可能である。 As described above, according to the embodiment, by collecting the traffic information of the IoT device 101 to be inspected, unauthorized communication by the IoT device 101 can be detected. Therefore, for example, even an IoT device 101 having only simple functions in which security countermeasure software cannot be installed can be inspected as to whether or not unauthorized communication is being performed.

また、上述の実施形態によれば、IoT機器101がサーバ202と通信中である場合には、TCPのACKを破棄することにより、IoT機器101からのパケットの送信を一時的に停止させる。それにより、IoT機器101が送信したパケット数と、それに対応するIoT機器101からサーバ202に送信されたパケット数とを測定誤差を抑えて取得することができる。そのため、IoT機器101がサーバ202と通信中である場合にも、高い精度で検査対象のIoT機器101が不正な通信を行っているか否かを判定することができる。 Further, according to the above-described embodiment, when the IoT device 101 is communicating with the server 202, the packet transmission from the IoT device 101 is temporarily stopped by discarding the TCP ACK. As a result, the number of packets transmitted by the IoT device 101 and the number of packets transmitted from the corresponding IoT device 101 to the server 202 can be acquired while suppressing measurement errors. Therefore, even when the IoT device 101 is communicating with the server 202, it can be determined with high accuracy whether or not the IoT device 101 to be inspected is conducting unauthorized communication.

なお、上述の図4の動作フローでは、サーバ202が検査対象のIoT機器101と通信中ではない場合(S402がNO)、図5の動作フローを実行し、トラフィック情報の収集を行う例を述べている。しかしながら、図5の動作フローでトラフィック情報を収集している期間中に、検査対象のIoT機器101から接続要求を受信することがある。この場合、接続要求に対するACKを破棄することで、測定誤差を抑えてトラフィック情報を収集することができる。 In the operation flow of FIG. 4 described above, when the server 202 is not communicating with the IoT device 101 to be inspected (NO in S402), the operation flow of FIG. 5 is executed to collect traffic information. ing. However, a connection request may be received from the IoT device 101 to be inspected while traffic information is being collected in the operation flow of FIG. In this case, by discarding the ACK for the connection request, it is possible to collect traffic information while suppressing measurement errors.

図14は、実施形態に係る接続要求の破棄を説明する図である。図14(a)は、TCPの接続の確立を例示する図である。TCPでは、例えば、図14(a)に示す様に、3ウェイハンドシェイクにより接続が確立する。この際に、図14(b)に示す様に、接続要求に対するACKを破棄し、その後でトラフィック情報の収集を再度開始することで、IoT機器101との接続に起因する測定誤差を低減してトラフィック情報を収集することができる。 FIG. 14 is a diagram illustrating discarding of a connection request according to the embodiment. FIG. 14A is a diagram illustrating establishment of a TCP connection. In TCP, for example, as shown in FIG. 14(a), a connection is established by a 3-way handshake. At this time, as shown in FIG. 14(b), by discarding the ACK for the connection request and then restarting the collection of traffic information, the measurement error caused by the connection with the IoT device 101 can be reduced. Traffic information can be collected.

なお、制御部301は、例えば、図5の動作フローの実行中に検査対象のIoT機器101から接続要求を受信した場合、図5の動作フローを中止し、代わりに図13の動作フローを実行して、接続要求に対するACKを破棄し、トラフィック情報を収集してよい。 For example, when the control unit 301 receives a connection request from the IoT device 101 to be inspected during execution of the operation flow of FIG. 5, it stops the operation flow of FIG. 5 and executes the operation flow of FIG. 13 instead. may discard the ACK for the connection request and collect the traffic information.

また、サーバ202に流れ込むパケットの数を計数するために、上述の実施形態では図2に示す様にハブ212と、パケット分析部213とをハードウェアとして実装する例を述べている。しかしながら、実施形態は、これに限定されるものではない。例えば、図15に示す様に、パケット分析部213は、サーバ202上で動作するアプリケーションとして実装することもできる。この場合、例えば、ネットワークインタフェースがプロミスキャスモードで動作するように、サーバ202のOS350のカーネルに設定することで、パケット分析部213でパケットの情報を取得することが可能である。 Also, in order to count the number of packets flowing into the server 202, the above embodiment describes an example in which the hub 212 and the packet analysis unit 213 are implemented as hardware as shown in FIG. However, embodiments are not so limited. For example, as shown in FIG. 15, the packet analysis unit 213 can be implemented as an application running on the server 202. FIG. In this case, for example, by setting the kernel of the OS 350 of the server 202 so that the network interface operates in promiscuous mode, the packet analysis unit 213 can acquire packet information.

(トラフィック情報の収集の変形例)
続いて、IoT機器101がサーバ202と通信中である場合におけるトラフィック情報の取得について更なる変形例を説明する。
(Modified example of traffic information collection)
Next, a further modified example of acquisition of traffic information when the IoT device 101 is communicating with the server 202 will be described.

TCPは、バージョンに応じてパケットの送信手順が異なる。図16は、TCPのバージョンに応じたパケットの送信手順の違いを例示する図である。図16には、例えば、Tahoe,Renoなどに代表される第1のバージョンと、NewReno、BIC、CUBICなどに代表される第2のバージョンのパケットの送信手順が例示されている。 TCP has different packet transmission procedures depending on the version. FIG. 16 is a diagram illustrating differences in packet transmission procedures according to TCP versions. FIG. 16 exemplifies the packet transmission procedure of the first version represented by Tahoe, Reno, etc., and the second version represented by NewReno, BIC, CUBIC, etc., for example.

図16(a)に示されるように、第1のバージョンでは、送信側の装置は、ウィンドウサイズ分の1箱のパケットを送信した後、受信側の装置から送信したパケットに対応するACKを受信するまで次の箱のパケットを送信しない。この場合、受信側の装置が、受信した1箱のパケットに対するACKを1つ破棄すると、その後、送信側の装置は再送を開始するまでは次の箱のパケットを送信してこない。そのため、第1のバージョンでは、受信側の装置は、ACKを1つ破棄した時点で、トラフィック情報の取得を開始してもよい。 As shown in FIG. 16(a), in the first version, the transmitting device receives an ACK corresponding to the transmitted packet from the receiving device after transmitting one box of packets corresponding to the window size. Do not send the next box packet until In this case, after the device on the receiving side discards one ACK for the received packet of one box, the device on the transmitting side does not transmit the packet of the next box until retransmission is started. Therefore, in the first version, the receiving device may start acquiring traffic information when it discards one ACK.

一方、図16(b)に示されるように、第2のバージョンでは、送信側の装置は、1箱のパケットを送信した後、受信側の装置から送信した1箱のパケットに対するACKを受信する前に、次の箱のパケットを送信する。その後、送信側の装置は、先に送信した1箱のパケットのACKを受信するまでは待ちに入り、次の箱のパケットは送信しない。この場合、受信側の装置は、1つ目に受信したパケットの箱に対するACKを1つ破棄した後にも次の箱のパケットが届くことになる。そのため、第2のバージョンでは、受信側の装置は、ACKを1つ廃棄した後、送信側の装置が送ってくる次の箱のパケットを受信してから、トラフィック情報の取得を開始すればよい。以下、第2のバージョンのTCPにおけるトラフィック情報の取得について変形例1を説明する。 On the other hand, as shown in FIG. 16(b), in the second version, the transmitting device receives an ACK for the one box of packets transmitted from the receiving device after transmitting one box of packets. Send the next box packet before. After that, the device on the transmitting side waits until it receives ACK for the previously transmitted packet of one box, and does not transmit the packet of the next box. In this case, the device on the receiving side receives the packet of the next box even after discarding one ACK for the box of the first received packet. Therefore, in the second version, after discarding one ACK, the device on the receiving side receives the packet in the next box sent by the device on the transmitting side, and then starts acquiring traffic information. . Modification 1 of acquisition of traffic information in the second version of TCP will be described below.

(変形例1)
図17は、変形例1に係るTCPの第2のバージョンにおけるトラフィック情報の収集の実行タイミングを例示する図である。まず、送信側の装置は、ウィンドウサイズ分のパケットを1箱、受信側の装置に送信する(図17の(1))。受信側の装置は、トラフィック情報の収集を実行する場合、パケットフィルタをONにしている。そのため、受信側の装置は、送信側の装置からパケットを受信するとACKを発信するが、そのACKはパケットフィルタで破棄される(図17の(2))。また、第2のバージョンのTCPでは、送信側の装置は、(1)で送信したパケットに対するACKを待たずに、次のパケットの箱を送信する(図17の(3))。送信側の装置は次のパケットの箱を送信した時点で、ACKの待ち状態に入りパケットの送信を停止する。そのため、受信側の装置は、(3)で送信されたパケットを受信した時点で(図17の(4))、トラフィック情報の取得を開始することができる。一例では、受信側の装置は、(3)で送信されたパケットに対するACKを発信し、そのACKをパケットフィルタで破棄したタイミングで(図17の(5))、トラフィック情報の収集を開始してよい。その後、受信側の装置は、トラフィック情報の収集が完了すると、パケットフィルタをOFFにして、ACKの破棄を停止する(図17の(6))。
(Modification 1)
FIG. 17 is a diagram illustrating execution timings for collecting traffic information in the second version of TCP according to Modification 1. In FIG. First, the device on the transmitting side transmits one box of packets corresponding to the window size to the device on the receiving side ((1) in FIG. 17). The device on the receiving side turns on the packet filter when collecting traffic information. Therefore, the device on the receiving side issues an ACK when it receives a packet from the device on the transmitting side, but the ACK is discarded by the packet filter ((2) in FIG. 17). Also, in the second version of TCP, the device on the transmitting side transmits the box of the next packet without waiting for ACK for the packet transmitted in (1) ((3) in FIG. 17). When the device on the transmitting side transmits the next packet box, it enters an ACK waiting state and stops packet transmission. Therefore, the device on the receiving side can start acquiring traffic information when it receives the packet transmitted in (3) ((4) in FIG. 17). In one example, the device on the receiving side transmits an ACK for the packet transmitted in (3), and starts collecting traffic information at the timing when the ACK is discarded by the packet filter ((5) in FIG. 17). good. After that, when the collection of traffic information is completed, the device on the receiving side turns off the packet filter and stops discarding ACKs ((6) in FIG. 17).

また、送信側の装置は、(1)で送信したパケットに対するACKの受信を待機するが、パケットを送信してから再送タイマが、所定の待ち時間を経過し、タイムアウトすると(図17の(7))、パケットを再送する(図17の(8))。 Also, the device on the transmitting side waits to receive an ACK for the packet transmitted in (1), but when the retransmission timer times out after the predetermined waiting time has passed since the packet was transmitted ((7 in FIG. 17) )) and resend the packet ((8) in FIG. 17).

以上で例示したように、第2のバージョンのTCPでも、ACKを破棄することで、送信側の装置がサーバ202に送信したパケットの配送が完了した状態でトラフィック情報の収集を実行することができる。 As exemplified above, even in the second version of TCP, by discarding the ACK, it is possible to collect traffic information in a state in which the packet transmitted by the device on the transmitting side to the server 202 has been delivered. .

図18は、図4のS404において変形例1で制御部301が実行する通信時のトラフィック情報取得処理の動作フローを例示する図である。S1801、およびS1803からS1805の処理は、図13のS1301、およびS1303からS1305の処理とそれぞれ対応しており、制御部301は、S1301、およびS1303からS1305と同様の処理を実行してよい。ただし、図18の処理では、制御部301は、S1802でACKを連続して2つ破棄するまで待機する。それにより、第2のバージョンのTCPでも、測定誤差を抑えてトラフィック情報を収集することができる。 FIG. 18 is a diagram illustrating an operational flow of traffic information acquisition processing during communication executed by the control unit 301 in Modification 1 in S404 of FIG. The processes of S1801 and S1803 to S1805 correspond to the processes of S1301 and S1303 to S1305 of FIG. However, in the process of FIG. 18, the control unit 301 waits until two consecutive ACKs are discarded in S1802. As a result, even with the second version of TCP, it is possible to collect traffic information while suppressing measurement errors.

(変形例2)
上述の変形例1では、受信側の装置の制御部301は、図17の(5)で2つ目のACKを破棄してからトラフィック情報の収集を開始している。ここで、トラフィック情報の収集は、送信側の装置でACKの受信待ちがタイムアウトしてパケットの再送が実行される前までに完了することが望ましい。しかしながら、実際には通信環境などによって、トラフィック情報の収集が間に合わないこともある。この場合に、パケットの再送時にウィンドウサイズを縮小させるTCPの性質を利用することでトラフィック情報の収集に利用可能な時間を延ばすことができる。そこで、変形例2では、受信側の装置でACKを3個連続で廃棄してからトラフィック情報の収集を開始することで、トラフィック情報の収集に利用可能な時間を延ばす例を述べる。
(Modification 2)
In Modification 1 described above, the control unit 301 of the device on the receiving side discards the second ACK in (5) of FIG. 17 and then starts collecting traffic information. Here, it is desirable that the collection of traffic information be completed before the device on the transmitting side times out waiting for ACK reception and retransmits the packet. However, in reality, the traffic information may not be collected in time due to the communication environment and the like. In this case, the time available for collecting traffic information can be extended by utilizing the TCP property of reducing the window size when retransmitting packets. Therefore, in Modified Example 2, an example will be described in which the time available for collecting traffic information is extended by starting the collection of traffic information after discarding three consecutive ACKs in the device on the receiving side.

図19は、変形例2に係るトラフィック情報の収集の実行タイミングを例示する図である。図19において(1)から(3)までは、図17と同様に処理が実行されてよい。(4)において、受信側の装置は、送信側の装置からパケットを受信すると、ACKを発信するが、そのACKはパケットフィルタで破棄される(図19の(5))。送信側の装置は、ACK待ちの状態にあるが、ACK待ちのタイムアウトの時間が経過すると(図19の(6))、パケットを再送する(図19の(7))。そして、変形例2では受信側の装置は、再送されたパケットのACKを破棄したタイミングで(図19の(8))、トラフィック情報の取得を開始する。 FIG. 19 is a diagram illustrating execution timings for collecting traffic information according to Modification 2. In FIG. From (1) to (3) in FIG. 19, the processing may be executed in the same manner as in FIG. In (4), the device on the receiving side transmits an ACK when it receives a packet from the device on the transmitting side, but the ACK is discarded by the packet filter ((5) in FIG. 19). The device on the transmitting side is waiting for ACK, but when the timeout time for waiting for ACK elapses ((6) in FIG. 19), it retransmits the packet ((7) in FIG. 19). Then, in Modification 2, the device on the receiving side starts acquiring traffic information at the timing when the ACK of the retransmitted packet is discarded ((8) in FIG. 19).

この場合、再送のタイマは(7)のパケットの再送信からカウントが開始しており、また、TCPではパケットの再送の際にACKを待つ再送タイマのタイムアウトまでの時間が延長されるため、再送タイマの待ち時間も延長されている。また、例えば、タイムアウト後はウィンドウサイズが縮小され、送信側の装置は、パケットを1つ送信しては、そのACKを待つように動作する。そのため、1箱分のパケットの送信にかかる時間も短くなる。その結果、変形例2では、変形例1よりも長い時間を、トラフィック情報の取得のために確保することができる。 In this case, the retransmission timer starts counting from the retransmission of the packet in (7), and in TCP, when the packet is retransmitted, the time until the retransmission timer waits for ACK is extended until timeout. The waiting time of the timer is also extended. Also, for example, after a timeout, the window size is reduced, and the device on the transmitting side transmits one packet and waits for its ACK. Therefore, the time required to transmit packets for one box is also shortened. As a result, in modification 2, a longer time than in modification 1 can be secured for obtaining traffic information.

また更に、TCPでは、ACKを待つ再送タイマのタイムアウトまでの時間は、パケットの再送を繰り返すたびに延長される。例えば、タイムアウトの時間は、初期値が3秒であってよく、また、再送のたびに、3秒ずつ延長されてよい。この場合、図20に示す様に、再送タイマの待ち時間は、タイムアウトで再送されたパケットに対するACKを破棄するごとに、3秒ずつ延長されてゆく。 Furthermore, in TCP, the time until timeout of the retransmission timer waiting for ACK is extended each time a packet is repeatedly retransmitted. For example, the timeout period may have an initial value of 3 seconds and may be extended by 3 seconds for each retransmission. In this case, as shown in FIG. 20, the waiting time of the retransmission timer is extended by 3 seconds each time an ACK for a packet retransmitted due to timeout is discarded.

なお、再送タイマの待ち時間には、例えば、OS350ごとに上限が設定されている。例えば、Windows(登録商標)では、待ち時間の上限は、21秒に設定されており、Linux(登録商標)では、待ち時間の上限は381秒に設定されている。待ち時間の上限を超えると、接続が切断されるため、実施形態では、待ち時間の上限以下で、トラフィック情報の取得に適した待ち時間となるように廃棄するACKの数を設定することができる。例えば、図16(a)の第1のバージョンのTCPでは、待ち時間は、「破棄したACKの数×3秒」で見積もることができる。また、図16(b)の第2のバージョンのTCPでは、最初にACKを破棄した後、ACKを待たずに送信される次の箱のパケットのACKを破棄する分だけ1回増えるため、「(破棄したACKの数-1回)×3秒」で待ち時間を見積もることができる。 Note that an upper limit is set for each OS 350, for example, for the wait time of the retransmission timer. For example, in Windows (registered trademark), the upper limit of waiting time is set to 21 seconds, and in Linux (registered trademark), the upper limit of waiting time is set to 381 seconds. If the latency limit is exceeded, the connection will be disconnected, so in embodiments, the number of ACKs to be discarded can be set so that the latency is less than or equal to the latency limit and suitable for obtaining traffic information. . For example, in the first version of TCP in FIG. 16(a), the waiting time can be estimated by "the number of discarded ACKs×3 seconds". In addition, in the second version of TCP in FIG. 16(b), after the ACK is discarded first, the ACK of the packet of the next box that is transmitted without waiting for the ACK is incremented by 1 to discard the ACK. The waiting time can be estimated by (the number of discarded ACKs - 1) x 3 seconds.

図21は、図4のS404において変形例2で制御部301が実行する通信時のトラフィック情報取得処理の動作フローを例示する図である。S2101、およびS2103からS2105までの処理は、図13のS1301、およびS1303からS1305までの処理とそれぞれ対応しており、制御部301は、S1301、およびS1303からS1305と同様の処理を実行してよい。ただし、図21の処理では、制御部301は、S2102でACKを連続して所定の回数だけ破棄するまで待機する。所定の回数は、例えば、連続してACKを破棄する回数であり、3回以上の回数であってよく、IoTシステム200の構成に応じて、トラフィック情報の取得が可能な待ち時間となるように、ACKを破棄する回数が設定されてよい。 FIG. 21 is a diagram illustrating an operational flow of traffic information acquisition processing during communication executed by the control unit 301 in Modification 2 in S404 of FIG. The processing from S2101 and from S2103 to S2105 corresponds to the processing from S1301 and from S1303 to S1305 in FIG. . However, in the process of FIG. 21, the control unit 301 waits until ACKs are discarded consecutively a predetermined number of times in S2102. The predetermined number of times is, for example, the number of times ACKs are discarded consecutively, and may be three times or more. , the number of times to discard the ACK may be set.

以上の図19から図21で述べた様に、ACKの破棄を繰り返すことで、ACK待ち時間を長くすることができるため、トラフィック情報の収集に時間がかかる場合にも、十分な時間を確保することができる。 As described above with reference to FIGS. 19 to 21, by repeatedly discarding ACKs, the ACK waiting time can be lengthened. Therefore, even when it takes time to collect traffic information, sufficient time is secured. be able to.

(変形例3)
変形例2では、再送タイマのタイムアウト後にウィンドウサイズが縮小するTCPの性質を利用して1箱分のパケットの数を減少させて、1箱分のパケットが受信側の装置に到達するまでの時間を短縮している。それにより、トラフィック情報の収集に利用できる時間を長く確保することができる。しかしながら、この場合、送信側の装置で再送タイマがタイムアウトするまでの待ち時間が発生する。そこで、変形例3では、改変したACKを送信側の装置に送信することで、送信側の装置のウィンドウサイズを縮小させる例を述べる。それにより、再送タイマがタイムアウトするまで待たなくても、トラフィック情報の収集を開始することが可能になる。
(Modification 3)
In Modified Example 2, the number of packets for one box is reduced by using the TCP property that the window size is reduced after the retransmission timer times out, and the time until the packets for one box reach the device on the receiving side. is shortened. As a result, it is possible to secure a longer time available for collecting traffic information. However, in this case, there is a waiting time until the retransmission timer times out in the device on the transmitting side. Therefore, in Modification 3, an example will be described in which the window size of the transmission-side device is reduced by transmitting a modified ACK to the transmission-side device. This makes it possible to start collecting traffic information without having to wait until the retransmission timer times out.

TCPでは、ACKの種類によって、送信側の装置のウィンドウサイズを縮小させることが可能である。例えば、TCPでは、ACKに受信バッファが一杯であることを示すフラグがあり、このフラグがONである場合、送信側の装置は、ウィンドウサイズを縮小する。そこで、変形例3では、受信側の装置は、受信バッファが一杯であることを示すフラグを立てるように改ざんしたACKを送信側の装置に送信し、それにより送信側の装置のウィンドウサイズを縮小させる。 In TCP, it is possible to reduce the window size of the device on the transmitting side depending on the type of ACK. For example, in TCP, the ACK has a flag indicating that the receive buffer is full, and if this flag is ON, the device on the sending side reduces the window size. Therefore, in Modification 3, the device on the receiving side transmits to the device on the transmitting side an ACK that has been falsified so as to set a flag indicating that the reception buffer is full, thereby reducing the window size of the device on the transmitting side. Let

図22は、変形例3に係るトラフィック情報の収集の実行タイミングを例示する図である。トラフィック情報を収集する場合、送信側の装置がパケットを送信すると(図22の(1))、受信側の装置は、そのパケットに対して、受信バッファが一杯であることを示すフラグを立てるように改ざんしたACKを返す(図22の(2))。その後、受信側の装置は、パケットフィルタをONに設定し(図22の(3))、以降、送信側の装置がパケットを送信してくると(図22の(4))、そのパケットを受信したことを示すACKを破棄する(図22の(5))。 FIG. 22 is a diagram illustrating execution timings for collecting traffic information according to Modification 3. In FIG. When collecting traffic information, when a device on the transmitting side transmits a packet ((1) in FIG. 22), the device on the receiving side sets a flag indicating that the receive buffer is full for that packet. ((2) in FIG. 22). After that, the device on the receiving side sets the packet filter to ON ((3) in FIG. 22), and thereafter, when the device on the transmitting side transmits packets ((4) in FIG. 22), ACK indicating that it has been received is discarded ((5) in FIG. 22).

また、送信側の装置は、改ざんしたACKを受信すると、ウィンドウサイズを縮小し(図22の(6))、以降、パケットを1つずつ送信してACKを待つ(図22の(7))。そのため、受信側の装置は、(8)においてパケットに対するACKを破棄すると、トラフィック情報の収集を開始することができる。この場合、送信側の装置において、(7)で送信したパケットに対する再送タイマがタイムアウトするまでの間に、受信側の装置は、トラフィック情報の収集を完了すればよい。トラフィック情報の収集を完了すると、受信側の装置は、パケットフィルタをOFFにする(図22の(9))。そして、送信側の装置は、再送タイマがタイムアウトするとパケットの再送を行う(図22の(10))。 Further, when the device on the transmitting side receives the tampered ACK, it reduces the window size ((6) in FIG. 22), and thereafter transmits packets one by one and waits for the ACK ((7) in FIG. 22). . Therefore, the device on the receiving side can start collecting traffic information after discarding the ACK for the packet in (8). In this case, the receiving device may complete the collection of traffic information before the retransmission timer for the packet transmitted in (7) times out in the transmitting device. After completing the collection of traffic information, the device on the receiving side turns off the packet filter ((9) in FIG. 22). Then, when the retransmission timer times out, the device on the transmission side retransmits the packet ((10) in FIG. 22).

以上で述べた様に、変形例3では、送信側の装置のタイムアウトを待たずに、送信側の装置のウィンドウサイズを縮小させてトラフィック情報の収集を行うことができる。例えば、変形例3では、変形例2の図19の(6)のタイムアウトを待たなくてよい。 As described above, in Modification 3, it is possible to collect traffic information by reducing the window size of the device on the transmission side without waiting for timeout of the device on the transmission side. For example, in modification 3, it is not necessary to wait for the timeout of (6) in FIG. 19 of modification 2. FIG.

なお、変形例3では受信側の装置は、改ざんしたACKを送信側の装置に返している。送信側の装置に改ざんしたACKを返すための手法の一例としては、受信側の装置においてACKを生成するOS350を、アプリケーションからの依頼を受けて、改ざんしたACKを返すように改変することが考えられる。また、別の例では、特定のインタフェースで受けたパケットをまるごとアプリケーションに送るようにOS350を設定しておき、OS350の処理をバイパスして、アプリケーション上でTCPのパケットを処理することが考えられる。この場合、アプリケーションが改ざんしたACKを返すため、OS350を改変しなくても、変形例3の処理を実行することができる。 Note that in Modification 3, the device on the receiving side returns a falsified ACK to the device on the transmitting side. As an example of a technique for returning a falsified ACK to a device on the transmitting side, it is conceivable to modify the OS 350 that generates an ACK in the device on the receiving side so as to return a falsified ACK upon receiving a request from an application. be done. In another example, it is conceivable to set the OS 350 to send the entire packet received by a specific interface to the application, bypass the processing of the OS 350, and process the TCP packet on the application. In this case, since the application returns a tampered ACK, the process of modification 3 can be executed without modifying the OS 350 .

図23は、図4のS404において変形例3で制御部301が実行する通信時のトラフィック情報取得処理の動作フローを例示する図である。図23の処理では、制御部301は、S2301で改ざんしたACKをIoT機器に送信する。例えば、制御部301は、受信バッファが一杯であることを示すフラグを立てるようにACKを改ざんすることで、改ざんしたACKを生成することができる。改ざんしたACKを送信後、制御部301は、S2302で自装置から検査対象のIoT機器101宛てのACKまたはTCPのパケットを破棄するようにパケットフィルタに設定する。そして、S2303で制御部301は、ACKを2つ連続で破棄するまで待機する。続く、S2304からS2306までの処理は、図13のS1303からS1305までの処理とそれぞれ対応しており、制御部301は、S1303からS1305と同様の処理を実行してよい。なお、変形例3でも、変形例2と同様に、トラフィック情報の取得に適した待ち時間を確保するために3回以上ACKを廃棄してもよい。 FIG. 23 is a diagram illustrating an operational flow of traffic information acquisition processing during communication executed by the control unit 301 in Modification 3 in S404 of FIG. In the process of FIG. 23, the control unit 301 transmits the ACK falsified in S2301 to the IoT device. For example, the control unit 301 can generate a falsified ACK by falsifying the ACK so as to set a flag indicating that the receive buffer is full. After transmitting the tampered ACK, in S2302, the control unit 301 sets the packet filter so as to discard the ACK or TCP packet addressed to the IoT device 101 to be inspected from its own device. Then, in S2303, the control unit 301 waits until two consecutive ACKs are discarded. The subsequent processing from S2304 to S2306 corresponds to the processing from S1303 to S1305 in FIG. 13, respectively, and the control unit 301 may execute the same processing as from S1303 to S1305. Note that in the third modification, as in the second modification, the ACK may be discarded three times or more in order to secure a waiting time suitable for acquiring traffic information.

以上の変形例1から変形例3によれば、TCPのバージョンが第2のバージョンであっても、或いは、トラフィック情報の収集に時間を要する場合にも、測定誤差を抑えてトラフィック情報を収集し、IoT機器101を検査することができる。 According to Modifications 1 to 3 described above, even if the TCP version is the second version, or even if it takes time to collect traffic information, traffic information can be collected while suppressing measurement errors. , the IoT device 101 can be inspected.

なお、上述の実施形態において、例えば、S1301、S1801、S2101、S2302の処理では、サーバ202の制御部301は、設定部311として動作する。また、例えば、S501、S502、S1303、S1304、S1803、S1804、S2103、S2104、S2304、およびS2305の処理では、サーバ202の制御部301は、取得部312として動作する。例えば、S405の処理では、サーバ202の制御部301は、検査部313として動作する。 In the above-described embodiment, for example, the control unit 301 of the server 202 operates as the setting unit 311 in the processes of S1301, S1801, S2101, and S2302. Further, for example, in the processes of S501, S502, S1303, S1304, S1803, S1804, S2103, S2104, S2304, and S2305, the control unit 301 of the server 202 operates as the acquisition unit 312. For example, in the process of S<b>405 , the control unit 301 of the server 202 operates as the inspection unit 313 .

以上において、実施形態を例示したが、実施形態はこれに限定されるものではない。例えば、上述の動作フローは例示であり、実施形態はこれに限定されるものではない。可能な場合には、動作フローは、処理の順番を変更して実行されてもよく、別に更なる処理を含んでもよく、または、一部の処理が省略されてもよい。例えば、上述のS501とS502の処理、S1303とS1304の処理、S1803とS1804の処理、S2103とS2104の処理、S2304とS2305の処理はそれぞれ順序を入れ替えて実行されてもよい。 Although the embodiment has been exemplified above, the embodiment is not limited to this. For example, the operational flow described above is an example, and embodiments are not limited thereto. Where possible, the operation flow may be executed by changing the order of the processes, may include additional processes, or may omit some of the processes. For example, the processes of S501 and S502, the processes of S1303 and S1304, the processes of S1803 and S1804, the processes of S2103 and S2104, and the processes of S2304 and S2305 described above may be executed in a different order.

また、例えば、上述の変形例1~変形例3では、ACKを破棄したタイミングでトラフィック情報の収集を開始する例を述べている。しかしながら、実施形態はこれに限定されるものではない。例えば、別の実施形態では、制御部301は、ACKを破棄したタイミングに基づいてトラフィック情報の収集の開始タイミングを決定してもよい。例えば、上述の変形例1において、制御部301は、1つ目のACKを破棄してから、ウィンドウサイズ分のパケットを受信したタイミングでトラフィック情報の収集を開始してもよい。または、制御部301は、1つ目のACKを破棄してから、所定時間経過したタイミングでトラフィック情報の収集を開始してもよい。この場合、所定時間は、例えば、往復遅延時間(RTT:Round-Trip Time)などに応じて、送信側の装置が送信してくる次の箱のパケットの受信が完了する長さに設定されてよい。 Further, for example, in the above-described modified examples 1 to 3, examples are described in which the collection of traffic information is started at the timing when the ACK is discarded. However, embodiments are not so limited. For example, in another embodiment, the control unit 301 may determine the start timing of traffic information collection based on the timing of discarding the ACK. For example, in Modification 1 described above, after discarding the first ACK, the control unit 301 may start collecting traffic information at the timing of receiving packets for the window size. Alternatively, the control unit 301 may start collecting traffic information when a predetermined time has passed after discarding the first ACK. In this case, the predetermined time is set to a length, for example, according to the round-trip time (RTT: Round-Trip Time) to complete the reception of the packet of the next box transmitted by the device on the transmitting side. good.

図24は、実施形態に係るサーバ202またはパケット分析部213を実現するためのコンピュータ2400のハードウェア構成を例示する図である。図24のサーバ202またはパケット分析部213を実現するためのハードウェア構成は、例えば、プロセッサ2401、メモリ2402、記憶装置2403、読取装置2404、および通信インタフェース2406を備える。なお、プロセッサ2401、メモリ2402、記憶装置2403、読取装置2404、通信インタフェース2406は、例えば、バス2408を介して互いに接続されている。 FIG. 24 is a diagram illustrating the hardware configuration of a computer 2400 for implementing the server 202 or packet analysis unit 213 according to the embodiment. A hardware configuration for realizing the server 202 or the packet analysis unit 213 of FIG. 24 includes, for example, a processor 2401, a memory 2402, a storage device 2403, a reader 2404, and a communication interface 2406. Note that the processor 2401, memory 2402, storage device 2403, reading device 2404, and communication interface 2406 are connected to each other via a bus 2408, for example.

プロセッサ2401は、例えば、シングルプロセッサであっても、マルチプロセッサやマルチコアであってもよい。プロセッサ2401は、メモリ2402を利用して例えば上述の動作フローの手順を記述したプログラムを実行することにより、上述した制御部301またはパケット分析部213の一部または全部の機能を提供する。例えば、サーバ202のプロセッサ2401は、記憶装置2403に格納されているプログラムを読み出して実行することで、設定部311、取得部312、および検査部313として動作する。また、プロセッサ2401は、例えば、記憶装置2403に格納されているプログラムを読み出して実行することで、パケット分析部213として動作してよい。 The processor 2401 may be, for example, a single processor, multiple processors, or multiple cores. The processor 2401 provides a part or all of the functions of the control unit 301 or the packet analysis unit 213 described above by executing, for example, a program describing the procedure of the operation flow described above using the memory 2402 . For example, the processor 2401 of the server 202 operates as the setting unit 311 , the acquisition unit 312 and the inspection unit 313 by reading and executing programs stored in the storage device 2403 . Also, the processor 2401 may operate as the packet analysis unit 213 by reading and executing a program stored in the storage device 2403, for example.

メモリ2402は、例えば半導体メモリであり、RAM領域およびROM領域を含んでいてよい。記憶装置2403は、例えばハードディスク、フラッシュメモリ等の半導体メモリ、または外部記憶装置である。なお、RAMは、Random Access Memoryの略称である。また、ROMは、Read Only Memoryの略称である。 Memory 2402 is, for example, a semiconductor memory and may include a RAM area and a ROM area. The storage device 2403 is, for example, a hard disk, a semiconductor memory such as a flash memory, or an external storage device. Note that RAM is an abbreviation for Random Access Memory. Also, ROM is an abbreviation for Read Only Memory.

読取装置2404は、プロセッサ2401の指示に従って着脱可能記憶媒体2405にアクセスする。着脱可能記憶媒体2405は、例えば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD-ROM、DVD等)などにより実現される。なお、USBは、Universal Serial Busの略称である。CDは、Compact Discの略称である。DVDは、Digital Versatile Diskの略称である。 Reader 2404 accesses removable storage medium 2405 according to instructions from processor 2401 . The removable storage medium 2405 is, for example, a semiconductor device (USB memory, etc.), a medium in which information is input/output by magnetic action (magnetic disk, etc.), a medium in which information is input/output by optical action (CD-ROM, DVD, etc.). Note that USB is an abbreviation for Universal Serial Bus. CD is an abbreviation for Compact Disc. DVD is an abbreviation for Digital Versatile Disk.

なお、上述の記憶部302は、例えば、メモリ2402、記憶装置2403、および着脱可能記憶媒体2405を含んでよい。サーバ202の記憶装置2403またはパケット分析部213の記憶装置2403には、例えば、分析情報900が格納されていてよい。 Note that the storage unit 302 described above may include a memory 2402, a storage device 2403, and a removable storage medium 2405, for example. For example, analysis information 900 may be stored in the storage device 2403 of the server 202 or the storage device 2403 of the packet analysis unit 213 .

通信インタフェース2406は、プロセッサ2401の指示に従ってネットワークを介してデータを送受信する。通信インタフェース2406は、例えば、上述の通信部303の一例である。 Communication interface 2406 transmits and receives data via the network according to instructions from processor 2401 . The communication interface 2406 is, for example, an example of the communication unit 303 described above.

実施形態に係る各プログラムは、例えば、下記の形態でサーバ202およびパケット分析部213に提供される。
(1)記憶装置2403に予めインストールされている。
(2)着脱可能記憶媒体2405により提供される。
(3)プログラムサーバなどのサーバから提供される。
Each program according to the embodiment is provided to the server 202 and the packet analysis unit 213 in the following form, for example.
(1) Pre-installed in the storage device 2403 .
(2) provided by removable storage medium 2405;
(3) provided by a server such as a program server;

なお、図24を参照して述べたサーバ202およびパケット分析部213を実現するためのコンピュータ2400のハードウェア構成は、例示であり、実施形態はこれに限定されるものではない。例えば、上述の機能部の一部または全部の機能がFPGAおよびSoCなどによるハードウェアとして実装されてもよい。なお、FPGAは、Field Programmable Gate Arrayの略称である。SoCは、System-on-a-chipの略称である。 Note that the hardware configuration of the computer 2400 for realizing the server 202 and the packet analysis unit 213 described with reference to FIG. 24 is an example, and the embodiment is not limited to this. For example, some or all of the functions of the functional units described above may be implemented as hardware such as FPGA and SoC. Note that FPGA is an abbreviation for Field Programmable Gate Array. SoC is an abbreviation for System-on-a-chip.

以上において、いくつかの実施形態が説明される。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態および代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨および範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態が実施され得ることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除してまたは置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。 Several embodiments are described above. However, it should be understood that the embodiments are not limited to the embodiments described above, but encompass various variations and alternatives of the embodiments described above. For example, it will be appreciated that various embodiments can be embodied with varying elements without departing from the spirit and scope thereof. Also, it will be understood that various embodiments can be implemented by appropriately combining a plurality of constituent elements disclosed in the above-described embodiments. Furthermore, various embodiments can be implemented by deleting or replacing some components from all the components shown in the embodiments, or by adding some components to the components shown in the embodiments. It will be understood by those skilled in the art that

100 IoTシステム
101 IoT機器
102 サーバ
105 ネットワーク
150 IT網
200 IoTシステム
202 サーバ
211 パケット計数装置
212 ハブ
213 パケット分析部
250 検査システム
301 制御部
302 記憶部
303 通信部
311 設定部
312 取得部
313 検査部
2400 コンピュータ
2401 プロセッサ
2402 メモリ
2403 記憶装置
2404 読取装置
2405 着脱可能記憶媒体
2406 通信インタフェース
2408 バス
100 IoT system 101 IoT device 102 Server 105 Network 150 IT network 200 IoT system 202 Server 211 Packet counting device 212 Hub 213 Packet analysis unit 250 Inspection system 301 Control unit 302 Storage unit 303 Communication unit 311 Setting unit 312 Acquisition unit 313 Inspection unit 2400 computer 2401 processor 2402 memory 2403 storage device 2404 reader 2405 removable storage medium 2406 communication interface 2408 bus

Claims (6)

サーバにより実行される検査方法であって、前記サーバが、
検査対象の装置宛ての肯定確認応答を破棄するようにパケットフィルタに設定し、
前記パケットフィルタで前記検査対象の装置宛ての肯定確認応答を破棄したタイミングに基づき、前記検査対象の装置が発信したパケットの数を表す第1のパケット数と、前記検査対象の装置が前記サーバに宛てて送信したパケットの数を表す第2のパケット数とを収集し、
前記第1のパケット数および前記第2のパケット数が所定の誤差範囲内で合致しているか否かにより、前記検査対象の装置の不正な通信を検査する、
ことを含む、検査方法。
A testing method performed by a server, the server comprising:
configure the packet filter to discard positive acknowledgments destined for the device under test;
a first packet count representing the number of packets transmitted by the device under test based on the timing at which the packet filter discards a positive acknowledgment addressed to the device under test; and a second packet count representing the number of packets sent to
Inspecting unauthorized communication of the device to be inspected depending on whether the first number of packets and the second number of packets match within a predetermined error range;
inspection method, including
前記パケットフィルタが前記検査対象の装置宛ての肯定確認応答を破棄したタイミングは、前記パケットフィルタが前記検査対象の装置宛ての肯定確認応答を2つ連続で破棄したタイミングである、請求項1に記載の検査方法。 2. The packet filter according to claim 1, wherein the timing at which said packet filter discards positive acknowledgments addressed to said device to be inspected is the timing at which said packet filter discards two consecutive positive acknowledgments addressed to said device to be inspected. inspection method. 前記パケットフィルタが前記検査対象の装置宛ての肯定確認応答を破棄したタイミングは、前記パケットフィルタが前記検査対象の装置宛ての肯定確認応答を3回以上の所定回数連続で破棄したタイミングである、請求項1に記載の検査方法。 The timing at which the packet filter discards the positive acknowledgment addressed to the device to be inspected is the timing at which the packet filter discards the positive acknowledgment addressed to the device to be inspected for a predetermined number of times of three or more consecutive times. Item 1. The inspection method according to Item 1. 前記サーバは、受信バッファが一杯であることを示すフラグを立てるように改ざんした肯定確認応答を前記検査対象の装置に返した後で、前記検査対象の装置宛ての肯定確認応答を破棄するように前記パケットフィルタに設定する、請求項1に記載の検査方法。 The server discards positive acknowledgments destined for the device under test after returning to the device under test a positive acknowledgment tampered with to flag a receive buffer full. 2. The inspection method according to claim 1, wherein said packet filter is set. 前記検査対象の装置は、スイッチのポートに接続しており、
前記サーバは、前記検査対象の装置が接続されている前記スイッチのポートに入力されたパケットの数を前記第1のパケット数として前記スイッチから取得する、
ことを更に含む、請求項1から4のいずれか1項に記載の検査方法。
The device under test is connected to a port of a switch,
the server obtains from the switch the number of packets input to the port of the switch to which the device to be inspected is connected as the first number of packets;
The inspection method according to any one of claims 1 to 4, further comprising:
サーバと、パケット計数装置とを含む検査システムであって、
前記パケット計数装置は、入力されたパケットの数をポートごとに計数し、前記パケットを宛先のポートに出力し、
前記サーバは、
検査対象の装置宛ての肯定確認応答を破棄するようにパケットフィルタに設定する設定部と、
前記パケットフィルタで前記検査対象の装置宛ての肯定確認応答を破棄したタイミングに基づき、前記検査対象の装置が接続されているポートに入力されたパケットの数を表す第1のパケット数を前記パケット計数装置から取得し、および、前記検査対象の装置がサーバに宛てて送信したパケットの数を表す第2のパケット数を取得する取得部と、
前記第1のパケット数および前記第2のパケット数が所定の誤差範囲内で合致しているか否かにより、前記検査対象の装置の不正な通信を検査する検査部と、を含む、
検査システム。
An inspection system including a server and a packet counting device,
The packet counting device counts the number of input packets for each port and outputs the packets to a destination port;
The server is
a setting unit configured to configure a packet filter to discard positive acknowledgments addressed to the device under test;
a first number of packets representing the number of packets input to a port to which the device under test is connected, based on the timing at which the packet filter discards the positive acknowledgment addressed to the device under test; an acquisition unit that acquires from a device and acquires a second number of packets representing the number of packets that the device to be inspected has transmitted to a server;
an inspection unit that inspects unauthorized communication of the device to be inspected depending on whether the first number of packets and the second number of packets match within a predetermined error range,
inspection system.
JP2019015085A 2019-01-31 2019-01-31 Inspection method and inspection system Active JP7147601B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019015085A JP7147601B2 (en) 2019-01-31 2019-01-31 Inspection method and inspection system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019015085A JP7147601B2 (en) 2019-01-31 2019-01-31 Inspection method and inspection system

Publications (2)

Publication Number Publication Date
JP2020123871A JP2020123871A (en) 2020-08-13
JP7147601B2 true JP7147601B2 (en) 2022-10-05

Family

ID=71993031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019015085A Active JP7147601B2 (en) 2019-01-31 2019-01-31 Inspection method and inspection system

Country Status (1)

Country Link
JP (1) JP7147601B2 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013175837A (en) 2012-02-23 2013-09-05 Ntt Communications Kk Communication device, failure determination method, and program
JP2014041445A (en) 2012-08-22 2014-03-06 Hitachi Ltd Monitoring system as to server and network device
JP2014150485A (en) 2013-02-04 2014-08-21 Fujitsu Telecom Networks Ltd Communication device, communication system, and abnormality detection method
US20140362719A1 (en) 2011-12-20 2014-12-11 Thomson Licensing Methods for monitoring data traffic in a gateway device
JP2016119553A (en) 2014-12-19 2016-06-30 富士通株式会社 Communication device, relay device and communication control method
JP2016139903A (en) 2015-01-27 2016-08-04 富士通株式会社 Communication apparatus and data relay method thereof
WO2016143073A1 (en) 2015-03-10 2016-09-15 富士通株式会社 Information processing apparatus and information processing system
JP2019153875A (en) 2018-03-01 2019-09-12 株式会社日立製作所 Unauthorized communication detection device and unauthorized communication detection program

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140362719A1 (en) 2011-12-20 2014-12-11 Thomson Licensing Methods for monitoring data traffic in a gateway device
JP2013175837A (en) 2012-02-23 2013-09-05 Ntt Communications Kk Communication device, failure determination method, and program
JP2014041445A (en) 2012-08-22 2014-03-06 Hitachi Ltd Monitoring system as to server and network device
JP2014150485A (en) 2013-02-04 2014-08-21 Fujitsu Telecom Networks Ltd Communication device, communication system, and abnormality detection method
JP2016119553A (en) 2014-12-19 2016-06-30 富士通株式会社 Communication device, relay device and communication control method
JP2016139903A (en) 2015-01-27 2016-08-04 富士通株式会社 Communication apparatus and data relay method thereof
WO2016143073A1 (en) 2015-03-10 2016-09-15 富士通株式会社 Information processing apparatus and information processing system
JP2019153875A (en) 2018-03-01 2019-09-12 株式会社日立製作所 Unauthorized communication detection device and unauthorized communication detection program

Also Published As

Publication number Publication date
JP2020123871A (en) 2020-08-13

Similar Documents

Publication Publication Date Title
US9344347B2 (en) Delay time measuring apparatus, computer readable record medium on which delay time measuring program is recorded, and delay time measuring method
US20140286174A1 (en) Apparatus and method for analyzing a packet
CN109391635B (en) Data transmission method, device, equipment and medium based on bidirectional gatekeeper
CN104144088A (en) A network delay measurement method for improving delay measurement accuracy
WO2017193271A1 (en) Method and device for detecting network attack
CN104363240A (en) Unknown threat comprehensive detection method based on information flow behavior validity detection
US11539743B2 (en) Echo detection of Man-in-the-Middle LAN attacks
US20170104642A1 (en) Relay apparatus and relay method
Lin et al. Low-storage capture and loss recovery selective replay of real flows
JP7147601B2 (en) Inspection method and inspection system
JP2007082224A (en) Method and apparatus for performance evaluation of network protocols with low overhead
CN106301977A (en) The method and device that network tests the speed
JP2015023463A (en) Packet analyzing device, packet analyzing method, and packet analyzing program
CN109150655A (en) A kind of detection method that IPv4 firewall IPv6 is bypassed
CN114866332A (en) Lightweight intrusion detection system and method for optical communication equipment
CN107209833A (en) Malware analysis system, malware analysis method and malware analysis program
EP3328032A1 (en) Network proxy detection
US9749203B2 (en) Packet analysis apparatus and packet analysis method
WO2025091917A1 (en) Network fault positioning method and computing device
JP5958355B2 (en) Analysis apparatus, analysis method, and analysis program
RU2453905C1 (en) Method for functional inspection of information system protocols
CN112436982B (en) Network flow automatic mixed running test method, system, terminal and storage medium
CN116962223A (en) Message progress monitoring methods, devices, equipment and storage media
CN115002010A (en) Test system, method and device, electronic equipment and storage medium
US9185132B1 (en) Techniques for sensor based attack reflection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220706

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220823

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220905

R150 Certificate of patent or registration of utility model

Ref document number: 7147601

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150