(57)【要約】【課題】通信ネットワークに接続するアプリケーションを実行し、アプリケーションに関連するログを取得する。【解決手段】ログ取得装置１は、アプリケーションの実行に伴うイベントを検出し、当該アプリケーションに関連するプロセスのプロセス識別子と、当該イベントに関連するデータを対応づけて構造体データ２１を生成する検出手段１１と、構造体データ２１を、ＣＳＶ形式のレコードデータ２２に変換する整形手段１２と、レコードデータ２２を、ログデータ２３に挿入してログデータ２３を更新する書込手段１３を備える。【選択図】      図１
2016009227.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークに接続するアプリケーションを実行し、前記アプリケーションに関連するログを取得するログ取得装置であって、
前記アプリケーションの実行に伴うイベントを検出し、検出したイベントに関連するプロセスのプロセス識別子と、当該イベントに関連するデータを含む構造体データを生成する検出手段と、
前記構造体データを、ＣＳＶ形式のレコードデータに変換する整形手段と、
前記レコードデータを、ログデータに挿入して前記ログデータを更新する書込手段と、
を備えることを特徴とするログ取得装置。
【請求項２】
前記検出手段、前記整形手段および前記書込手段は、カーネルモードで実装され、
前記整形手段は、レコードデータをメモリに展開し、
前記書込手段は、前記レコードデータが展開されたメモリのアドレスに基づいて、前記レコードデータを、前記ログデータに挿入する
ことを特徴とする請求項１に記載のログ取得装置。
【請求項３】
前記イベントは、プロセス起動、プロセス終了、モジュール読込および接続確立である
ことを特徴とする請求項１または２に記載のログ取得装置。
【請求項４】
前記イベントが、プロセス起動の場合、
前記イベントに関連するデータは、起動時刻、当該プロセスの親プロセス識別子、実行イメージファイルパスおよびコマンドラインであって、
前記イベントが、プロセス終了の場合、
前記イベントに関連するデータは、終了時刻であって、
前記イベントが、モジュール読込の場合、
前記イベントに関連するデータは、読込時刻およびモジュールイメージファイルパスであって、
前記イベントが、接続確立の場合、
前記イベントに関連するデータは、通信確立時刻、送信元ＩＰアドレスおよびポート番号、送信先ＩＰアドレスおよびポート番号およびプロトコル識別子である
ことを特徴とする請求項３に記載のログ取得装置。
【請求項５】
通信ネットワークに接続するアプリケーションを実行し、前記アプリケーションに関連するログを取得するログ取得装置に用いるログ取得プログラムであって、
コンピュータを、
前記アプリケーションの実行に伴うイベントを検出し、検出したイベントに関連するプロセスのプロセス識別子と、当該イベントに関連するデータを含む構造体データを生成する検出手段と、
前記構造体データを、ＣＳＶ形式のレコードデータに変換する整形手段と、
前記レコードデータを、ログデータに挿入して前記ログデータを更新する書込手段
として機能させることを特徴とするログ取得プログラム。
【請求項６】
前記検出手段、前記整形手段および前記書込手段は、カーネルモードで実装され、
前記整形手段は、レコードデータをメモリに展開し、
前記書込手段は、前記レコードデータが展開されたメモリのアドレスに基づいて、前記レコードデータを、前記ログデータに挿入する
ことを特徴とする請求項５に記載のログ取得プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークに接続するアプリケーションを実行し、アプリケーションに関連するログを取得するログ取得装置およびログ取得プログラムに関する。
【背景技術】
【０００２】
近年、特定企業や組織に対し、執拗に機密情報を盗み出そうとする攻撃が、世界的に増加している。このような攻撃では、標的とする組織内のコンピュータに、外部と通信する機能を持ったマルウェアを、メールやＵＳＢメモリなどを介して感染させる。その上で、より機能を持ったマルウェアの導入やコンピュータの遠隔操作などを経て、機密情報が取得される場合がある。
【０００３】
このような攻撃への対策として、侵入検知システム（ＩＤＳ：Intrusion Detection System）やファイアウォール、アンチマルウェアソフトウェア等の対策製品が、導入にされている。さらに、これら製品の挙動を統括的に監視して攻撃の検知を実施する製品や、有事の際の事実関係の把握や法的証拠として通信内容を利用できるようにするために、通信内容を記録する通信保全機器なども登場している。
【０００４】
例えば、不正プロセスの活動を検知する方法を開示する（特許文献１参照。）。特許文献１に記載の方法では、通信パケットに、その通信パケットを送信しようとしたプロセスの識別子を埋め込むことにより、通信とプロセスを対応づける。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開ＷＯ２０１１／０２７４９６
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、通信保全機器によって取得されたログは、昨今の情報機器の高度化に伴って増加の一途を辿っていることに加え、相互に結びつけることが難しい内容も存在するため、原因調査に多くの時間を要す場合がある。
【０００７】
また特許文献１に記載の方法は、通信パケットに、その通信パケットを送信しようとしたプロセスの識別子を埋め込むことにより、通信とプロセスを対応づけるので、スループットの低下が懸念される。また、通信した後に有事が判明した場合や、デジタルフォレンジックの必要性が生じた場合に、対応できない問題がある。
【０００８】
従って本発明の目的は、通信ネットワークに接続するアプリケーションに関連するログを適切に保全するログ取得装置およびログ取得プログラムを提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の第１の特徴は、通信ネットワークに接続するアプリケーションを実行し、アプリケーションに関連するログを取得するログ取得装置に関する。すなわち本発明の第１の特徴に係るログ取得装置は、アプリケーションの実行に伴うイベントを検出し、検出したイベントに関連するプロセスのプロセス識別子と、当該イベントに関連するデータを含む構造体データを生成する検出手段と、構造体データを、ＣＳＶ形式のレコードデータに変換する整形手段と、レコードデータを、ログデータに挿入してログデータを更新する書込手段と、を備える。
【００１０】
検出手段、整形手段および書込手段は、カーネルモードで実装され、整形手段は、レコードデータをメモリに展開し、書込手段は、レコードデータが展開されたメモリのアドレスに基づいて、レコードデータを、ログデータに挿入しても良い。
【００１１】
ここでイベントは、プロセス起動、プロセス終了、モジュール読込および接続確立である。イベントが、プロセス起動の場合、イベントに関連するデータは、起動時刻、当該プロセスの親プロセス識別子、実行イメージファイルパスおよびコマンドラインであって、イベントが、プロセス終了の場合、イベントに関連するデータは、終了時刻であって、イベントが、モジュール読込の場合、イベントに関連するデータは、読込時刻およびモジュールイメージファイルパスであって、イベントが、接続確立の場合、イベントに関連するデータは、通信確立時刻、送信元ＩＰアドレスおよびポート番号、送信先ＩＰアドレスおよびポート番号およびプロトコル識別子であっても良い。
【００１２】
本発明の第２の特徴は、通信ネットワークに接続するアプリケーションを実行し、アプリケーションに関連するログを取得するログ取得装置に用いるログ取得プログラムに関する。すなわち本発明の第２の特徴に係るログ取得プログラムは、コンピュータを、アプリケーションの実行に伴うイベントを検出し、検出したイベントに関連するプロセスのプロセス識別子と、当該イベントに関連するデータを含む構造体データを生成する検出手段と、構造体データを、ＣＳＶ形式のレコードデータに変換する整形手段と、レコードデータを、ログデータに挿入してログデータを更新する書込手段として機能させる。
【００１３】
検出手段、整形手段および書込手段は、カーネルモードで実装され、整形手段は、レコードデータをメモリに展開し、書込手段は、レコードデータが展開されたメモリのアドレスに基づいて、レコードデータを、ログデータに挿入しても良い。
【発明の効果】
【００１４】
本発明によれば、通信ネットワークに接続するアプリケーションに関連するログを適切に保全するログ取得装置およびログ取得プログラムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係るログ取得装置のハードウェア構成と機能ブロックを説明する図である。
【図２】本発明の実施の形態に係るログ取得装置が取得するイベントの種類と、イベントに関するデータを説明する図である。
【図３】本発明の実施の形態に係るログ取得装置の構造体データの構造を説明する図である。
【図４】本発明の実施の形態に係るログ取得装置によるログ取得方法を説明する図である。
【図５】本発明の実施の形態に係るログデータのデータ構造とデータの一例を説明する図である。
【発明を実施するための形態】
【００１６】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【００１７】
（実施の形態）
図１を参照して、本発明の実施の形態に係るログ取得装置１を説明する。ログ取得装置１は、社内ＬＡＮなどのプライベートネットワークや、インターネットなどパブリックネットワークなどの通信ネットワークに接続されるコンピュータである。ログ取得装置１は、プロキシサーバなどを経由して、通信ネットワークに接続しても良い。
【００１８】
ログ取得装置１は、処理装置１０、記憶装置２０、通信制御装置３０、入力装置４０および出力装置５０を備える一般的なコンピュータである。一般的なコンピュータに、所定の処理を実行するための１以上のプログラムをインストールし、実行することにより、図１に示す機能を実現する。
【００１９】
処理装置１０は、記憶装置２０に記憶されたデータを読み出したり、記憶装置２０にデータを書き出したりしながら、データを処理する。記憶装置２０は、ハードディスク、メモリなどであって、データを記憶する。通信制御装置３０は、処理装置１０の制御に従って、通信ネットワークとデータを送受信する。入力装置４０は、キーボードやマウスなどであって、操作者の指示を処理装置に入力する。出力装置５０は、表示装置などであって、処理装置１０の処理結果を操作者に認識可能に形態で出力する。
【００２０】
処理装置１０は、検出手段１１、整形手段１２、書込手段１３およびアプリケーション実行手段１４を備える。
【００２１】
アプリケーション実行手段１４は、ブラウザ、メールなどの、通信ネットワークに接続するアプリケーションを実行する。このアプリケーションに、マルウェアなどの不正アプリケーションも含まれうる。すなわち、アプリケーション実行手段１４は、ブラウザやメールなどの個々のアプリケーションプログラムを実行する。これに対し検出手段１１、整形手段１２および書込手段１３は、ログ取得プログラムによって処理装置１０に実装される。検出手段１１、整形手段１２および書込手段１３は、連携して、アプリケーション実行手段１４によるアプリケーションの実行に伴うイベントを検出し、ログデータ２３に記憶する。
【００２２】
検出手段１１は、アプリケーションの実行に伴うイベントを検出し、検出したイベントに関連するプロセスのプロセス識別子と、当該イベントに関連するデータ当該イベントに関連するデータを含む構造体データ２１を生成する。本発明の実施の形態において検出手段１１が検出するイベントは、プロセス起動、プロセス終了、モジュール読込および接続確立である。
【００２３】
本発明の実施の形態に係る検出手段１１は、プロセスの起動および終了を検出するプロセス検出手段１１ａ、モジュールの読込を検出するモジュール読込検出手段１１ｂおよび通信を検出する通信検出手段１１ｃを備える。
【００２４】
プロセス検出手段１１ａは、プロセスが起動する際、このプロセスの起動に関するデータとして、図２に示すように、プロセス識別子、起動時刻、当該プロセスの親プロセス識別子、実行イメージファイルパスおよびコマンドラインを取得する。またプロセス検出手段１１ａは、プロセスが終了する際、このプロセスの起動に関するデータとして、図２に示すように、プロセス識別子および終了時刻を取得する。プロセス検出手段１１ａは、Ｗｉｎｄｏｗｓ（登録商標）の場合、PsSetCreateProcessNotifyRoutineExを用いて、プロセス検出手段１１ａに対応するコールバック関数が、Ｗｉｎｄｏｗｓ（登録商標）に登録される。プロセス検出手段１１ａは、プロセスが新規で起動しようとした際などに呼び出され、そのプロセスの起動に関するデータを取得する。
【００２５】
モジュール読込検出手段１１ｂは、モジュールが読み込まれる際、このモジュールの読込に関するデータとして、図２に示すように、プロセス識別子、読込時刻およびモジュールイメージファイルパスを取得する。モジュール読込検出手段１１ｂは、Ｗｉｎｄｏｗｓ（登録商標）の場合、PsSetLoadImageNotifyRoutineを用いて、モジュール読込検出手段１１ｂに対応するコールバック関数が、Ｗｉｎｄｏｗｓ（登録商標）に登録される。モジュール読込検出手段１１ｂは、モジュールが読み込まれようとした際などに呼び出され、そのモジュールの読込に関するデータを取得する。
【００２６】
通信検出手段１１ｃは、通信の接続が確立する際、その通信に関するデータとして、図２に示すように、通信確立時刻、送信元ＩＰアドレスおよびポート番号、送信先ＩＰアドレスおよびポート番号およびプロトコル識別子を取得する。ここで、プロトコル識別子は特に、ＴＣＰやＵＤＰなどの、トランスポート層で用いられるプロトコルの識別子を指す。通信検出手段１１ｃは、Ｗｉｎｄｏｗｓ（登録商標）  Ｆｉｌｔｅｒｉｎｇ  Ｐｌａｔｆｏｒｍを用いる。通信確立時を意味するFWPM_LAYER_ALE_FLOW_ESTABLISHEDに判定を行うプログラムとして、通信検出手段１１ｃに対応するプログラムが登録される。通信検出手段１１ｃは、通信が確立すると呼び出され、その通信確立に関するデータを取得する。
【００２７】
なお、Ｗｉｎｄｏｗｓ（登録商標）  Ｆｉｌｔｅｒｉｎｇ  Ｐｌａｔｆｏｒｍを用いる場合、通信検出手段１１ｃは、呼び出されると、通信内容にかかわらずFWP_ACTION_CONTINUEを結果として返答する。具体的には通信検出手段１１ｃは、この通信を許可するか否かは他のファイアウォールに委ね、専ら通信ログを取得する。
【００２８】
検出手段１１は、プロセス検出手段１１ａ、モジュール読込検出手段１１ｂおよび通信検出手段１１ｃのうちのいずれかがイベントを検出すると、そのイベントに関するデータから構造体データ２１を生成して、記憶装置２０に記憶する。構造体データ２１は、図３に示すような構造を有し、時刻”time”、ログ種別”logtype”、プロセス識別子”current_pid”、親プロセス識別子”parent_pid”、イメージファイル名”imagefilename”、コマンドライン”commandline”、送信元アドレス”local_address”およびポート番号”local_port”、送信先アドレス”remort_address”およびポート番号”remote_port”、およびプロトコル識別子”protocol”を含む。
【００２９】
「時刻」、「ログ種別」および「プロセス識別子」は、イベント種別に関わらず、設定される。「時刻」は、イベントが生じた時刻を設定する。「ログ種別」は、プロセス起動、プロセス終了、モジュール読込、通信確立のいずれかのイベントの識別子を設定する。「プロセス識別子」は、プロセス起動およびプロセス終了については、それぞれ起動および終了の対象となったプロセスの識別子を設定され、モジュール読込については、モジュールを読み込んだプロセスの識別子を設定され、通信確立については、通信を発生させたプロセスの識別子を設定する。
【００３０】
「親プロセス識別子」は、イベント種別がプロセス起動の場合に設定される。新たに起動されるプロセスを起動したプロセスを親プロセスとして、「親プロセス識別子」は、その親プロセスの識別子を設定する。
【００３１】
「イメージファイル名」は、イベント種別がプロセス起動またはモジュール読込の場合に、起動されるプロセスや読み込まれるモジュールの実行ファイルへのパスを特定する情報である。パスは、絶対パスで表記されても良いし、所定フォルダからの相対パスで表記されても良い。イベント種別がプロセス起動の場合、「イメージファイル名」には、実行イメージファイルパスが設定される。イベント種別がプロセス起動の場合、「イメージファイル名」には、モジュールイメージパスが設定される。
【００３２】
「コマンドライン」は、イベント種別がプロセス起動の場合に、起動されるプロセスをコマンドライン形式で特定する情報である。コマンドラインは、起動されるプロセスの実行ファイルへのパスと、その実行ファイルの引数とを対応づけたデータである。
【００３３】
「送信元アドレスおよびポート番号」、「送信先アドレスおよびポート番号」、および「プロトコル識別子」は、イベント種別が通信確立の場合に設定される。「送信元アドレスおよびポート番号」および「送信先アドレスおよびポート番号」は、通信が確立した際の送信元のアドレスおよびポート番号、さらに送信先のアドレスおよびポート番号を設定する。「プロトコル識別子」は、確立した通信のＴＣＰ、ＵＤＰなどのトランスポート層のプロトコル種別を設定する。
【００３４】
構造体データ２１において、設定されない項目には、例えば、ｎｕｌｌ値が設定される。設定されない項目は、例えば、プロセス起動、プロセス終了およびモジュール読込における「送信元アドレスおよびポート番号」、「送信先アドレスおよびポート番号」、および「プロトコル識別子」である。
【００３５】
検出手段１１が構造体データ２１を記憶装置２０に記憶すると、整形手段１２が、構造体データ２１をレコードデータ２２に変換する。整形手段１２は、検出手段１１が出力したプロセス識別子およびイベントに関連するデータを、ＣＳＶ形式のレコードデータ２２に変換する。ここで整形手段１２は、構造体データ２１の各データ項目をカンマで区切って並べることにより、レコードデータ２２を生成し、書込手段１３にレコードデータ２２をログデータ２３に挿入させる。
【００３６】
整形手段１２は、レコードデータ２２を、ログデータ２３に挿入してログデータ２３を更新する。
【００３７】
ここで、検出手段１１、整形手段１２および書込手段１３は、カーネルモードで実装される。オペレーションシステムの制限によっては、検出手段１１、整形手段１２および書込手段１３は、異なる優先度で呼び出される場合がある。具体的には、検出手段１１および整形手段１２は、ＰＡＳＳＩＶＥ＿ＬＥＶＥＬより優先度の高いレベルで呼び出される一方、書込手段１３は、ファイル書込を伴うので、ＰＡＳＳＩＶＥ＿ＬＥＶＥＬで呼び出されるという制限が生じる場合がある。
【００３８】
その場合、本発明の実施の形態において整形手段１２は、生成したレコードデータ２２をメモリに展開する。整形手段１２は、メモリに展開したレコードデータ２２のアドレスを、書込手段１３に処理させるためのキューに入力する。
【００３９】
書込手段１３は、ＰＡＳＳＩＶＥ＿ＬＥＶＥＬで実行可能なタイミングで、キューに登録された処理を逐次実行する。この際書込手段１３は、処理対象のレコードデータ２２のアドレスを特定し、特定したアドレスに基づいてメモリからレコードデータ２２を抽出し、ログデータ２３に挿入する。
【００４０】
これにより本発明の実施の形態に係るログ取得装置１は、検出手段１１、整形手段１２および書込手段１３をカーネルモードで実装するとともに、検出手段１１および整形手段１２は、優先度を高く処理することができる。さらにログ取得装置１は、低い優先度レベルでも実行可能なタイミングで書込手段１３にログデータ２３を更新させることができる。これによりログ取得装置１は、アプリケーションの実行に伴うログを、リアルタイムに取得することができる。
【００４１】
（ログ取得方法）
図４を参照して、本発明の実施の形態に係るログ取得方法を説明する。
【００４２】
まずステップＳ１０１においてログ取得装置１の検出手段１１は、イベントの発生を待機する。イベントが発生すると、ステップＳ１０２に進む。ステップＳ１０２において検出手段１１は、発生したイベントのプロセス識別子と、イベントに関連するデータを含む構造体データ２１を生成する。
【００４３】
ステップＳ１０３において整形手段１２は、構造体データ２１をレコードデータ２２に変換する。さらにステップＳ１０４において整形手段１２は、ステップＳ１０３で生成したレコードデータ２２をメモリにコピーし、レコードデータ２２がコピーされたメモリのアドレスに基づいて書込手段１３に処理させるためのキューに登録する。
【００４４】
ステップＳ１０５において書込手段１３は、書込処理が出来るタイミングで、キューに登録されたメモリのアドレスに基づいてレコードデータ２２を抽出し、抽出したレコードデータ２２をログデータ２３に挿入して、ログデータ２３を更新する。
【００４５】
（ログデータ）
図５を参照して、本発明の実施の形態に係るログデータ２３の一例を説明する。図５に示す例において、ログデータ２３の各項目うち、時刻、ログ種別、プロセス識別子、親プロセス識別子、コマンドライン、送信元ＩＰアドレス、送信元ポート番号、送信先ＩＰアドレスおよび送信先ポート番号の各項目を抜きだしている。
【００４６】
図５に示す例において、プロセス起動の種別を”PROCESS_LAUNCH”と表記する。プロセス終了の種別を”PROCESS_QUIT”と表記する。モジュール読込の種別を”PROCESS_MODLOAD”と表記する。接続確立（ＩＰｖ４）の種別を”NETWORKV4”と表記する。また、図５に示す例において、プロセス起動における送信元ＩＰアドレス、送信元ポート番号、送信先ＩＰアドレスおよび送信先ポート番号などの項目も割愛している。また、モジュール読込のコマンドライン欄において、モジュールイメージパスを記載している。
【００４７】
図５に示す例において、レコードＲ１ないしＲ７およびＲ１８は、親プロセス識別子“１８４８”から派生した一連のプロセスのイベントのログである。レコードＲ８、９、１２ないし１６は、親プロセス識別子“７５２”から派生した一連のプロセスのイベントのログである。レコードＲ１０および１７は、プロセス識別子“４”に関連する一連のプロセスのイベントのログである。レコードＲ１１は、プロセス識別子“９０４”のプロセスのログである。
【００４８】
ここでレコードＲ１ないしＲ７およびＲ１８を参照すると、レコードＲ１は、親プロセス識別子“１８４８”が、プロセス識別子“１８３２”を起動したことを示す。プロセス識別子“１８３２”は、レコードＲ２およびＲ３が示すように、それぞれモジュールを呼び出す。さらにレコードＲ４およびＲ５が示すように、プロセス識別子“１８３２”はプロセス識別子“２０６８”を起動し、プロセス識別子“２０６８”は、プロセス識別子“１８９６”を起動する。その後、レコードＲ４で起動されたプロセス識別子“２０６８”のプロセスは、レコードＲ６に示すように終了し、レコードＲ１で起動されたプロセス識別子“１８３２”のプロセスは、レコードＲ７に示すように終了する。この時点において、親プロセス識別子“１８４８”から派生した一連のプロセスのうち、プロセス識別子“１８４８”の親プロセスと、レコードＲ５で起動されたプロセス識別子“１８９６”が生きている。その後、レコードＲ１８が示すように、プロセス識別子“１８９６”は、ＩＰアドレス「６４．４．１１．４２」およびポート番号「８０」に通信する。
【００４９】
ここで、ＩＰアドレス「６４．４．１１．４２」が不正アドレスであると判明した場合、この通信を辿ると、レコードＲ１で起動されたinvoice_928649039284232_9482934d88.pdf.exeがマルウェアであったと判別できる。さらに、このマルウェアがレコードＲ４およびＲ５で起動したzdttuqbg.exeも、マルウェアであったと判別できる。
【００５０】
このように本発明の実施の形態に係るログ取得装置１は、プロセスのプロセス識別子をキーに、通信のログと、プロセスおよびモジュールのログとを一つのログに纏めて記憶する。従って、ログ取得装置１は、プロセスと通信の関係から、悪意のあるプログラムや通信先を特定することが可能となる。
【００５１】
またログデータとして保存することができるので、後に問題が発覚した際に、過去の情報に遡って調査することが可能となる。これにより、問題が発覚した時点で通信が終了していたり、問題を起こしたプロセスの実行ファイルが消去されたりする場合などにおいても、ログ取得装置１は、ログデータを参照して、悪意のあるプログラムを特定することができる。
【００５２】
また本発明の実施の形態に係るログ取得装置１は、カーネルドライバとしてログを取得するので、プロセスの起動時から終了時まで、プロセスに関連する通信のログを取得し続け、かつマルウェアによるプロセス情報の隠蔽処理を回避することができる。
【００５３】
（変形例）
上述した本発明の実施の形態に係るログ取得装置１に、さらに下記のような変形例が考えられる。
【００５４】
一般的に、既に起動済のプログラムに対して、悪意のあるコードを注入することで、攻撃を行うマルウェアも存在する。このようなマルウェアが実行された場合、本発明の実施の形態に係るログ取得装置１は、注入されたプログラムが不正な挙動を実施していると記録するため、注入の有無が不明な場合において、ログを通して、誤った認識を与えてしまう可能性が考えられる。従って、検出手段１１にコードの注入を検知する処理を追加することで、注入処理が実行された場合にその情報のログに記録することが可能となる。
【００５５】
また本発明の実施の形態に係るログ取得装置１は、カーネルで常駐してログを取得するため、ログの肥大化が予想される。これに対して、ログをＺＩＰ圧縮して保管する、定期的に外部ストレージにバックアップする、定期的に削除するなどの対応を取ることにより、十分対応することが可能となる。
【００５６】
さらに本発明の実施の形態に係るログ取得方法を、統括的なログ解析ツールと連携して攻撃兆候の検知を実施した場合において、誤認識が発生し、不要なアラートや攻撃の見過ごしが発生する可能性がある問題がある。
【００５７】
一例として、図５に示すログデータ２３のように、マルウェアとブラウザの通信を完全に分離して判定する。これにより、本発明の実施の形態に係るログ取得装置１は、特定のプロセスが特定のサーバへの接続試行を繰り返している、もしくは特定のサーバとの接続を常に張りその時間も長いといったルールにより、ログデータ２３を、攻撃兆候検知の一要素として使用することが出来る。
【００５８】
一方で寄生型マルウェアがブラウザにコードを注入し、ブラウザの通信として不正通信を実施していた場合、不正通信に関してもブラウザの通信であるということにより不正通信を見過ごし、通常の攻撃兆候検知よりも検知が遅くなる可能性が考えられる。
【００５９】
この問題に対しては、本発明の実施の形態に係るログ取得装置１が取得するデータを検知目的の補助要素としてのみ用いることに加え、このような問題が発生する可能性があることを考慮に入れた検知ルールの作成が必要となる。一例として、特定のプロセスの通信であればすべて許可という判断を実施しないように設定するなどが挙げられる。
【００６０】
さらに本発明の実施の形態に係るログ取得装置１は、Ｋｅｅｐ−Ａｌｉｖｅな通信ログを記録したり、ＨＴＴＰのプロトコル解析を実装してアクセス先のＵＲＩも取得したりすることにより、ログデータ２３をより充実させることができる。
【００６１】
（その他の実施の形態）
上記のように、本発明の実施の形態およびその変形例によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【００６２】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【００６３】
１  ログ取得装置
１０  処理装置
１１  検出手段
１１ａ  プロセス検出手段
１１ｂ  モジュール読込検出手段
１１ｃ  通信検出手段
１２  整形手段
１３  書込手段
１４  アプリケーション実行手段
２０  記憶装置
２１  構造体データ
２２  レコードデータ
２３  ログデータ
３０  通信制御装置
４０  入力装置
５０  出力装置
【図１】
2016009227.tif 000003
【図２】
2016009227.tif 000004
【図３】
2016009227.tif 000005
【図４】
2016009227.tif 000006
【図５】
2016009227.tif 000007