JP2015177434A - マルウェア検知システム、マルウェア検知方法、dnsサーバ、及び名前解決プログラム。 - Google Patents

マルウェア検知システム、マルウェア検知方法、dnsサーバ、及び名前解決プログラム。 Download PDF

Info

Publication number
JP2015177434A
JP2015177434A JP2014053688A JP2014053688A JP2015177434A JP 2015177434 A JP2015177434 A JP 2015177434A JP 2014053688 A JP2014053688 A JP 2014053688A JP 2014053688 A JP2014053688 A JP 2014053688A JP 2015177434 A JP2015177434 A JP 2015177434A
Authority
JP
Japan
Prior art keywords
address
name resolution
terminal device
packet
server
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.)
Granted
Application number
JP2014053688A
Other languages
English (en)
Other versions
JP6303661B2 (ja
Inventor
利光 薄羽
Toshimitsu Usuba
利光 薄羽
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2014053688A priority Critical patent/JP6303661B2/ja
Publication of JP2015177434A publication Critical patent/JP2015177434A/ja
Application granted granted Critical
Publication of JP6303661B2 publication Critical patent/JP6303661B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】簡易な構成でマルウェアを検知し、その動作を記録すること。
【解決手段】本発明に係るマルウェア検知システム100は、ホスト名からIPアドレスへの名前解決をするDNSサーバ102と、パケットを送信する場合にパケットの送信先のホスト名からIPアドレスへの名前解決を前記DNSサーバ102に要求し、要求に応じて名前解決結果としてDNSサーバ102から通知されてきたIPアドレスにパケットを送信する端末装置101と、端末装置101からパケットが送信されてきた場合にパケットに関する情報を記録する検証サーバ103を備える。DNSサーバ102は、名前解決ができない場合、又は、名前解決結果が無効なIPアドレスである場合、名前解決結果として検証サーバ103のIPアドレスを端末装置101に通知する。
【選択図】図6

Description

本発明は、マルウェア検知システム、マルウェア検知方法、DNSサーバ、及び名前解決プログラムに関し、特に、端末装置に感染したマルウェアを検知する技術に関する。
昨今、特定の企業あるいは組織を標的とした標的型攻撃による被害が深刻化しており、その実態の把握が難しくなっている。標的型攻撃は、マルウェアによるものが多い。マルウェアは、感染したコンピュータ機器(以下、端末装置)もしくは企業内ネットワークに所属するコンピュータ機器から情報を搾取し、インターネット上に構築されたC&Cサーバへその搾取した情報を送信するものがある。
C&Cサーバは、常設されていることはほとんどなく、そのIPアドレスも短期間で変更されることが多い。一方で、マルウェアは、企業内ネットワーク内にあっても検知されにくいよう痕跡を消したり、長期間潜伏したりといった行動をとる。また、マルウェアは、C&Cサーバの準備状態(設置完了、未完了)によって行動を変える。C&Cサーバを設置完了していない場合には、攻撃者は、公開DNSサーバへC&CサーバのIPアドレスとしてグローバルでないIPアドレスを登録しておく。この場合、マルウェアに感染した端末装置(以下、感染端末)からDNSサーバへの名前解決を行った際には、その結果としてループバックアドレス(127.0.0.1)などのグローバルIPアドレスでないIPアドレスが返却される。この場合、マルウェアは、C&Cサーバの設定が完了していないものと判断し、潜伏を継続する。一方で、C&Cサーバの準備が完了した場合には、攻撃者は、DNSサーバにC&Cサーバの正しいグローバルIPアドレスを設定する。感染端末は、マルウェアによって、名前解決の結果としてC&CサーバのIPアドレスをDNSサーバから受領し、窃取した情報をC&Cサーバへ送り込む。マルウェアがこのような動作を行うため、潜伏時におけるマルウェアの検知が難しい。
特許文献1には、マルウェアが接続する外部サーバのホスト名に対するアドレスが解決できない場合、又は、無効なアドレスである場合であっても、マルウェアによる通信を発生させることで、端末装置に感染したマルウェアを検知するマルウェア検知システムが開示されている。
このマルウェア検知システムは、端末装置と、イントラネット内で端末装置に接続された偽装DNSサーバと、イントラネット外部のネットワークとイントラネットとの間に配置された透過プロキシサーバを有する。偽装DNSサーバは、端末装置からのホスト名に対するアドレス解決要求に対して、アドレスが解決できない場合、又は、解決されたアドレスが無効なアドレスである場合、アドレス生成ルールに従ってアドレスを自動生成し、端末装置に返す。このアドレスを宛先として端末装置からパケットが送信されたとき、透過プロキシサーバは、そのアドレスに対応するホスト名を偽装DNSサーバに問い合わせる。透過プロキシサーバは、正規DNSサーバに対して、この問い合わせにより取得したホスト名に対応するアドレスを問い合わせる。この結果、そのホスト名に対応するアドレスが取得できなかった場合、マルウェアによる通信であるとして、メール又はSYSLOGによってエラーを通知する。
国際公開第2009/110327号
しかしながら、特許文献1に開示のマルウェア検知システムでは、透過プロキシサーバに対して、DNSサーバに対する問い合わせ処理及びその問い合わせ結果に応じた判定処理等のマルウェアを検知するための様々な処理を実装しなければならないという問題がある。すなわち、特許文献1に開示の透過プロキシサーバを構築するためには、一般的なプロキシサーバに対して大幅に処理を変更・追加する必要があるため、その構築に非常に手間がかかってしまうという問題がある。
本発明の目的は、上述したような課題を解決するために、簡易な構成でマルウェアを検知し、その動作を記録することができるマルウェア検知システム、マルウェア検知方法、DNSサーバ、及び名前解決プログラムを提供することである。
本発明の第1の態様に係るマルウェア検知システムは、ホスト名からIPアドレスへの名前解決をするDNSサーバと、パケットを送信する場合に、当該パケットの送信先のホスト名からIPアドレスへの名前解決を前記DNSサーバに要求し、当該要求に応じて名前解決結果として前記DNSサーバから通知されてきたIPアドレスに前記パケットを送信する端末装置と、前記端末装置からパケットが送信されてきた場合に当該パケットに関する情報を記録する検証サーバと、を備え、前記DNSサーバは、前記名前解決ができない場合、又は、前記名前解決結果が無効なIPアドレスである場合、前記名前解決結果として前記検証サーバのIPアドレスを前記端末装置に通知するものである。
本発明の第2の態様に係るマルウェア検知方法は、端末装置が、パケットを送信する場合に、当該パケットの送信先のホスト名からIPアドレスへの名前解決をDNSサーバに要求する要求ステップと、前記DNSサーバが、前記端末装置からの名前解決の要求に応じて、前記ホスト名からIPアドレスへの名前解決をし、名前解決結果となるIPアドレスを端末装置に通知する名前解決ステップと、前記端末装置が、前記DNSサーバから通知されてきたIPアドレスに前記パケットを送信する送信ステップと、を備え、前記名前解決ステップでは、前記名前解決ができない場合、又は、前記名前解決結果が無効なIPアドレスである場合、前記名前解決結果として、前記端末装置からパケットが送信されてきた場合に当該パケットに関する情報を記録する検証サーバのIPアドレスを前記端末装置に通知するものである。
本発明の第3の態様に係るDNSサーバは、端末装置からの名前解決要求に応じて、ホスト名からIPアドレスへの名前解決をするDNSサーバであって、前記名前解決ができない場合、又は、前記名前解決の結果が無効なIPアドレスである場合、名前解決結果として、前記端末装置からパケットが送信されてきた場合に当該パケットに関する情報を記録する検証サーバのIPアドレスを前記端末装置に通知するものである。
本発明の第4の態様に係る名前解決プログラムは、端末装置からの名前解決要求に応じて、ホスト名からIPアドレスへの名前解決をするための名前解決プログラムであって、前記名前解決ができない場合、又は、前記名前解決の結果が無効なIPアドレスである場合、名前解決結果として、前記端末装置からパケットが送信されてきた場合に当該パケットに関する情報を記録する検証サーバのIPアドレスを前記端末装置に通知する処理をDNSサーバに実行させるものである。
上述した本発明の各態様によれば、簡易な構成でマルウェアを検知し、その動作を記録することができるマルウェア検知システム、マルウェア検知方法、DNSサーバ、及び名前解決プログラムを提供することができる。
実施形態に係るマルウェア検知システムの構成図である。 実施形態に係る偽装DNSサーバの構成図である。 実施形態に係る検証サーバの図である。 実施形態に係る偽装DNSサーバの動作を示すフローチャートである。 実施形態に係る検証サーバの動作を示すフローチャートである。 実施形態に係るマルウェア検知システムの概略構成図である。
<発明の実施形態>
以下に図面を参照しながら、本発明の好適な実施形態について説明する。以下の実施形態に示す具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、それに限定されるものではない。また、以下の記載及び図面では、説明の明確化のため、当業者にとって自明な事項等については、適宜、省略及び簡略化がなされている。
まず、図面を参照して、本発明の実施形態に係るマルウェア検知システム1の構成について説明する。図1に示すように、マルウェア検知システム1は、端末装置10と、偽装DNSサーバ20と、正規DNSサーバ30と、検証サーバ40と、プロキシサーバ50と、FW(ファイアウォール)60とを含む。
インターネット70と、イントラネット80と、DMZ(DeMilitarized Zone、非武装地帯)90は、FW60を介して相互に接続されている。イントラネット80は、端末装置10を含む。DMZ90は、偽装DNSサーバ20と、正規DNSサーバ30と、検証サーバ40と、プロキシサーバ50とを含む。
端末装置10は、パケットを送信する場合に、そのパケットの送信先のホスト名(サーバ名)に対するIPアドレスを問い合わせる情報となる名前解決要求(正引き名前解決要求)を偽装DNSサーバ20に送信する。端末装置10は、名前解決要求に応じて導き出されたIPアドレスを示す情報である名前解決結果を偽装DNSサーバ20から受信し、そのIPアドレスにパケットを送信する。また、端末装置10は、IPアドレスに対するホスト名を問い合わせる名前解決要求(逆引き名前解決要求)を偽装DNSサーバ20に送信する場合もある。名前解決要求は、DNSクエリとも言われる。ここで、端末装置10は、例えば、PC(Personal Computer)である。なお、図1では、端末装置10を1つだけ図示しているが、マルウェア検知システム1が複数の端末装置10を有していてもよいことは言うまでもない。
偽装DNSサーバ20は、イントラネット80内の端末装置10からの正引き名前解決要求、及び、逆引き名前解決要求を正規DNSサーバ30へ中継する。偽装DNSサーバ20は、正規DNSサーバ30から送信された名前解決結果を端末装置10に送信する。すなわち、偽装DNSサーバ20は、正規DNSサーバ30による名前解決によって導き出されたIPアドレス又はホスト名を端末装置10に通知する。
ここで、偽装DNSサーバ20は、正規DNSサーバ30から名前解決結果として、名前解決できない旨、又は、無効なIPアドレスを示す名前解決結果が送信されてきた場合には、その名前解決結果に代えて検証サーバ40のIPアドレスを示す名前解決結果を生成し、端末装置10に送信する。
ここで、名前解決できない旨は、例えば、正規DNSサーバ30(及びその上位のDNSサーバ)において名前解決が要求されたホスト名に対応するエントリが存在していない場合、及び、名前解決が要求されたホスト名に対応するエントリが存在するが、そのエントリにIPアドレスが登録されていない場合に、正規DNSサーバ30から通知される。ここで、エントリとは、ホスト名と、そのホスト名のホスト(サーバ)のIPアドレスとが対応付られた情報である。正規DNSサーバ30は、正規DNSサーバ30が有する記憶装置に、複数のエントリを有するマップ情報を保持している。このマップ情報は、一般的にはテーブルと呼ばれることがある。正規DNSサーバ30は、このマップ情報に基づいて、ホスト名とIPアドレスの一方から他方を導き出す。なお、記憶装置は、例えば、メモリ又はハードディスク等である。
また、無効なIPアドレスは、名前解決が要求されたホスト名に対応するエントリが存在するが、そのエントリにローカルアドレス(プライベートアドレス)等が登録されている場合に、正規DNSサーバ30から通知される。すなわち、無効なIPアドレスは、例えば、ローカルアドレス(プライベートアドレス)及びループバックアドレス等のグローバルでないIPアドレスである。
正規DNSサーバ30は、インターネット70上に配置されたサーバのホスト名に対するIPアドレスを解決する。すなわち、正規DNSサーバ30は、偽装DNSサーバ20から送信された正引き名前解決要求に応じて、ホスト名に対するIPアドレスを導き出し、そのIPアドレスを示す名前解決結果を偽装DNSサーバ20に送信する。また、正規DNSサーバ30は、偽装DNSサーバ20から送信された逆引き名前解決要求に応じて、IPアドレスに対するホスト名を導き出し、そのホスト名を示す名前解決結果を偽装DNSサーバ20に送信する。なお、正規DNSサーバ30は、自身に保持するマップ情報に名前解決要求に対する回答が無い場合には、さらに上位のDNSサーバに対して名前解決要求を行うことになるが、それは周知の技術であるため詳細な説明は省略する。また、正規DNSサーバ30は、名前解決できない場合には、その旨を示す情報を偽装DNSサーバ20に送信する。
検証サーバ40は、プロキシサーバ50を経由して端末装置10から送信されたパケットを受信し、そのパケットの解析・記録を行う。また、検証サーバ40は、パケットの内容に応じて端末装置10へ応答となるパケットを送信する。
プロキシサーバ50は、イントラネット80内の端末装置10からインターネット70に向かって送信されたパケットをそのまま転送せずに一旦終端し、中継する。プロキシサーバ50は、端末装置10から送信されたパケットを中継する際に、パケットのヘッダが示す送信元IPアドレスを端末装置10のIPアドレスからプロキシサーバ50のIPアドレスに書き換える。これにより、イントラネット80の外部に対して、パケットの送信元となる端末装置10を隠蔽する。ここで、プロキシサーバ50は、イントラネット80内の端末装置10から検証サーバ40に送信されるパケットを中継する場合には、そのパケットに送信元となる端末装置10のIPアドレスを示す情報を含める。例えば、プロキシサーバ50は、端末装置10のIPアドレスをパケットのヘッダのX−Forwarded−Forへ書き込む。X−Forwarded−Forは、パケットのヘッダのフィールドの1つである。これにより、パケットのヘッダが示す送信元の端末装置10のIPアドレスを、プロキシサーバ50のIPアドレスに書き換える場合であっても、書き換え前の端末装置10のIPアドレスをパケットに保持することが可能である。
FW60は、インターネット70、イントラネット80、DMZ90の境界に配置される。FW60は、例えば、インターネット70からDMZ90を介してイントラネット80に送信されるパケットを所定のルールでフィルタリングすることで、イントラネット80に対する不正アクセスを防止する。
イントラネット80内の端末装置10に対する攻撃者が、マルウェアに対応するC&Cサーバを準備完了していない場合には、マルウェアに感染した端末装置10がC&Cサーバに対してパケットを送信するためにC&Cサーバの名前解決を要求したとしても、名前解決できない又は名前解決されたとしても名前解決結果として無効なIPアドレスが得られることになる。これに対して、上述した構成によれば、そのような場合に、偽装DNSサーバ20から端末装置10に対して名前解決結果として、検証サーバ40のIPアドレスを通知することができる。よって、マルウェアによる検証サーバ40に対する通信を発生させることが可能となり、マルウェアを検知し、その動作を検証サーバ40で記録することが可能となる。
なお、本実施形態において、マルウェアとは、自律的なプログラムであって、単なるExploitやPort/Address Scan等のコマンドではない。マルウェアは、例えば、Windows(登録商標)系であればサービス等の常駐プログラムとして、UNIX(登録商標)系であればdaemon的に常駐して、何らかの契機によって外部への通信を行うものをいう。
続いて、図面を参照して、本発明の実施形態に係る偽装DNSサーバ20の構成について説明する。図2に示すように、偽装DNSサーバ20は、パケット送受信部21と、アドレス管理部22と、アドレス判定部23と、一時アドレス記憶部24とを有する。
パケット送受信部21は、イントラネット80内の端末装置10から送信された名前解決要求を受信する。パケット送受信部21は、受信した名前解決要求をアドレス管理部22に出力する。また、パケット送受信部21は、名前解決要求に対する名前解決結果を、その名前解決要求の送信元となる端末装置10に送信する。
アドレス管理部22は、パケット送受信部21から出力された名前解決要求について、その問い合わせ内容と、その問い合わせ元とを管理する。具体的には、アドレス管理部22は、問い合わせ元となる端末装置10のIPアドレスと、問い合わせ内容とを対応付けて示す情報を一時アドレス記憶部24に格納する。なお、管理とは、情報を一時アドレス記憶部24に登録したり、登録した情報を一時アドレス記憶部24から読み出して出力したりすることをいう。一時アドレス記憶部24は、上記の情報を格納可能な記憶装置を少なくとも1つ含む。記憶装置は、例えば、メモリ及びハードディスク等である。
また、アドレス管理部22は、端末装置10からの名前解決要求の受信に応じて、正規DNSサーバ30を用いて、ホスト名に対応するIPアドレスを取得する。すなわち、アドレス管理部22は、パケット送受信部21によって、名前解決要求を正規DNSサーバ30に送信する。アドレス管理部22は、名前解決要求に応じて正規DNSサーバ30から送信され、パケット送受信部21によって受信された名前解決結果を取得する。アドレス管理部22は、取得した名前解決結果を問い合わせ元の端末装置10に送信する。アドレス管理部22は、この問い合わせ元となる端末装置10を一時アドレス記憶部24に格納した情報に基づいて特定する。すなわち、アドレス管理部22は、ある問い合わせ内容について、正規DNSサーバ30から名前解決結果を受信した場合、その問い合わせ内容に対応する問い合わせ元を名前解決結果の送信先として特定する。
また、アドレス管理部22は、正規DNSサーバ30による名前解決結果に応じて検証サーバ40のIPアドレスを示す名前解決結果を端末装置10に送信する。すなわち、アドレス管理部22は、正規DNSサーバ30による名前解決結果に応じて、検証サーバ40のIPアドレスか、正規DNSサーバ30から取得した正規のIPアドレスのいずれかを名前解決結果として選択する機能を有する。上述したように、アドレス管理部22は、名前解決ができない場合、及び、名前解決されたが名前解決結果が無効なIPアドレスである場合、検証サーバ40のIPアドレスを選択する。なお、アドレス管理部22は、名前解決結果が無効なIPアドレスであるか否かをアドレス判定部23に判定させる。
一時アドレス記憶部24は、上述したように、問い合わせ内容と、その問い合わせ元とを一時的に格納される。よって、アドレス管理部22は、問い合わせ元に、問い合わせ内容に対する名前解決結果を返した場合、その問い合わせ内容と問い合わせ元とを対応付けた情報を一時アドレス記憶部24から削除する。
また、一時アドレス記憶部24は、少なくとも1つの無効なIPアドレスを示す無効アドレス情報と、検証サーバ40のIPアドレスを示す検証サーバアドレス情報とが予め格納されている。無効アドレス情報が示す無効なIPアドレスは、例えば、上述したようにグローバルでないIPアドレスとある。
アドレス判定部23は、一時アドレス記憶部24に格納された無効アドレス情報を参照し、正規DNSサーバ30からの名前解決結果が示すIPアドレスの有効性を判定する。すなわち、アドレス判定部23は、名前解決結果が示すIPアドレスが、無効アドレス情報が示す無効なIPアドレスのいずれかに該当する場合、その名前解決結果が示すIPアドレスは無効なIPアドレスであると判定する。アドレス管理部22は、アドレス判定部23によって名前解決結果が示すIPアドレスが無効なIPアドレスであると判定された場合、一時アドレス記憶部24に格納された検証サーバアドレス情報に基づいて、検証サーバ40のIPアドレスを示す名前解決結果を生成する。なお、名前解決ができない場合も同様である。このようにして、名前解決によってIPアドレスが導き出された場合だっても、それが無効なIPアドレスである場合には、検証サーバ40のIPアドレスを問い合わせ元の端末装置10に返すことを可能としている。
ここで、一時アドレス記憶部24は、正規DNSサーバ30と同様にマップ情報が格納されるようにしてもよい。そして、アドレス管理部22は、そのマップ情報に基づいて名前解決を試み、名前解決できた場合には、正規DNSサーバ30に問い合わせはせずに、導き出されたIPアドレスを示す名前解決結果を端末装置10に送信するようにしてもよい。言い換えると、アドレス管理部22は、名前解決できなかった場合のみに、上位装置となる正規DNSサーバ30に問い合わせを行うようにしてもよい。ここで、偽装DNSサーバ20の一時アドレス記憶部24に格納されるマップ情報と、正規DNSサーバ30に格納されるマップ情報の各エントリは、一定時間だけ保持されるようにし、登録から一定時間経過した場合には削除されるようにしてもよい。
偽装DNSサーバ20に含まれる各部21〜23の動作を具体的に説明する。パケット送受信部21は、端末装置10から名前解決要求のパケットを受信し、アドレス管理部22に出力する。そして、アドレス管理部22は、名前解決した場合、名前解決結果をパケット送受信部21に出力する。パケット送受信部21は、アドレス管理部22から出力された名前解決結果のパケットを端末装置10に送信する。
アドレス管理部22は、端末装置10からの名前解決要求をパケット送受信部21から取得し、パケット送受信部21を介して正規DNSサーバ30に中継する。正規DNSサーバ30から名前解決結果を受信した場合、アドレス管理部22は、アドレス判定部23へ名前解決結果が示すIPアドレスの有効性を問い合わせる。
アドレス管理部22は、アドレス判定部23によってIPアドレスが有効であると判定された場合には、そのIPアドレスを示す名前解決結果のパケットをパケット送受信部21に出力する。アドレス管理部22は、アドレス判定部23によってIPアドレスが無効であると判定された場合には、偽装したIPアドレス(検証サーバ40のIPアドレス)を示す名前解決結果のパケットをパケット送受信部21に出力する。
また、このようIPアドレスが無効であると判定された場合には、アドレス管理部22は、問い合わせられたホスト名と、検証サーバ40のIPアドレスとが対応付られたエントリを一時アドレス記憶部24に格納されたマップ情報に追加するようにしてもよい。これにより、再度、同一のホスト名について問い合わせが行われた偽装DNSサーバ20のマップ情報に基づいて迅速に名前解決結果を返すことを可能とする。なお、このとき追加されるエントリにも、有効期限を設けるようにしてもよい。
アドレス判定部23は、アドレス管理部22からの要求に応じて、一時アドレス記憶部24に格納されている無効アドレス情報を参照し、名前解決結果が示すIPアドレスが無効なIPアドレスか否かを判定する。名前解決結果が示すIPアドレスが無効なIPアドレスであると判定した場合、アドレス判定部23は、IPアドレスが無効であるとの判定結果をアドレス管理部22に通知する。一方、名前解決結果が示すIPアドレスが無効なIPアドレスでないと判定した場合、アドレス判定部23は、IPアドレスが有効であるとの判定結果をアドレス管理部22に通知する。
続いて、図面を参照して、本発明の実施形態に係る検証サーバ40の構成について説明する。図3に示すように、検証サーバ40は、パケット送受信部41と、接続元解析部42と、応答生成部43と、接続元記憶部44とを有する。
パケット送受信部41は、イントラネット80内の端末装置10からプロキシサーバ50を介して送信されたパケットを受信する。パケット送受信部41は、受信したパケットを接続元解析部42と応答生成部43に出力する。また、パケット送受信部41は、受信したパケットの応答となるパケットを端末装置10に送信する。
接続元解析部42は、パケット送受信部41から出力されたパケットを解析し、送信元の端末装置10のIPアドレスと、そのパケットの内容(パケットのデータ部の内容)とを抽出し、接続元記憶部44に格納する。なお、接続元解析部42は、送信元の端末装置10のIPアドレスを、パケットのヘッダ部のX−Forwarded−Forから抽出する。
応答生成部43は、パケット送受信部41から出力されたパケットの内容に応じて、その応答となるパケットを生成し、パケット送受信部41に出力する。これにより、パケット送受信部41は、応答生成部43から出力されたパケットを、プロキシサーバ50を介して送信元の端末装置10に送信する。
続いて、図面を参照して、偽装DNSサーバ20の動作(正引き処理要求に対する処理)について説明する。図4は、偽装DNSサーバ20の動作(正引き処理要求に対する処理)を示すフローチャートである。
パケット送受信部21は、名前解決要求のパケットを受信した場合、受信した名前解決要求をアドレス管理部22に出力する。アドレス管理部22は、パケット送受信部21から出力された名前解決要求が正引き名前解決要求である場合、正引き処理を実行する(S101)。すなわち、アドレス管理部22は、パケット送受信部21によって、正規DNSサーバ30に名前解決要求を送信する。
正規DNSサーバ30から名前解決結果としてIPアドレスが通知された場合(S102でYes)、アドレス管理部22は、アドレス判定部23に対し、名前解決により得られたIPアドレスの有効性の確認を要求する。アドレス判定部23は、一時アドレス記憶部24に格納されている無効アドレス情報に基づいてIPアドレスの有効性を判定する(S103)。そして、アドレス判定部23は、判定結果を示す情報をアドレス管理部22に出力する。
アドレス判定部23による判定結果がIPアドレスが有効であることを示している場合(S104でYes)、アドレス管理部22は、そのIPアドレスを名前解決要求に対して応答するIPアドレスとして決定する(S105)。そして、アドレス管理部22は、そのIPアドレスを示す名前解決結果のパケットを作成して(S106)、パケット送受信部21に出力する。パケット送受信部21は、アドレス管理部22から出力された名前解決結果のパケットを、名前解決要求の送信元に送信する(S107)。
正規DNSサーバ30から名前解決結果として名前解決できない旨が通知された場合(S102でNo)、及び、アドレス判定部23による判定結果がIPアドレスが無効であることを示している場合(S104でNo)、アドレス管理部22は、検証サーバ40のアドレスを名前解決要求に対して応答するIPアドレスとして決定する(S108)。そして、アドレス管理部22は、そのIPアドレスを示す名前解決結果のパケットを作成して(S106)、パケット送受信部21に出力する。パケット送受信部21は、アドレス管理部22から出力された名前解決結果のパケットを、名前解決要求の送信元に送信する(S107)。
また、この場合、上述したように、アドレス管理部22は、一時アドレス記憶部24のマップ情報を更新する(S109)。すなわち、アドレス管理部22は、名前解決要求で名前解決を要求されたホスト名と、検証サーバ40のIPアドレスとを対応付けたエントリをマップ情報に追加する。なお、この場合、厳密には、上記S103において、一時アドレス記憶部24に格納されたマップ情報を参照して、名前解決できない場合に、正規DNSサーバ20に対して名前解決が要求されることになる。また、アドレス管理部22は、一時アドレス記憶部24に登録されたマップ情報の参照時には、適宜エントリの有効期限も確認する。有効期限を経過したエントリについては、削除あるいは登録されていないものとして処理が行われる。なお、ここでの処理では、一時アドレス記憶部24にマップ情報が格納される場合について説明したが、上述したように、一時アドレス記憶部24にマップ情報が格納されない形態として実施することも可能である。
続いて、図面を参照して、検証サーバ40の動作(通信要求受信後の処理)について説明する。図5は、検証サーバ40の動作(通信要求受信後の処理)を示すフローチャートである。
パケット送受信部31は、イントラネット80内の端末装置10からプロキシサーバ50を介して送信されたパケットを受信する。パケット送受信部41は、受信したパケットを接続元解析部42と応答生成部43に出力する。接続元解析部32は、パケット送受信部41から出力されたパケットを解析し、送信元の端末装置10のIPアドレス(X−Forwarded−Forの内容)と、そのパケットの内容(データ部の内容)とを抽出し、それらを対応付けて接続元記憶部44に格納する(S201)。
応答生成部33は、パケット送受信部41から出力されたパケットの内容に応じて、その応答となるパケットを作成する(S202)。
パケット送受信部31は、応答生成部33によって生成されたパケットを、プロキシサーバ50を介して送信元の端末装置10に送信する(S203)。
なお、本実施形態において、アドレス管理部22が正規DNSサーバ30から逆引き処理の結果を受信した際に、アドレス判定部23を利用して、無効なIPアドレスから導き出されたホスト名については、その時点で、そのホスト名に関する正引き名前解決要求に対して検証サーバ40のIPアドレスを返却できるようにしてもよい。具体的には、アドレス管理部22は、端末装置10から受信した逆引き名前解決要求で名前解決が要求されるIPアドレスが無効なIPアドレスであるか否かをアドレス判定部23に判定させる。そして、名前解決が要求されるIPアドレスが無効なIPアドレスであると判定された場合、IPアドレス管理部22は、その逆引き名前解決要求について正規DNSサーバ30によって導き出されたホスト名と、検証サーバ40のIPアドレスとを対応付けたエントリを一時アドレス記憶部24のマップ情報に追加するようにしてもよい。これによれば、正引き名前解決要求の結果の正当性を確認するために、それに先立って逆引き名前解決要求をするタイプのマルウェアに対して、正引き名前解決要求がされた場合に迅速に検証サーバ40のIPアドレスを返却することが可能となる。
また、マルウェア検知システム1において複数の検証サーバ40を有するようにしてもよい。そして、アドレス管理部22は、名前解決要求で名前解決が要求されるホスト名に応じて、異なる検証サーバ40のIPアドレスを端末装置10に通知するようにしてもよく、名前解決要求を送信してきた端末装置10に応じて、異なる検証サーバ40のIPアドレスを通知するようにしてもよい。
すなわち、複数の検証サーバ40のそれぞれに、予め少なくとも1つのホスト名を対応付けておき、アドレス管理部22は、名前解決要求で名前解決が要求されるホスト名に対応する検証サーバ40のIPアドレスを名前解決結果として端末装置10に通知するようにしてもよい。なお、ホスト名と、それに対応する検証サーバ40のIPアドレスとを対応付けた情報を一時アドレス記憶部24に予め格納しておき、アドレス管理部22がその情報を参照することで、ホスト名に対応する検証サーバ40のIPアドレスを特定可能とすればよい。これによれば、複数のマルウェアが1つの端末装置10内に存在する場合であっても、検証サーバ40の記録内容に基づいて、それぞれのマルウェアの傾向を分析しやすくなる。
また、複数の検証サーバ40のそれぞれに、予め少なくとも1つの端末装置10を対応付けておき、アドレス管理部22は、名前解決要求の送信元の端末装置10に対応する検証サーバ40のIPアドレスを名前解決結果として端末装置10に通知するようにしてもよい。なお、端末装置10(のIPアドレス)と、それに対応する検証サーバ40のIPアドレスとを対応付けた情報を一時アドレス記憶部24に予め格納しておき、アドレス管理部22がその情報を参照することで、端末装置10(のIPアドレス)に対応する検証サーバ40のIPアドレスを特定可能とすればよい。これによれば、同種のマルウェアが複数の端末装置10内に存在する場合であっても、検証サーバ40の記録内容に基づいて、マルウェアの傾向を分析しやすくなる。
以上に説明したように、本実施形態では、偽装DNSサーバ20は、名前解決ができない場合、又は、名前解決結果が無効なIPアドレスである場合、名前解決結果として検証サーバ40のIPアドレスを端末装置10に通知するようにしている。これによれば、名前解決結果に応じて、偽装DNSサーバ20においてIPアドレスを置き換えるだけという簡易な構成でマルウェアを検知することが可能となる。すなわち、本実施形態によれば、例えば、特許文献1に開示の技術のように、プロキシサーバまでもマルウェアを検知するための様々な処理を実装する必要がない。また、検証サーバ40に送信されるパケットは、マルウェアによって送信されたものとなる。よって、検証サーバ40においてマルウェアによって送信されたパケットに関する情報を記録する際に、パケットがマルウェアによって送信されたものであるか否かを切り分ける必要も無くなる。そのため、簡易な構成でマルウェアの動作を記録することができる。すなわち、本実施形態によれば、例えば、特許文献1に開示のプロキシサーバのように、エラー通知をする際にDNSサーバに対して問い合わせてマルウェアによって送信されたパケットであるか否かを切り分ける必要もなくなる。
また、本実施形態によれば、上述したように、特許文献1に開示の技術のようにプロキシサーバに対して処理を変更・追加する必要がなくなる。よって、一般的なプロキシ環境でも利用することができる。
また、本実施形態によれば、偽装DNSサーバ20を配置すればよく、上述したように、特許文献1に開示の技術のようにプロキシサーバに対して大幅に処理を変更・追加する必要がなくなる。よって、導入敷居の上がるネットワーク構成の変更が軽微(導入容易)である。
また、本実施形態では、プロキシサーバ50は、端末装置10から送信されたパケットを中継する際に、そのパケットのX−Forwarded−Forに端末装置10のIPアドレスを設定するようにしている。そして、検証サーバ40は、端末装置10から送信されたパケットのX−Forwarded−Forに設定されたIPアドレスを接続元記憶部44に格納するようにしている。これによれば、検証サーバ40のアクセスログ(接続元記憶部44の情報)を確認することで、マルウェアに感染した端末装置10を特定することができる。また、このように、プロキシサーバ50における既存の技術を流用することで、よりネットワーク構成の変更を軽微としつつ、マルウェアの動作を記録することを可能としている。
また、上述したように、異なる検証サーバ40のIPアドレスを端末装置10に通知するようにした場合には、マルウェアからの通信を特定の検証サーバ40へ誘導することで、検証サーバ40での記録内容に基づいた分析を容易とすることができる。
<発明の実施形態の概略構成>
上述した本発明の実施の形態に係るマルウェア検知システム1は、次に説明する概略構成としても捉えることができる。図6は、本発明の実施形態に係るマルウェア検知システム1の概略構成となるマルウェア検知システム100の構成図である。
図6に示すように、マルウェア検知システム100は、端末装置101と、DNSサーバ102と、検証サーバ103とを有する。
端末装置101は、ネットワーク110のホスト(サーバ)に対してパケットを送信する場合に、そのパケットの送信先のホスト名からIPアドレスへの名前解決をDNSサーバ102に要求する。端末装置101は、その要求に応じて名前解決結果としてDNSサーバ102から通知されてきたIPアドレスにパケットを送信する。端末装置101は、端末装置10に対応する。
DNSサーバ102は、端末装置101からの要求に応じて、ホスト名からIPアドレスへの名前解決をする。DNSサーバ102は、偽装DNSサーバ20に対応する。
検証サーバ103は、端末装置101からパケットが送信されてきた場合に、そのパケットに関する情報を記録する。検証サーバ103は、検証サーバ40に対応する。
ここで、DNSサーバ102は、名前解決ができない場合、又は、名前解決結果が無効なIPアドレスである場合、名前解決結果として検証サーバ103のIPアドレスを端末装置101に通知する。
これによれば、攻撃者がC&Cサーバを準備完了する前に、端末装置10のマルウェアから名前解決要求があった場合に、それを検知し、検証サーバ103に対するパケットの送信を発生させることができる。これによれば、名前解決結果に応じて、IPアドレスを置き換えるという簡易な構成で、マルウェアを検知し、その動作を記録することが可能となる。
本発明の実施形態に係る偽装DNSサーバ20と検証サーバ40のそれぞれは、上述の実施形態の動作を実現するプログラムを、偽装DNSサーバ20と検証サーバ40のそれぞれが有するCPUが実行することによって、構成することが可能であることは言うまでもない。
なお、上述のコンピュータ(偽装DNSサーバ20、検証サーバ40)が実行するプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
なお、本発明は上記実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
1、100 マルウェア検知システム
10、101 端末装置
20、102 偽装DNSサーバ
21 パケット送受信部
22 アドレス管理部
23 アドレス判定部
24 一時アドレス記憶部
30 正規DNSサーバ
40、103 検証サーバ
41 パケット送受信部
42 接続元解析部
43 応答生成部
44 接続元記憶部
50 プロキシサーバ
60 ファイアウォール(FW)
70、110 ネットワーク
80 イントラネット
90 DMZ

Claims (9)

  1. ホスト名からIPアドレスへの名前解決をするDNSサーバと、
    パケットを送信する場合に、当該パケットの送信先のホスト名からIPアドレスへの名前解決を前記DNSサーバに要求し、当該要求に応じて名前解決結果として前記DNSサーバから通知されてきたIPアドレスに前記パケットを送信する端末装置と、
    前記端末装置からパケットが送信されてきた場合に当該パケットに関する情報を記録する検証サーバと、を備え、
    前記DNSサーバは、前記名前解決ができない場合、又は、前記名前解決結果が無効なIPアドレスである場合、前記名前解決結果として前記検証サーバのIPアドレスを前記端末装置に通知する、
    マルウェア検知システム。
  2. 前記マルウェア検知システムは、さらに、前記端末装置から送信されてきたパケットを中継するプロキシサーバを有し、
    前記プロキシサーバは、前記端末装置から送信されたパケットを中継する際に、当該パケットのX−Forwarded−Forに前記端末装置のIPアドレスを設定し、
    前記検証サーバは、
    前記パケットに関する情報が格納される記憶部と、
    前記パケットに関する情報として、前記端末装置から送信されたパケットのX−Forwarded−Forに設定されたIPアドレスを前記記憶部に格納する接続元解析部と、を有する、
    請求項1に記載のマルウェア検知システム。
  3. 前記DNSサーバは、
    ホスト名と、そのホストのIPアドレスとが対応付られたエントリを複数含むマップ情報が格納された記憶部と、
    前記マップ情報において前記名前解決が要求されたホスト名を示すエントリが存在する場合、当該ホスト名に対応するIPアドレスを前記名前解決結果として前記端末装置に送信するアドレス管理部と、を有し、
    前記アドレス管理部は、前記名前解決ができない場合、又は、前記名前解決結果が無効なIPアドレスである場合、前記名前解決が要求されたホスト名と、前記検証サーバのIPアドレスとを対応付けたエントリを前記マップ情報に追加する、
    請求項1又は2に記載のマルウェア検知システム。
  4. 前記端末装置は、イントラネットに含まれ、
    前記DNSサーバ及び前記プロキシサーバは、DMZに含まれ、
    前記DNSサーバは、上位のDNSサーバに対して名前解決を要求する、
    請求項2に記載のマルウェア検知システム。
  5. 前記マルウェア検知システムは、前記検証サーバを複数有し、
    前記複数の検証サーバのそれぞれは、少なくとも1つのホスト名が対応付られており、
    前記DNSサーバは、前記端末装置に検証サーバのIPアドレスを通知する場合、前記名前解決が要求されたホスト名に対応する検証サーバのIPアドレスを前記端末装置に通知する、
    請求項1乃至4のいずれか1項に記載のマルウェア検知システム。
  6. 前記マルウェア検知システムは、前記端末装置を複数有し、
    前記マルウェア検知システムは、前記検証サーバを複数有し、
    前記複数の検証サーバのそれぞれは、少なくとも1つの端末装置が対応付られており、
    前記DNSサーバは、前記端末装置に検証サーバのIPアドレスを通知する場合、当該端末装置に対応する検証サーバのIPアドレスを当該端末装置に通知する、
    請求項1乃至4のいずれか1項に記載のマルウェア検知システム。
  7. 端末装置が、パケットを送信する場合に、当該パケットの送信先のホスト名からIPアドレスへの名前解決をDNSサーバに要求する要求ステップと、
    前記DNSサーバが、前記端末装置からの名前解決の要求に応じて、前記ホスト名からIPアドレスへの名前解決をし、名前解決結果となるIPアドレスを端末装置に通知する名前解決ステップと、
    前記端末装置が、前記DNSサーバから通知されてきたIPアドレスに前記パケットを送信する送信ステップと、を備え、
    前記名前解決ステップでは、前記名前解決ができない場合、又は、前記名前解決結果が無効なIPアドレスである場合、前記名前解決結果として、前記端末装置からパケットが送信されてきた場合に当該パケットに関する情報を記録する検証サーバのIPアドレスを前記端末装置に通知する、
    マルウェア検知方法。
  8. 端末装置からの名前解決要求に応じて、ホスト名からIPアドレスへの名前解決をするDNSサーバであって、
    前記名前解決ができない場合、又は、前記名前解決の結果が無効なIPアドレスである場合、名前解決結果として、前記端末装置からパケットが送信されてきた場合に当該パケットに関する情報を記録する検証サーバのIPアドレスを前記端末装置に通知する
    DNSサーバ。
  9. 端末装置からの名前解決要求に応じて、ホスト名からIPアドレスへの名前解決をするための名前解決プログラムであって、
    前記名前解決ができない場合、又は、前記名前解決の結果が無効なIPアドレスである場合、名前解決結果として、前記端末装置からパケットが送信されてきた場合に当該パケットに関する情報を記録する検証サーバのIPアドレスを前記端末装置に通知する処理をDNSサーバに実行させる
    名前解決プログラム。
JP2014053688A 2014-03-17 2014-03-17 マルウェア検知システム、マルウェア検知方法、dnsサーバ、及び名前解決プログラム。 Active JP6303661B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014053688A JP6303661B2 (ja) 2014-03-17 2014-03-17 マルウェア検知システム、マルウェア検知方法、dnsサーバ、及び名前解決プログラム。

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014053688A JP6303661B2 (ja) 2014-03-17 2014-03-17 マルウェア検知システム、マルウェア検知方法、dnsサーバ、及び名前解決プログラム。

Publications (2)

Publication Number Publication Date
JP2015177434A true JP2015177434A (ja) 2015-10-05
JP6303661B2 JP6303661B2 (ja) 2018-04-04

Family

ID=54256168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014053688A Active JP6303661B2 (ja) 2014-03-17 2014-03-17 マルウェア検知システム、マルウェア検知方法、dnsサーバ、及び名前解決プログラム。

Country Status (1)

Country Link
JP (1) JP6303661B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019125037A (ja) * 2018-01-12 2019-07-25 エヌ・ティ・ティ・コミュニケーションズ株式会社 攻撃種別判定装置、攻撃種別判定方法、及びプログラム
JP2020112946A (ja) * 2019-01-09 2020-07-27 富士通株式会社 検知装置、検知方法、および、検知プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005026960A (ja) * 2003-07-01 2005-01-27 Fujitsu Ltd アドレス変換プログラム、アドレス変換方法およびアドレス変換装置
JP2008177714A (ja) * 2007-01-17 2008-07-31 Alaxala Networks Corp ネットワークシステム、サーバ、ddnsサーバおよびパケット中継装置
WO2009110327A1 (ja) * 2008-03-04 2009-09-11 日本電気株式会社 ネットワーク監視システム、ネットワーク監視方法、及びネットワーク監視プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005026960A (ja) * 2003-07-01 2005-01-27 Fujitsu Ltd アドレス変換プログラム、アドレス変換方法およびアドレス変換装置
JP2008177714A (ja) * 2007-01-17 2008-07-31 Alaxala Networks Corp ネットワークシステム、サーバ、ddnsサーバおよびパケット中継装置
WO2009110327A1 (ja) * 2008-03-04 2009-09-11 日本電気株式会社 ネットワーク監視システム、ネットワーク監視方法、及びネットワーク監視プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019125037A (ja) * 2018-01-12 2019-07-25 エヌ・ティ・ティ・コミュニケーションズ株式会社 攻撃種別判定装置、攻撃種別判定方法、及びプログラム
JP2020112946A (ja) * 2019-01-09 2020-07-27 富士通株式会社 検知装置、検知方法、および、検知プログラム
JP7120030B2 (ja) 2019-01-09 2022-08-17 富士通株式会社 検知装置、検知方法、および、検知プログラム

Also Published As

Publication number Publication date
JP6303661B2 (ja) 2018-04-04

Similar Documents

Publication Publication Date Title
US11722509B2 (en) Malware detection for proxy server networks
US8782789B2 (en) System and method for detecting address resolution protocol (ARP) spoofing
CN102098158B (zh) 跨域名单点登录和注销的方法、系统及相应设备
US9654494B2 (en) Detecting and marking client devices
EP2837135B1 (en) Asset detection system
EP2837159B1 (en) System asset repository management
US10581880B2 (en) System and method for generating rules for attack detection feedback system
US20190081952A1 (en) System and Method for Blocking of DNS Tunnels
US10230691B2 (en) Systems, devices, and methods for improved domain name system firewall protection
CN108632221B (zh) 定位内网中的受控主机的方法、设备及系统
GB2532475A (en) Integrity check of DNS server setting
JP2017502605A (ja) プロキシipアドレスの識別方法及び装置
US20160241575A1 (en) Information processing system and information processing method
JP5980968B2 (ja) 情報処理装置、情報処理方法及びプログラム
US10432646B2 (en) Protection against malicious attacks
WO2017113082A1 (en) Url filtering method and device
US20180295142A1 (en) Extracted data classification to determine if a dns packet is malicious
US20170353486A1 (en) Method and System For Augmenting Network Traffic Flow Reports
JP6303661B2 (ja) マルウェア検知システム、マルウェア検知方法、dnsサーバ、及び名前解決プログラム。
US11811806B2 (en) System and apparatus for internet traffic inspection via localized DNS caching
KR101522139B1 (ko) DNS 서버 선별 차단 및 Proxy를 이용한 DNS 주소 변경 방법
CN104009999A (zh) 防止arp欺骗的方法、装置及网络接入服务器
JP2020119596A (ja) ログ解析システム、解析装置、方法、および解析用プログラム
JP4876092B2 (ja) トレースバック装置、プログラム、記録媒体、およびトレースバックシステム
JP7120049B2 (ja) サイバー攻撃評価プログラム、サイバー攻撃評価方法および情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171211

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180219

R150 Certificate of patent or registration of utility model

Ref document number: 6303661

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150