JP2021077051A - 不正侵入検出システムおよび不正侵入検出装置 - Google Patents
不正侵入検出システムおよび不正侵入検出装置 Download PDFInfo
- Publication number
- JP2021077051A JP2021077051A JP2019202797A JP2019202797A JP2021077051A JP 2021077051 A JP2021077051 A JP 2021077051A JP 2019202797 A JP2019202797 A JP 2019202797A JP 2019202797 A JP2019202797 A JP 2019202797A JP 2021077051 A JP2021077051 A JP 2021077051A
- Authority
- JP
- Japan
- Prior art keywords
- communication
- address
- fake
- terminal
- program
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】端末に不正に侵入したプログラムを効率よく検出する不正侵入検出システムを提供する。
【解決手段】偽アドレスを端末に配布する配布部と、配布部から受信した偽アドレスを入力として端末の外部と通信を行う所定のプログラムを実行する通信制御部と、オペレーティングシステムは、所定のプログラムにより偽アドレス宛てにパケットが発出された場合、通信先アドレス情報に偽アドレスを登録し、所定のプログラムが行う規定の通信の手順および内容が含まれる規定通信情報をもとに、通信制御部により発出されたパケットに対する応答を返す応答部と、端末からの偽アドレス宛ての通信を監視し、通信の手順および内容と規定の通信の手順および内容とを比較して端末に不正に侵入したプログラムを検出する通信監視部と、を設けるようにした。
【選択図】図1
【解決手段】偽アドレスを端末に配布する配布部と、配布部から受信した偽アドレスを入力として端末の外部と通信を行う所定のプログラムを実行する通信制御部と、オペレーティングシステムは、所定のプログラムにより偽アドレス宛てにパケットが発出された場合、通信先アドレス情報に偽アドレスを登録し、所定のプログラムが行う規定の通信の手順および内容が含まれる規定通信情報をもとに、通信制御部により発出されたパケットに対する応答を返す応答部と、端末からの偽アドレス宛ての通信を監視し、通信の手順および内容と規定の通信の手順および内容とを比較して端末に不正に侵入したプログラムを検出する通信監視部と、を設けるようにした。
【選択図】図1
Description
本発明は、不正侵入検出システムおよび不正侵入検出装置に関し、例えば、端末に不正に侵入したプログラムを検出する不正侵入検出システムおよび不正侵入検出装置に適用して好適なものである。
近年、破壊型攻撃、制御システムを狙った標的型攻撃、ランサムウエア等のサイバー攻撃は、ますます高度化および多様化している。これに伴い、サイバー攻撃に用いられるマルウエアが具備する機能も複雑化の傾向にある。
従来から、端末内、組織のネットワーク等から取得した情報をもとに拡散を広げるマルウエアが知られている。これを受けて、「マルウエアを騙し、おとりにおびき寄せる」ことで、前述の拡散行動に対抗しようとする技術が存在する。特許文献1では、端末内に「おとり」ファイル、「おとり」フォルダ等を作成し、これに対する攻撃者のアクセス挙動と、攻撃挙動を記録したパターンデータベースとを比較し、攻撃を検出する技術を開示している。また、特許文献2では、WEBサーバ、メールサーバといった、複数のおとりとなる模擬リソースを組織内のネットワークで立ち上げることで、マルウエアをおびき寄せて検出する技術を開示している。
近年、新種のマルウエアが発生している。新種のマルウエアは、組織内のネットワークへの高度な拡散機能を有する。従来、マルウエアが組織内のネットワークに拡散する際は、IPアドレスをスキャンして拡散先の端末を特定する方法が一般的であった。これに対して新種のマルウエアは、IPアドレスのスキャンに加え、感染した端末内のARP Cache、DHCPアドレスの割当リスト、感染した端末の現在の通信先のIPアドレスおよびポート番号に関する情報(以下、通信先アドレス情報)等を悪用して効率的に拡散を行うことで従来の検出手段の多くを回避することができる。
例えば、新種のマルウエアは、通信先アドレス情報テーブルから通信先の端末を抽出することで、サブネット内外の端末に効率的に拡散することができる。この方法は、IPアドレスのスキャンと異なり、未使用のIPアドレスに対してIPパケットを送信しないため、ダークネット観測、TCP接続の失敗回数に基づく検出、ファイアーウォール等の端末間のアクセス制御ルールを回避できる可能性が高い。このようなことから、特に、オペレーティングシステムが保持する通信先アドレス情報テーブルを悪用した組織内のネットワークへの拡散が問題となっている。
この点、特許文献1および特許文献2に記載の技術では、端末内のファイル、サーバ等のおとりにマルウエアが騙されるのを待たなければならい。つまり、感染した端末の通信先アドレス情報を悪用して拡散する新種のマルウエアは、現在、通信が行われている通信先のIPアドレスおよびポート番号を用いるので、ファイル、サーバ等のおとりにアクセスしないため、特許文献1および特許文献2に記載の技術では、新種のマルウエアを検出することが困難である。
本発明は、以上の点を考慮してなされたもので、端末に不正に侵入したプログラムを効率よく検出する不正侵入検出システム等を提案しようとするものである。
かかる課題を解決するため本発明においては、端末に不正に侵入したプログラムを検出する不正侵入検出システムであって、前記端末のオペレーティングシステムが保持する通信先アドレス情報に含まれる通信先のアドレスを取得し、取得したアドレスをもとに、未使用のアドレスが管理される未使用アドレス情報から1つ以上のアドレスを選択し、選択したアドレスを偽アドレスとして前記端末に配布する配布部と、前記配布部から受信した偽アドレスを入力として前記端末の外部と通信を行う所定のプログラムを実行する通信制御部と、前記オペレーティングシステムは、前記所定のプログラムにより前記偽アドレス宛てにパケットが発出された場合、前記通信先アドレス情報に前記偽アドレスを登録し、前記所定のプログラムが行う規定の通信の手順および内容が含まれる規定通信情報をもとに、前記通信制御部により発出されたパケットに対する応答を返す応答部と、前記端末からの偽アドレス宛ての通信を監視し、前記通信の手順および内容と前記規定の通信の手順および内容とを比較して前記端末に不正に侵入したプログラムを検出する通信監視部と、を設けるようにした。
上記構成では、端末からの偽アドレス宛ての通信を監視し、当該通信の手順および内容と規定の通信の手順および内容とを比較することで、端末に不正に侵入したプログラム(以下、「不正侵入プログラム」と記す)を検出することができる。例えば、不正侵入プログラムが通信先アドレス情報を用いて通信先を決定するプログラムである場合、通信先アドレス情報に偽アドレスを登録しておくことで、不正侵入プログラムが偽アドレス宛てにアクセスする確率が高まるので、効率よく不正侵入プログラムを検出することができる。
本発明によれば、端末に不正に侵入したプログラムを効率よく検出することができる。
以下図面について、本発明の一実施の形態を詳述する。本実施の形態では、偽のアドレスを通信先アドレス情報に付加することで、侵入した端末の通信先アドレス情報を悪用して組織内外に拡散するマルウエアを検出し、当該マルウエアの拡散および抑制を実現する技術に関する。
(1)第1の実施の形態
(システム概要)
図1において、100は全体として第1の実施の形態による不正侵入検出システムを示す。
(システム概要)
図1において、100は全体として第1の実施の形態による不正侵入検出システムを示す。
図1は、不正侵入検出システム100に係る構成の一例を示す図である。不正侵入検出システム100は、偽アドレス配布装置110、端末A120、端末B130、および偽応答装置140を含んで構成される。以下では、端末A120および端末B130の区別を要しない場合、「端末」と記すことがある。
不正侵入検出システム100において、偽の通信先(接続先、宛て先)のアドレス(以下、「偽アドレス」と記す)および偽の通信先のポート番号(以下、「偽ポート番号」と記す)を端末に設定し、マルウエアを騙すという構成(行為)は、偽アドレス配布装置110と端末A120との組み合わせ、または、偽アドレス配布装置110と端末B130と偽応答装置140との組み合わせ、により実現する。前者の組み合わせを第1の組合せ101と記し、後者の組み合わせを第2の組合せ102と記す。
第1の組合せ101と第2の組合せ102とは共存できる。第1の組合せ101の利点としては、偽アドレスとして組織内と組織外との両方を使用できること、通信の遮断が端末A120の内部で俊敏に実施できることが挙げられる。なお、端末B130の通信を止めるためには、マルウエアを検出してから、端末B130の通信を閉じるように、端末B130の通信に係るルータ、スイッチ等の機器に命令を出さなければならないので、端末A120の通信を止めるときよりも時間を要する。一方、第2の組合せ102の利点としては、端末B130に導入する必要がある機能部とデータベースとを少なくできるため、リソースに制約がある端末への導入が比較的容易となることが挙げられる。
第1の組合せ101では、端末A120を例に挙げているが、端末A120と同様に検出抑制部121を備える他の端末が1以上、含まれていてもよい。また、第2の組合せ102では、端末B130を例に挙げているが、端末B130と同様に検出抑制部131を備える他の端末が1以上、含まれていてもよい。
偽アドレス配布装置110と端末A120との間の通信、偽アドレス配布装置110と端末B130との間の通信、端末B130と偽応答装置140との間の通信は、通信ネットワーク150を介して行われる。通信ネットワーク150は、WAN(Wide Area Network)、携帯電話、PHS(Personal Handy-phone System)等で利用される公衆回線網等である。
不正侵入検出システム100では、偽アドレス配布装置110から端末に偽アドレス偽ポート番号メッセージ161が配布(送信)される。偽アドレス偽ポート番号メッセージ161は、偽アドレス配布装置110から端末A120の偽通信制御部122および端末B130の偽通信制御部132に送られる電文である。偽アドレス偽ポート番号メッセージ161には、端末A120または端末B130に設定する偽アドレスおよび偽ポート番号に関する情報が含まれる。
また、不正侵入検出システム100では、偽アドレスおよび偽ポート番号をもとに端末A120内で、規定通信メッセージ171と偽応答メッセージ172とによる通信(偽通信)が行われている。規定通信メッセージ171は、端末A120に属する規定プログラム127から偽応答部123に送信される電文である。電文内の通信先のアドレスおよび通信先のポート番号は、偽アドレス偽ポート番号メッセージ161にて指定されたものである。偽応答メッセージ172は、偽応答部123から規定プログラム127に送信される電文である。偽応答メッセージ172は、規定通信メッセージ171に対する返信である。
また、不正侵入検出システム100では、偽アドレスおよび偽ポート番号をもとに端末B130内で、規定通信メッセージ181と偽応答メッセージ182とによる通信(偽通信)が行われている。規定通信メッセージ181は、端末B130内の規定プログラム134から偽応答装置140内のサーバ側偽応答部141に送信される電文である。電文内の通信先のアドレスおよび通信先のポート番号は、偽アドレス偽ポート番号メッセージ161にて指定されたものである。偽応答メッセージ182は、サーバ側偽応答部141から規定プログラム134に送信される電文である。偽応答メッセージ182は、規定通信メッセージ181に対する返信である。
偽アドレス配布装置110は、偽アドレスを端末に配布(送信)するサーバである。偽アドレス配布装置110は、偽アドレス配布部111および未使用アドレス帯DB112を備える。
偽アドレス配布部111は、端末に配布する偽アドレス偽ポート番号メッセージ161を作成する。未使用アドレス帯DB112は、偽アドレス偽ポート番号メッセージ161を作成するに当たり参照されるデータベース(DB)である。未使用アドレス帯DB112は、偽アドレスに使用可能なアドレス帯、例えば、業務で未使用のアドレス帯を保持する(図3参照)。
端末A120は、偽アドレス配布装置110から受信した偽アドレス偽ポート番号メッセージ161を用いて偽通信を発生させ、オペレーティングシステム128が保持する通信先アドレス情報テーブル129に通信に係る情報を登録する。更に、端末A120は、通信先アドレス情報テーブル129を参照して拡散を試みるマルウエアの検出および遮断を行う。通信に係る情報には、送信元のアドレス(端末A120のアドレス)と、送信先のアドレス(偽アドレス)と、送信先のポート番号(偽ポート番号)とが含まれる。
端末A120は、検出抑制部121を備える。検出抑制部121は、偽通信制御部122、偽応答部123、通信監視部124、規定通信プロファイルDB125、および規定プログラムプロファイルDB126を備える。なお、検出抑制部121は、端末B130の検出抑制部131と偽応答装置140が有する機能に相当する機能を有している。
また、端末A120は、規定プログラム127およびオペレーティングシステム128を備える。検出抑制部121および規定プログラム127は、何れもオペレーティングシステム128上で動作する。なお、規定プログラム127およびオペレーティングシステム128は、端末A120が予め備えている機能であり、その他の機能およびDBは、マルウエアの対策用に新たに導入されたものである。
偽通信制御部122は、偽アドレス偽ポート番号メッセージ161を受信するとともに、規定プログラム127を実行することで、偽アドレスおよび偽ポート番号に対する偽通信を発生させる。
規定プログラム127は、オペレーティングシステム128上に予め備わっている標準的な通信プログラム(Microsoft WINDOWS(登録商標)である場合、net.exe、telnet.exe等が相当)であり、偽通信制御部122により実行され、偽アドレス偽ポート番号メッセージ161に対して、規定通信メッセージ171を発生させる。発生した規定通信メッセージ171(通信に係る情報)は、自動的に、オペレーティングシステム128の通信先アドレス情報テーブル129に登録される。これにより、通信先アドレス情報テーブル129を参照して拡散先を決定するマルウエアを騙すことが可能になる。
規定プログラム127が行う通信の手順および通信の内容は、検出抑制部121にとって既知であり、規定通信プロファイルDB125に記録されている(図4参照)。規定プログラム127は、複数存在してもよく、その場合、偽ポート番号に応じてどの規定プログラム127を使用するべきかが規定プログラムプロファイルDB126で指定されている(図5参照)。
検出抑制部121内に端末A120の外部(偽アドレスおよび偽ポート番号)に対して通信する通信プログラムを独自に設けるのではなく、オペレーティングシステム128に予め備わっている規定プログラム127を使用するのは、マルウエアが実際の業務に関連する通信と偽通信とを見分けることを困難にするためである。独自の通信プログラムによる通信は、マルウエアにとって警戒され、拡散先の対象から外されてしまう可能性がある。
偽応答部123は、規定プログラム127からの規定通信メッセージ171に対して偽応答メッセージ172を返す。規定通信メッセージ171の通信先のアドレスは、端末A120以外のものである。このため、偽応答部123は、本来の通信先のアドレスになり替わって応答を返す。例えば、端末A120のアドレスが192.168.100.10であり、規定通信メッセージ171のアドレスが192.168.100.20である場合、偽応答部123は、送信元のアドレスが192.168.100.20となる偽応答メッセージ172を作成して返信する。偽応答部123は、偽応答メッセージ172の作成に際しては、規定通信プロファイルDB125を参照する。
規定通信メッセージ171に対して偽応答メッセージ172を返すのは、TCP(Transmission Control Protocol)等の双方向の通信を正しく確立させ、通信先アドレス情報テーブル129に反映させるためである。仮に、偽応答メッセージ172がない場合、通信先アドレス情報テーブル129では、規定通信メッセージ171が確立に失敗した通信として挙げられるため、マルウエアに偽通信であると見抜かれるおそれがある。
通信監視部124は、端末A120の通信を監視する。例えば、通信監視部124は、偽アドレスおよび偽ポート番号宛ての通信を発見した場合、規定通信プロファイルDB125を参照しながら、当該通信が規定プログラム127に起因するものであるか否か(規定の通信であるか否か)を分析する。通信監視部124は、分析の結果、規定プログラム127に起因するものではないと判定した場合、マルウエアの感染の可能性があると見做し、アラートの発出および/または通信の遮断を行う。
端末B130は、偽アドレス配布装置110から受信した偽アドレス偽ポート番号メッセージ161を用いて偽通信を発生させ、オペレーティングシステム135が保持する通信先アドレス情報テーブル136に通信に係る情報を登録する。更に、端末B130は、通信先アドレス情報テーブル136を参照して拡散を試みるマルウエアの検出および遮断を行う。
端末B130は、検出抑制部131を備える。検出抑制部131は、偽通信制御部132および規定プログラムプロファイルDB133を備える。また、端末B130は、規定プログラム134およびオペレーティングシステム135を備える。検出抑制部131および規定プログラム134は、何れもオペレーティングシステム135上で動作する。なお、オペレーティングシステム135および規定プログラム134は、端末B130が予め備えている機能であり、その他の機能およびDBは、マルウエアの対策用に新たに導入されたものである。
偽通信制御部132は、偽アドレス偽ポート番号メッセージ161を受信するとともに、規定プログラム134を実行することで、偽アドレスおよび偽ポート番号に対する偽通信を発生させる。
規定プログラム134は、オペレーティングシステム135上に予め備わっている標準的な通信プログラム(Microsoft WINDOWS(登録商標)である場合、net.exe、telnet.exe等が相当)であり、偽通信制御部132により実行され、偽アドレス偽ポート番号メッセージ161に対して、規定通信メッセージ181を発生させる。発生した規定通信メッセージ181(通信に係る情報)は、自動的に、オペレーティングシステム135の通信先アドレス情報テーブル136に登録される。これにより、通信先アドレス情報テーブル136を参照して拡散先を決定するマルウエアを騙すことが可能になる。
規定通信メッセージ181は、規定通信メッセージ171とは異なり、実際に端末B130の外に発出される。規定プログラム134が行う通信の手順および通信の内容は、偽応答装置140にとって既知であり、規定通信プロファイルDB144に記録されている。規定プログラム134は、複数存在してもよく、その場合、偽ポート番号に応じてどの規定プログラム134を使用するべきかが規定プログラムプロファイルDB133で指定されている。
偽応答装置140は、通信ネットワーク150上に設置され、サーバ側偽応答部141およびサーバ側通信監視部142を備える。
サーバ側偽応答部141は、規定プログラム134から未使用アドレス帯DB143に記載されているアドレス宛ての規定通信メッセージ181に対して偽応答メッセージ182を返す。
サーバ側偽応答部141は、偽応答メッセージ182の作成に際しては、規定通信プロファイルDB144を参照する。規定通信メッセージ181に対して偽応答メッセージ182を返すのは、TCP等の双方向通信を正しく確立させ、通信先アドレス情報テーブル136に反映させるためである。仮に、偽応答メッセージ182がない場合、通信先アドレス情報テーブル136では、規定通信メッセージ181が確立に失敗した通信として挙げられるため、マルウエアに偽通信であると見抜かれるおそれがある。
偽応答装置140が通信ネットワーク150にある関係から、第2の組合せ102では、規定プログラム134の通信先のアドレスのアドレス帯は、通信ネットワーク150に属する組織内のものに限定される。一方、第1の組合せ101では、規定プログラム127の通信は、すべて偽応答部123により扱われるため、組織内および組織外の何れのアドレス帯も通信先として使用可能である。
サーバ側通信監視部142は、端末B130の通信を監視する。例えば、サーバ側通信監視部142は、未使用アドレス帯DB143に記載されているアドレス宛ての通信を監視し、当該通信を発見した場合、規定通信プロファイルDB144を参照しながら、当該通信が規定プログラム134に起因するものであるか否かを分析する。サーバ側通信監視部142は、分析の結果、規定プログラム134に起因するものではないと判定した場合、マルウエアの感染の可能性があると見做し、アラートの発出および/または通信の遮断を行う。
(ハードウェア構成)
図2は、偽アドレス配布装置110のハードウェアの構成の一例を示す図である。なお、他の装置(端末A120、端末B130、および偽応答装置140)のハードウェアの構成も同様である。
図2は、偽アドレス配布装置110のハードウェアの構成の一例を示す図である。なお、他の装置(端末A120、端末B130、および偽応答装置140)のハードウェアの構成も同様である。
偽アドレス配布装置110は、CPU201、メモリ202、外部記憶装置203、インタフェース(IF)204、入出力装置205、およびバス206を含んで構成される。
CPU201は、メモリ202内に保存されたプログラムを実行し、偽アドレス配布部111の処理ルーチンとして具現化させる。
メモリ202は、各機能部を実現するのに必要な実行プログラムを含んでいる。
外部記憶装置203は、HDD(Hard Disk Drive)等から構成され、データの長期記憶を行うのに用いられる。外部記憶装置203は、未使用アドレス帯DB112DBを格納する。
IF204は、偽アドレス配布装置110を通信ネットワーク150に接続する。
入出力装置205は、偽アドレス配布装置110をユーザおよび管理者による各種情報の入力を行い、格納されている情報の出力を行う。
バス206は、CPU201、メモリ202、外部記憶装置203、IF204、および入出力装置205を接続し、機能間の情報のやりとりを実現する。
偽アドレス配布装置110の機能(例えば、偽アドレス配布部111)は、例えば、CPU201が外部記憶装置203に格納されたプログラムをメモリ202に読み出して実行すること(ソフトウェア)により実現されてもよいし、専用の回路等のハードウェアにより実現されてもよいし、ソフトウェアとハードウェアとが組み合わされて実現されてもよい。また、偽アドレス配布装置110の機能の一部は、偽アドレス配布装置110と通信可能な他のコンピュータにより実現されてもよい。
付言するならば、端末A120の機能(偽通信制御部122、偽応答部123、通信監視部124等)は、例えば、CPUが外部記憶装置に格納されたプログラムをメモリに読み出して実行すること(ソフトウェア)により実現されてもよいし、専用の回路等のハードウェアにより実現されてもよいし、ソフトウェアとハードウェアとが組み合わされて実現されてもよい。また、端末A120の機能の一部は、端末A120と通信可能な他のコンピュータにより実現されてもよい。
端末B130の機能(例えば、偽通信制御部132)は、例えば、CPUが外部記憶装置に格納されたプログラムをメモリに読み出して実行すること(ソフトウェア)により実現されてもよいし、専用の回路等のハードウェアにより実現されてもよいし、ソフトウェアとハードウェアとが組み合わされて実現されてもよい。また、端末B130の機能の一部は、端末B130と通信可能な他のコンピュータにより実現されてもよい。
偽応答装置140の機能(サーバ側偽応答部141、サーバ側通信監視部142等)は、例えば、CPUが外部記憶装置に格納されたプログラムをメモリに読み出して実行すること(ソフトウェア)により実現されてもよいし、専用の回路等のハードウェアにより実現されてもよいし、ソフトウェアとハードウェアとが組み合わされて実現されてもよい。また、偽応答装置140の機能の一部は、偽応答装置140と通信可能な他のコンピュータにより実現されてもよい。
(データベース構成)
図3は、未使用アドレス帯DB112の構成の一例を示す図である。未使用アドレス帯DB112の各レコードは、端末に送信する偽アドレス偽ポート番号メッセージ161に設定可能なアドレス帯を示している。各レコードには、ID301と種類302と配布可能アドレス帯303と配布対象端末304とが対応付けられた情報が含まれる。
図3は、未使用アドレス帯DB112の構成の一例を示す図である。未使用アドレス帯DB112の各レコードは、端末に送信する偽アドレス偽ポート番号メッセージ161に設定可能なアドレス帯を示している。各レコードには、ID301と種類302と配布可能アドレス帯303と配布対象端末304とが対応付けられた情報が含まれる。
ID301は、各レコードを一意に識別するための識別子である。
種類302は、アドレス帯の種類を示す。種類302としては、主に、「組織内」と「組織外」とがある。「組織内」は、通信ネットワーク150に代表される、組織内のシステム上で使用されるアドレス帯であり、通常、プライベートIPアドレスとなることが多い。ただし、種類302は、グローバルIPアドレスである場合もある。他方、「組織外」は、自組織以外に割り当てられたアドレス帯であり、通常、グローバルIPアドレスとなる。
配布可能アドレス帯303は、端末に対して偽アドレスとして配布可能なアドレスのレンジを示す。
配布対象端末304は、配布可能アドレス帯303の中のアドレスを配布することが可能な端末を示す。
ID301が「1」のレコードは、種類302が「組織内」であり、配布可能アドレス帯303が「a.0.0.0/24、b.0.0.0/24」であり、配布対象端末304が「端末A、端末B」である。種類302が「組織内」である場合、配布可能アドレス帯303に記述されるアドレスは、組織内で使用可能なアドレス帯のうち、業務で未使用のものである。付言するならば、偽応答装置140には、例えば、複数のIPアドレスが割り当てられていて、端末B130に関しては、配布可能アドレス帯303には、当該複数のIPアドレスのアドレス帯が保持されている。
ID301が「2」のレコードは、種類302が「組織外」であり、配布可能アドレス帯303が「c.0.0.0/24、d.0.0.0/24」であり、配布対象端末304が「端末A」である。種類302が「組織外」である場合、配布可能アドレス帯303に記述されるアドレスは、インターネット等の組織外で使用可能なアドレス帯のうち、業務で未使用のものである。ID301が「1」のレコードと異なり、種類302が「組織外」であるため、配布対象端末304には「端末B」は含まれていない。
図4は、規定通信プロファイルDB125の構成の一例を示す図である。規定通信プロファイルDB125の各レコードは、規定プログラム127が発信する規定通信メッセージ171と、規定通信メッセージ171に対する偽応答部123からの応答である偽応答メッセージ172との手順(順序)および内容を規定している。
偽応答部123は、規定通信プロファイルDB125を参照しながら偽応答メッセージ172を返す。同様に、通信監視部124は、規定通信プロファイルDB125を参照しながらマルウエアの通信を検出する。
ID401は、各レコードを一意に識別するための識別子である。
プロファイル402は、規定通信メッセージ171および偽応答メッセージ172の手順および内容を状態遷移図の形式で規定する。状態遷移図は、例えば、図4に示すように、通信の状態の移り変わり(遷移)を表現した図であり、通信の状態を図形で表し、通信の状態の移り変わりを矢印で表している。
状態403は、規定の通信の現在の実施の状態を指し示す。状態403が指し示す通信が、規定プログラム127または偽応答部123が次に発信することが期待される通信である。
ID401が「1」の例では、まず、state0において規定プログラム127からSYN通信が発生する。次いで、state1において偽応答部123から規定プログラム127にSYN/ACK通信が返信される。次に、state2において規定プログラム127からACK通信が発生する。
次に、state3において規定プログラム127からNegotiate Request通信(Command=0x72)が発生する。次いで、state4において偽応答部123から規定プログラム127にNegotiate Response通信が返信される。
次に、state5において規定プログラム127からNegotiate Request通信(command=0x00)が発生する。次いで、state6において偽応答部123から規定プログラム127にNegotiate Response通信が返信される。
次に、state7において規定プログラム127からSession Setup Request通信が発生する。次いで、state8において偽応答部123から規定プログラム127にSession Setup Response通信が返信される。
次に、state9において規定プログラム127から再度、Session Setup Request通信が発生する。次いで、state10において偽応答部123から規定プログラム127にSession Setup Response通信が返信される。
次に、state11において規定プログラム127からTree Connect Request通信が発生する。次いで、state12において偽応答部123から規定プログラム127にTree Connect Response通信が返信される。
次に、state13において規定プログラム127からKeep Alive通信が発生する。次いで、state14において偽応答部123から規定プログラム127にKeep Alive Ack通信が返信される。
以降は、state13とstate14とが繰り返し発生する。
規定通信プロファイルDB144も規定通信プロファイルDB125と同様の構成のデータベースである。規定通信プロファイルDB144は、規定プログラム134が発信する規定通信メッセージ181と、規定通信メッセージ181に対するサーバ側偽応答部141からの応答である偽応答メッセージ182との手順および内容を規定している。サーバ側偽応答部141は、規定通信プロファイルDB144を参照しながら偽応答メッセージ182を返す。同様に、サーバ側通信監視部142は、規定通信プロファイルDB144を参照しながらマルウエアの通信を検出する。
図5は、規定プログラムプロファイルDB126の構成の一例を示す図である。規定プログラムプロファイルDB126は、偽アドレス偽ポート番号メッセージ161にある通信先のポート番号(偽ポート番号)に応じて、規定通信メッセージ171を発生可能な規定プログラム127を規定している。
ID501は、各レコードを一意に識別するための識別子である。
ポート番号502は、偽アドレス偽ポート番号メッセージ161に指定される通信先のポート番号を示す。
対応規定プログラム503は、ポート番号502で示されたポート番号に対して規定通信メッセージ171を発生させるための規定プログラム127を規定する。
ID501が「1」のレコードは、ポート番号502が「445」である規定通信メッセージ171を発生させるには、対応規定プログラム503として「net.exe」を使用することを規定している。
ID501が「2」のレコードは、ポート番号502が「23」である規定通信メッセージ171を発生させるには、対応規定プログラム503として「telnet.exe」を使用することを規定している。
ID501が「3」のレコードは、ポート番号502が「80」である規定通信メッセージ171を発生させるには、対応規定プログラム503として「iexplore.exe」を使用することを規定している。
ID501が「4」のレコードは、ポート番号502が「デフォルト」、すなわちID501が「1」〜「3」で指定されたポート番号以外である規定通信メッセージ171を発生させるには、対応規定プログラム503として「telnet.exe」を使用することを規定している。
なお、規定プログラムプロファイルDB133も規定プログラムプロファイルDB126と同様の構成を備え、規定通信メッセージ181を発生可能な規定プログラム134を規定している。
(各種処理)
図6は、偽アドレス配布部111が実行する処理(配布処理)の一例を示す図である。配布処理は、例えば、偽アドレス配布装置110が起動したことを契機に実行され、定期的(一定の時間ごと)に実行される。なお、配布処理を具体的に説明する際に、図10を参照する。
図6は、偽アドレス配布部111が実行する処理(配布処理)の一例を示す図である。配布処理は、例えば、偽アドレス配布装置110が起動したことを契機に実行され、定期的(一定の時間ごと)に実行される。なお、配布処理を具体的に説明する際に、図10を参照する。
ステップS601において、偽アドレス配布部111は、端末より、現在の通信先のアドレスおよびポート番号を取得する。ここで、現在の通信先のアドレスとは、当該端末が取得時に通信を行っている相手の端末のアドレスのことを指し、ポート番号は、相手の端末のポート番号を指す。端末は、現在の通信先のアドレスおよびポート番号を、通信先アドレス情報テーブル129または通信先アドレス情報テーブル136を参照することで取得できる。
ここで、通信ネットワーク150のアドレス空間が図10に示される複数のアドレスブロックを含むアドレス空間1010であるとする。アドレスブロックは、アドレス空間1010におけるアドレスのかたまりである。アドレスブロックは、業務で実際に使用されている空間である業務使用1011および業務使用1012と、業務で未使用である未使用1013、未使用1014および未使用1015とに分かれているとする。配布可能アドレス帯303に示されるのは、業務で未使用である、未使用1013、未使用1014、未使用1015であるとする。また、各アドレスブロックは、下位アドレス帯および上位アドレス帯の2つに当分割されている。
ステップS601において、端末から取得される通信先のアドレスを、本例では、アドレス空間1020に示すように、第1通信先アドレス1021、第2通信先アドレス1022、第3通信先アドレス1023、第4通信先アドレス1024、および第5通信先アドレス1025の5つであるとする。5つの通信先のアドレスは、業務使用1011または業務使用1012に属する。
ステップS602において、偽アドレス配布部111は、デセプション率αを設定する。デセプション率αは、ステップS601で取得した通信先のアドレスおよびポート番号と比べて、何倍の偽アドレスおよび偽ポート番号を配布するかを決定するための係数である。
マルウエアがランダムに通信先アドレス情報テーブル129(または通信先アドレス情報テーブル136)から選んだアドレスおよびポート番号が、偽アドレスおよび偽ポート番号である確率Pdは、Pd=α/(1+α)で記述される。Pdが高いほど、実在する端末に拡散が及ぶ前にマルウエアを検出して遮断することができる。αが大きいほど、Pdは、高くなる。一方で、αが多いほど、配布する必要があるアドレスおよびポート番号が多くなり、通信および通信先アドレス情報テーブル129(または通信先アドレス情報テーブル136)に負荷がかかる。
さらに、明らかに通信先アドレス情報テーブル129(または通信先アドレス情報テーブル136)に登録されているアドレスおよびポート番号が多いと、検出抑制部121(または検出抑制部131)の存在をマルウエアに察知される可能性がある。
以上の要因をもとに、例えば、専門家によりαの具体的な値が設定されるものとする。
ステップS603において、偽アドレス配布部111は、配布するアドレスおよびポート番号を格納する配布アドレスセットを初期化する。
ステップS604において、偽アドレス配布部111は、ステップS604〜ステップS608の処理を、ステップS601で取得した通信先のアドレスおよびポート番号毎に、ステップS602で設定したα回繰り返す。例えば、図10の例では、ステップS601で取得される通信先のアドレスおよびポート番号の個数は、「5」であるため、αが「2」である場合、10回繰り返されることになる。
ステップS605において、偽アドレス配布部111は、対象となる通信先のアドレスが組織内のもの(組織内NW)であるか否かを、同アドレスが通信ネットワーク150に属するかどうか(管理者により設定されている組織内のアドレスの情報)をもとに判定する。偽アドレス配布部111は、対象となる通信先のアドレスが組織内のものであると判定した場合(YES)、ステップS606に処理を移し、対象となる通信先のアドレスが組織外のものであると判定した場合(NO)、ステップS607に処理を移す。
ステップS606において、偽アドレス配布部111は、組織内で未使用のアドレスから、通信先のアドレスに近く、配布アドレスセットに含まれないアドレスおよびポート番号を、偽アドレスおよび偽ポート番号として選択する。通信先のアドレスに近い未使用のアドレスを偽アドレスとして選択することで、マルウエアが偽アドレスと実際の通信先のアドレスとを分別するのを困難にする。
ここで、図10のアドレス空間1030を参照してαが「1」であるケースを例に挙げて説明する。
第1通信先アドレス1021に最も近い未使用アドレス帯は、未使用1013の上位アドレス帯である。このため、未使用1013の上位アドレス帯からランダムに選択されたアドレスが配布アドレスセットに偽アドレスとして設定される。なお、このとき、対応する偽ポート番号は、第1通信先アドレス1021の通信先のポート番号となる。
同様に、第2通信先アドレス1022および第3通信先アドレス1023に対しては、未使用1014の下位アドレス帯からランダムに選ばれたアドレスが偽アドレスとして設定される。第4通信先アドレス1024に対しては、未使用1014の上位アドレス帯が使用される。第5通信先アドレス1025に対しては、未使用1015の下位アドレス帯が使用される。
ステップS607では、偽アドレス配布部111は、組織外の未使用のアドレスから配布対象となるアドレスを選択する。なお、ステップS607を適用可能な端末は、未使用アドレス帯DB112において、種類302が「組織外」であるレコードの配布対象端末304に記載されている端末に限定される。
ステップS608では、偽アドレス配布部111は、ステップS606とステップS607とで選択された偽アドレスおよび偽ポート番号を配布アドレスセットに登録する。
ステップS609では、偽アドレス配布部111は、配布アドレスセットを偽アドレス偽ポート番号メッセージ161として対象の端末に対して配布する。
偽アドレス配布部111は、配布処理を、端末ごとに起動時に1回実施してもよいし、定期的(例えば、1時間ごと)に偽アドレス偽ポート番号メッセージ161(配布アドレスセット)を再配布してもよい。再配布を行う場合、端末の通信の状況に応じて偽アドレスおよび偽ポート番号のアドレス帯が追随するため、マルウエアにとっては、一層どれが偽アドレスであるかを見破りづらくなるという効果がある。
図7は、偽通信制御部122が実行する処理(偽通信処理)の一例を示す図である。偽通信処理は、端末A120のオペレーティングシステム128の起動時に実行されてもよいし、現在の通信先のアドレスおよびポート番号を取得する偽アドレス配布装置110からの要求を契機に実行されてもよいし、その他のタイミングで実行されてもよい。
ステップS701において、偽通信制御部122は、偽アドレス配布装置110に対して、端末A120の現在の通信先のアドレスおよびポート番号を送信する。
ステップS702において、偽通信制御部122は、偽アドレス配布装置110から配布アドレスセットを、偽アドレス偽ポート番号メッセージ161として受信する。
ステップS703において、偽通信制御部122は、配布アドレスセットを通信監視部124および偽応答部123に登録(設定)する。これにより、通信監視部124は、配布アドレスセットに含まれる偽アドレスおよび偽ポート番号を監視の対象とし、偽応答部123は、当該偽アドレスおよび偽ポート番号を応答の対象とする。
ステップS704において、偽通信制御部122は、偽アドレスおよび偽ポート番号毎にステップS705およびステップS706の処理を実行する。
ステップS705において、偽通信制御部122は、規定プログラムプロファイルDB126を参照し、偽ポート番号に対応する規定プログラム503の規定プログラム127を選択する。
ステップS706において、偽通信制御部122は、偽アドレスおよび偽ポート番号を入力として、選択した規定プログラム127を実行する。規定プログラム127は、偽アドレスおよび偽ポート番号に対して規定通信メッセージ171を発信する。この際、例えば、オペレーティングシステム128により、端末A120のアドレスと偽アドレスと偽ポート番号とが通信先アドレス情報テーブル129に登録される。
偽通信制御部132も同様の偽通信処理を実施する。ただし、サーバ側偽応答部141およびサーバ側通信監視部142は、未使用アドレス帯DB143を参照して、規定通信メッセージ181に対して応答および監視を行うため、ステップS703に対応する処理は実施されない。
図8は、偽応答部123が実行する処理(偽応答処理)の一例を示す図である。偽応答処理は、例えば、端末A120のオペレーティングシステム128の起動時に実行され、定期的に実行される。
ステップS801において、偽応答部123は、偽通信制御部122から偽アドレスおよび偽ポート番号を取得する。取得方法としては、ファイルでの受け渡し、ローカル通信による受け渡し、プロセス間通信等、一般的な方法を用いればよい。
ステップS802において、偽応答部123は、端末A120からの外向きのパケットを捕捉する。捕捉手段としては、ネットワークドライバ等を使用する。
ステップS803において、偽応答部123は、ステップS801で捕捉したパケットの通信先のアドレスがステップS801で取得した偽アドレスであるか否かを判定する。偽応答部123は、判定の結果が「YES」である場合、ステップS804に処理を移し、判定の結果が「NO」である場合、ステップS809に処理を移す。
ステップS804において、偽応答部123は、規定通信プロファイルDB125を参照して、取得したパケットに一致するプロファイルがあるかを検索する。より具体的には、偽応答部123は、規定通信プロファイルDB125の各レコードにおいて、状態403で指定されている位置にある通信と捕捉したパケットの中身とを比較し、合致するプロファイルを特定する。ID401が「1」のレコードの例では、state0のSYN通信とパケットとを比較する。
ステップS805において、偽応答部123は、該当するプロファイルがあったか否かを判定し、判定の結果が「YES」である場合(捕捉したパケットが規定通信メッセージ171である場合)、ステップS806に処理を移し、判定の結果が「NO」である場合、ステップS808に処理を移す。
ステップS806において、偽応答部123は、規定通信プロファイルDB125の状態403で指定された通信の次に当たる通信を応答のパケット(偽応答メッセージ172)として作成する。その後、偽応答部123は、状態403をさらに1つ進ませる。ID401が「1」のレコード例では、state1のSYN/ACK通信をもとに応答のパケットを作成し、さらに状態403を「state2」に設定する。
ステップS807において、偽応答部123は、応答のパケット(偽応答メッセージ172)を端末A120に送信し、規定プログラム127に受信させる。パケットの送信には、ネットワークドライバ等を使用する。
ステップS808において、偽応答部123は、ステップS802にて捕捉したパケットを破棄する。
ステップS809において、偽応答部123は、捕捉したパケットをIF204を通じて通信ネットワーク150に送出する。
サーバ側偽応答部141も偽応答部123と同様の偽応答処理を実施する。主な違いとしては、ステップS801では、ネットワークドライバにてパケットを取得するのに対し、サーバ側偽応答部141は、通常の通信プログラムとしてパケットを取得する。ステップS807も同様である。また、偽アドレス宛て以外のパケットがサーバ側偽応答部141に届くことはないので、ステップS809は実施しない。
図9は、通信監視部124が実行する処理(監視処理)の一例を示す図である。監視処理は、例えば、ステップS703で配布アドレスセットが登録されたことを契機に実行される。
ステップS901において、通信監視部124は、偽通信制御部122から偽アドレスおよび偽ポート番号を取得する。取得方法としては、ファイルでの受け渡し、ローカル通信による受け渡し、プロセス間通信等、一般的な方法を用いればよい。
ステップS902において、通信監視部124は、アラートカウントをゼロに初期化する。アラートカウントは、端末A120において一定の期間内に発生したアラートの回数を記録するのに使用される。
ステップS903において、通信監視部124は、端末A120からの外向きのパケットのコピーを取得する。ステップS802とは異なりコピーを取得するだけであるので、パケット自体は本来の通信先に送信される。取得手段としては、ネットワークドライバ等を使用する。
ステップS904において、通信監視部124は、ステップS903で取得したパケットの通信先のアドレスがステップS901で取得した偽アドレスであるか否かを判定する。通信監視部124は、判定の結果が「YES」である場合、ステップS905に処理を移し、判定の結果が「NO」である場合、ステップS903に処理を移す。
ステップS905において、通信監視部124は、規定通信プロファイルDB125を参照し、取得したパケットに一致するプロファイルを検索する。より具体的には、通信監視部124は、規定通信プロファイルDB125の各レコードにおいて、状態403で指定されている位置にある通信と取得したパケットの中身とを比較し、合致するプロファイルを特定する。ID401が「1」のレコードの例では、通信監視部124は、state0のSYN通信とパケットとを比較する。
ステップS906において、通信監視部124は、該当するプロファイルがあったかを判定し、判定の結果が「YES」である場合(取得したパケットが規定通信メッセージ171である場合)、ステップS903に、判定の結果が「NO」である場合、ステップS907に処理を移す。
ステップS907において、通信監視部124は、取得したパケットに最も近いプロファイルとの距離を計算する。例えば、通信監視部124は、規定通信プロファイルDB125の各レコードにおいて、状態403で指定されている位置にある通信のペイロードと、取得したパケットのペイロードとの距離を算出し、取得したパケットに最も近いプロファイルとの距離を特定する。
ここでの距離は、パケットと、プロファイル内の通信との類似度に基づき求めてよい。類似度の算出については、パケットのペイロードとプロファイル内の通信のペイロードとの最小編集距離、パケット長の違い等を用いてよい。例えば、取得したパケットのペイロードが「0x01 0x00 0x04 0x13 0x31」であり、プロファイル内の通信のペイロードが「0x01 0x05 0x04 0x13 0x31」であったとする。この場合、5バイト中4バイトが一致するため、距離は1/5=0.2と算出される。
ステップS908において、通信監視部124は、ステップS907で算出した距離が決められたしきい値内であるか否かを判定する。上記の例では、しきい値は、「0.0」〜「1.0」までの値をとり得る。通信監視部124は、判定の結果が「YES」である場合、ステップS903に処理を移し、判定の結果が「NO」である場合、ステップS909に処理を移す。
このように、取得したパケットに合致するプロファイルが見つからなかった場合に距離を計算して判断するのは、規定プログラム127がパケットを再送したり、事前の定義が難しい挙動を示す場合に対応したりするためである。
ステップS909において、通信監視部124は、マルウエアを検出したと判断し、マルウエアを検出した旨のアラートを発出する。アラートの発出先としては、組織のセキュリティ担当者、他のセキュリティ機器等が該当する。
ステップS910において、通信監視部124は、アラートカウントを「1」加算(+1)する。
ステップS911において、通信監視部124は、アラートカウントがしきい値以上であるか否かを判定する。通信監視部124は、判定の結果が「YES」である場合、ステップS912に処理を移し、判定の結果が「NO」である場合、ステップS903に処理を移す。しきい値は、ゼロ以上の整数値をとる。より具体的な値は、専門家が決定するものとする。
ステップS912において、通信監視部124は、端末A120の通信を遮断する。遮断には、ネットワークドライバ等を用いてもよい。なお、遮断の対象は、すべての通信であってもよいし、特定の通信先への通信を遮断の対象から外してもよい。端末A120の通信を遮断することで、マルウエアの攻撃を完全にまたは効果的に止めることができる。
サーバ側通信監視部142も通信監視部124と同様の監視処理を行う。ただし、ステップS912にある通信の遮断に際しては、通信ネットワーク150に通信を遮断する旨のコマンド等を送信することで実現される。
本実施の形態によれば、侵入した端末の通信先アドレス情報を悪用して組織内外に拡散するマルウエアを効率よく検出することができる。
(2)他の実施の形態
なお、上述の実施の形態においては、本発明を不正侵入検出装置に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々のシステム、装置、方法、プログラムに広く適用することができる。
なお、上述の実施の形態においては、本発明を不正侵入検出装置に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々のシステム、装置、方法、プログラムに広く適用することができる。
また、上述の実施の形態においては、配布処理を定期的に実行する場合について述べたが、本発明はこれに限らず、偽通信以外の通信により通信先アドレス情報テーブル129が更新される毎に配布処理を実行するようにしてもよい。
また、上述の実施の形態においては、取得したパケットが規定の通信でないと判定したときに、パケットに最も近いプロファイルとの距離がしきい値を判定する場合について述べたが、本発明はこれに限らず、取得したパケットが規定の通信でないと判定したときに、かかる判定を行わないようにしてもよい。
また、上述の実施の形態においては、通信の遮断がアラートカウントがしきい値を超えた場合に実行される場合について述べたが、本発明はこれに限らず、マルウエアが検出されたときに、即ち、マルウエアを検出した回数にかかわらず、通信の遮断が実行されるようにしてもよい。
また、上述の実施の形態においては、第1の組合せ101において偽アドレス配布装置110と端末A120とを別体とする場合について述べたが、本発明はこれに限らず、偽アドレス配布装置110と端末A120とを1つの装置(端末A120が偽アドレス配布部111および未使用アドレス帯DBを備える構成)とするようにしてもよい。なお、第2の組合せ102でも同様に、アドレス配布装置110と偽応答装置140とを1つの装置としてもよい。
また、上述の実施の形態において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部または一部が1つのテーブルであってもよい。
また、上述の実施の形態において、説明の便宜上、XXテーブル、XXDBを用いて各種のデータを説明したが、データ構造は限定されるものではなく、XX情報等と表現してもよい。
また、上記の説明において、各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記憶装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
上述した実施の形態は、例えば、以下の特徴的な構成を有する。
端末(例えば、端末A120、端末B130)に不正に侵入したプログラムを検出する不正侵入検出システム(例えば、不正侵入検出システム100の第1の組合せ101、不正侵入検出システム100の第2の組合せ102)は、上記端末のオペレーティングシステム(例えば、オペレーティングシステム128)が保持する通信先アドレス情報(例えば、通信先アドレス情報テーブル129)に含まれる通信先のアドレスを取得し(例えば、IPアドレスを取得するが、ポート番号については取得してもよいし、取得しなくてもよい。なお、ポート番号を取得しない場合は、後述の所定のプログラムでは、デフォルトのポート番号が用いられてもよいし、所定のポート番号が用いられてもよい)、取得したアドレスをもとに、未使用のアドレスが管理される未使用アドレス情報(例えば、未使用アドレス帯DB112)から1つ以上のアドレスを選択し、選択したアドレスを偽アドレスとして上記端末に配布する配布部(例えば、偽アドレス配布部111)と、上記配布部から受信した偽アドレスを入力として上記端末の外部と通信を行う所定のプログラム(例えば、規定プログラム127、偽通信を実行するように端末に新たに導入された専用の通信プログラム)を実行する通信制御部(例えば、偽通信制御部122)と、上記オペレーティングシステムは、上記所定のプログラムにより上記偽アドレス宛てにパケットが発出された場合、上記通信先アドレス情報に上記偽アドレスを登録し、上記所定のプログラムが行う規定の通信の手順および内容が含まれる規定通信情報(例えば、規定通信プロファイルDB125)をもとに、上記通信制御部により発出されたパケットに対する応答を返す応答部(例えば、偽応答部123)と、上記端末からの偽アドレス宛ての通信を監視し、上記通信の手順および内容と上記規定の通信の手順および内容とを比較して上記端末に不正に侵入したプログラムを検出する通信監視部(例えば、通信監視部124)と、を備える。
上記構成では、端末からの偽アドレス宛ての通信を監視し、当該通信の手順および内容と規定の通信の手順および内容とを比較することで、端末に不正に侵入したプログラム(以下、「不正侵入プログラム」と記す)を検出することができる。例えば、不正侵入プログラムが通信先アドレス情報を用いて通信先を決定するプログラムである場合、通信先アドレス情報に偽アドレスを登録しておくことで、不正侵入プログラムが偽アドレス宛てにアクセスする確率が高まるので、効率よく不正侵入プログラムを検出することができる。
上記配布部は、上記端末の現在の通信先のアドレスの数量に応じて、上記端末に配布する偽アドレスの数量を決定する(例えば、アドレスの数量×デセプション率αを偽アドレスの数量とする)。
上記構成では、端末の現在の通信先のアドレスの数量に応じて偽アドレスの数量が決定される。例えば、現在の通信先のアドレスの数量が多いときは偽アドレスの数量を多くすることで、不正侵入プログラムが偽アドレス宛てにアクセスする確率を一定に保つことができ、効率よく不正侵入プログラムを検出することができる。
上記配布部は、一定の時間ごとに、上記端末の通信先のアドレスを取得し、取得した通信先のアドレスをもとに、上記未使用アドレス情報から1つ以上のアドレスを選択し、選択した偽アドレスを上記端末に配布する(図6参照)。
上記構成によれば、一定の時間ごとに偽アドレスが配布されるので、例えば、端末の現在の状況に応じて通信先アドレス情報の偽アドレスが追随するようになり、不正侵入プログラムにより偽アドレスが見破られる可能性を低減することができる。
上記配布部は、上記端末の通信先のアドレスおよびポート番号を取得し、取得した通信先のアドレスをもとに、上記未使用アドレス情報から1つ以上のアドレスを選択し、選択したアドレスを偽アドレスとし、上記ポート番号を偽ポート番号とし、上記端末に配布し(図6のステップS606〜ステップS609参照)、上記通信制御部は、上記端末の外部と通信を行うプログラムと上記通信で用いられるポート番号とが対応付けられた規定プログラム情報をもとに、上記所定のプログラムとして、上記配布部により配布された偽ポート番号に応じてプログラムを選択し、選択したプログラムを実行する(図7のステップS704〜ステップS706参照)。
上記構成では、例えば、ポート番号ごとに当該ポート番号でよく使用されるプログラムが選択されることで、不正侵入プログラムから見たときの違和感をなくすことができ、不正侵入プログラムにより偽アドレスおよび偽ポート番号が見破られる可能性を低減することができる。
上記未使用アドレス情報のアドレスは、複数のアドレス帯に分けられ(例えば、図10のアドレス空間1010参照)、上記配布部は、上記通信先アドレス情報に含まれる通信先のアドレスに最も近いアドレス帯から1つ以上のアドレスを選択し、選択したアドレスを偽アドレスとして上記端末に配布する(図6のステップS606、ステップS607)。
上記構成によれば、通信先のアドレスに最も近いアドレス帯から偽アドレスが選択されるので、本物のアドレスと偽アドレスとの見分けをつけ難くすることができ、不正侵入プログラムにより偽アドレスが見破られる可能性を低減することができる。
上記通信監視部は、上記端末に不正に侵入したプログラムを検出した場合、上記端末からの通信を遮断する(例えば、図9のステップS912を参照。なお、ステップS911の判定については、行ってもよいし、行われなくてもよい)。
上記構成では、端末からの通信が遮断されるので、例えば、不正侵入プログラムによる他の端末への被害を抑えることができる。
上記通信監視部は、上記偽アドレス宛ての通信であって、上記規定の通信に該当しない通信が発生した回数を計数し(例えば、図9のステップS910)、計数した値がしきい値を超えた場合に、上記端末からの通信を遮断する。
上記構成では、例えば、端末の利用者が偽アドレスに通信を出すような端末の操作をしたとしても、しきい値を超えるまでは通信が遮断されない。このように、しきい値を設けることで、誤操作等による誤検出を無くすことができる。
上記通信監視部および上記応答部は、上記端末とは異なる装置である偽応答装置(例えば、偽応答装置140)に設けられ(例えば、不正侵入検出システム100の第2の組合せ102)、上記所定のプログラムは、上記通信制御部により偽アドレスが入力された場合、上記偽応答装置に対してパケットを発出する。
上記構成では、例えば、通信監視部および応答部を端末に導入する必要がないので、端末にリソースの制限があったとしても、不正侵入検出システムを比較的容易に構築することができる。
上記通信監視部は、監視している上記偽アドレス宛ての通信のペイロードと、上記規定の通信の内容に含まれるペイロードとの類似度または距離を算出し(例えば、図9のステップS907)、算出した類似度または距離がしきい値を超えている場合、上記端末に不正に侵入したプログラムを検出する。
上記構成によれば、例えば、監視するパケットに合致する通信の手順および内容が見つからなかった場合に、類似度または距離を計算して判定することで、所定のプログラムがパケットを再送したり、事前に定義が困難な挙動を示したりする事態に対応することができるようになる。
上記規定通信情報では、上記所定のプログラムと上記応答部との通信の手順および内容が状態遷移の形式で記述されている(例えば、図4参照)。
上記構成では、通信の手順および内容が状態遷移の形式で記述されているので、例えば、システムの管理者は、規定通信情報を容易にメンテナンスすることができる。
上記規定通信情報は、上記所定のプログラムと上記応答部との通信の状態が管理される状態の項目を含み(例えば、図4参照)、上記応答部は、上記通信制御部により発出されたパケットに対する応答を返す際に、上記規定通信情報の状態の項目を更新する(例えば、図8のステップS806)。
上記構成によれば、例えば、応答のパケットが返される毎に状態の項目が更新されるので、通信監視部は、所定のプログラムと応答部との通信の状態を適切に判断することができるようになる。
上記所定のプログラムは、上記オペレーティングシステムが備える規定のプログラム(例えば、規定プログラム127)である。
不正侵入プログラムの中には、どういうプログラムがどういう通信をしているかを分析するものがある。当該不正侵入プログラムは、自分が知らないプログラムが動いていると、自分をだまそうとしていると判断して、挙動を変えてしまう可能性がある。この点、なるべく自然な状態で不正侵入プログラムをだますために、上記構成では、オペレーティングシステムにデフォルトで入っているものを使うことによって、不正侵入プログラムが不信感を覚え難くすることができる。
また上述した構成については、本発明の要旨を超えない範囲において、適宜に、変更したり、組み替えたり、組み合わせたり、省略したりしてもよい。
100……不正侵入検出システム、111……偽アドレス配布部、122……偽通信制御部、123……偽応答部、124……通信監視部。
Claims (13)
- 端末に不正に侵入したプログラムを検出する不正侵入検出システムであって、
前記端末のオペレーティングシステムが保持する通信先アドレス情報に含まれる通信先のアドレスを取得し、取得したアドレスをもとに、未使用のアドレスが管理される未使用アドレス情報から1つ以上のアドレスを選択し、選択したアドレスを偽アドレスとして前記端末に配布する配布部と、
前記配布部から受信した偽アドレスを入力として前記端末の外部と通信を行う所定のプログラムを実行する通信制御部と、
前記オペレーティングシステムは、前記所定のプログラムにより前記偽アドレス宛てにパケットが発出された場合、前記通信先アドレス情報に前記偽アドレスを登録し、
前記所定のプログラムが行う規定の通信の手順および内容が含まれる規定通信情報をもとに、前記通信制御部により発出されたパケットに対する応答を返す応答部と、
前記端末からの偽アドレス宛ての通信を監視し、前記通信の手順および内容と前記規定の通信の手順および内容とを比較して前記端末に不正に侵入したプログラムを検出する通信監視部と、
を備える不正侵入検出システム。 - 前記配布部は、前記端末の現在の通信先のアドレスの数量に応じて、前記端末に配布する偽アドレスの数量を決定する、
請求項1に記載の不正侵入検出システム。 - 前記配布部は、一定の時間ごとに、前記端末の通信先のアドレスを取得し、取得した通信先のアドレスをもとに、前記未使用アドレス情報から1つ以上のアドレスを選択し、選択した偽アドレスを前記端末に配布する、
請求項1に記載の不正侵入検出システム。 - 前記配布部は、前記端末の通信先のアドレスおよびポート番号を取得し、取得した通信先のアドレスをもとに、前記未使用アドレス情報から1つ以上のアドレスを選択し、選択したアドレスを偽アドレスとし、前記ポート番号を偽ポート番号とし、前記端末に配布し、
前記通信制御部は、前記端末の外部と通信を行うプログラムと前記通信で用いられるポート番号とが対応付けられた規定プログラム情報をもとに、前記所定のプログラムとして、前記配布部により配布された偽ポート番号に応じてプログラムを選択し、選択したプログラムを実行する、
請求項1に記載の不正侵入検出システム。 - 前記未使用アドレス情報のアドレスは、複数のアドレス帯に分けられ、
前記配布部は、前記通信先アドレス情報に含まれる通信先のアドレスに最も近いアドレス帯から1つ以上のアドレスを選択し、選択したアドレスを偽アドレスとして前記端末に配布する、
請求項1に記載の不正侵入検出システム。 - 前記通信監視部は、前記端末に不正に侵入したプログラムを検出した場合、前記端末からの通信を遮断する、
請求項1に記載の不正侵入検出システム。 - 前記通信監視部は、前記偽アドレス宛ての通信であって、前記規定の通信に該当しない通信が発生した回数を計数し、計数した値がしきい値を超えた場合に、前記端末からの通信を遮断する、
請求項6に記載の不正侵入検出システム。 - 前記通信監視部および前記応答部は、前記端末とは異なる装置である偽応答装置に設けられ、
前記所定のプログラムは、前記通信制御部により偽アドレスが入力された場合、前記偽応答装置に対してパケットを発出する、
請求項1に記載の不正侵入検出システム。 - 前記通信監視部は、監視している前記偽アドレス宛ての通信のペイロードと、前記規定の通信の内容に含まれるペイロードとの類似度または距離を算出し、算出した類似度または距離がしきい値を超えている場合、前記端末に不正に侵入したプログラムを検出する、
請求項1に記載の不正侵入検出システム。 - 前記規定通信情報では、前記所定のプログラムと前記応答部との通信の手順および内容が状態遷移の形式で記述されている、
請求項1に記載の不正侵入検出システム。 - 前記規定通信情報は、前記所定のプログラムと前記応答部との通信の状態が管理される状態の項目を含み、
前記応答部は、前記通信制御部により発出されたパケットに対する応答を返す際に、前記規定通信情報の状態の項目を更新する、
請求項10に記載の不正侵入検出システム。 - 前記所定のプログラムは、前記オペレーティングシステムが備える規定のプログラムである、
請求項1に記載の不正侵入検出システム。 - 端末に不正に侵入したプログラムを検出する不正侵入検出装置であって、
前記端末のオペレーティングシステムが保持する通信先アドレス情報に含まれる通信先のアドレスを取得し、取得したアドレスをもとに、未使用のアドレスが管理される未使用アドレス情報から1つ以上のアドレスを選択し、選択したアドレスを偽アドレスとして前記端末に配布する配布部と、
前記配布部から受信した偽アドレスを入力として前記端末の外部と通信を行う所定のプログラムを実行する通信制御部と、
前記オペレーティングシステムは、前記所定のプログラムにより前記偽アドレス宛てにパケットが発出された場合、前記通信先アドレス情報に前記偽アドレスを登録し、
前記所定のプログラムが行う規定の通信の手順および内容が含まれる規定通信情報をもとに、前記通信制御部により発出されたパケットに対する応答を返す応答部と、
前記端末からの偽アドレス宛ての通信を監視し、前記通信の手順および内容と前記規定の通信の手順および内容とを比較して前記端末に不正に侵入したプログラムを検出する通信監視部と、
を備える不正侵入検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019202797A JP2021077051A (ja) | 2019-11-07 | 2019-11-07 | 不正侵入検出システムおよび不正侵入検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019202797A JP2021077051A (ja) | 2019-11-07 | 2019-11-07 | 不正侵入検出システムおよび不正侵入検出装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021077051A true JP2021077051A (ja) | 2021-05-20 |
Family
ID=75899970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019202797A Pending JP2021077051A (ja) | 2019-11-07 | 2019-11-07 | 不正侵入検出システムおよび不正侵入検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021077051A (ja) |
-
2019
- 2019-11-07 JP JP2019202797A patent/JP2021077051A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11924170B2 (en) | Methods and systems for API deception environment and API traffic control and security | |
JP6239215B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
US11882137B2 (en) | Network security blacklist derived from honeypot statistics | |
CN109474575B (zh) | 一种dns隧道的检测方法及装置 | |
KR100942456B1 (ko) | 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 방법 및 서버 | |
CN109194680B (zh) | 一种网络攻击识别方法、装置及设备 | |
EP2779574A1 (en) | Attack detection and prevention using global device fingerprinting | |
US20210258325A1 (en) | Behavioral DNS tunneling identification | |
KR20230004222A (ko) | Dns 메시지를 사용하여 컴퓨터 포렌식 데이터를 선택적으로 수집하는 시스템 및 방법 | |
CN107566420B (zh) | 一种被恶意代码感染的主机的定位方法及设备 | |
CN112491892A (zh) | 一种网络攻击诱导方法、装置、设备及介质 | |
CN108270722B (zh) | 一种攻击行为检测方法和装置 | |
US20170070518A1 (en) | Advanced persistent threat identification | |
US9350754B2 (en) | Mitigating a cyber-security attack by changing a network address of a system under attack | |
Griffioen et al. | Discovering collaboration: Unveiling slow, distributed scanners based on common header field patterns | |
CN114301706B (zh) | 基于目标节点中现有威胁的防御方法、装置及系统 | |
JP6592196B2 (ja) | 悪性イベント検出装置、悪性イベント検出方法および悪性イベント検出プログラム | |
US8661102B1 (en) | System, method and computer program product for detecting patterns among information from a distributed honey pot system | |
CN116723020A (zh) | 网络服务模拟方法、装置、电子设备及存储介质 | |
CN114205169B (zh) | 网络安全防御方法、装置及系统 | |
CN113328976B (zh) | 一种安全威胁事件识别方法、装置及设备 | |
JP2021077051A (ja) | 不正侵入検出システムおよび不正侵入検出装置 | |
US10250625B2 (en) | Information processing device, communication history analysis method, and medium | |
Khaliq et al. | Model-based framework for exploiting sensors of IoT devices using a botnet: a case study with android | |
CN115102778B (zh) | 一种状态确定方法、装置、设备及介质 |