(57)【要約】【課題】不正アクセスが行われたか否かについての有用な情報を提供する。【解決手段】ネットワーク監視装置１０は、情報処理装置２１から情報処理装置２２に対して行われた１又は複数の回数のアクセスについてのパケットを取得する。ネットワーク監視装置１０は、複数の条件の中から、アクセス元である情報処理装置２１とアクセス先である情報処理装置２２との組に応じた１又は複数の条件を選択し、取得したパケットが選択した１又は複数の条件それぞれを具備するか判定する。ネットワーク監視装置１０は、複数の条件のうち具備すると判定された条件の数に基づいて、情報処理装置２２に対して不正アクセスが行われた可能性を判定する。【選択図】図１
2014086822.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置の間でパケットが送信されるネットワークに接続されたネットワーク監視装置が実行する不正アクセス検出方法であって、
一の情報処理装置から他の一の情報処理装置に対して行われた１又は複数の回数のアクセスについてのパケットを取得し、
複数の条件の中から、アクセス元である前記一の情報処理装置とアクセス先である前記他の一の情報処理装置との組に応じた１又は複数の条件を選択し、前記取得したパケットが前記選択した１又は複数の条件それぞれを具備するか判定し、
前記複数の条件のうち具備すると判定された条件の数に基づいて、前記他の一の情報処理装置に対して不正アクセスが行われた可能性を判定する、
不正アクセス検出方法。
【請求項２】
前記取得したパケットは、前記一の情報処理装置から前記他の一の情報処理装置へ送信された認証リクエストのパケット、及び、前記他の一の情報処理装置から前記一の情報処理装置へ返信された認証レスポンスのパケットの少なくとも一方を含む、請求項１記載の不正アクセス検出方法。
【請求項３】
前記複数の条件の１つは、認証リクエストに含まれるユーザ情報と当該認証リクエストに対応する認証レスポンスに含まれるユーザ情報とが異なることである、請求項２記載の不正アクセス検出方法。
【請求項４】
前記複数の条件は、認証失敗を示す認証レスポンスがＮ回（Ｎは２以上の整数）以上返信されたことである第１の条件と、認証失敗を示す認証レスポンスがＭ回（ＭはＮ＞Ｍを満たす１以上の整数）以上返信されたことである第２の条件とを含み、
前記第１の条件と前記第２の条件とは排他的に選択される、
請求項２又は３記載の不正アクセス検出方法。
【請求項５】
前記複数の条件の１つは、アクセス元の情報処理装置とアクセス先の情報処理装置との組が、許可されるアクセスとして登録されていないか又は禁止されるアクセスとして登録されていることである、請求項１乃至４の何れか一項に記載の不正アクセス検出方法。
【請求項６】
前記不正アクセスが行われた可能性を示す情報として、複数の警告レベルの中から選択した何れかの警告レベルを示す情報を出力する、請求項１乃至５の何れか一項に記載の不正アクセス検出方法。
【請求項７】
複数の情報処理装置の間でパケットが送信されるネットワークに接続されたネットワーク監視装置であって、
一の情報処理装置から他の一の情報処理装置に対して行われた１又は複数の回数のアクセスについてのパケットを取得する受信部と、
複数の条件の中からアクセス元である前記一の情報処理装置とアクセス先である前記他の一の情報処理装置との組に応じた１又は複数の条件を選択し、前記取得したパケットが前記選択した１又は複数の条件それぞれを具備するか判定し、前記複数の条件のうち具備すると判定された条件の数に基づいて前記他の一の情報処理装置に対して不正アクセスが行われた可能性を判定する判定部と、
を有するネットワーク監視装置。
【請求項８】
複数の情報処理装置の間でパケットが送信されるネットワークに接続されるコンピュータに実行させるプログラムであって、前記コンピュータに、
一の情報処理装置から他の一の情報処理装置に対して行われた１又は複数の回数のアクセスについてのパケットを取得し、
複数の条件の中から、アクセス元である前記一の情報処理装置とアクセス先である前記他の一の情報処理装置との組に応じた１又は複数の条件を選択し、前記取得したパケットが前記選択した１又は複数の条件それぞれを具備するか判定し、
前記複数の条件のうち具備すると判定された条件の数に基づいて、前記他の一の情報処理装置に対して不正アクセスが行われた可能性を判定する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は不正アクセス検出方法、ネットワーク監視装置及びプログラムに関する。
【背景技術】
【０００２】
現在、情報処理装置を利用した情報管理が普及し、個人情報や機密情報などの重要情報を情報処理装置に格納しておくことが多くなっている。これに伴い、特定の個人や組織を標的にして情報処理装置から重要情報を不正に窃取する標的型攻撃が発生している。標的型攻撃では、いわゆるマルウェアと呼ばれる不正プログラムが使用されることがある。
【０００３】
例えば、標的とする組織に対して電子メールなどを利用して不正プログラムを送り込み、その組織が使用する情報処理装置を不正プログラムに感染させる。不正プログラムに感染した情報処理装置は、その情報処理装置に格納された重要情報を、攻撃者が制御する情報処理装置に送信してしまうことがある。また、不正プログラムに感染した情報処理装置を踏み台として利用して、同じネットワークに属する他の情報処理装置に不正プログラムを送り込み、又は、他の情報処理装置から重要情報を収集することもある。
【０００４】
一方で、このような不正プログラムによる攻撃を検出できるようにする情報セキュリティシステムが研究されている。情報セキュリティシステムには、侵入検知システム（ＩＤＳ：Intrusion Detection System）、侵入防止システム（ＩＰＳ：Intrusion Prevention System）、ファイアウォールなどと呼ばれるものが含まれる。ネットワークを流れるパケットを監視するネットワーク型の情報セキュリティシステムでは、不正プログラムによる攻撃を検出する方法として次のような方法が提案されている。
【０００５】
一例として、ネットワークトラフィックストリームを上位レベルのイベントに変換し、予め記述されたセキュリティポリシに従ってイベントを処理することで、リアルタイムに攻撃を検出する方法が提案されている。また、予め定義された不正トラフィックのパターンと現在のネットワークトラフィックとを照合することで、不正トラフィックを検出してシステム管理者に警告する方法が提案されている。また、アプリケーションソフトウェアの既知の脆弱性を利用した攻撃であるトラフィックをネットワーク上で検出し、検出したトラフィックのフィルタリングを行う方法が提案されている。
【０００６】
また、複数のコンピュータが行っている通信の類似性に基づいて通信の集合体（aggregate）を検出し、検出した集合体に基づいてマルウェアに感染したコンピュータ群の候補を判定する方法が提案されている。集合体の検出では、通信を行っているコンピュータに搭載されたソフトウェア、通信内容、通信相手が属する外部ネットワークが考慮される。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】V. Paxson, "Bro: A System for Detecting Network Intruders in Real-Time", Proc. of the 7th USENIX Security Symposium, 1998
【非特許文献２】M. Roesch, "Snort - Lightweight Intrusion Detection for Networks", Proc. of the 13th Systems Administration Conference, pp. 229-238, 1999
【非特許文献３】H. Wang, C. Guo, D. Simon and A. Zugenmaier, "Shield: Vulnerability-Driven Network Filters for Preventing Known Vulnerability Exploits", Proc. of ACM SIGCOMM '04 Conference, 2004
【非特許文献４】T. Yen and M. Reiter, "Traffic Aggregation for Malware Detection", Proc. of the 5th Conference on Detection of Intrusions and Malware & Vulnerability Assessment, pp. 207-227, 2008
【発明の概要】
【発明が解決しようとする課題】
【０００８】
不正プログラムによる攻撃の過程では、ある情報処理装置（例えば、先に不正プログラムに感染したもの）が、次に侵入できる情報処理装置を探すために、同じネットワークに属する他の情報処理装置をスキャンすることがある。例えば、ある情報処理装置が他の情報処理装置にアクセスしてみて、既知の脆弱性を利用した不正侵入が可能か否かを、レスポンスに含まれる情報に基づいて判断することが考えられる。また、例えば、ある情報処理装置が、窃取したログイン情報を含む認証リクエストを送信してみて、そのログイン情報を利用してログイン可能な他の情報処理装置を探すことも考えられる。
【０００９】
情報処理装置に不正侵入するための不正アクセスは、情報セキュリティシステムによって検出されることが好ましい。しかし、ある情報処理装置から他の情報処理装置へのアクセスが不正アクセスであるか否かを精度よく判定することは容易でない。
【００１０】
例えば、不正アクセス以外の正常アクセスであっても、アクセス先の情報処理装置によっては（例えば、アクセス先が認証を要するファイルサーバである場合には）、頻繁にログイン操作が行われ得る。また、正常アクセスであっても、ユーザの操作ミスなどによって誤ったログイン情報を送信してしまい認証失敗になることもある。逆に、不正アクセスであっても、ゲスト認証（匿名によるアクセス）を許可している情報処理装置は、誤ったログイン情報を含む認証リクエストに対して認証成功と判断してしまうこともある。
【００１１】
このため、アクセス回数や認証失敗の回数などについて固定的な条件を１つ定めて、アクセスがその条件に該当するとき不正アクセスと判定し該当しないとき不正アクセスでないと判定すると、不正アクセスの誤検出や検出漏れが発生し得る。この場合、情報セキュリティシステムが提供する情報を有効に活用することが難しい。
【００１２】
１つの側面では、本発明は、不正アクセスが行われたか否かについての有用な情報を提供する不正アクセス検出方法、ネットワーク監視装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
１つの態様では、複数の情報処理装置の間でパケットが送信されるネットワークに接続されたネットワーク監視装置が実行する不正アクセス検出方法が提供される。一の情報処理装置から他の一の情報処理装置に対して行われた１又は複数の回数のアクセスについてのパケットを取得する。複数の条件の中から、アクセス元である一の情報処理装置とアクセス先である他の一の情報処理装置との組に応じた１又は複数の条件を選択し、取得したパケットが選択した１又は複数の条件それぞれを具備するか判定する。複数の条件のうち具備すると判定された条件の数に基づいて、他の一の情報処理装置に対して不正アクセスが行われた可能性を判定する。
【００１４】
１つの態様では、複数の情報処理装置の間でパケットが送信されるネットワークに接続されたネットワーク監視装置が提供される。ネットワーク監視装置は、受信部と判定部とを有する。受信部は、一の情報処理装置から他の一の情報処理装置に対して行われた１又は複数の回数のアクセスについてのパケットを取得する。判定部は、複数の条件の中からアクセス元である一の情報処理装置とアクセス先である他の一の情報処理装置との組に応じた１又は複数の条件を選択し、取得したパケットが選択した１又は複数の条件それぞれを具備するか判定し、複数の条件のうち具備すると判定された条件の数に基づいて他の一の情報処理装置に対して不正アクセスが行われた可能性を判定する。
【００１５】
１つの態様では、複数の情報処理装置の間でパケットが送信されるネットワークに接続されるコンピュータに実行させるプログラムが提供される。プログラムを実行するコンピュータは、一の情報処理装置から他の一の情報処理装置に対して行われた１又は複数の回数のアクセスについてのパケットを取得する。複数の条件の中から、アクセス元である一の情報処理装置とアクセス先である他の一の情報処理装置との組に応じた１又は複数の条件を選択し、取得したパケットが選択した１又は複数の条件それぞれを具備するか判定する。複数の条件のうち具備すると判定された条件の数に基づいて、他の一の情報処理装置に対して不正アクセスが行われた可能性を判定する。
【発明の効果】
【００１６】
１つの側面では、不正アクセスが行われたか否かについての有用な情報を提供できる。
【図面の簡単な説明】
【００１７】
【図１】第１の実施の形態に係る情報処理システムの例を示す図である。
【図２】第２の実施の形態に係る情報処理システムの例を示した図である。
【図３】第２の実施の形態に係る監視装置のハードウェアの例を示した図である。
【図４】第２の実施の形態に係る監視装置の機能ブロックの例を示した図である。
【図５】認証方法の一例を示した図である。
【図６】不正プログラムによる攻撃方法の一例を示した図である。
【図７】認証設定に応じたログインスキャンの検出方法を示した図である。
【図８】バージョンスキャンを受けた場合の認証側における動作を示した図である。
【図９】第２の実施の形態に係る認証許可リストの生成方法の例を示した図である。
【図１０】第２の実施の形態に係る認証許可リストの例を示した図である。
【図１１】第２の実施の形態に係る振る舞い表の例を示した図である。
【図１２】第２の実施の形態に係る警告データの例を示した図である。
【図１３】第２の実施の形態に係る監視処理の流れを示した第１の図である。
【図１４】第２の実施の形態に係る監視処理の流れを示した第２の図である。
【図１５】第２の実施の形態に係る監視処理の流れを示した第３の図である。
【発明を実施するための形態】
【００１８】
以下、本実施の形態を、図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態に係る情報処理システムの例を示す図である。
【００１９】
第１の実施の形態の情報処理システムは、ネットワーク監視装置１０と情報処理装置２１〜２３を含む複数の情報処理装置とを有する。ネットワーク監視装置１０及び複数の情報処理装置は、ネットワーク３０に接続されている。
【００２０】
複数の情報処理装置は、ネットワーク３０を介してパケットを送信する。パケットの送信には、例えば、ネットワーク層のプロトコルとしてInternet Protocol（ＩＰ）が用いられ、トランスポート層のプロトコルとしてTransmission Control Protocol（ＴＣＰ）が用いられる。各情報処理装置は、ユーザが操作する端末装置としてのクライアント装置でもよいし、クライアント装置からアクセスされるサーバ装置でもよい。例えば、情報処理装置２１がクライアント装置であり、情報処理装置２２，２３がサーバ装置である。
【００２１】
複数の情報処理装置は、標的型攻撃に用いられる不正プログラム（マルウェアと呼ばれることがある）に感染する可能性がある。不正プログラムは、例えば、ネットワーク３０の外部にある攻撃者の情報処理装置から、インターネットなどの広域ネットワークを介してネットワーク３０に属する何れかの情報処理装置に送り込まれる。
【００２２】
第１の実施の形態では、情報処理装置２１が先に不正プログラムに感染し、情報処理装置２１が同一ネットワーク内の他の情報処理装置をスキャンして、次に侵入できる情報処理装置を探す場合を考える。その過程で、情報処理装置２１は情報処理装置２２，２３にアクセスする可能性がある。情報処理装置２１から他の一の情報処理装置へのアクセスでは、例えば、認証リクエストのパケットが情報処理装置２１から当該他の一の情報処理装置に送信される。また、例えば、認証リクエストに対する認証レスポンスのパケットが、当該他の一の情報処理装置から情報処理装置２１に返信される。
【００２３】
情報処理装置２１は、脆弱性に関する情報（例えば、Operating System（ＯＳ）の種類やバージョン番号）を取得するために他の情報処理装置にアクセスするとき、ユーザ名やパスワードなどのログイン情報を含まない認証リクエストを送信することがある。かかる目的の不正アクセスは、バージョンスキャンと呼ぶこともできる。また、情報処理装置２１は、窃取済みのログイン情報を用いてログイン可能な他の情報処理装置を探すとき、その窃取済みのログイン情報を含む認証リクエストを送信することがある。かかる目的の不正アクセスは、ログインスキャンと呼ぶこともできる。
【００２４】
ここで、アクセス先の情報処理装置の設定によっては、正しいログイン情報を含まない認証リクエストに対しても認証失敗と判断しないことがある。例えば、ゲスト認証（匿名によるアクセス）を許可している情報処理装置は、ユーザ名及びパスワードが空である認証リクエストや、登録されていないユーザ名を含む認証リクエストを受信したとき、認証成功を示す認証レスポンスを返信する可能性がある。このため、認証失敗の回数について固定的な条件を１つのみ定義し、定義した条件を具備するか否かによって不正アクセスを判定しようとしても、判定精度を向上させるのは容易でない。
【００２５】
また、情報処理装置２１以外の情報処理装置には、通常時でも情報処理装置２１からのログインの頻度が高いものとログインの頻度が低いものとが存在し得る。例えば、前者として認証を要するファイルサーバが挙げられ、後者としてＷｅｂサーバが挙げられる。このため、アクセス回数について固定的な条件を１つのみ定義し、定義した条件を具備するか否かによって不正アクセスを判定しようとしても、判定精度を向上させるのは容易でない。そこで、第１の実施の形態のネットワーク監視装置１０は、情報処理装置の間のアクセス状況を総合的に検討して、不正アクセスが行われた可能性を判定する。
【００２６】
ネットワーク監視装置１０は、ネットワーク３０を流れるパケットに基づいて、不正プログラムによって不正アクセスが行われているかを監視する。ネットワーク監視装置１０は、ルータやファイアウォールなどのパケットを送信する通信装置でもよいし、通信装置からパケットの複製を取得して分析するコンピュータであってもよい。
【００２７】
ネットワーク監視装置１０は、受信部１１、記憶部１２及び判定部１３を有する。
受信部１１は、複数の情報処理装置の間で送信されるパケットを取得する。受信部１１は、例えば、ケーブルでネットワーク３０に接続される有線通信インターフェースである。受信部１１は、特に、情報処理装置２１から情報処理装置２２，２３に対して行われた１又は複数の回数のアクセスについてのパケットを取得する。受信部１１が取得するパケットには、例えば、情報処理装置２１から情報処理装置２２，２３に送信された認証リクエストのパケット、及び、情報処理装置２２，２３から情報処理装置２１に返信された認証レスポンスのパケットの少なくとも一方が含まれる。
【００２８】
記憶部１２は、パケットについて予め定義された複数の条件を示す条件情報１４を記憶する。記憶部１２は、Random Access Memory（ＲＡＭ）などの揮発性メモリでもよいし、Hard Disk Drive（ＨＤＤ）などの不揮発性記憶装置でもよい。条件情報１４が示す各条件は、不正アクセスが行われたときに検出され得る状況を示す。ただし、個々の条件は、不正アクセス以外の正常アクセスが行われたときにも当てはまる可能性がある。条件情報１４は、複数の条件とアクセス元・アクセス先の組とを対応付けている。図１の例では、情報処理装置２１（＃１）から情報処理装置２２（＃２）へのアクセスには条件１と条件３が適用され、情報処理装置２１（＃１）から情報処理装置２３（＃３）へのアクセスには条件１と条件２が適用される。
【００２９】
複数の条件のうちの１つは、アクセス元・アクセス先の組が、許可されるアクセスとして所定のリストに登録されていないか、又は、禁止されるアクセスとして所定のリストに登録されていることであってもよい。また、複数の条件のうちの１つは、認証失敗がＮ回（Ｎは２以上の整数）以上発生したことであり、複数の条件のうちの他の１つは、認証失敗がＭ回（ＭはＮ＞Ｍを満たす１以上の整数）以上発生したことでもよい。この場合、１つのアクセス元・アクセス先の組に対して、前者と後者の何れか一方が排他的に適用されることが好ましい。また、複数の条件のうちの１つは、認証リクエストに含まれるユーザ名とその認証リクエストに対応する認証レスポンスに含まれるユーザ情報から導出したユーザ名とが異なることであってもよい。これは、ゲスト認証により認証成功と判断されたときに発生し得る。
【００３０】
判定部１３は、受信部１１によって取得されたパケット（キャプチャされたパケットと言うこともできる）を分析する。判定部１３は、Central Processing Unit（ＣＰＵ）やDigital Signal Processor（ＤＳＰ）などのプロセッサを含んでもよく、プロセッサに実行させるプログラムを記憶するＲＡＭなどのメモリを含んでもよい。複数のプロセッサの集合（マルチプロセッサ）を「プロセッサ」と呼んでもよい。また、判定部１３は、Application Specific Integrated Circuit（ＡＳＩＣ）やField-Programmable Gate Array（ＦＰＧＡ）などの特定用途の集積回路を含んでもよい。
【００３１】
判定部１３は、記憶部１２に記憶された条件情報１４が示す複数の条件のうち、アクセス元である一の情報処理装置とアクセス先である他の一の情報処理装置との組に対応する１又は複数の条件を選択する。例えば、判定部１３は、情報処理装置２１から情報処理装置２２へのアクセスのパケットが取得されたとき、条件１と条件３を選択する。また、例えば、判定部１３は、情報処理装置２１から情報処理装置２３へのアクセスのパケットが取得されたとき、条件１と条件２を選択する。アクセス元は、例えば、認証リクエストのパケットの送信元アドレス又は認証レスポンスのパケットの宛先アドレスによって特定できる。また、アクセス先は、例えば、認証リクエストのパケットの宛先アドレス又は認証レスポンスのパケットの送信元アドレスによって特定できる。
【００３２】
判定部１３は、取得されたパケットが上記の選択した１又は複数の条件それぞれを具備するか判定する。ある条件の判定では、例えば、取得されたパケットの送信元アドレスや宛先アドレスが参照され得る。また、ある条件の判定では、例えば、認証レスポンスのパケットに含まれる認証結果（認証成功又は認証失敗を示す情報）や、認証リクエスト及び認証レスポンスのパケットに含まれるユーザ情報が参照され得る。条件の中には、１回のアクセスからその条件を具備するか判定できるものもあるし、アクセス元・アクセス先が同じ複数回のアクセスからその条件を具備するか判定するものもある。
【００３３】
そして、判定部１３は、条件情報１４が示す複数の条件のうち、具備すると判定された条件の数に基づいて、一の情報処理装置から他の一の情報処理装置に対して不正アクセスが行われた可能性を判定する。不正アクセスが行われた可能性は、多段階（例えば、３段階以上）の警告レベルとして表現してもよい。例えば、情報処理装置２１から情報処理装置２２へのアクセスのパケットが条件１と条件３を具備するとき、判定部１３は、不正アクセスが行われた可能性を「高」と判定する。また、例えば、情報処理装置２１から情報処理装置２３へのアクセスのパケットが条件２を具備し条件１を具備しないとき、判定部１３は、不正アクセスが行われた可能性を「中」と判定する。
【００３４】
このとき、判定部１３は、アクセス元の情報処理装置とアクセス先の情報処理装置の組毎に不正アクセスの可能性を判定してもよいし、アクセス元の情報処理装置のグループとアクセス先の情報処理装置のグループの組毎に不正アクセスの可能性を判定してもよい。情報処理装置のグループはドメインであってもよい。不正アクセスの可能性の判定結果は、ネットワーク監視装置１０が備える表示装置（例えば、ディスプレイや警告ランプ）に表示してもよいし、ネットワーク監視装置１０と異なる所定の装置に通知されてもよい。
【００３５】
第１の実施の形態の情報処理システムによれば、パケットについての複数の条件の中からアクセス元・アクセス先の組に応じた条件が選択される。これにより、アクセスの当事者である情報処理装置の違いを考慮した適切な条件を利用することができる。
【００３６】
また、複数の条件のうち該当する条件の数に応じて不正アクセスの可能性が判定される。これにより、固定的な条件を１つ定めてアクセスがその条件に該当するとき不正アクセスと判定し該当しないとき不正アクセスでないと判定する場合と比べて、誤検出を考慮した有用な情報を提供することが可能となる。特に、不正アクセスの可能性を多段階の警告レベルとして表現した場合、システム管理者が適切な対応を取りやすくなる。
【００３７】
従って、第１の実施の形態の情報処理システムによれば、正常なアクセスと精度よく区別することが容易でない不正アクセスについての有用な情報を提供することができる。
［第２の実施の形態］
図２は、第２の実施の形態に係る情報処理システムの例を示した図である。
【００３８】
図２に示すように、第２の実施の形態に係る情報処理システム１００は、端末装置１０１、ネットワーク監視装置１１０、ドメイン管理サーバＳ１、ＷｅｂサーバＳ２、Ｓ４、ファイルサーバＳ３、及びクライアントＣ１、Ｃ２、Ｃ３、Ｃ４を含む。
【００３９】
端末装置１０１、ネットワーク監視装置１１０、ドメイン管理サーバＳ１、ＷｅｂサーバＳ２、Ｓ４、ファイルサーバＳ３、及びクライアントＣ１、Ｃ２、Ｃ３、Ｃ４は、ネットワーク９４を介して接続されている。また、ドメイン管理サーバＳ１、ＷｅｂサーバＳ２、及びクライアントＣ１、Ｃ２は、ドメインＡに属する。また、ファイルサーバＳ３、ＷｅｂサーバＳ４、及びクライアントＣ３、Ｃ４は、ドメインＢに属する。
【００４０】
ドメイン管理サーバＳ１、ＷｅｂサーバＳ２、Ｓ４、ファイルサーバＳ３は、サーバ装置の一例である。クライアントＣ１、Ｃ２、Ｃ３、Ｃ４は、ユーザが操作するクライアント装置の一例である。ドメイン管理サーバＳ１、ＷｅｂサーバＳ２、Ｓ４、ファイルサーバＳ３、及びクライアントＣ１、Ｃ２、Ｃ３、Ｃ４は、ネットワーク９４を介してパケットを送信する。ドメイン管理サーバＳ１、ＷｅｂサーバＳ２、Ｓ４、ファイルサーバＳ３、及びクライアントＣ１、Ｃ２、Ｃ３、Ｃ４によるパケットの送信には、例えば、ネットワーク層のプロトコルとしてＩＰが用いられ、トランスポート層のプロトコルとしてＴＣＰが用いられる。
【００４１】
ネットワーク監視装置１１０は、情報処理システム１００の管理者が使用する管理用の装置である。ネットワーク監視装置１１０は、ネットワーク９４を介して送信されるパケットを監視し、クライアントＣ１、Ｃ２、Ｃ３、Ｃ４に侵入した不正プログラムによる攻撃を検出する。例えば、ネットワーク監視装置１１０は、クライアントＣ１、Ｃ２、Ｃ３、Ｃ４がドメイン管理サーバＳ１、ＷｅｂサーバＳ２、Ｓ４、ファイルサーバＳ３に対して実行する不正な認証手続などを検出する。
【００４２】
端末装置１０１は、ネットワーク監視装置１１０が不正プログラムによる攻撃を検出した場合に発する警告を受け取る装置である。ネットワーク監視装置１１０から警告を受け取った端末装置１０１は、攻撃の検出を監視者に通知するための警告表示や警告音声の出力などを行う。以下の説明では、図２に例示したシステムを想定してネットワーク監視装置１１０の機能及び動作などについて述べる。
【００４３】
まず、図３を参照しながら、ネットワーク監視装置１１０の機能を実現することが可能なハードウェアの例について説明する。図３は、第２の実施の形態に係る監視装置のハードウェアの例を示した図である。図３に示すように、ネットワーク監視装置１１０は、例えば、ＣＰＵ９０１、ＲＡＭ９０２、ＨＤＤ９０３、画像信号処理部９０４、入力信号処理部９０５、ディスクドライブ９０６、及び通信インターフェース９０７を有する。
【００４４】
なお、ＣＰＵ９０１は、第１の実施の形態の判定部１３の一例である。ＲＡＭ９０２やＨＤＤ９０３は、第１の実施の形態の記憶部１２の一例である。ＣＰＵ９０１や通信インターフェース９０７は、第１の実施の形態に係る受信部１１の一例である。
【００４５】
ＣＰＵ９０１は、プログラムに記述された命令を実行する演算器を含むプロセッサである。ＣＰＵ９０１は、ＨＤＤ９０３に記憶されているプログラムやデータの少なくとも一部をＲＡＭ９０２にロードし、プログラムに記述された命令を実行する。なお、ＣＰＵ９０１は、複数のプロセッサコアを含んでいてもよい。また、ネットワーク監視装置１１０は、複数のＣＰＵ９０１を搭載していてもよい。この場合、ネットワーク監視装置１１０は、処理を並列実行することができる。
【００４６】
ＲＡＭ９０２は、ＣＰＵ９０１が実行するプログラムや、処理に用いられるデータを一時的に記憶するための揮発性メモリである。なお、ネットワーク監視装置１１０は、ＲＡＭ９０２とは異なる種類のメモリを有していてもよい。また、ネットワーク監視装置１１０は、複数のメモリを備えていてもよい。
【００４７】
ＨＤＤ９０３は、ＯＳ、ファームウェア、或いは、アプリケーションソフトウェアなどのプログラムや、処理に用いられるデータなどを記憶する不揮発性記憶装置の一例である。なお、ネットワーク監視装置１１０は、フラッシュメモリやSolid State Drive（ＳＳＤ）など、ＨＤＤ９０３とは異なる種類の記憶装置を有していてもよい。また、ネットワーク監視装置１１０は、複数の記憶装置を有していてもよい。
【００４８】
画像信号処理部９０４は、ＣＰＵ９０１による制御を受け、ネットワーク監視装置１１０に接続された表示装置９１に画像を出力する。表示装置９１は、例えば、Cathode Ray Tube（ＣＲＴ）ディスプレイ、Liquid Crystal Display（ＬＣＤ）、Plasma Display Panel（ＰＤＰ）、Organic Electro-Luminescence Display（ＯＥＬＤ）などの表示デバイスである。
【００４９】
入力信号処理部９０５は、ネットワーク監視装置１１０に接続された入力デバイス９２から入力信号を取得し、ＣＰＵ９０１に通知する。入力デバイス９２としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、トラックボール、リモートコントローラ、ボタンスイッチなどを用いることができる。
【００５０】
ディスクドライブ９０６は、記録媒体９３に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体９３としては、例えば、Flexible Disk（ＦＤ）、ＨＤＤなどの磁気ディスク、Compact Disc（ＣＤ）やDigital Versatile Disc（ＤＶＤ）などの光ディスク、Magneto-Optical disk（ＭＯ）などの光磁気ディスクを用いることができる。ディスクドライブ９０６は、例えば、ＣＰＵ９０１による制御を受け、記録媒体９３から読み取ったプログラムやデータをＲＡＭ９０２又はＨＤＤ９０３に格納する。
【００５１】
通信インターフェース９０７は、ネットワーク９４を介して他のコンピュータと通信を行うためのインターフェースである。通信インターフェース９０７は、有線インターフェースであってもよいし、無線インターフェースであってもよい。なお、端末装置１０１、ドメイン管理サーバＳ１、ＷｅｂサーバＳ２、Ｓ４、ファイルサーバＳ３、クライアントＣ１、Ｃ２、Ｃ３、Ｃ４の機能も、図３に示したハードウェアの一部又は全部を利用して実現可能である。
【００５２】
上記のハードウェアを用いることで、図４に示すようなネットワーク監視装置１１０の機能を実現することが可能になる。図４は、第２の実施の形態に係る監視装置の機能ブロックの例を示した図である。
【００５３】
図４に示すように、ネットワーク監視装置１１０は、キャプチャ部１１１と、キャプチャデータ記憶部１１２と、個別判定部１１３と、許可リスト記憶部１１４と、総合判定部１１５を有する。さらに、ネットワーク監視装置１１０は、振る舞い表記憶部１１６と、警告データ記憶部１１７と、警告部１１８とを有する。
【００５４】
なお、キャプチャ部１１１、個別判定部１１３、総合判定部１１５、及び警告部１１８が有する機能の一部又は全部は、ＣＰＵ９０１が実行するプログラムのモジュールとして実現できる。また、キャプチャ部１１１、個別判定部１１３、総合判定部１１５、及び警告部１１８が有する機能の一部又は全部をソフトウェアではなく電子回路として実現することも可能である。また、キャプチャデータ記憶部１１２、許可リスト記憶部１１４、振る舞い表記憶部１１６、及び警告データ記憶部１１７は、ＲＡＭ９０２やＨＤＤ９０３に確保された記憶領域である。
【００５５】
キャプチャ部１１１は、ネットワーク９４を介して転送されるパケットをキャプチャする。キャプチャ部１１１は、キャプチャしたパケットに受信時刻（タイムスタンプ）を付加してキャプチャデータ記憶部１１２に格納する。キャプチャデータ記憶部１１２は、キャプチャ部１１１によりキャプチャされたパケットを記憶する。キャプチャデータ記憶部１１２に格納されたパケットは、個別判定部１１３により利用される。
【００５６】
個別判定部１１３は、キャプチャデータ記憶部１１２に格納されたパケットに含まれる認証リクエストや認証レスポンスを解析し、ネットワーク９４を介して行われる不正な認証手続を検出するための情報を収集する。個別判定部１１３は、認証リクエスト監視部１３１と、認証結果監視部１３２と、ユーザ名監視部１３３とを含む。
【００５７】
認証リクエスト監視部１３１は、キャプチャ部１１１によりキャプチャされ、キャプチャデータ記憶部１１２に格納されたパケットが認証レスポンスであるか否かを判定する。例えば、Server Message Block（ＳＭＢ）プロトコルにおける認証手続の場合、パケットに含まれる送信元ポート番号やＳＭＢヘッダの内容（ユーザ名や認証結果など）を確認することで認証レスポンスであるか否かを判定することができる。
【００５８】
ＳＭＢは、ファイル共有などのファイルサービスを実現するために利用される。ＳＭＢは、ファイル共有サービス、プリンタ共有サービス、プロセス間通信、メールスロット機能などを提供する。また、ＳＭＢには、ネットワーク上にあるコンピュータが公開しているリソースの一覧を取得する機能もある。
【００５９】
プロセス間通信（IPC:interprocess communication）は、複数のプロセス間（又は複数のスレッド間）でデータをやり取りする仕組みである。メールスロット機能は、受信側で順にメッセージを取り出して処理することができるように、複数の送信元から送信されたメッセージを一時的に蓄えておく仕組み（メールスロット）を提供する機能である。
【００６０】
ＳＭＢプロトコルは、ネットワーク階層で言えばアプリケーション層やプレゼンテーション層に相当するファイルサービスプロトコルである。ＳＭＢプロトコルの下位プロトコルとしては、例えば、NetBIOS Extended User Interface（ＮｅｔＢＥＵＩ）、ＮＢＴ（NetBIOS over TCP/IP）、ＴＣＰ／ＩＰ、ＩＰＸ（Internetwork Packet Exchange）／ＳＰＸ（Sequenced Packet Exchange）などが利用される。なお、ＳＭＢを拡張し、インターネットなどのネットワークを介してファイル共有サービスなどを利用できるようにしたCommon Internet File System（ＣＩＦＳ）と呼ばれるプロトコルもある。
【００６１】
また、ＳＭＢは、ピアツーピアの動作を前提としている。従って、ＳＭＢでは、クライアントからサーバに何らかの要求が送信され、その要求に応じてサーバが応答する動作が前提とされる。認証手続の場合、認証を求めるクライアントから認証を実施するサーバへと認証を要求するための認証リクエストが送信され、この認証リクエストに応じてサーバからクライアントへと認証結果を含む認証レスポンスが送信される。
【００６２】
認証リクエスト及び認証レスポンスのＳＭＢパケットには、それぞれ、ＩＰヘッダの部分に送信元及び宛先のＩＰアドレスが含まれ、ＴＣＰヘッダの部分に送信元および宛先のポート番号が含まれる。認証リクエストのＳＭＢパケットには、ＳＭＢヘッダにユーザ名や認証用の情報（パスワードなどを利用した情報）が含まれる。認証レスポンスのＳＭＢパケットには、ＳＭＢヘッダにユーザ名を特定するためのユーザ情報や認証結果などの情報が含まれる。そのため、認証リクエスト監視部１３１は、これらの情報を参照することで認証リクエスト及び認証レスポンスを識別することができる。
【００６３】
キャプチャ部１１１によりキャプチャされ、キャプチャデータ記憶部１１２に格納されたパケットが認証レスポンスであると判定した場合、認証リクエスト監視部１３１は、その認証レスポンスに対応する認証リクエストを検索する。例えば、認証リクエスト監視部１３１は、認証レスポンスの送信元ＩＰアドレス及び宛先ＩＰアドレスがそれぞれ宛先ＩＰアドレス及び送信元ＩＰアドレスに一致し、認証レスポンスの送信元ポート番号及び宛先ポート番号がそれぞれ宛先ポート番号及び送信元ポート番号に一致し、さらに認証用の情報を含むパケットを検索する。
【００６４】
認証レスポンス及びこれに対応する認証リクエストが検出された場合、認証リクエスト監視部１３１は、その認証リクエストの属性を判定する。属性の判定には、許可リスト記憶部１１４に格納された認証許可リストが利用される。許可リスト記憶部１１４は、認証許可リストを格納するための記憶部である。認証許可リストは、通常の業務で行われ得る不自然ではないアクセスについて、認証側の装置及びアクセス側の装置を示す情報、及びアクセス側の装置が属するドメイン名を対応付けたデータである。
【００６５】
認証許可リストは、ネットワーク９４上のアクセス状況に基づいて生成されてもよい。例えば、不正プログラムに侵入されていないある期間に、ネットワーク９４を介して送受信される認証リクエスト及び認証レスポンスの組を監視し、認証成功を示す認証レスポンスを検出した場合に、その認証リクエストに含まれる情報から認証許可リストが生成され得る。認証リクエストから認証側の装置及びアクセス側の装置を示すＩＰアドレスや、アクセス側の装置が属するドメイン名の情報が得られるため、これらの情報を利用して認証許可リストが生成される。なお、認証許可リストに含まれる情報のうち、例えば、アクセス側の装置を示すＩＰアドレスが属性１に設定され、アクセス側の装置が属するドメイン名が属性２に設定され、これらの属性を示す情報が認証リクエストの属性を判定するために利用される。
【００６６】
認証リクエスト監視部１３１は、キャプチャデータ記憶部１１２に格納された認証レスポンスに対応する認証リクエストを検出した場合、この認証リクエストの属性が認証許可リストに記載の属性に適合するか否かを判定する。例えば、認証リクエスト監視部１３１は、認証リクエストが上記の属性１に適合するか否かを判定する。さらに、認証リクエスト監視部１３１は、その認証リクエストが上記の属性２に適合するか否かを判定する。上記の属性１及び２以外にも属性が設定されている場合、他の属性についても認証リクエストの適合性が判定される。
【００６７】
認証側とアクセス側の装置の組が認証許可リストに適合するか否かの判定結果（例えば、属性１についての判定結果）は、総合判定部１１５に入力される。上記の通り、認証許可リストには、通常の業務で行われ得る不自然でないアクセスについて、アクセス側の装置と認証側の装置の組が記載されている。従って、上記の判定により、例えば、認証手続の発生自体が不自然なのか、或いは、認証手続の発生自体は不自然でなく１回又は多数回の認証失敗が発生して初めて不自然と言えるかを切り分けることができる。
【００６８】
認証リクエスト監視部１３１は、認証側の装置、アクセス側の装置及びドメイン名が認証許可リストに適合すると判定した場合（例えば、属性１と属性２の両方が適合すると判定した場合）、現在の時点から一定時間前までに受信した認証レスポンスをキャプチャデータ記憶部１１２に格納されたパケットの中から検索する。キャプチャデータ記憶部１１２に格納されたパケットには受信時刻を示すタイムスタンプが付加されているため、このタイムスタンプを参照することで、現在の時点から一定時間前までに受信した認証レスポンスを検索することができる。
【００６９】
認証結果監視部１３２は、現在の時点から一定時間前までに受信した認証レスポンスを参照し、認証失敗がＮ回以上発生しているか否かを判定する。例えば、認証結果監視部１３２は、検索処理で検出された各認証レスポンスのＳＭＢヘッダに含まれる認証結果を参照し、認証失敗を示す認証結果が含まれる認証レスポンスの数をカウントする。そして、認証結果監視部１３２は、カウントした認証レスポンスの数がＮ以上であるか否かを判定する。この判定結果は、総合判定部１１５に入力される。なお、閾値Ｎは、２以上の整数であり、情報処理システム１００の管理者により予め設定される。
【００７０】
また、認証結果監視部１３２は、認証側の装置とアクセス側の装置の組が認証許可リストに適合する（例えば、属性１は適合する）と判定されたが、ドメイン名が認証許可リストに適合しない（例えば、属性２は適合しない）と判定された場合に、認証レスポンスが認証失敗を示すものか否かを判定する。例えば、その認証レスポンスのＳＭＢヘッダに含まれる認証結果を参照することで、認証レスポンスが認証失敗を示すものか否かを判定することができる。例えば、ユーザ名とパスワードの組に誤りがある場合には、認証失敗を示す認証結果をＳＭＢヘッダに含む認証レスポンスが認証側からアクセス側へと送信され得る。この判定結果は、総合判定部１１５に入力される。
【００７１】
ユーザ名監視部１３３は、認証リクエストのユーザ名と認証レスポンスのユーザ情報から導出したユーザ名とが異なるか否かを判定する。なお、認証リクエストのＳＭＢヘッダ及び認証レスポンスのＳＭＢヘッダを参照することで、認証リクエスト時のユーザ名と認証レスポンス時のユーザ名とが異なるか否かを判定することができる。この判定結果は、総合判定部１１５に入力される。
【００７２】
総合判定部１１５は、個別判定部１１３により得られた判定結果に基づいてキャプチャした認証リクエストの攻撃可能性を判定する。このとき、総合判定部１１５は、振る舞い表記憶部１１６に格納された振る舞い表を参照する。振る舞い表記憶部１１６は、認証リクエストの攻撃可能性を判定するためのデータテーブルである振る舞い表を記憶する記憶部である。振る舞い表には、認証側の装置、アクセス側の装置及びドメイン名の組み合わせ、及び、個別判定部１１３から入力された判定結果について複数の条件が割り当てられている。なお、振る舞い表の構成については後段において詳述する。
【００７３】
総合判定部１１５は、個別判定部１１３から入力された各判定結果に基づいて振る舞い表に記載された各条件を満たすか否かを判定する。満たされる条件の数が多い場合、総合判定部１１５は、キャプチャされた認証リクエストが攻撃である可能性が高いと判断する。一方、満たされる条件の数が少ない場合、総合判定部１１５は、キャプチャされた認証リクエストが攻撃である可能性が低いと判断する。
【００７４】
総合判定部１１５は、攻撃可能性の高さを示す警告レベル、認証側及びアクセス側の装置やドメイン名などの情報、及び、個別判定部１１３による判定結果に関する情報などを対応付けた警告データを警告データ記憶部１１７に格納する。警告データ記憶部１１７は、総合判定部１１５により生成された警告データを記憶する記憶部である。警告データ記憶部１１７に格納された警告データは、警告部１１８により管理者に提供される。
【００７５】
警告部１１８は、ネットワーク監視装置１１０にSimple Network Management Protocol（ＳＮＭＰ）が設定されているか否かを判定する。ネットワーク監視装置１１０にＳＮＭＰが設定されている場合、警告部１１８は、警告データ記憶部１１７に格納された警告データをＳＮＭＰトラップで端末装置１０１に送信する。ネットワーク監視装置１１０にＳＮＭＰが設定されていない場合、警告部１１８は、例えば、警告データ記憶部１１７に格納された警告データを電子メールで端末装置１０１に送信する。
【００７６】
以上、第２の実施の形態に係る情報処理システム１００及びネットワーク監視装置１１０の例などについて説明した。
以下、具体例を参照しながら、第２の実施の形態に係る技術について更に説明する。
【００７７】
まず、図５を参照しながら、ＳＭＢにおける認証方法の具体例について述べる。図５は、認証方法の一例を示した図である。
ＳＭＢパケットは、ＩＰヘッダ、ＴＣＰヘッダ、ＳＭＢヘッダを含む。ＩＰヘッダには、送信元及び宛先のＩＰアドレスが含まれる。ＴＣＰヘッダには、送信元及び宛先のポート番号が含まれる。また、認証リクエストの場合、ＳＭＢヘッダには、ユーザ名、認証情報、及びドメイン名などが含まれる。一方、認証レスポンスの場合、ＳＭＢヘッダには、ユーザ情報、認証結果、及びＯＳ情報などが含まれる。
【００７８】
認証リクエストに含まれるユーザ名は、認証を求めるユーザを識別する情報である。認証レスポンスに含まれるユーザ情報は、認証を許可したユーザを識別する情報である。認証情報は、パスワードの情報を含むものであり、ユーザ名と組み合わせて認証に利用される。ドメイン名は、アクセス側の装置が属するドメインのドメイン名を示す。認証結果は、認証リクエストに含まれるユーザ情報、パスワード、ドメイン名を用いた認証が成功したか否かを示す情報である。ＯＳ情報は、認証側の装置で動作するＯＳのＯＳ名やバージョン番号などの情報である。なお、認証リクエストによる要求の種類によっては、認証レスポンスに含まれるＯＳ情報が省略されることがある。
【００７９】
ＳＭＢにおける認証は、図５に示すような認証リクエスト及び認証レスポンスを利用して行われる。アクセス側の装置から認証側の装置へと認証リクエストが送信され、この認証リクエストを受信した認証側の装置がアクセス側の装置へと認証成功を示す認証レスポンスを送信することで認証が完了する。認証側の装置に不正に侵入しようとする不正プログラムは、例えば、図６に示すような方法で攻撃を行う。図６は、不正プログラムによる攻撃方法の一例を示した図である。
【００８０】
図６に示すように、アクセス側の装置が不正プログラムに感染した場合、アクセス側の装置は、認証側の装置で動作するＯＳの種類やバージョンなどを調べるためのバージョンスキャンと呼ばれる処理を実行することがある。例えば、アクセス側の装置は、ユーザ名をunknown（適当に選択した任意のユーザ名又は空欄でもよい）とし、ドメイン名をＡとするＳＭＢヘッダを含む認証リクエストを認証側の装置に送信する。この認証リクエストを受信した認証側の装置は、例えば、ユーザ名をguest（ゲストアカウント）とし、認証成功を示す認証結果、及び認証側の装置で動作するＯＳの種類やバージョンを示すＯＳ情報をＳＭＢヘッダに含む認証レスポンスを送信することがある。
【００８１】
図６に示した例のように、存在しないユーザ名を指定した場合や、ユーザ名を指定しないで認証リクエストを送信しても、バージョンスキャンの場合には認証が成功しているように見えることがある。しかし、認証レスポンスに含まれるユーザ名は、認証リクエストに含まれるユーザ名（指定しない場合は空欄）とは異なるものとなる。従って、認証リクエスト時と認証レスポンス時とでユーザ名が変化するか否かを監視することで、存在しないユーザ名を指定した場合や、ユーザ名を指定しないで行われたバージョンスキャンを検知することができる。なお、ゲストアカウントで認証に成功しても、アクセス側の装置が認証側の装置の上で行える操作は大きく制限されていることが多い。
【００８２】
また、不正プログラムは、指定したユーザ名及びパスワードを利用して認証が成功するか否かを調べるログインスキャンと呼ばれる処理を実行することがある。この場合、アクセス側の装置は、ユーザ名やパスワードを変えながら認証側の装置に対する認証を繰り返し実行する。例えば、不正プログラムは、アクセス側の装置から窃取したユーザ名やパスワードを利用して認証を試みることや、ユーザのキー入力を監視して得たユーザ名やパスワードらしき情報を利用して認証を試みることがある。アクセス側の装置は、こうしたユーザ名、認証情報、ドメイン名をＳＭＢヘッダに含めて認証リクエストを認証側の装置に送信する。認証側の装置にそのユーザ名が登録されているがパスワードに誤りがある場合、認証側の装置は、そのユーザ名及び認証失敗を示す認証結果をＳＭＢヘッダに含めた認証レスポンスをアクセス側の装置に送信する。
【００８３】
アクセス側の装置は、認証が成功するまで上記の認証手続を繰り返し実行する。認証が成功した場合、認証側の装置は、ユーザ名及び認証成功を示す認証結果をＳＭＢヘッダに含む認証レスポンスをアクセス側の装置に送信する。認証が成功すると、不正プログラムは、認証が成功した正しいユーザ名及びパスワードを利用して更なる攻撃を実行する。以下では、上記のような不正プログラムによる攻撃を検出する方法について考える。
【００８４】
図７は、認証設定に応じたログインスキャンの検出方法を示した図である。例えば、図７に示すように、不正プログラムに感染したクライアントＣと、複数のサーバＳから成るシステムを想定する。但し、複数のサーバＳのうち、一部のサーバＳは、ＳＭＢによる一般ユーザからのアクセスの機会が通常の業務でもあるものであり、残りのサーバＳは、ＳＭＢによる一般ユーザからのアクセスの機会が通常はないものである。前者のサーバＳとしては、例えば、管理者ではない一般ユーザでもログインする機会があるドメイン管理サーバやファイルサーバなどがある。一方、後者のサーバＳとしては、例えば、管理者ではない一般ユーザが通常はログインする機会のないＷｅｂサーバなどがある。
【００８５】
但し、ドメイン管理サーバやファイルサーバなどであっても、ユーザがユーザ名やパスワードを誤って入力した場合などでは認証の失敗が発生し得る。そのため、不正プログラムに感染したクライアントＣからこれらのサーバＳに送信された認証リクエストを攻撃であると判定する方法としては、例えば、続けて発生する多数回の認証失敗を検知する方法などが用いられる。一方、Ｗｅｂサーバなどの場合には、通常、一般ユーザから認証リクエストを受信しないため、認証リクエストの受信が１度でもあった場合には、その認証リクエストを攻撃と見なすことができる。
【００８６】
図８は、バージョンスキャンを受けた場合の認証側における動作を示した図である。クライアントＣがバージョンスキャンを実行した場合、図８に示すように、管理者ではない一般ユーザからのアクセスの機会があるサーバであるか否かを問わず、認証失敗が発生しない可能性があるため、サーバＳには認証失敗の履歴を記録した認証エラーログが残らないことがある。
【００８７】
上記のような理由から、第２の実施の形態においては、サーバＳの種類に応じて攻撃を検出する方法が異なる場合などにも対応可能な攻撃の検知方法を提案する。この検知方法を実現するために、認証を受け付ける認証側の装置、及びその認証側の装置が認証の対象とするアクセス側の装置又はドメイン名などを記載したデータテーブル（認証許可リスト）が利用される。この認証許可リストは、例えば、図９に示すような方法で生成される。図９は、第２の実施の形態に係る認証許可リストの生成方法の例を示した図である。
【００８８】
上述した情報処理システム１００を想定する。例えば、通常の業務においてクライアントＣ１、Ｃ２、Ｃ３、Ｃ４がドメイン管理サーバＳ１、ＷｅｂサーバＳ２、Ｓ４、ファイルサーバＳ３に送信する認証リクエスト及びそれに対応する認証レスポンスを監視し、認証が成功した装置の組み合わせやドメイン名などを収集する。図９の例では、ドメインＡに属するクライアントＣ１、Ｃ２からドメイン管理サーバＳ１への認証手続が成功している。また、ドメインＢに属するクライアントＣ３、Ｃ４からファイルサーバＳ３への認証手続が成功している。一方、それ以外の認証手続は失敗している。
【００８９】
上記の場合、図１０に示すような認証許可リストが生成される。図１０は、第２の実施の形態に係る認証許可リストの例を示した図である。認証リクエストには、認証側の装置を示すＩＰアドレス（宛先ＩＰアドレス）及びアクセス側の装置を示すＩＰアドレス（送信元ＩＰアドレス）が含まれる。さらに、認証リクエストには、アクセス側の装置が指定したドメイン名が含まれる。認証レスポンスには認証結果が含まれるため、認証成功を示す認証レスポンスに対応する認証リクエストから情報を収集することで、図１０に示すような認証許可リストを生成することができる。認証許可リストは、許可リスト記憶部１１４に格納される。
【００９０】
なお、ここでは正常時のトラフィックを監視して認証許可リストを生成する方法を紹介したが、例えば、管理者が手動で認証許可リストを作成してもよい。
なお、認証リクエストが認証許可リストに適合するか否かの判定だけで、その認証リクエストが攻撃によるものか否かを判断しない方が好ましい。そこで、第２の実施の形態では、キャプチャした認証リクエストが攻撃によるものか否かを、認証許可リストに対する適合性の他、認証の成否、過去に認証失敗が生じた回数、ユーザ名の変化などを考慮して総合的に判断する。このような総合的な判断を行うに当たり、図１１に示すようなデータテーブル（振る舞い表）が利用される。図１１は、第２の実施の形態に係る振る舞い表の例を示した図である。振る舞い表は、認証許可リストから生成してもよいし、管理者が手動で作成してもよい。
【００９１】
図１１に示すように、振る舞い表には、認証側の装置を示す情報、アクセス側の装置及びドメイン名を示す情報、及び複数の条件（条件１〜４）が対応付けて記載されている。
各条件の内容は次の通りである。
【００９２】
条件１は、認証許可リストに登録されていないアクセス側の装置から認証側の装置に対して認証リクエストが送信されたか否かを判定する条件である。認証許可リストに登録されているアクセス側の装置から認証側の装置に対して認証リクエストが送信された場合は「正常」となり、それ以外の場合は「異常」となる。
【００９３】
条件２は、認証が失敗したか否かを判定する条件である。認証が失敗した場合には「異常」となり、認証が成功した場合には「正常」となる。
条件３は、過去一定時間内に同じアクセス側の装置と認証側の装置との間でＮ回以上認証が失敗したか否かを判定する条件である。過去一定時間内に同じアクセス側の装置と認証側の装置との間でＮ回以上認証が失敗した場合には「異常」となり、それ以外の場合には「正常」となる。
【００９４】
条件４は、認証リクエストと認証レスポンスとの間でユーザ名が変化したか否かを判定する条件である。認証リクエストと認証レスポンスとの間でユーザ名が変化した場合には「異常」となり、変化しない場合には「正常」となる。
【００９５】
各条件が適用されるアクセス側の装置と認証側の装置との組み合わせは次の通りである。
条件１は、全てのアクセス側の装置と認証側の装置との組み合わせに対して適用される。条件２は、アクセス側の装置と認証側の装置との組み合わせが認証許可リストに記載されており、アクセス側の装置が認証側の装置と異なるドメインを指定して認証手続を行おうとした場合に対して適用される。条件３は、アクセス側の装置と認証側の装置との組み合わせが認証許可リストに記載されており、アクセス側の装置が認証側の装置と異なるドメインを指定して認証手続を行おうとした場合に対して適用される。条件４は、認証許可リストに記載のあるアクセス側の装置と認証側の装置との組み合わせに対して適用される。
【００９６】
例えば、クライアントＣ１からドメイン管理サーバＳ１への認証手続が行われた場合、クライアントＣ１が認証リクエストでドメインＡを指定していれば、条件１、３、４が適用される。クライアントＣ１が認証リクエストでドメインＡを指定していない場合には、条件１、２、４が適用される。クライアントＣ２からドメイン管理サーバＳ１への認証手続が行われる場合についても同様である。
【００９７】
情報処理システム１００では、クライアントＣ１、Ｃ２が通常はドメインＡに属するものとして管理されており、ドメイン管理サーバＳ１に認証リクエストを送信するときドメインＡを指定すると考えられる。一方で、どのドメインとして認証を受けるかはクライアントＣ１、Ｃ２が指定できるため、ドメインＢを指定して認証リクエストを送信することもあり得る。但し、ドメインの切り替えは頻繁に行われるものではないため、通常属するドメインＡを指定する場合には条件３が適用されるようにし、それ以外の場合には、より条件の厳しい（認証失敗回数の閾値が小さい）条件２が適用されるようにしている。
【００９８】
クライアントＣ３からドメイン管理サーバＳ１への認証手続が行われた場合、条件１が適用される。図１１に例示した振る舞い表の場合、クライアントＣ３からドメイン管理サーバＳ１への認証手続は条件１について「異常」となる。クライアントＣ４からドメイン管理サーバＳ１への認証手続が行われた場合についても同様である。
【００９９】
クライアントＣ１からＷｅｂサーバＳ２、Ｓ４への認証手続が行われた場合、条件１が適用される。ＷｅｂサーバＳ２、Ｓ４は、通常、管理者ではない一般ユーザからはログインされない。そのため、クライアントＣ１からＷｅｂサーバＳ２、Ｓ４へと送信される認証リクエストは、認証許可リストに適合せず、条件１について「異常」となる。クライアントＣ２、Ｃ３、Ｃ４からＷｅｂサーバＳ２、Ｓ４への認証手続についても同様である。
【０１００】
クライアントＣ３からファイルサーバＳ３への認証手続が行われた場合、クライアントＣ３が認証リクエストでドメインＢを指定していれば、条件１、３、４が適用される。クライアントＣ３が認証リクエストでドメインＢを指定していない場合には、条件１、２、４が適用される。クライアントＣ４からファイルサーバＳ３への認証手続が行われる場合についても同様である。
【０１０１】
情報処理システム１００では、クライアントＣ３、Ｃ４が通常はドメインＢに属するものとして管理されており、ファイルサーバＳ３に認証リクエストを送信するときドメインＢを指定すると考えられる。一方で、どのドメインとして認証を受けるかはクライアントＣ３、Ｃ４が指定できるため、ドメインＡを指定して認証リクエストを送信することもあり得る。但し、ドメインの切り替えは頻繁に行われるものではないため、通常属するドメインＢを指定する場合には条件３が適用されるようにし、それ以外の場合には、より条件の厳しい（認証失敗回数の閾値が小さい）条件２が適用されるようにしている。
【０１０２】
クライアントＣ１からファイルサーバＳ３への認証手続が行われた場合、条件１が適用される。図１１に例示した振る舞い表の場合、クライアントＣ１からファイルサーバＳ３へとの認証手続は条件１について「異常」となる。クライアントＣ２からファイルサーバＳ３への認証手続が行われた場合についても同様である。
【０１０３】
第２の実施の形態においては、振る舞い表の各条件について「異常」に該当した数を集計し、該当数が多い場合には、対象の認証リクエストの攻撃可能性が高いと判断する。
このように、振る舞い表を利用し、認証許可リストに対する適合性の他、認証の成否、過去に認証失敗が生じた回数、ユーザ名の変化などを考慮して総合的に判断することで、高い精度で攻撃を検知することが可能になる。上記の方法で認証リクエストが攻撃であると判断されると、図１２に示すような警告データが生成される。図１２は、第２の実施の形態に係る警告データの例を示した図である。
【０１０４】
図１２に示すように、警告データは、認証側の装置を示す情報、アクセス側の装置及びドメイン名を示す情報、異常検出の内容、及び警告レベルを含む。異常検出の内容は、振る舞い表に記載の各条件において「異常」と判定された回数などを含む。警告レベルは、攻撃可能性の高さを示す。この警告データは、警告データ記憶部１１７に格納される。また、この警告データは、警告部１１８により、管理者が利用する端末装置１０１に送信される。この警告データを参照することにより、攻撃を受けている可能性のある認証側の装置、及びその攻撃元となるアクセス側の装置を特定することが可能になる。さらに、異常検出の内容や警告レベルを参照して、管理者が攻撃である可能性を更に検討することが可能になる。
【０１０５】
以上、具体例を参照しながら、第２の実施の形態に係る技術について説明した。
次に、図１３〜図１５を参照しながら、第２の実施の形態に係る監視処理の流れについて説明する。図１３は、第２の実施の形態に係る監視処理の流れを示した第１の図である。
【０１０６】
（Ｓ１０１）キャプチャ部１１１は、ネットワーク９４を介して転送されるパケットをキャプチャする。そして、キャプチャ部１１１は、キャプチャしたパケットに受信時刻（タイムスタンプ）を付加してキャプチャデータ記憶部１１２に格納する。
【０１０７】
（Ｓ１０２）認証リクエスト監視部１３１は、キャプチャデータ記憶部１１２に格納されたパケットが認証レスポンスであるか否かを判定する。例えば、パケットに含まれる送信元ポート番号やＳＭＢヘッダの内容（ユーザ名や認証結果など）を確認することで認証レスポンスであるか否かを判定することができる。パケットが認証レスポンスである場合、処理はＳ１０３に進む。一方、パケットが認証レスポンスでない場合、処理は図１５のＳ１２０に進む。
【０１０８】
（Ｓ１０３）認証リクエスト監視部１３１は、Ｓ１０２で認証レスポンスと判定したパケットに対応する認証リクエストをキャプチャデータ記憶部１１２に格納されたパケットの中から検索する。例えば、パケットに含まれる送信元及び宛先のＩＰアドレスやポート番号を参照することで認証レスポンスに対応する認証リクエストを検索することができる。
【０１０９】
（Ｓ１０４）認証リクエスト監視部１３１は、Ｓ１０３の検索処理で検出された認証リクエストが許可リスト記憶部１１４に格納された認証許可リストの属性１に適合するか否かを判定する。例えば、属性１がアクセス側（認証を求める側）のＩＰアドレスである場合（図１０の例を参照）、認証リクエスト監視部１３１は、認証リクエストに含まれる送信元ＩＰアドレスが認証許可リストの属性１に含まれるか否かを判定する。但し、認証側（認証する側）のＩＰアドレスと認証リクエストのパケットに含まれる宛先ＩＰアドレスとが一致する行に対応する属性１と、認証リクエストの送信元ＩＰアドレスとが比較される。認証リクエストが認証許可リストの属性１に適合する場合、処理は図１４のＳ１０６に進む。一方、認証リクエストが認証許可リストの属性１に適合しない場合、処理はＳ１０５に進む。
【０１１０】
（Ｓ１０５）個別判定部１１３は、認証リクエストが認証許可リストの属性１に適合することを要件とする条件１の異常であると判定する。Ｓ１０５の処理が終わると、処理は図１５のＳ１１４に進む。
【０１１１】
図１４は、第２の実施の形態に係る監視処理の流れを示した第２の図である。
（Ｓ１０６）認証リクエスト監視部１３１は、認証リクエストが認証許可リストの属性２に適合するか否かを判定する。例えば、属性２がドメイン名である場合（図１０の例を参照）、認証リクエスト監視部１３１は、認証リクエストに含まれるドメイン名が認証許可リストの属性２に含まれるか否かを判定する。但し、認証側（認証する側）のＩＰアドレスと認証リクエストに含まれる宛先ＩＰアドレスとが一致する行に対応する属性２と、認証リクエストのドメイン名とが比較される。認証リクエストが認証許可リストの属性２に適合する場合、処理はＳ１０９に進む。一方、認証リクエストが認証許可リストの属性２に適合しない場合、処理はＳ１０７の処理に進む。
【０１１２】
（Ｓ１０７）認証結果監視部１３２は、認証レスポンスが認証失敗を示すものか否かを判定する。例えば、認証レスポンスのＳＭＢヘッダに含まれる認証結果を参照することで、認証レスポンスが認証失敗を示すものか否かを判定することができる。例えば、ユーザ名は正しいがパスワードに誤りがある場合には、認証失敗を示す認証結果をＳＭＢヘッダに含む認証レスポンスが認証側からアクセス側へと送信される。このように、認証レスポンスが認証失敗を示すものである場合、処理はＳ１０８に進む。一方、認証レスポンスが認証失敗を示すものでない場合、処理はＳ１１２に進む。
【０１１３】
（Ｓ１０８）個別判定部１１３は、認証リクエストが認証許可リストの属性２に適合することを要件とする条件２の異常であると判定する。Ｓ１０８の処理が終わると、処理はＳ１１２に進む。
【０１１４】
（Ｓ１０９）認証リクエスト監視部１３１は、現在の時点から一定時間前までに受信した、現在着目している認証レスポンスと送信元及び宛先のＩＰアドレスが同じである認証レスポンスを、キャプチャデータ記憶部１１２に格納されたパケットの中から検索する。キャプチャデータ記憶部１１２に格納されたパケットには受信時刻を示すタイムスタンプが付加されているため、このタイムスタンプを参照することで、現在の時点から一定時間前までに受信した認証レスポンスを検索することができる。
【０１１５】
（Ｓ１１０）認証結果監視部１３２は、Ｓ１０９の検索処理で検出された認証レスポンス及びＳ１０１の処理でキャプチャされた認証レスポンスを参照し、認証失敗がＮ回以上発生しているか否かを判定する。例えば、認証結果監視部１３２は、Ｓ１０９の検索処理で検出された認証レスポンス及びＳ１０１でキャプチャされた認証レスポンスそれぞれのＳＭＢヘッダに含まれる認証結果を参照し、認証失敗を示す認証結果が含まれる認証レスポンスの数をカウントする。そして、認証結果監視部１３２は、カウントした認証レスポンスの数がＮ以上であるか否かを判定する。なお、閾値Ｎは、２以上の整数であり、情報処理システム１００の管理者により予め設定される。認証失敗がＮ回以上発生している場合、処理はＳ１１１に進む。一方、認証失敗がＮ回以上発生していない場合、処理はＳ１１２に進む。但し、Ｓ１０１でキャプチャされた最新の認証レスポンスの認証結果が認証失敗でない場合には、処理がＳ１１２に進んでもよい。
【０１１６】
（Ｓ１１１）個別判定部１１３は、一定時間以内に発生した認証失敗の回数がＮ以上であることを要件とする条件３の異常であると判定する。Ｓ１１１の処理が終わると、処理はＳ１１２に進む。
【０１１７】
（Ｓ１１２）ユーザ名監視部１３３は、認証リクエスト時のユーザ名と認証レスポンス時のユーザ名とが異なるか否かを判定する。なお、認証リクエストのＳＭＢヘッダ及び認証レスポンスのＳＭＢヘッダを参照することで、認証リクエスト時のユーザ名と認証レスポンス時のユーザ名とが異なるか否かを判定することができる。認証リクエスト時のユーザ名と認証レスポンス時のユーザ名とが異なる場合、処理はＳ１１３に進む。一方、認証リクエスト時のユーザ名と認証レスポンス時のユーザ名とが同じ場合、処理は図１５のＳ１１４に進む。
【０１１８】
（Ｓ１１３）個別判定部１１３は、認証リクエスト時のユーザ名と認証レスポンス時のユーザ名とが一致することを要件に含む条件４の異常であると判定する。Ｓ１１３の処理が終わると、処理は図１５のＳ１１４に進む。
【０１１９】
図１５は、第２の実施の形態に係る監視処理の流れを示した第３の図である。
（Ｓ１１４）総合判定部１１５は、今回、条件１〜４のうち、１つ以上の条件で異常と判定されたか否かを判定する。例えば、個別判定部１１３が何れかの条件の異常と判定した際に、その判定結果又は異常と判定した旨の通知が総合判定部１１５に提供されるようにすれば、総合判定部１１５において異常と判定された条件の数を把握することができる。異常と判定された条件が１つ以上あった場合、処理はＳ１１５に進む。一方、異常と判定された条件がなかった場合、処理はＳ１２０に進む。
【０１２０】
（Ｓ１１５）総合判定部１１５は、現在までに異常と判定された条件の数、及び各条件の異常が検出された回数を集計する。例えば、総合判定部１１５は、条件１が異常と判定された回数、条件２が異常と判定された回数、条件３が異常と判定された回数、及び条件４が異常と判定された回数を集計する。さらに、総合判定部１１５は、条件１〜４について異常と判定された回数の合計を算出する。
【０１２１】
（Ｓ１１６）総合判定部１１５は、Ｓ１１５の処理で得られた集計結果に基づいて攻撃可能性を判定する。このとき、総合判定部１１５は、図１１に示すような振る舞い表を参照する。振る舞い表には、認証側の装置、アクセス側の装置、及びドメイン名の組み合わせに対して条件１〜４が割り当てられている。総合判定部１１５は、実際の組み合わせに適用される振る舞い表の条件を参照し、振る舞い表に「異常」と記載された条件に該当するか否かを判定する。該当する条件の数が多い場合、攻撃可能性が高いと判断する。一方、該当する条件の数が少ない場合、攻撃可能性が低いと判断する。
【０１２２】
例えば、総合判定部１１５は、該当する条件の数が０個ならば攻撃可能性を「低」、１個ならば「中」、２個ならば「高」とする。仮に、認証側がドメイン管理サーバＳ１、アクセス側がクライアントＣ１であり、条件３及び条件４の異常と判定された場合、振る舞い表に記載の２つの条件で異常と判定されたため、総合判定部１１５は、攻撃可能性を「高」と判断する。また、認証側がファイルサーバＳ３、アクセス側がクライアントＣ３であり、条件３の異常と判定された場合、振る舞い表に記載の１つの条件でしか異常と判定されていないため、総合判定部１１５は、攻撃可能性を「中」であると判断する。
【０１２３】
なお、該当する条件の数を集計する方法としては、上記の例のように、１つのアクセス側の装置と１つの認証側の装置との間で行われる１回又は複数回の認証手続を通じて、異常と判定された条件の数を集計する方法が考えられる。他の方法として、例えば、振る舞い表の１列（１つの認証側の装置、属性１の種類、属性２の種類の組み合わせ）に対応する１回又は複数回の認証手続を通じて、異常と判定された条件の数を集計する方法が考えられる。さらに他の方法として、例えば、１つのドメイン内にある認証側の装置群と、属性１の種類と、属性２の種類との組み合わせに対応する１回又は複数回の認証手続を通じて、異常と判定された条件の数を集計する方法などが考えられる。
【０１２４】
また、該当する条件の数をそのまま利用する方法の他にも、例えば、各条件について重みを設定しておき、該当する条件の重み和を攻撃可能性の高さを示すスコアとして利用する方法も考えられる。この場合、そのスコアについて２個以上の閾値を利用した閾値判定を行い、３段階以上の警告レベルを判定する方法なども考えられる。
【０１２５】
その他にも、条件１〜４について異常と判定された回数の合計をスコアとし、そのスコアについて２個以上の閾値を利用した閾値判定を行い、３段階以上の警告レベルを判定する方法も考えられる。スコアを算出する方法としては、例えば、該当する条件の数と、各条件について異常と判定された回数とを所定の関数に代入して算出する方法なども考えられる。
【０１２６】
なお、異常と判定された回数を集計する方法としては、例えば、１つのアクセス側の装置と１つの認証側の装置との間で行われる認証手続を監視し、条件１〜４について異常と判定された回数を集計する方法が考えられる。他の方法として、例えば、振る舞い表の１列（１つの認証側の装置、属性１の種類、属性２の種類の組み合わせ）に対応する認証手続を監視し、条件１〜４について異常と判定された回数を集計する方法が考えられる。さらに他の方法として、例えば、１つのドメイン内にある認証側の装置群と、属性１の種類と、属性２の種類との組み合わせに対応する認証手続を監視し、条件１〜４について異常と判定された回数を集計する方法などが考えられる。
【０１２７】
上記のようにして攻撃可能性の高さを判定した後、総合判定部１１５は、認証側及びアクセス側の情報、ドメイン名、異常検出の内容、及び、攻撃可能性の高さを示す警告レベルの情報を含む警告データを警告データ記憶部１１７に格納する。
【０１２８】
（Ｓ１１７）警告部１１８は、ネットワーク監視装置１１０にＳＮＭＰが設定されているか否かを判定する。ネットワーク監視装置１１０にＳＮＭＰが設定されている場合、処理はＳ１１８に進む。一方、ネットワーク監視装置１１０にＳＮＭＰが設定されていない場合、処理はＳ１１９に進む。
【０１２９】
（Ｓ１１８）警告部１１８は、警告データ記憶部１１７に格納された警告データをＳＮＭＰトラップで端末装置１０１に送信する。Ｓ１１８の処理が終わると、処理はＳ１２０に進む。
【０１３０】
（Ｓ１１９）警告部１１８は、警告データ記憶部１１７に格納された警告データを電子メールで端末装置１０１に送信する。Ｓ１１９の処理が終わると、処理はＳ１２０に進む。
【０１３１】
（Ｓ１２０）ネットワーク監視装置１１０は、終了指示があるか否かを判定する。終了指示がある場合、図１３〜図１５に係る一連の処理は終了する。一方、終了指示がない場合、処理は図１３のＳ１０１に進む。
【０１３２】
以上、第２の実施の形態に係る監視処理の流れについて説明した。
以上説明したように、第２の実施の形態によれば、複数の条件のうち該当する条件の数に応じて不正アクセスの可能性が判定される。これにより、固定的な条件を１つ定めてアクセスがその条件に該当するとき不正アクセスと判定し該当しないとき不正アクセスでないと判定する場合と比べて、誤検出を考慮した有用な情報を提供することが可能となる。特に、不正アクセスの可能性を多段階の警告レベルとして表現した場合、システム管理者が適切な対応を取りやすくなる。このように、第２の実施の形態によれば、正常なアクセスと精度よく区別することが容易でない不正アクセスについての有用な情報を提供することができる。
【符号の説明】
【０１３３】
１０  ネットワーク監視装置
１１  受信部
１２  記憶部
１３  判定部
１４  条件情報
２１，２２，２３  情報処理装置
１００  情報処理システム
１０１  端末装置
１１０  ネットワーク監視装置
１１１  キャプチャ部
１１２  キャプチャデータ記憶部
１１３  個別判定部
１１４  許可リスト記憶部
１１５  総合判定部
１１６  振る舞い表記憶部
１１７  警告データ記憶部
１１８  警告部
１３１  認証リクエスト監視部
１３２  認証結果監視部
１３３  ユーザ名監視部
Ｓ１  ドメイン管理サーバ
Ｓ２、Ｓ４  Ｗｅｂサーバ
Ｓ３  ファイルサーバ
Ｃ１、Ｃ２、Ｃ３、Ｃ４  クライアント
【図１】
2014086822.tif 000003
【図２】
2014086822.tif 000004
【図３】
2014086822.tif 000005
【図４】
2014086822.tif 000006
【図５】
2014086822.tif 000007
【図６】
2014086822.tif 000008
【図７】
2014086822.tif 000009
【図８】
2014086822.tif 000010
【図９】
2014086822.tif 000011
【図１０】
2014086822.tif 000012
【図１１】
2014086822.tif 000013
【図１２】
2014086822.tif 000014
【図１３】
2014086822.tif 000015
【図１４】
2014086822.tif 000016
【図１５】
2014086822.tif 000017