JP7147601B2 - Inspection method and inspection system - Google Patents
Inspection method and inspection system Download PDFInfo
- 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
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,
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.
以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付す。 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
ここで、IoT機器101がウイルスなどに感染し、他の機器を攻撃してしまうことがある。こうした脅威は、例えば、IoT機器101が十分な機能を有していれば、セキュリティ対策ソフトをインストールしたりすることで、対策を講じることができる。
Here, the IoT
しかしながら、IoT機器101のなかには、セキュリティ対策ソフトをインストールするといった対策を講じることのできない機器も含まれている。例えば、IoT機器101のなかには、独自のオペレーティングシステム(OS:Operating System)で動作していたり、旧式のOSで動作していたり、或いは、そもそもOSが無いものもあり、セキュリティ対策ソフトを導入できないことがある。そのため、IoT機器の不正な通信を検出することのできる更なる技術の提供が望まれている。
However, the
ここで、IoT機器101は、例えば、図1のサーバ102などの特定のホストにデータを上げ続けるといった利用をされることが多く、IoT機器101は、しばしば特定のホストとのみ通信するように設定される。このような場合に、特定のホストとのみ通信するように設定されているIoT機器101が、ホスト以外の装置と通信していたとすると、そのIoT機器101は不正な通信を行っている可能性が高いと判定することが可能である。
Here, the IoT
そこで、以下で述べる実施形態では、例えば、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
図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
パケット計数装置211は、例えば、SNMP(Simple Network Management Protocol)対応のスイッチであってよく、一例では、インテリジェントスイッチであってよい。パケット計数装置211を、一実施形態においては、パケット計数スイッチと呼ぶことがある。パケット計数装置211は、例えば、入力されるパケットを、ポートごとにカウントし、パケットを宛先のポートに出力する。IoT機器101は、例えば、パケット計数装置211の特定のポートと接続されていてよい。そのため、IoT機器101が接続されるポートに対してパケット計数装置211がカウントしたパケット数は、そのポートに接続するIoT機器101が送信したパケット数として用いることができる。
The
パケット分析部213は、例えば、プロトコルアナライザであってよい。プロトコルアナライザは、例えば、ネットワークやデータ機器間を流れるデータを解析する装置やプログラムである。パケット分析部213は、例えば、入力されたパケットを、パケットの送信元を示すソースアドレスごとにカウントしてよい。なお、ソースアドレスとしては、例えば、MACアドレス、またはIPアドレスなどを用いることができる。
The
ハブ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
そのため、サーバ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
図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
図4は、実施形態に係る検査対象のIoT機器101による不正な通信の検査処理の動作フローを例示する図である。サーバ202の制御部301は、例えば、不正通信の検査処理の実行指示が入力されると、図4の検査処理を開始してよい。
FIG. 4 is a diagram illustrating an operation flow of inspection processing for unauthorized communication by the
ステップ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
S402において制御部301は、検査対象のIoT機器101と通信中か否かを判定する。検査対象のIoT機器101と通信中でない場合(S402がNO)、フローはS403に進む。S403において制御部301は、図5を参照して後述するトラフィック情報収集処理を実行してトラフィック情報を収集し、フローはS405に進む。なお、トラフィック情報は、上述のように、例えば、IoT機器101が不正な通信を実行しているか否かを検査するために用いる情報である。一例では、トラフィック情報は、IoT機器101が送信したパケット数を表す第1のパケット数と、IoT機器101からホストに送信されたパケット数を表す第2のパケット数とを含んでよい。
In S402, the
また、S402において検査対象のIoT機器101と接続を確立しており、通信中である場合(S402がYES)、フローはS404に進む。S404において制御部301は、図13を参照して後述する通信時のトラフィック情報収集処理を実行してトラフィック情報を収集し、フローはS405に進む。
Also, in S402, if the connection with the
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
(トラフィック情報収集処理)
続いて、図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
S501において制御部301は、例えば、パケット計数装置211から、検査対象のIoT機器101が接続しているポートのパケット数を、第1のパケット数として取得する。なお、制御部301は、一実施形態においては、以下の図6~図8で述べるようにして、検査対象のIoT機器101が接続しているポートのパケット数を取得してよい。
In S501, for example, the
図6は、パケット計数装置211により収集される計数情報600を例示する図である。パケット計数装置211は、例えば、パケットが入力されると、パケットが入力されたポートの情報と対応付けて、そのパケットのパケット番号を計数情報600に登録する。なお、一例では、パケット計数装置211は、起動時からの累積で入力されたパケットの情報を計数情報600に記録してよい。また、パケット計数装置211は、例えば、インテリジェントスイッチであってよく、SNMPプロトコルで外部と通信する。
FIG. 6 is a diagram illustrating counting
図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
図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
続いて、S502において制御部301は、検査対象のIoT機器101からサーバ202に宛てて送信されたパケットの数を第2のパケット数としてパケット分析部213から取得し、本動作フローは終了し、フローはS405に進む。なお、制御部301は、一実施形態においては、以下の図9~図10に述べるようにして、検査対象のIoT機器101からサーバ202に宛てて送信されたパケットの数を取得してよい。
Subsequently, in S502, the
図9は、パケット分析部213により収集される分析情報900を例示する図である。パケット分析部213は、例えば、パケットが入力されると、パケットの送信元を示すソースアドレスを分析し、ソースアドレス単位で入力されたパケットの数をカウントし、分析情報900に登録する。なお、一例では、パケット分析部213は、起動時からの累積で入力されたパケットの数をカウントしてよい。パケット分析部213は、例えば、プロトコルアナライザであってよい。パケット分析部213は、例えば、サーバ202の問い合わせに応じて、問い合わせで指定されるソースアドレスを用いて、検査対象のIoT機器101がサーバ202に宛てて送信したパケット数を分析情報900から読み出し、返信してよい。
FIG. 9 is a diagram illustrating
図10は、パケット分析部213が実行するパケット分析処理を例示する図である。パケット分析部213は、例えば、起動すると図10の動作フローを開始してよい。
FIG. 10 is a diagram illustrating packet analysis processing executed by the
S1001において制御部301は、パケットを受信したか否かを判定する。パケットを受信していない場合(S1001がNO)、フローはS1001の処理を繰り返す。一方、S1001においてパケットを受信した場合(S1001がYES)、フローはS1002に進む。
In S1001, the
S1002において制御部301は、受信したパケットが、サーバ202からのパケット数の問い合わせか否かを判定する。サーバ202からのパケット数の問い合わせで無い場合(S1002がNO)、フローはS1004に進む。一方、サーバ202からのパケット数の問い合わせである場合(S1002がYES)、フローはS1003に進む。
In S<b>1002 , the
S1003において制御部301は、問い合わせにおいて、例えば、MACアドレスまたはIPアドレスなどで指定される検査対象のIoT機器101を、ソースアドレスとする分析情報900のエントリからパケット数を読み出し、サーバ202に返す。
In S<b>1003 , the
S1004において制御部301は、受信したパケットのソースアドレスを分析し、ソースアドレスと対応する分析情報900のエントリのパケット数を1加算して、ソースアドレスごとにパケット数をカウントし、フローはS1001に戻る。
In S1004, the
図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
(通信時のトラフィック情報収集処理)
続いて、S404で制御部301が実行する通信時のトラフィック情報取得処理を説明する。
(Traffic information collection processing during communication)
Next, traffic information acquisition processing during communication executed by the
例えば、検査対象の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
しかしながら、例えば、サーバ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
この様な、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機器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
図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
図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
以上で述べた様に、受信側の装置は、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
また、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
続いて、以上で述べた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
S1301において制御部301は、自装置から検査対象のIoT機器101宛てのACKまたはTCPのパケットを破棄するようにパケットフィルタに設定する。
In S<b>1301 , the
S1302において制御部301は、TCPのACKの破棄が実施されるまで待機する。ACKの破棄が実施されると、フローはS1303に進む。
In S1302, the
続く、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
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機器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
なお、上述の図4の動作フローでは、サーバ202が検査対象のIoT機器101と通信中ではない場合(S402がNO)、図5の動作フローを実行し、トラフィック情報の収集を行う例を述べている。しかしながら、図5の動作フローでトラフィック情報を収集している期間中に、検査対象のIoT機器101から接続要求を受信することがある。この場合、接続要求に対するACKを破棄することで、測定誤差を抑えてトラフィック情報を収集することができる。
In the operation flow of FIG. 4 described above, when the
図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
なお、制御部301は、例えば、図5の動作フローの実行中に検査対象のIoT機器101から接続要求を受信した場合、図5の動作フローを中止し、代わりに図13の動作フローを実行して、接続要求に対するACKを破棄し、トラフィック情報を収集してよい。
For example, when the
また、サーバ202に流れ込むパケットの数を計数するために、上述の実施形態では図2に示す様にハブ212と、パケット分析部213とをハードウェアとして実装する例を述べている。しかしながら、実施形態は、これに限定されるものではない。例えば、図15に示す様に、パケット分析部213は、サーバ202上で動作するアプリケーションとして実装することもできる。この場合、例えば、ネットワークインタフェースがプロミスキャスモードで動作するように、サーバ202のOS350のカーネルに設定することで、パケット分析部213でパケットの情報を取得することが可能である。
Also, in order to count the number of packets flowing into the
(トラフィック情報の収集の変形例)
続いて、IoT機器101がサーバ202と通信中である場合におけるトラフィック情報の取得について更なる変形例を説明する。
(Modified example of traffic information collection)
Next, a further modified example of acquisition of traffic information when the
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. .
(変形例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
また、送信側の装置は、(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
図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
(変形例2)
上述の変形例1では、受信側の装置の制御部301は、図17の(5)で2つ目のACKを破棄してからトラフィック情報の収集を開始している。ここで、トラフィック情報の収集は、送信側の装置でACKの受信待ちがタイムアウトしてパケットの再送が実行される前までに完了することが望ましい。しかしながら、実際には通信環境などによって、トラフィック情報の収集が間に合わないこともある。この場合に、パケットの再送時にウィンドウサイズを縮小させるTCPの性質を利用することでトラフィック情報の収集に利用可能な時間を延ばすことができる。そこで、変形例2では、受信側の装置でACKを3個連続で廃棄してからトラフィック情報の収集を開始することで、トラフィック情報の収集に利用可能な時間を延ばす例を述べる。
(Modification 2)
In
図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
この場合、再送のタイマは(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
また更に、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
図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
以上の図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
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
図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
また、送信側の装置は、改ざんした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
なお、変形例3では受信側の装置は、改ざんしたACKを送信側の装置に返している。送信側の装置に改ざんしたACKを返すための手法の一例としては、受信側の装置においてACKを生成するOS350を、アプリケーションからの依頼を受けて、改ざんしたACKを返すように改変することが考えられる。また、別の例では、特定のインタフェースで受けたパケットをまるごとアプリケーションに送るようにOS350を設定しておき、OS350の処理をバイパスして、アプリケーション上でTCPのパケットを処理することが考えられる。この場合、アプリケーションが改ざんしたACKを返すため、OS350を改変しなくても、変形例3の処理を実行することができる。
Note that in
図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
以上の変形例1から変形例3によれば、TCPのバージョンが第2のバージョンであっても、或いは、トラフィック情報の収集に時間を要する場合にも、測定誤差を抑えてトラフィック情報を収集し、IoT機器101を検査することができる。
According to
なお、上述の実施形態において、例えば、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
以上において、実施形態を例示したが、実施形態はこれに限定されるものではない。例えば、上述の動作フローは例示であり、実施形態はこれに限定されるものではない。可能な場合には、動作フローは、処理の順番を変更して実行されてもよく、別に更なる処理を含んでもよく、または、一部の処理が省略されてもよい。例えば、上述の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
図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
プロセッサ2401は、例えば、シングルプロセッサであっても、マルチプロセッサやマルチコアであってもよい。プロセッサ2401は、メモリ2402を利用して例えば上述の動作フローの手順を記述したプログラムを実行することにより、上述した制御部301またはパケット分析部213の一部または全部の機能を提供する。例えば、サーバ202のプロセッサ2401は、記憶装置2403に格納されているプログラムを読み出して実行することで、設定部311、取得部312、および検査部313として動作する。また、プロセッサ2401は、例えば、記憶装置2403に格納されているプログラムを読み出して実行することで、パケット分析部213として動作してよい。
The
メモリ2402は、例えば半導体メモリであり、RAM領域およびROM領域を含んでいてよい。記憶装置2403は、例えばハードディスク、フラッシュメモリ等の半導体メモリ、または外部記憶装置である。なお、RAMは、Random Access Memoryの略称である。また、ROMは、Read Only Memoryの略称である。
読取装置2404は、プロセッサ2401の指示に従って着脱可能記憶媒体2405にアクセスする。着脱可能記憶媒体2405は、例えば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD-ROM、DVD等)などにより実現される。なお、USBは、Universal Serial Busの略称である。CDは、Compact Discの略称である。DVDは、Digital Versatile Diskの略称である。
なお、上述の記憶部302は、例えば、メモリ2402、記憶装置2403、および着脱可能記憶媒体2405を含んでよい。サーバ202の記憶装置2403またはパケット分析部213の記憶装置2403には、例えば、分析情報900が格納されていてよい。
Note that the
通信インタフェース2406は、プロセッサ2401の指示に従ってネットワークを介してデータを送受信する。通信インタフェース2406は、例えば、上述の通信部303の一例である。
実施形態に係る各プログラムは、例えば、下記の形態でサーバ202およびパケット分析部213に提供される。
(1)記憶装置2403に予めインストールされている。
(2)着脱可能記憶媒体2405により提供される。
(3)プログラムサーバなどのサーバから提供される。
Each program according to the embodiment is provided to the
(1) Pre-installed in the
(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
以上において、いくつかの実施形態が説明される。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態および代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨および範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態が実施され得ることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除してまたは置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。 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
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
前記サーバは、前記検査対象の装置が接続されている前記スイッチのポートに入力されたパケットの数を前記第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.
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)
| 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 |
-
2019
- 2019-01-31 JP JP2019015085A patent/JP7147601B2/en active Active
Patent Citations (8)
| 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 |