JP7033467B2 - 不正通信検知装置および不正通信検知プログラム - Google Patents

不正通信検知装置および不正通信検知プログラム Download PDF

Info

Publication number
JP7033467B2
JP7033467B2 JP2018036561A JP2018036561A JP7033467B2 JP 7033467 B2 JP7033467 B2 JP 7033467B2 JP 2018036561 A JP2018036561 A JP 2018036561A JP 2018036561 A JP2018036561 A JP 2018036561A JP 7033467 B2 JP7033467 B2 JP 7033467B2
Authority
JP
Japan
Prior art keywords
communication
operation data
detection device
unauthorized
determination
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
JP2018036561A
Other languages
English (en)
Other versions
JP2019153875A (ja
JP2019153875A5 (ja
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018036561A priority Critical patent/JP7033467B2/ja
Priority to US16/288,766 priority patent/US20190273749A1/en
Publication of JP2019153875A publication Critical patent/JP2019153875A/ja
Publication of JP2019153875A5 publication Critical patent/JP2019153875A5/ja
Application granted granted Critical
Publication of JP7033467B2 publication Critical patent/JP7033467B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/121Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、不正通信を検知する不正通信検知装置および不正通信検知プログラムに関する。
モノがインターネットに繋がるInternet of Things(IoT)が幅広い分野で採用されてきている。しかし、IoTデバイス(インターネットに繋がるモノ)やIoTシステム(1以上のIoTデバイスとその通信相手(たとえば、サーバ))へのセキュリティ対策は以下三つの理由から難しい。
(1)IoTデバイスの限られた計算能力およびメモリ容量では、IoTデバイスは不正通信検知のための複雑な計算処理を実行できない。
(2)IoTデバイスやアプリケーション、プロトコルの多様性のため、IoTデバイスへの一様なセキュリティ対策が困難であるため、デバイスベンダごと、アプリごとの開発者がセキュリティ対策を行う必要がある。
(3)また従来、マルウェアへのセキュリティ対策には、あらかじめ既知マルウェアの特徴(シグニチャ)を定義して登録しておくことで不正通信を検知し遮断することができるシグニチャ型が用いられてきた。しかし、IoTデバイスが用いられる環境は、帯域幅の限られたネットワーク内であり、当該環境には高い可用性が求められる。したがって、IoTデバイスの台数が多くなるほど、定期的なシグニチャの更新パッチを適応することは困難である。
また、IoTデバイスがIoTゲートウェイを介して通信を行うシステムにおいて、IoTゲートウェイ上で不正通信の検知制御を行うアノマリ型のセキュリティソフトウェアがある。アノマリ型とは、正常の通信を学習し、正常とは異なる通信を異常(アノマリ)として判定する手法であり、シグニチャのアップデートが必要なく、未知の攻撃手法にも対応できる手法である。具体的には、アノマリ型は、一般的にパケットから得ることができるネットワーク特徴量を取得することで正常な通信を定義し、正常通信の閾値を超えたものを異常とみなす。
特許文献1の不正通信検出システムは、プラントネットワークという通信端末やアプリケーションが変化せずネットワーク特徴量が固定的なシステムである。特許文献1の不正通信検出システムは、プラントネットワークで発生しうるセッションのリストであるセッションホワイトリストを予め記憶する記憶手段と、パケットに基づいてセッション成立の成否を判定し、成立しているセッションを示すセッション情報を生成するセッション判定分離部と、前記セッション判定分離手段により生成された前記セッション情報を前記セッションホワイトリストと比較し、前記セッションホワイトリスト中のいずれのセッションにも適合しないときは当該セッションに係る通信を不正な通信として検出する不正通信検出手段を備える。
特許文献2の侵入検知装置は、不正通信の検知手法として、あらかじめ不正通信であると定義するデータを含むパケットを不正通信とみなし、遮断を行う。特許文献2の侵入検知装置は、受信したパケットを解析して不正侵入が行われているか否かを判断するパケット分析手段と、不正侵入が行われていると判断した場合、プロトコル又はポートのクローズ、通信遮断等を行う対策手段と、不正侵入等の攻撃が終了したか否かを監視する不正侵入監視手段と、不正侵入等の攻撃が終了したと判断した場合、通信遮断等の対策を解除する対策解除手段とを備える。
特開2012-34273号公報 特開2002-73433号公報
IoTデバイスの不正通信が発生した際に、不正通信の検知だけではアタッカーやマルウェアの攻撃が進み、IoTデバイスやその通信相手が被害を受けてしまうため、検知後、不正通信の遮断を行う必要がある。しかしながら、アノマリ型は、正常通信であっても正常時よりトラフィック量が多くなると異常通信と判定してしまうことがある。よって攻撃を事前に定義しておくシグニチャ型に比べて、攻撃と正常通信との誤判定率が高くなってしまう。したがって、アノマリ型は、誤判定によって正常通信を遮断する頻度が高くなることで、IoTデバイスの稼働率が低下、または不正通信の見逃しにより攻撃を受ける場合がある。
また、特定のIoTデバイスやプロトコル、アプリケーションに特化した判定方式であれば、幅広い種類のIoTシステムに対応できず、汎用性が低下する。すなわち、IoTデバイスやプロトコル、アプリケーションには多様性があるため、IoTデバイスへの一様なセキュリティ対策が困難である。
また、特許文献1の不正通信検出システムは、ネットワーク構成に変更があるような他のIoTシステムにおいては、IPアドレスやポート番号の相違から同じセッションと認識できず誤検知してしまう。具体的には、特許文献1の不正通信検出システムは、他のIoTシステムにおいて、新規のIoTデバイスの追加などを想定した場合にIPアドレスが変わることで別セッションとして認識され、セッションホワイトリストと合致せず、不正な通信として誤検知してしまう。したがって、特許文献1の不正通信検出システムは、ネットワーク特徴量が固定的でないIoTシステムに適応することはできず、ネットワーク特徴量の変化に対応できない。
特許文献2の侵入検知装置は、不正通信の検知と遮断を行うが、あらかじめ不正通信であると定義するデータを定義するシグニチャ型であるため、未知の攻撃に対応できない。具体的には、特許文献2の侵入検知装置は、さらにDoS攻撃の検知手法として、想定される攻撃ごとに、一定間隔のパケット数の閾値(10秒間に100個など)を設定する。しかしながら、一定間隔のパケット数が増えないDoS攻撃(SlowReadDoS)なども発見されており、特許文献2の侵入検知装置は検知することができない。したがって、特許文献2の侵入検知装置は、シグニチャのアップデートができないIoTシステムに適応することはできない。
このように、厳密に通信する時間やIoTデバイスが決まっているIoTシステムの場合、ネットワーク特徴量は固定的になる。したがって、少しでも正常通信と異なる場合は検知し、不正通信の場合は遮断する必要がある。また逆に、新規のIoTデバイスが追加されたり、通信量が変化したりするようなシステムの場合、送信元Internet Protocol(IP)アドレスの変化を許容するなど、ネットワーク特徴量ごとに細かな判定が必要となる。
本発明は、学習結果を用いた場合の誤判定率の低減化を図ることを目的とする。
本願において開示される発明の一側面となる不正通信検知装置は、運用データを送信元から受信する受信部と、前記受信部によって受信された運用データを宛先に送信する送信部と、学習データ群の特徴量に関する複数の学習モデルの各々に対応し、前記運用データの通信中の累積した特徴量に関する複数の第1通信中情報を生成する第1生成部と、前記学習モデルと当該学習モデルに対応する第1通信中情報との組み合わせごとに比較して前記学習モデルに対する前記第1通信中情報の真偽を特定し、前記運用データが不正通信であるか否かを判定するためのスコアを算出する判定式に、前記組み合わせごとの前記真偽を示す値を代入することにより、前記運用データのスコアを算出し、当該算出されたスコアに基づいて、前記運用データが不正通信であるか否かを判定する判定部と、前記判定部による判定結果に基づいて、前記送信部による前記運用データの送信を制御する送信制御部と、を有することを特徴とする。
本発明の代表的な実施の形態によれば、学習結果を用いた場合の誤判定率の低減化を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
図1は、IoTシステムのシステム構成例を示す説明図である。 図2は、IoTゲートウェイのハードウェア構成例を示すブロック図である。 図3は、IoTゲートウェイによる学習および運用処理手順例を示すフローチャートである。 図4は、IoTゲートウェイの機能的構成例を示すブロック図である。 図5は、ネットワーク特徴量を示す説明図である。 図6は、第1設定ファイルの一例を示す説明図である。 図7は、第2設定ファイルの一例を示す説明図である。 図8は、通信中情報テーブルのデータ構造例を示す説明図である。 図9は、学習モデルDBのデータ構造例を示す説明図である。 図10は、学習モデルの一例を示す説明図である。 図11は、判定部における学習モデルと運用パケットから生成された第1通信中情報との比較条件の一例を示す説明図である。 図12は、IoTゲートウェイの学習時におけるパケット処理シーケンス例を示すシーケンス図である。 図13は、IoTゲートウェイの運用時におけるパケット処理シーケンス例を示すシーケンス図である。 図14は、図13に示した通信判定処理(ステップS1302)の詳細な処理手順例を示すフローチャートである。
<IoTシステム構成例>
図1は、IoTシステムのシステム構成例を示す説明図である。IoTシステム100は、クラウドシステム101と、拠点システム102と、が無線ネットワーク103により通信可能に接続される。また、端末104は、クラウドシステム101と、拠点システム102と、が無線ネットワーク103により通信可能に接続される。
クラウドシステム101は、計算資源やアプリケーション、データ群などを、インターネットなどのネットワークを通じてサービスの形で必要に応じて利用可能な1以上のサーバ111である。サーバ111は、IoTゲートウェイ120を介してIoTデバイス121とパケットを送受信する。
拠点システム102の各々は、IoTゲートウェイ120と1以上のIoTデバイス121とを有する。拠点システム102は、たとえば、工場やオフィス、公共施設、一般家庭のような拠点に設置される。IoTゲートウェイ120は、サーバ111や端末104とIoTデバイス121との間の不正通信を検知する不正通信検知装置である。IoTデバイス121は、IoTゲートウェイ120を介してデータをサーバ111や端末104に送信したり、サーバ111や端末104からデータを受信したりするデバイスであり、たとえば、監視カメラ、ロボット、温度や湿度、降水量などの環境に関する値を計測するセンサ、エレベータがある。
端末104は、パーソナルコンピュータやスマートフォン、タブレットのようなコンピュータである。たとえば、端末104は、IoTゲートウェイ120を介してIoTデバイス121で検出されたデータを受信して表示することができる。
<IoTゲートウェイ120のハードウェア構成例>
図2は、IoTゲートウェイ120のハードウェア構成例を示すブロック図である。IoTゲートウェイ120は、プロセッサ201と、記憶デバイス202と、電源入力口203と、電源ブロック204と、バッテリ205と、長距離無線モジュール206と、Subscriber Identity Module(SIM)カードスロット207と、長距離無線Interface(IF)208と、短距離無線モジュール209と、短距離無線IF210と、有線IF211と、を有する。
プロセッサ201は、IoTゲートウェイ120を制御する。記憶デバイス202は、Random Access Memory(RAM)221、フラッシュメモリ222と、を含む。RAM221は、プロセッサ201の作業エリアとなる。フラッシュメモリ222は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。電源入力口203は、商用電源に接続されるコネクタである。電源ブロック204は、商用電源からの電力を他のモジュールに供給したり、バッテリ205に対し充放電する。
長距離無線モジュール206は、3G,Long Term Evolution(LTE)などの4G,Wireless Smart Utility Network(Wi-SUN)などのLow Power Wide Area(LPWA),5Gのような長距離無線通信を制御するモジュールである。SIMカードスロット207は、SIMカードが挿抜自在なスロットである。SIMカードは、International Mobile Subscriber Identity(IMSI)と呼ばれる固有の番号が記憶されたメモリカードである。長距離無線モジュール206は、IMSIが認識された状態で通信可能となる。長距離無線IF208は、長距離無線モジュール206がデータを送受信するインタフェースである。
短距離無線モジュール209は、ブルートゥース(登録商標)やWiFiのような短距離無線通信を制御するモジュールである。短距離無線IF210は、短距離無線モジュール209がデータを送受信するインタフェースである。有線IF211は、Local Area Network(LAN)ケーブルやモジュラーケーブルを接続するコネクタである。
<IoTゲートウェイ120による学習と運用>
図3は、IoTゲートウェイ120による学習および運用処理手順例を示すフローチャートである。IoTゲートウェイ120は、不正通信の検知遮断を行うソフトウェアを導入する際には、ネットワーク特徴量ごとの重みと検知、遮断のしきい値をそれぞれ設定したファイルを作成する(ステップS301)。
つぎに、IoTゲートウェイ120は、正常通信の学習期間において、ある一定期間の通信、またはある一定期間のパケットキャプチャファイルから正常通信を学習することで、学習モデルを構築する(ステップS302)。そして、IoTゲートウェイ120は、不正通信検知遮断の運用期間において、学習モデルと受信したパケットのネットワーク特徴量とを比較することで不正通信の検知遮断を行う(ステップS303)。また、ステップS303では、IoTゲートウェイ120は、運用後も正常とみなされたパケットを随時学習モデルに反映する。
<IoTゲートウェイ120の機能的構成例>
図4は、IoTゲートウェイ120の機能的構成例を示すブロック図である。IoTゲートウェイ120は、第1IF401と、第2IF402と、受信部403と、第1生成部405と、第2生成部406と、判定部407と、通知部408と、送信制御部409と、送信部404と、設定ファイル410と、通信中情報テーブル411と、学習モデルDB412と、を有する。
第1IF401は、サーバ111、端末104、IoTデバイス121からのパケットがIoTゲートウェイ120内部に入力されるインタフェースである。第1IF401は、具体的には、たとえば、図2に示した長距離無線IF208、短距離無線IF210、または有線IF211により実現される。
第2IF402は、IoTゲートウェイ120からのパケットがサーバ111、端末104、IoTデバイス121に出力されるインタフェースである。第2IF402は、具体的には、たとえば、図2に示した長距離無線IF208、短距離無線IF210、または有線IF211により実現される。
第1IF401で入力されるパケットおよび第2IF402から出力されるパケットには、2種類ある。1つは、図3のステップS302の学習に使用されるパケットであり、もう1つは、運用に使用されるパケットである。以降、学習に使用されるパケットを学習パケットと称し、運用に使用されるパケットを運用パケットと称する場合がある。なお、学習および運用の区別をしない場合には、単にパケットと表記する。
受信部403は、第1IF401からのパケットを受信して、送信制御部409に転送する。また、受信部403は、第1IF401からのパケットを複製して、通信情報管理部に転送する。受信部403は、具体的には、たとえば、記憶デバイス202に記憶されたプログラムをプロセッサ201に実行させることにより、または、長距離無線モジュール206や短距離無線モジュール209により実現される。
送信部404は、送信制御部409から転送されてきたパケットを第2IF402から宛先に送信する。受信部403は、具体的には、たとえば、記憶デバイス202に記憶されたプログラムをプロセッサ201に実行させることにより、または、長距離無線モジュール206や短距離無線モジュール209により実現される。
第1生成部405は、受信部403で複製されたパケットから通信中情報を生成し、通信中情報テーブル411に格納する。第1生成部405は、通信セッションごとに、通信セッション中のパケット群のネットワーク特徴量を用いて通信中情報を生成する。なお、学習パケットを用いて生成された通信中情報を第2通信中情報と称し、運用パケットを用いて生成された通信中情報を第1通信中情報と称す。なお、学習および運用の区別をしない場合には、単に通信中情報と表記する。第1生成部405は、具体的には、たとえば、記憶デバイス202に記憶されたプログラムをプロセッサ201に実行させることにより実現される。
第2生成部406は、通信中情報テーブル411を参照して、学習データ群のネットワーク特徴量に関する学習モデルを学習結果として生成し、学習モデルDB412に格納する。第2生成部406は、具体的には、たとえば、記憶デバイス202に記憶されたプログラムをプロセッサ201に実行させることにより実現される。
判定部407は、学習モデルに基づき運用パケットが不正通信であるか否かを判定するスコアを算出する判定式で、運用パケットのスコアを算出し、当該算出されたスコアに基づいて、当該運用パケットが不正通信であるか否かを判定する。判定式は、下記式(1)により表現される。
Figure 0007033467000001
上記式(1)中、nは1以上の整数である。ただし、枝番を有する場合もある。xnは、n番目の学習モデルLnと、n番目の第1通信中情報Cnと、を比較した場合の真偽値である。S(n)はスコアである。本実施例では、スコアS(n)が高いほど正常と判定されやすくなるため、xnの真値は偽値よりも高い値である。本例では、真値を「1」、偽値を「0」とする。wnは、ネットワーク特徴量に設定された重みである。重みwnは設定ファイル410により設定される。
また、判定部407は、上記式(1)の判定式で算出されたスコアS(n)を、下記式(2)~(4)の条件式に適用することにより、スコアS(n)の算出元の運用パケットが不正通信であるか否かを判定する。
Figure 0007033467000002
上記式(2)~(4)において、αは検知しきい値であり、β(<α)は遮断しきい値である。式(2)は正常判定条件式、式(3)は検知判定条件式、式(4)は遮断判定条件式である。すなわち、式(2)において、スコアS(n)がα以上であれば、その運用パケットは正常通信であることを示す。式(3)において、スコアS(n)がβ以上α未満であれば、その運用パケットは不正通信の可能性が高いため検知すべきであることを示す。式(4)において、スコアS(n)がβ未満であれば、その運用パケットは不正通信であるため、遮断すべきであることを示す。
判定部407は、具体的には、たとえば、記憶デバイス202に記憶されたプログラムをプロセッサ201に実行させることにより実現される。
通知部408は、判定部407によって検知または遮断と判定された場合、すなわち、スコアS(n)が検知判定条件式(式(3))または遮断判定条件式(式(4))を充足する場合、その旨を外部装置またはIoTゲートウェイ120のモニタ(不図示)に通知する。これにより、ユーザは、不正通信またはその可能性があったことを確認することができる。通知部408は、具体的には、たとえば、記憶デバイス202に記憶されたプログラムをプロセッサ201に実行させることにより実現される。
送信制御部409は、判定部407による判定結果に基づいて、送信部404による運用パケットの送信を制御する。具体的には、たとえば、送信制御部409は、スコアS(n)が遮断判定条件式(式(4))を充足する場合、運用パケットを送信部404に転送せずに廃棄する。これにより、運用パケットの不正送信がIoTゲートウェイ120に遮断される。なお、送信制御部409は、スコアS(n)が正常判定条件式(式(2))または検知判定条件式(式(3))を充足する場合、運用パケットを送信部404に転送する。送信制御部409は、具体的には、たとえば、記憶デバイス202に記憶されたプログラムをプロセッサ201に実行させることにより実現される。
設定ファイル410は、ネットワーク特徴量に対応する重みwn、検知しきい値α、遮断しきい値β(<α)、正常判定条件式(式(2))、検知判定条件式(式(3))、遮断判定条件式(式(4))を規定したファイルであり、判定部407が読み込む。
<ネットワーク特徴量>
図5は、ネットワーク特徴量を示す説明図である。ネットワーク特徴量Fnは、第1生成部405が、受信部403で複製されたパケットから抽出した特徴量である。本例では、たとえば、図5に示した11個のネットワーク特徴量Fnが抽出される。
項番n=1~8のネットワーク特徴量F1~F8は、パケット自体から取得された特徴量である。項番n=9~11のネットワーク特徴量F9~F11は、通信セッションごとに算出される特徴量である。ネットワーク特徴量F9である受信開始時刻は、通信セッションが開始した時刻であり、秒単位までの細かさでは記録せず、時間ごとに記録するなど幅をもつものとする。たとえば、ある通信セッションについて9時5分に最初のパケットを受信した場合、受信開始時刻は、単に、「9時」とする。なお、ネットワーク特徴量F10の計算でその通信セッションで最初にパケットを受信した時刻が用いられるため、第1生成部405は、「9時5分37秒」のように秒単位まで保持しておく。
ネットワーク特徴量F10である秒間受信パケット数(pps)は、その通信セッション中の各秒において受信したパケット数である。ネットワーク特徴量F11である通信時間は、通信セッションの開始から終了までの時間(msec)である。たとえば、通信セッションの開始が「9時5分37秒」、終了が「9時8分43秒」である場合、通信時間は、「186秒」となる。
<設定ファイル410>
図6は、第1設定ファイルの一例を示す説明図である。第1設定ファイル600は、ネットワーク特徴量Fnごとに重みwnを有する。重みwnは、ユーザが任意に設定可能である。したがって、新規のIoTデバイス121が追加されたり、通信量が変化したりするようなIoTシステム100の場合、送信元IPアドレスの変化を許容するなど、ネットワーク特徴量Fnごとに細かな設定が可能となる。第1設定ファイル600は、具体的には、たとえば、フラッシュメモリ222に格納され、判定部407に読み込まれる。
図7は、第2設定ファイルの一例を示す説明図である。第2設定ファイル700は、判定結果としきい値とを対応付けたファイルである。判定結果701が「正常」であるしきい値702は「80以上」であり、当該エントリは、正常判定条件式(式(2))に対応する。判定結果701が「検知」であるしきい値702は「20~79」であり、当該エントリは、検知判定条件式(式(3))に対応する。判定結果701が「遮断」であるしきい値702は「20未満」であり、当該エントリは、遮断判定条件式(式(4))に対応する。
検知しきい値α、および遮断しきい値β(<α)は、ユーザが任意に設定可能である。したがって、新規のIoTデバイス121が追加されたり、通信量が変化したりするようなIoTシステム100の場合、送信元IPアドレスの変化を許容するなど、ネットワーク特徴量Fnごとに細かな設定が可能となる。第2設定ファイル700は、具体的には、たとえば、フラッシュメモリ222に格納され、判定部407に読み込まれる。
<通信中情報テーブル411>
図8は、通信中情報テーブル411のデータ構造例を示す説明図である。通信中情報テーブル411は通信中情報を格納するテーブルである。通信中情報テーブル411は、具体的には、たとえば、フラッシュメモリ222に格納される。通信中情報テーブル411は、学習および運用を問わず、通信セッションごとに第1生成部405によって生成される。
通信中情報Cnは、ネットワーク特徴量Fnに対応する。ただし、通信中情報Cnは、ネットワーク特徴量Fnをより詳細に規定するため、1つのネットワーク特徴量Fnに対し複数の通信中情報Cnが規定される場合がある。この場合、通信中情報Cnの末尾に枝番を付して区別する。
通信中情報C1~C7は、受信したパケットのヘッダから抽出される。その通信セッション中に既抽出の通信中情報C1~C7の値とは異なる値が抽出された場合には、追加される。たとえば、ある通信セッションにおいてあるパケットから宛先IPアドレス「10.10.10.1」が抽出された場合、通信中情報C1として保持され、その後、同一通信セッションで受信された後続パケットの宛先IPアドレスが「10.10.10.2」である場合、「10.10.10.2」も通信中情報C1として保持される。
通信中情報C8-1(最大パケットサイズ)、通信中情報C8-2(最小パケットサイズ)、および通信中情報C8-3(累積パケットサイズ)は、ネットワーク特徴量F8(パケットデータサイズ)から生成される。
通信中情報C8-1(最大パケットサイズ)は、その通信セッションにおいてパケットの受信開始から現時点までのパケット群の中の最大パケットサイズである。したがって、パケットが受信される都度、現時点の最大パケットサイズと今回の受信パケットのパケットサイズとが比較され、最大パケットサイズを上回った場合に、通信中情報C8-1(最大パケットサイズ)は、リアルタイムで今回の受信パケットのパケットサイズに更新される。
通信中情報C8-2(最小パケットサイズ)は、その通信セッションにおいてパケットの受信開始から現時点までのパケット群の中の最小パケットサイズである。したがって、パケットが受信される都度、現時点の最パケットサイズと今回の受信パケットのパケットサイズとが比較され、最小パケットサイズを下回った場合に、通信中情報C8-2(最小パケットサイズ)は、リアルタイムで今回の受信パケットのパケットサイズに更新される。
通信中情報C8-3(累積パケットサイズ)は、その通信セッションにおいてパケットの受信開始から現時点までのパケット群のパケットサイズを累積した現時点におけるパケットサイズである。したがって、パケットが受信される都度、通信中情報C8-3(累積パケットサイズ)はリアルタイムに更新される。
通信中情報9である受信開始時刻は、ネットワーク特徴量F9と同様、通信セッションが開始した時刻であり、秒単位までの細かさでは記録せず、時間ごとに記録するなど幅をもつものとする。たとえば、ある通信セッションについて9時5分に最初のパケットを受信した場合、受信開始時刻は、単に、「9時」とする。
通信中情報C10-1(最大受信秒間パケット数)、および通信中情報C10-2(最小受信秒間パケット数)は、ネットワーク特徴量F10である秒間受信パケット数(pps)から生成される。
通信中情報C10-1(最大受信秒間パケット数)は、その通信セッションにおいてパケットの受信開始から現時点までの各秒で計測された秒間パケット数の最大値である。したがって、通信セッション中に秒単位で時間が進行する都度、現時点の最大受信秒間パケット数と今回の受信秒間パケット数とが比較され、最大受信秒間パケット数を上回った場合に、通信中情報C10-1(最大受信秒間パケット数)は、リアルタイムで今回の受信秒間パケット数に更新される。
通信中情報C10-2(最小受信秒間パケット数)は、その通信セッションにおいてパケットの受信開始から現時点までの各秒で計測された秒間パケット数の最小値である。したがって、通信セッション中に秒単位で時間が進行する都度、現時点の最小受信秒間パケット数と今回の受信秒間パケット数とが比較され、最小受信秒間パケット数を下回った場合に、通信中情報C10-2(最小受信秒間パケット数)は、リアルタイムで今回の受信秒間パケット数に更新される。
通信中情報C11である通信時間は、ネットワーク特徴量F11と同様、通信セッションの開始から終了までの時間(msec)である。たとえば、通信セッションの開始が「9時5分37秒」、終了が「9時8分43秒」である場合、通信時間は、「186秒」となる。
<学習モデルDB412>
図9は、学習モデルDB412のデータ構造例を示す説明図であり、図10は、学習モデルLnの一例を示す説明図である。学習モデルDB412は、ネットワーク特徴量F1~F11に対応する学習モデルL1~L11-2をリスト化したデータベースである。学習モデルDB412は、学習期間中に生成された通信中情報Cn、すなわち、学習期間中の全通信セッションにより第2生成部406によって生成される。学習モデルDB412は、具体的には、たとえば、フラッシュメモリ222に格納される。
学習モデルLnは、ネットワーク特徴量Fnに対応する。ただし、学習モデルLnは、通信中情報Cnと同様、ネットワーク特徴量Fnをより詳細に規定するため、1つのネットワーク特徴量Fnに対し複数の学習モデルLnが規定される場合がある。この場合、学習モデルLnの末尾に枝番を付して区別する。
学習モデルL1~L7はそれぞれ、学習期間中に生成された各通信セッションの通信中情報C1~C7の各々の和集合として生成される。たとえば、ある通信セッションの通信中情報C1である宛先IPアドレスが「10.10.10.1」であり、同一学習期間中の他の通信セッションの通信中情報C1である宛先IPアドレスが「10.10.10.2」である場合、学習モデルL1は、「10.10.10.1」および「10.10.10.2」となる。
学習モデルL8-1(最大パケットサイズ)、学習モデルL8-2(最小パケットサイズ)、学習モデルL8-3(累積最大パケットサイズ)、および学習モデルL8-4(累積最小パケットサイズ)は、通信中情報C8-1~C8-3から生成される。
学習モデルL8-1(最大パケットサイズ)は、学習期間中の各通信セッションの通信中情報C8-1である最大パケットサイズの中の最大値となる。学習モデルL8-2(最小パケットサイズ)は、学習期間中の各通信セッションの通信中情報C8-2である最小パケットサイズの中の最小値となる。学習モデルL8-3(累積最大パケットサイズ)は、学習期間中の各通信セッションの通信中情報C8-3である累積パケットサイズの中の最大値となる。学習モデルL8-4(累積最小パケットサイズ)は、学習期間中の各通信セッションの通信中情報C8-3である累積パケットサイズの中の最小値となる。
学習モデルL9(受信開始時刻)は、学習期間中の各通信セッションの通信中情報9である受信開始時刻のうち、最古の受信開始時刻となる。たとえば、同一学習期間中の3つの通信セッションの通信中情報9(受信開始時刻)がそれぞれ、「9時」、「10時」、「11時」である場合、学習モデルL9(受信開始時刻)は、「9時」となる。
学習モデルL10-1(最大受信秒間パケット数)は、学習期間中の各通信セッションの通信中情報C10-1である最大受信秒間パケット数の中の最大値となる。学習モデルL10-2(最小受信秒間パケット数)は、学習期間中の各通信セッションの通信中情報C10-2である最小受信秒間パケット数の中の最小値となる。
学習モデルL11-1(最大通信時間)、および学習モデルL10-2(最小通信時間)は、通信中情報C11から生成される。学習モデルL11-1(最大通信時間)は、学習期間中の各通信セッションの通信中情報C11である通信時間の中の最大値となる。学習モデルL11-2(最小通信時間)は、学習期間中の各通信セッションの通信中情報C11である通信時間の中の最小値となる。
<学習モデルLnと第1通信中情報Cnとの比較例>
図11は、判定部407における学習モデルLnと運用パケットから生成された第1通信中情報Cnとの比較条件の一例を示す説明図である。判定部407は、第1通信中情報C1~C7、C9の各々について、対応する学習モデルL1~L7、L9内に一致する値があるか否かを判定する。具体的には、たとえば、学習モデルL1(宛先IPアドレス)の値が「10.10.10.1」および「10.10.10.2」であり、第1通信中情報C1(宛先IPアドレス)の値が「10.10.10.1」である場合、判定部407は、一致する値「10.10.10.1」が学習モデルL1に存在すると判定する。
また、判定部407は、学習モデルL8-1、L8-3、L10-1、およびL11-1の各々の値が、対応する第1通信中情報C8-1、C8-3、C10-1、およびC11の値よりも大きいか否かを判定する。具体的には、たとえば、学習モデルL8-1(最大パケットデータサイズ)の値が「1500[byte]」であり、第1通信中情報C8-1(最大パケットデータサイズ)の値が「1400[byte]」である場合、判定部407は、学習モデルL8-1(最大パケットデータサイズ)の値「1500[byte]」が、第1通信中情報C8-1(最大パケットデータサイズ)の値「1400[byte]」よりも大きいと判定する。
また、判定部407は、学習モデルL8-2、L8-4、L10-2、およびL11-2の各々の値が、対応する第1通信中情報C8-2、C8-4、C10-2、およびC11の値よりも小さいか否かを判定する。具体的には、たとえば、学習モデルL8-2(最小パケットデータサイズ)の値が「60[byte]」であり、第1通信中情報C8-1(最大パケットデータサイズ)の値が「70[byte]」である場合、判定部407は、学習モデルL8-2(最小パケットデータサイズ)の値「60[byte]」が、第1通信中情報C8-2(最小パケットデータサイズ)の値「70[byte]」よりも小さいと判定する。
なお、充足した比較条件については、判定部407は、学習モデルLnと第1通信中情報Cnとを比較した結果、充足した場合には上記式(1)の判定式の真偽値xnの値をxn=1に設定し、充足しなかった比較条件については、上記式(1)の判定式の真偽値xnの値をxn=0に設定する。
<学習時のパケット処理シーケンス例>
図12は、IoTゲートウェイ120の学習時におけるパケット処理シーケンス例を示すシーケンス図である。なお、第1生成部405には、あらかじめ学習期間が設定されているものとする。学習期間中において、受信部403は、第1IF401からパケットを受信すると、送信制御部409を経由して、受信したパケットを送信部404に転送する(ステップS1201)。これにより、送信部404は、第2IF402を介してパケットを宛先に送信することができる。また、受信部403は、受信したパケットを複製して、複製パケットを第1生成部405に転送する(ステップS1202)。
第1生成部405は、複製パケットを受信すると、通信セッションごとに第2通信中情報を生成し、通信中情報テーブル411に格納する(ステップS1203)。第1生成部405は、あらかじめ設定された学習期間の終了を検知すると、学習期間終了通知を第2生成部406に送信する(ステップS1204)。
第2生成部406は、学習期間終了通知を受信すると、学習対象となる当該学習期間の第2通信中情報を通信中情報テーブル411から検索し(ステップS1205)、ヒットした第2通信中情報を取得する(ステップS1206)。そして、第2生成部406は、取得した第2通信中情報を用いて学習モデルLnを生成する(ステップS2107)。これにより、IoTゲートウェイ120は、ある学習期間における学習処理を終了する。
図13は、IoTゲートウェイ120の運用時におけるパケット処理シーケンス例を示すシーケンス図である。運用期間中において、受信部403は、第1IF401からパケットを受信すると、送信制御部409を経由して、受信したパケットを送信部404に転送する(ステップS1201)。これにより、送信部404は、第2IF402を介してパケットを宛先に送信することができる。また、受信部403は、受信したパケットを複製して、複製パケットを第1生成部405に転送する(ステップS1202)。第1生成部405は、複製パケットを受信する都度、第1通信中情報を生成、更新し、通信中情報テーブル411に格納する(ステップS1301)。
判定部407は、パケットが受信部403から送信制御部409に転送される都度、換言すれば、第1通信中情報が生成、更新される都度、通信判定処理を実行する(ステップS1302)。通信判定処理(ステップS1302)では、判定部407は、通信判定処理(ステップS1302)の開始時に、学習モデルDB412に対し学習モデルLn取得要求を送り(ステップS1321)、学習モデルDB412から学習モデルLnを取得する(ステップS1322)。ステップS1321、S1322は、通信セッションの開始時に実行されればよく、開始時以降は実行されない。
判定部407は、不正通信判定処理を実行する(ステップS1323)。不正通信判定処理(ステップS1323)は、学習モデルLnと最新の第1通信中情報とを比較して上記式(1)の判定式を計算することにより、今回受信したパケットが、正常通信のパケット、不正通信の可能性があるパケット、および、不正通信のパケットのいずれであるかを判定する処理である。不正通信判定処理(ステップS1323)の詳細な処理は、後述の図14のステップS1401~S1404に相当する。
不正通信判定処理(ステップS1323)において、今回受信したパケットが正常通信のパケットと判定された場合、パケットは送信制御部409で遮断されず、送信部404に転送される。また、判定部407は、最新の第1通信中情報に基づいて、学習モデルLnを更新する(ステップS1324)。更新対象となる学習モデルLnは、第通信中情報Cnと不一致な学習モデルLnである。たとえば、学習モデルL1~L7,L9が充足されなかった場合、比較対象となった第1通信中情報C1~C7,C9が、学習モデルL1~L7,L9に追加される。
たとえば、学習モデルL1(宛先IPアドレス)の値が「10.10.10.1」および「10.10.10.2」であり、第1通信中情報C1(宛先IPアドレス)の値が「10.10.10.3」である場合、判定部407は、不一致な第1通信中情報C1(宛先IPアドレス)の値「10.10.10.3」を、学習モデルL1(宛先IPアドレス)に追加する。これにより、更新後の学習モデルL1(宛先IPアドレス)の値は、「10.10.10.1」「10.10.10.2」および「10.10.10.3」となる。
また、学習モデルL8-1~L8-4,L10-1~L11-2が充足されなかった場合、学習モデルL8-1~L8-4,L10-1~L11-2は、比較対象となった第1通信中情報C8-1~L8-3,C10-1~C11が学習モデルL1~L7,L9に上書きされる。
たとえば、学習モデルL8-1(最大パケットデータサイズ)の値が「1500[byte]」であり、第1通信中情報C8-1(最大パケットデータサイズ)の値が「1600[byte]」である場合、判定部407は、学習モデルL8-1(最大パケットデータサイズ)の値「1500[byte]」を、充足しなかった第1通信中情報C8-1(最大パケットデータサイズ)の値が「1600[byte]」に上書きする。これにより、更新後の学習モデルL8-1(最大パケットデータサイズ)の値は、「1600[byte]」となる。
また、不正通信判定処理(ステップS1323)において、今回受信したパケットが不正通信の可能性があるパケットと判定された場合、パケットは送信制御部409で遮断されず、送信部404に転送される。また、判定部407は、不正通信の可能性を検知したとして、不正通信の可能性の検知通知依頼を通知部408に送信する(ステップS1325)。通知部408は、当該検知依頼を受信すると、その旨を通知する(ステップS1327)。当該通知には、たとえば、パケットを特定可能な5タプル(宛先IPアドレス(F1)、送信元IPアドレス(F2)、プロトコル(F3)、宛先MACアドレス(F6)、送信元MACアドレス(F7))や受信時刻がある。また、宛先MACアドレス(F6)、送信元MACアドレス(F7)の代わりに、宛先ポート(F4)、送信元ポート(F5)であってもよい。これにより、どのパケットが不正通信の可能性のあるパケットで、それがどの時点で受信されたかをユーザは確認することができる。
また、不正通信判定処理(ステップS1323)において、今回受信したパケットが不正通信のパケットと判定された場合、判定部407は、当該パケットの遮断知依頼を通知部408に送信する(ステップS1326)。通知部408は、当該遮断通知依頼を受信すると、その旨を通知する(ステップS1327)。当該通知には、たとえば、パケットを特定可能な5タプル(宛先IPアドレス(F1)、送信元IPアドレス(F2)、プロトコル(F3)、宛先MACアドレス(F6)、送信元MACアドレス(F7))や受信時刻がある。また、宛先MACアドレス(F6)、送信元MACアドレス(F7)の代わりに、宛先ポート(F4)、送信元ポート(F5)であってもよい。これにより、どのパケットが不正通信のパケットで、それがどの時点で受信されたかをユーザは確認することができる。
また、判定部407は、当該パケットの遮断依頼を送信制御部409に送信する(ステップS1328)。遮断依頼には、当該パケットのネットワーク特徴量Fnが含まれる。遮断依頼に含まれるネットワーク特徴量Fnとしては、たとえば、パケットを特定可能な5タプル(宛先IPアドレス(F1)、送信元IPアドレス(F2)、プロトコル(F3)、宛先MACアドレス(F6)、送信元MACアドレス(F7))や受信時刻がある。また、宛先MACアドレス(F6)、送信元MACアドレス(F7)の代わりに、宛先ポート(F4)、送信元ポート(F5)であってもよい。遮断依頼に含まれるネットワーク特徴量Fnを遮断特徴量Fsと称す。
送信制御部409は、遮断依頼を受信した場合に遮断特徴量Fsを保持し、遮断依頼の受信時以降、受信部403からパケットが転送されてくる都度、遮断特徴量Fsに該当するパケットを遮断、すなわち、送信部404に転送せずに廃棄する(ステップS1329)。不正通信判定処理(ステップS1323)と遮断処理(ステップS1329)とは非同期であるため、受信部403からのパケットは、遮断特徴量Fsに該当しない限り、送信部404に転送される。したがって、パケット転送の効率化を図ることができる。
また、送信制御部409は、遮断依頼を受信した場合に遮断特徴量Fsを保持することで、後続のパケット群のうち遮断特徴量Fsに該当するパケットについては、不正通信判定処理(ステップS1323)による不正通信である旨の判定結果を待たずに廃棄する。したがって、遮断処理(ステップS1329)の効率化を図ることができる。
<通信判定処理(ステップS1302)>
図14は、図13に示した通信判定処理(ステップS1302)の詳細な処理手順例を示すフローチャートである。IoTゲートウェイ120は、学習モデルLnを取得した後(ステップS1322)、判定部407により、図13に示した不正通信判定処理(ステップS1323)として、ステップS1401~S1406を実行する。
具体的には、たとえば、IoTゲートウェイ120は、判定部407により、未選択の第1通信中情報Cnを選択し(ステップS1401)、対応する学習モデルLnを選択する(ステップS1402)。そして、IoTゲートウェイ120は、判定部407により、図11に示したように、選択した第1通信中情報Cnと選択した学習モデルLnとを比較する(ステップS1403)。
そして、充足した比較条件については、判定部407は、学習モデルLnと第通信中情報Cnとを比較した結果、充足した場合には上記式(1)の判定式の真偽値xnの値をxn=1に設定し、充足しなかった比較条件については、上記式(1)の判定式の真偽値xnの値をxn=0に設定する。
IoTゲートウェイ120は、判定部407により、未選択の第1通信中情報Cnを確認し(ステップS1404)、未選択の第1通信中情報Cnがある場合には、ステップS1401に戻り、未選択の第1通信中情報Cnを選択する。一方、未選択の第1通信中情報Cnがない場合には、上記式(1)の判定式のすべての真偽値xnが設定済みであるため、ステップS1405に移行する。
IoTゲートウェイ120は、判定部407により、上記式(1)の判定式を計算してスコアS(n)を算出する(ステップS1405)。そして、IoTゲートウェイ120は、判定部407により、正常な通信か、すなわち、算出したスコアS(n)が、正常判定条件式(式(2))を充足するかを判定する(ステップS1406)。正常判定条件式(式(2))を充足する場合(ステップS1406:Yes)、図13のステップS1324に示したように、IoTゲートウェイ120は、判定部407により、学習モデルLnを更新して(ステップS1407)、通信判定処理(ステップS1302)を終了する。
一方、正常判定条件式(式(2))を充足しなかった場合(ステップS1406:No)、IoTゲートウェイ120は、判定部407により、パケットの遮断が必要か、すなわち、算出したスコアS(n)が、検知判定条件式(式(3))および遮断判定条件式(式(4))のいずれを充足するかを判定する(ステップS1408)。遮断が必要ない場合、すなわち、スコアS(n)が検知判定条件式(式(3))を充足する場合(ステップS1408:No)、図13のステップS1325,S1327に示したように、IoTゲートウェイ120は、判定部407により、不正通信の可能性を検知したとして不正通信の可能性の検知通知依頼を通知部408に送信し、通知部408により、その旨を通知する(ステップS1409)。そして、IoTゲートウェイ120は通信判定処理(ステップS1302)を終了する。
一方、遮断が必要である場合、すなわち、スコアS(n)が遮断判定条件式(式(4))を充足する場合(ステップS1408:Yes)、図13のステップS1326,S1327に示したように、IoTゲートウェイ120は、判定部407により、当該パケットの遮断通知依頼を通知部408に送信して、通知部408によりその旨を通知する(ステップS1327)。
また、図13のステップS1328,S1329に示したように、IoTゲートウェイ120は、判定部407により、当該パケットの遮断依頼を送信制御部409に送信して、送信制御部409により、当該パケットを遮断する(ステップS1410)。そして、IoTゲートウェイ120は通信判定処理(ステップS1302)を終了する。
(1)このように、本実施例にかかるIoTゲートウェイ120は、学習データ群の特徴量に関する学習モデルLnに基づき運用データが不正通信であるか否かを判定するスコアS(n)を算出する判定式で、運用データのスコアS(n)を算出し、当該算出されたスコアS(n)に基づいて、不正通信であるか否かを判定し、判定結果に基づいて、送信部404による運用データの送信を制御する。これにより、学習モデルLnを用いた場合の誤判定率の低減化を図ることができる。
(2)また、IoTゲートウェイ120は、上記(1)において、判定結果が不正通信である場合、当該不正通信と判定された運用データを遮断する。これにより、セキュリティの向上を図ることができる。
(3)また、IoTゲートウェイ120は、上記(2)において、スコアS(n)が不正通信の基準となる第1しきい値(遮断しきい値β)よりも低い場合、運用データを不正通信のデータと判定し、不正通信と判定された運用データを遮断する。これにより、IoTゲートウェイ120は、学習モデルLnよりも学習モデルLnに基づくスコアS(n)を優先して不正通信と判定された運用データを誤って転送せずに遮断することができる。したがって、学習モデルLnを用いた場合の誤判定を抑制することができる。
(4)また、IoTゲートウェイ120は、上記(2)において、判定結果が不正通信である場合、当該判定結果を通知する。これにより、ユーザは、不正通信があったパケットがどのようなパケットでどの時点で受信されたかを確認することができる。
(5)また、IoTゲートウェイ120は、上記(2)において、不正通信のデータと判定された運用データの特徴量に基づいて、不正通信と判定された運用データを遮断する。これにより、IoTゲートウェイ120は、当該特徴量に該当する後続パケットについては、判定結果を待つことなく強制的に遮断することができる。したがって、IoTゲートウェイ120は、不正通信のパケットを効率的に遮断することができる。
(6)また、IoTゲートウェイ120は、上記(1)において、判定結果が不正通信の可能性がある場合、当該不正通信の可能性があると判定された運用データの前記送信部404による送信を遮断せず、判定結果が不正通信の可能性がある場合、当該判定結果を通知する。これにより、不正通信の可能性があったパケットについては効率的に転送し、かつ、ユーザは、不正通信の可能性があったパケットがどのようなパケットでどの時点で受信されたかを確認することができる。
(7)また、IoTゲートウェイ120は、上記(6)において、スコアS(n)が、不正通信の基準となる第1しきい値(遮断しきい値β)以上で、かつ、不正通信の可能性の基準となる第2しきい値(遮断しきい値βよりも高い検知しきい値α)よりも低い場合、運用データを不正通信の可能性があると判定する。これにより、IoTゲートウェイ120は、学習モデルLnよりも学習モデルLnに基づくスコアS(n)を優先して不正通信の可能性ありと判定された運用データを誤って遮断せずに転送することができる。したがって、学習モデルLnを用いた場合の誤判定を抑制することができる。
(8)また、IoTゲートウェイ120は、上記(1)において、判定結果が不正通信でない場合、当該不正通信でないと判定された運用データを遮断しない。これにより、正常通信のパケットを効率的に転送することができる。
(9)また、IoTゲートウェイ120は、上記(8)において、スコアS(n)が不正通信の可能性の基準となる第2しきい値(検知しきい値α)以上である場合、運用データを不正通信でないと判定する。これにより、IoTゲートウェイ120は、学習モデルLnよりも学習モデルLnに基づくスコアS(n)を優先して不正通信でないと判定された運用データを誤って遮断せずに転送することができる。したがって、学習モデルLnを用いた場合の誤判定を抑制することができる。
(10)また、IoTゲートウェイ120は、上記(1)において、運用データが受信される都度、判定式で運用データのスコアS(n)を算出する。これにより、運用データごとに学習モデルLnよりも学習モデルLnに基づくスコアS(n)を優先して、学習モデルLnを用いた場合の誤判定率の低減化を図ることができる。
(11)また、IoTゲートウェイ120は、上記(10)において、先着の運用データが受信されてから最新の運用データが受信されるまでの運用データ群について、運用データが受信される都度、第1通信中情報を更新し、更新された最新の第1通信中情報に基づいて、判定式により前記最新の運用データのスコアS(n)を算出する。これにより、リアルタイムで、学習モデルLnを用いた場合の誤判定率の低減化を図ることができる。
(12)また、IoTゲートウェイ120は、上記(11)において、学習モデルLnを生成し、生成された学習モデルLnに基づく判定式で、運用データのスコアS(n)を算出し、当該算出されたスコアS(n)に基づいて、不正通信であるか否かを判定する。これにより、IoTゲートウェイ120自身が生成した学習モデルLnを用いて、誤判定率の低減化を図ることができる。
(13)また、IoTゲートウェイ120は、上記(12)において、先着の学習データが受信されてから最新の学習データが受信されるまでの学習データ群について、前記学習データが受信される都度、第2通信中情報を更新し、学習データ群の通信が終了した場合、更新された最新の第2通信中情報に基づいて、学習モデルLnを確定する。これにより、IoTゲートウェイ120は、リアルタイムで学習モデルLnを生成することができる。
以上説明したように、本実施例のIoTゲートウェイ120は、プロトコルやアプリケーションに依存しないネットワーク特徴量Fnを用いて正常通信を学習し、正常とは異なる通信をネットワーク特徴量Fn毎にスコアづけし、不正通信の検知または検知と遮断を行う。その際、プラントネットワークや工場ネットワークなどのIoTシステム100ごとに合わせて、判定に使うネットワーク特徴量Fnごとに重みwnや検知しきい値α、遮断しきい値βの調整が可能であるため、不正通信判定を柔軟に適応することができる。
また、本実施例のIoTゲートウェイ120は、一定間隔のパケット数が増えないDoS攻撃(SlowReadDoS)に対しても、IPアドレスや通信ポートなど他のネットワーク特徴量Fnにおける正当性を組み合わせた判定により、不正通信の可能性の検知や不正通信の検知および遮断が可能となる。したがって、IoTシステム100ごとの特徴に柔軟に対応することができ、結果として、誤判定率の低減を図ることができる。
また、上述した実施例のIoTゲートウェイ120では、送信部40と受信部40との間に送信制御部409を設けた構成としたが、送信部404と第2IF402との間に送信制御部409を設けてもよい。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサ201がそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
120 IoTゲートウェイ
121 IoTデバイス
403 受信部
404 送信部
405 第1生成部
406 第2生成部
407 判定部
408 通知部
409 送信制御部
410 設定ファイル
411 通信中情報テーブル
412 学習モデルDB
600 第1設定ファイル
700 第2設定ファイル
Cn 通信中情報
Fn ネットワーク特徴量
Fs 遮断特徴量
Ln 学習モデル
S(n) スコア
α 検知しきい値
β 遮断しきい値

Claims (12)

  1. 運用データを送信元から受信する受信部と、
    前記受信部によって受信された運用データを宛先に送信する送信部と、
    学習データ群の特徴量に関する複数の学習モデルの各々に対応し、前記運用データの通信中の累積した特徴量に関する複数の第1通信中情報を生成する第1生成部と、
    前記学習モデルと当該学習モデルに対応する第1通信中情報との組み合わせごとに比較して前記学習モデルに対する前記第1通信中情報の真偽を特定し、前記運用データが不正通信であるか否かを判定するためのスコアを算出する判定式に、前記組み合わせごとの前記真偽を示す値を代入することにより、前記運用データのスコアを算出し、当該算出されたスコアに基づいて、前記運用データが不正通信であるか否かを判定する判定部と、
    前記判定部による判定結果に基づいて、前記送信部による前記運用データの送信を制御する送信制御部と、
    を有することを特徴とする不正通信検知装置。
  2. 請求項1に記載の不正通信検知装置であって、
    前記送信制御部は、前記判定結果が不正通信である場合、当該不正通信と判定された運用データを遮断することを特徴とする不正通信検知装置。
  3. 請求項2に記載の不正通信検知装置であって、
    前記判定部は、前記スコアが不正通信の基準となる第1しきい値よりも低い場合、前記運用データを不正通信のデータと判定し、
    前記送信制御部は、前記不正通信と判定された運用データを遮断することを特徴とする不正通信検知装置。
  4. 請求項2に記載の不正通信検知装置であって、
    前記判定結果が不正通信である場合、当該判定結果を通知する通知部を有することを特徴とする不正通信検知装置。
  5. 請求項2に記載の不正通信検知装置であって、
    前記判定部は、前記不正通信のデータと判定された運用データの特徴量を前記送信制御部に出力し、
    前記送信制御部は、前記不正通信のデータと判定された運用データの特徴量に基づいて、前記不正通信と判定された運用データを遮断することを特徴とする不正通信検知装置。
  6. 請求項1に記載の不正通信検知装置であって、
    前記判定結果を通知する通知部を有し、
    前記送信制御部は、前記判定結果が不正通信の可能性がある場合、当該不正通信の可能性があると判定された運用データを前記送信部に出力し、
    前記通知部は、前記判定結果が不正通信の可能性がある場合、当該判定結果を通知することを特徴とする不正通信検知装置。
  7. 請求項6に記載の不正通信検知装置であって、
    前記判定部は、前記スコアが、不正通信の基準となる第1しきい値以上で、かつ、前記第1しきい値よりも高い不正通信の可能性の基準となる第2しきい値よりも低い場合、前記運用データを不正通信の可能性があると判定することを特徴とする不正通信検知装置。
  8. 請求項1に記載の不正通信検知装置であって、
    前記送信制御部は、前記判定結果が不正通信でない場合、当該不正通信でないと判定された運用データを前記送信部に出力することを特徴とする不正通信検知装置。
  9. 請求項8に記載の不正通信検知装置であって、
    前記判定部は、前記スコアが不正通信の可能性の基準となる第2しきい値以上である場合、前記運用データを不正通信でないと判定することを特徴とする不正通信検知装置。
  10. 請求項1に記載の不正通信検知装置であって、
    前記判定部は、前記運用データが受信される都度、前記判定式で前記運用データのスコアを算出することを特徴とする不正通信検知装置。
  11. 請求項10に記載の不正通信検知装置であって、
    記第1生成部は、先着の運用データが受信されてから最新の運用データが受信されるまでの運用データ群について、前記運用データが受信される都度、前記第1通信中情報を更新し、
    前記判定部は、前記第1生成部によって更新された最新の第1通信中情報に基づいて、前記判定式により前記最新の運用データのスコアを算出することを特徴とする不正通信検知装置。
  12. プロセッサに、
    運用データを送信元から受信する受信処理と、
    前記受信処理によって受信された運用データを宛先に送信する送信処理と、
    学習データ群の特徴量に関する複数の学習モデルの各々に対応し、前記運用データの通信中の累積した特徴量に関する複数の第1通信中情報を生成する第1生成処理と、
    前記学習モデルと当該学習モデルに対応する第1通信中情報との組み合わせごとに比較して前記学習モデルに対する前記第1通信中情報の真偽を特定し、前記運用データが不正通信であるか否かを判定するためのスコアを算出する判定式に、前記組み合わせごとの前記真偽を示す値を代入することにより、前記運用データのスコアを算出し、当該算出されたスコアに基づいて、前記運用データが不正通信であるか否かを判定する判定処理と、
    前記判定処理による判定結果に基づいて、前記送信処理による前記運用データの送信を制御する送信制御処理と、
    を実行させることを特徴とする不正通信検知プログラム。
JP2018036561A 2018-03-01 2018-03-01 不正通信検知装置および不正通信検知プログラム Active JP7033467B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018036561A JP7033467B2 (ja) 2018-03-01 2018-03-01 不正通信検知装置および不正通信検知プログラム
US16/288,766 US20190273749A1 (en) 2018-03-01 2019-02-28 Unauthorized Communication Detection Apparatus and Recording Medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018036561A JP7033467B2 (ja) 2018-03-01 2018-03-01 不正通信検知装置および不正通信検知プログラム

Publications (3)

Publication Number Publication Date
JP2019153875A JP2019153875A (ja) 2019-09-12
JP2019153875A5 JP2019153875A5 (ja) 2020-08-20
JP7033467B2 true JP7033467B2 (ja) 2022-03-10

Family

ID=67768830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018036561A Active JP7033467B2 (ja) 2018-03-01 2018-03-01 不正通信検知装置および不正通信検知プログラム

Country Status (2)

Country Link
US (1) US20190273749A1 (ja)
JP (1) JP7033467B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11683534B2 (en) 2014-02-05 2023-06-20 Enseo, Llc Geolocationing system and method for use of same
US11700401B2 (en) 2014-02-05 2023-07-11 Enseo, Llc Geolocationing system and method for use of same
US11700400B2 (en) 2014-02-05 2023-07-11 Enseo, Llc Geolocationing system and method for use of same
US11700399B2 (en) 2014-02-05 2023-07-11 Enseo, Llc Geolocationing system and method for use of same
US11641490B2 (en) 2014-02-05 2023-05-02 Enseo, Llc Geolocationing system and method for use of same
US11553214B2 (en) * 2014-02-05 2023-01-10 Enseo, Llc Thermostat and system and method for use of same
US11641489B2 (en) 2014-02-05 2023-05-02 Enseo, Llc Geolocationing system and method for use of same
US11521483B2 (en) * 2018-12-31 2022-12-06 Enseo, Llc Thermostat and system and method for use of same
US10992498B2 (en) * 2018-12-31 2021-04-27 Enseo, Llc Gateway device and system and method for use of same
US11507116B2 (en) * 2018-12-31 2022-11-22 Enseo, Llc Thermostat and system and method for use of same
JP7147601B2 (ja) * 2019-01-31 2022-10-05 富士通株式会社 検査方法および検査システム
JP7109391B2 (ja) * 2019-02-26 2022-07-29 株式会社日立製作所 不正通信検知装置および不正通信検知プログラム
CN111565063B (zh) * 2020-04-29 2021-06-15 广州技象科技有限公司 一种窄带物联网系统
WO2022049636A1 (ja) * 2020-09-01 2022-03-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 制御モード切替装置、および制御モード切替方法
US20220303300A1 (en) * 2021-03-18 2022-09-22 International Business Machines Corporation Computationally assessing and remediating security threats

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007096735A (ja) 2005-09-29 2007-04-12 Fujitsu Ltd ネットワークセキュリティ装置
WO2015107861A1 (ja) 2014-01-14 2015-07-23 株式会社Pfu 情報処理装置、不正活動判定方法および不正活動判定用プログラム、並びに、情報処理装置、活動判定方法および活動判定用プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007096735A (ja) 2005-09-29 2007-04-12 Fujitsu Ltd ネットワークセキュリティ装置
WO2015107861A1 (ja) 2014-01-14 2015-07-23 株式会社Pfu 情報処理装置、不正活動判定方法および不正活動判定用プログラム、並びに、情報処理装置、活動判定方法および活動判定用プログラム

Also Published As

Publication number Publication date
US20190273749A1 (en) 2019-09-05
JP2019153875A (ja) 2019-09-12

Similar Documents

Publication Publication Date Title
JP7033467B2 (ja) 不正通信検知装置および不正通信検知プログラム
JP7109391B2 (ja) 不正通信検知装置および不正通信検知プログラム
US20190166144A1 (en) Detection of malicious network activity
US9444701B2 (en) Identifying remote machine operating system
CN110839017B (zh) 代理ip地址识别方法、装置、电子设备及存储介质
TW201926948A (zh) 監控裝置、方法及其電腦程式產品
EP2634989A1 (en) Mobile terminal to detect network attack and method thereof
KR101980901B1 (ko) SVM-SOM 결합 기반 DDoS 탐지 시스템 및 방법
CN109858442B (zh) 基于门禁机的陌生人通行监控方法及装置
US11489832B2 (en) Communication control apparatus, communication control method, and communication control program
CN107241304B (zh) 一种DDoS攻击的检测方法及装置
EP1631037B1 (en) Apparatus and method for mitigating DoS attacks in a service discovery system
JP2020174257A (ja) 登録システム、登録方法及び登録プログラム
CN110858831A (zh) 安全防护方法、装置以及安全防护设备
CN102036248A (zh) 拒绝服务攻击防御方法、系统、无线接入点及无线控制器
CN111314348B (zh) 信任度模型建立、信任评价、设备认证的方法及装置
CN112769734B (zh) 网络攻击的检测方法、装置和计算机可读存储介质
CN114422277B (zh) 防御网络攻击的方法、装置、电子设备和计算机可读介质
CN106817364B (zh) 一种暴力破解的检测方法及装置
AU2020226154B2 (en) Communication terminal device, communication control method, and communication control program
CN112367311B (zh) DDoS攻击检测方法、装置、设备及存储介质
CN109347890B (zh) 伪终端检测的方法、装置、设备和介质
CN107819739B (zh) 一种确定终端是否存在长链路连接的方法及服务器
KR101922594B1 (ko) 상태정보 모니터링을 통해 상태를 탐지하는 유무선 공유기, 유무선 공유기의 상태 탐지 장치 및 그 방법
CN111601309B (zh) 一种无线可充电传感器网络的监测方法和装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200708

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210927

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: 20220222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220228

R150 Certificate of patent or registration of utility model

Ref document number: 7033467

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150