図面 (/)

技術 情報処理システム、情報処理装置、制御サーバ、生成サーバ、動作制御方法及び動作制御プログラム

出願人 エヌ・ティ・ティ・コミュニケーションズ株式会社株式会社FFRI
発明者 小山覚金居良治
出願日 2014年10月17日 (4年9ヶ月経過) 出願番号 2014-213038
公開日 2016年5月16日 (3年2ヶ月経過) 公開番号 2016-081348
状態 特許登録済
技術分野 ストアードプログラムにおける機密保護 デバッグ/監視
主要キーワード 問題解析 デッドロック状態 バッファオーバーフロー攻撃 サイバー攻撃 パッチプログラム クラウドサーバ 他プログラム 解析サーバ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年5月16日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (8)

課題

修正プログラムを適用することなく、コンピュータに対する攻撃防御する技術を提供する。

解決手段

一以上の情報処理装置を有し、一以上の装置と通信する情報処理システムであって、プログラムの動作の異常を検出する異常検出手段と、前記異常検出手段により異常が検出された際に、メモリ記憶内容メモリダンプ情報に出力する出力手段と、前記メモリダンプ情報に基づいて、前記異常の要因となる攻撃の特徴を示す特徴情報を抽出する解析手段と、特徴情報に基づきブロックリストを生成する生成手段と、前記ブロックリストに基づいて、当該情報処理システムの動作を制御する制御手段と、を有する情報処理システムを提供する。

概要

背景

プログラムの実行中に異常動作(クラッシュ)が発生した際、メモリに記憶されている情報を出力することでメモリダンプ収集し、収集したメモリダンプを解析することで、プログラムに潜むバグ脆弱性などの不具合を特定することが一般的に行われている。これにより、特定された不具合の情報を基にプログラムを改修し、修正プログラムパッチプログラム)を配布することが可能になり、より信頼性の高いプログラムにアップデートすることができる。

ここで、コンピュータ侵入して不正に情報を取得するといった行為や、コンピュータを停止させる等の、いわゆるサイバー攻撃が行われる場合、このようなプログラムの不具合を狙われることが多い。したがって、プログラムのアップデートは、プログラムの異常動作の防止のみならず、コンピュータに対する攻撃防御策としても有効である。

このようなコンピュータに対する攻撃を検出する技術として、例えば、バッファオーバーフロー攻撃に関する不正アクセスを検出する技術が開示されている(例えば、特許文献1)。

概要

修正プログラムを適用することなく、コンピュータに対する攻撃を防御する技術を提供する。一以上の情報処理装置を有し、一以上の装置と通信する情報処理システムであって、プログラムの動作の異常を検出する異常検出手段と、前記異常検出手段により異常が検出された際に、メモリの記憶内容をメモリダンプ情報に出力する出力手段と、前記メモリダンプ情報に基づいて、前記異常の要因となる攻撃の特徴を示す特徴情報を抽出する解析手段と、特徴情報に基づきブロックリストを生成する生成手段と、前記ブロックリストに基づいて、当該情報処理システムの動作を制御する制御手段と、を有する情報処理システムを提供する。

目的

本発明は、上記に鑑みてなされたもので、修正プログラムを適用することなく、コンピュータに対する攻撃を防御する技術を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

一以上の情報処理装置を有し、一以上の装置と通信する情報処理システムであって、プログラムの動作の異常を検出する異常検出手段と、前記異常検出手段により異常が検出された際に、メモリ記憶内容メモリダンプ情報に出力する出力手段と、前記メモリダンプ情報に基づいて、前記異常の要因となる攻撃の特徴を示す特徴情報を抽出する解析手段と、特徴情報に基づきブロックリストを生成する生成手段と、前記ブロックリストに基づいて、当該情報処理システムの動作を制御する制御手段と、を有する情報処理システム。

請求項2

前記装置と通信を行う通信手段を有し、前記制御手段は、前記ブロックリストに含まれる特徴情報と前記通信手段が通信するパケットとを比較し、前記装置が攻撃元の装置であると判断する場合に、前記装置との通信を遮断する、請求項1に記載の情報処理システム。

請求項3

複数の前記情報処理装置で前記ブロックリストを共有するために、前記ブロックリストを配信する配信手段を有する、請求項1又は2に記載の情報処理システム。

請求項4

特徴情報の入力を受け付け入力手段を有し、前記生成手段は、前記入力手段により受け付けた特徴情報に基づき前記ブロックリストを生成する、請求項1乃至3のいずれか一項に記載の情報処理システム。

請求項5

メモリの動作又は通信を監視することでプログラムに対する攻撃を検出する攻撃検出手段と、前記攻撃検出手段により攻撃が検出された場合に、プログラムの動作の異常を発生させる異常発生手段を有する、請求項1乃至4のいずれか一項に記載の情報処理システム。

請求項6

一以上の情報処理装置を有し、一以上の装置と通信する情報処理システムであって、プログラムの動作の異常を検出する異常検出手段と、前記異常検出手段により異常が検出された際に、メモリの記憶内容をメモリダンプ情報に出力する出力手段と、前記メモリダンプ情報を解析することで得られる、前記異常の要因となる攻撃の特徴を示す特徴情報の入力を受け付ける入力手段と、前記特徴情報に基づきブロックリストを生成する生成手段と、前記ブロックリストに基づいて、当該情報処理システムの動作を制御する制御手段と、を有する情報処理システム。

請求項7

一以上の装置と通信する情報処理装置であって、プログラムの動作の異常を検出する異常検出手段と、前記異常検出手段により異常が検出された際に、メモリの記憶内容をメモリダンプ情報に出力する出力手段と、前記メモリダンプ情報を送信する送信手段と、前記異常の要因となる攻撃の特徴を示す特徴情報であって、前記メモリダンプ情報に基づいて抽出される特徴情報を含むブロックリストを受信する受信手段と、受信した前記ブロックリストに基づいて、当該情報処理装置の動作を制御する制御手段と、を有する情報処理装置。

請求項8

一以上の装置と通信する情報処理装置と生成サーバとに接続される解析サーバであって、前記情報処理装置から、前記情報処理装置のメモリの記憶内容が出力されたメモリダンプ情報を受信する受信手段と、前記メモリダンプ情報に基づいて、前記情報処理装置が有するプログラムの動作の異常の要因となる攻撃の特徴を示す特徴情報を抽出する解析手段と、前記特徴情報を、前記生成サーバに送信する送信手段と、を有する解析サーバ。

請求項9

情報処理装置と解析サーバとに接続される生成サーバであって、前記解析サーバから、プログラムの動作の異常の要因となる攻撃の特徴を示す特徴情報を受信する受信手段と、前記特徴情報に基づきブロックリストを生成する生成手段と、前記ブロックリストを前記情報処理装置に送信する送信手段と、を有する生成サーバ。

請求項10

一以上の装置と通信し、一以上の情報処理装置を有する情報処理システムの動作制御方法であって、プログラムの動作の異常を検出する異常検出ステップと、前記異常検出ステップにより異常が検出された際に、メモリの記憶内容をメモリダンプ情報に出力する出力ステップと、前記メモリダンプ情報に基づいて、前記異常の要因となる攻撃の特徴を示す特徴情報を抽出する解析ステップと、前記特徴情報に基づきブロックリストを生成する生成ステップと、前記ブロックリストに基づいて、当該情報処理システムの動作を制御する制御ステップと、を有する動作制御方法。

請求項11

一以上の装置と通信する情報処理装置の動作制御プログラムであって、情報処理装置に、メモリの動作又は通信を監視することでプログラムに対する攻撃を検出する攻撃検出ステップと、前記攻撃検出ステップにより攻撃が検出された場合、当該情報処理装置にメモリダンプ情報を生成させるために、プログラムの動作の異常を発生させる異常発生ステップと、前記メモリダンプ情報を解析することで得られる、前記異常の要因となる攻撃の特徴を示す特徴情報の入力を受け付ける入力ステップと、前記特徴情報に基づきブロックリストを生成する生成ステップと、前記ブロックリストに基づいて、当該情報処理装置の動作を制御する制御ステップと、を実行させるための動作制御プログラム。

技術分野

背景技術

0002

プログラムの実行中に異常動作(クラッシュ)が発生した際、メモリに記憶されている情報を出力することでメモリダンプ収集し、収集したメモリダンプを解析することで、プログラムに潜むバグ脆弱性などの不具合を特定することが一般的に行われている。これにより、特定された不具合の情報を基にプログラムを改修し、修正プログラムパッチプログラム)を配布することが可能になり、より信頼性の高いプログラムにアップデートすることができる。

0003

ここで、コンピュータ侵入して不正に情報を取得するといった行為や、コンピュータを停止させる等の、いわゆるサイバー攻撃が行われる場合、このようなプログラムの不具合を狙われることが多い。したがって、プログラムのアップデートは、プログラムの異常動作の防止のみならず、コンピュータに対する攻撃防御策としても有効である。

0004

このようなコンピュータに対する攻撃を検出する技術として、例えば、バッファオーバーフロー攻撃に関する不正アクセスを検出する技術が開示されている(例えば、特許文献1)。

先行技術

0005

特許第4572259号公報

発明が解決しようとする課題

0006

しかしながら、修正プログラムを配布するまでには、攻撃により発生したプログラムの不具合を特定、特定した不具合を修正するための修正プログラムを作成、及び不具合が正しく解消されているかの検証に至る一連の工程を踏む必要がある。従って、攻撃が検出されてから修正プログラムが配布及び適用されるまでに一定の時間を要するため、その間はコンピュータに対する攻撃を防止することができず、攻撃対象が拡大してしまうという問題がある。

0007

本発明は、上記に鑑みてなされたもので、修正プログラムを適用することなく、コンピュータに対する攻撃を防御する技術を提供することを目的とする。

課題を解決するための手段

0008

本発明の実施の形態に係る情報処理システムは、一以上の情報処理装置を有し、一以上の装置と通信する情報処理システムであって、プログラムの動作の異常を検出する異常検出手段と、前記異常検出手段により異常が検出された際に、メモリの記憶内容をメモリダンプ情報に出力する出力手段と、前記メモリダンプ情報に基づいて、前記異常の要因となる攻撃の特徴を示す特徴情報を抽出する解析手段と、特徴情報に基づきブロックリストを生成する生成手段と、前記ブロックリストに基づいて、当該情報処理システムの動作を制御する制御手段と、を有する。

発明の効果

0009

本発明に係る実施の形態によれば、修正プログラムを適用することなく、コンピュータに対する攻撃を防御することが可能になる。

図面の簡単な説明

0010

第一の実施の形態に係る情報処理システムの概要を示す図である。
第一の実施の形態に係る情報処理システムの動作手順の概要を示す図である。
第一の実施の形態に係る情報処理装置のハードウェア構成の一例を示す図である。
第一の実施の形態に係る情報処理システムの機能構成の一例を示す図である。
ブロックリストの一例及び制御手段の動作の一例を示す図である。
第二の実施の形態に係る情報処理システムの動作手順の概要を示す図である。
第二の実施の形態に係る情報処理システムの機能構成の一例を示す図である。

実施例

0011

以下、図面を参照して実施の形態について説明する。各図面において、同一構成部分には同一符号を付し、重複した説明を省略する場合がある。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
<<第一の実施の形態>>
(概要)
図1は、第一の実施の形態に係る情報処理システムの概要を示す図である。第一の実施の形態に係る情報処理システム10は、外部ネットワークと接続されており、外部ネットワークの先に存在する装置(図示せず)から要求を受け付けることで処理を行う情報処理装置20a及び情報処理装置20bと、プログラムに発生する異常を解析する解析サーバ30と、情報処理装置20に対する攻撃を検出するための情報が含まれるブロックリストを生成するブロックリスト生成サーバ40と、から構成されている。

0012

また、情報処理システム10において、情報処理装置20aと、情報処理装置20bと、解析サーバ30と、ブロックリスト生成サーバ40とは、相互に通信可能なように構成されている。情報処理システム10に含まれる情報処理装置20は1台であってもよく、3台以上であってもよい。以下、「情報処理装置20a」及び「情報処理装置20b」のうち任意の情報処理装置20は、「情報処理装置20」と表す。

0013

図2は、第一の実施の形態に係る情報処理システムの動作手順の概要を示す図である。図1及び図2を参照しながら第一の実施の形態に係る情報処理システム10の動作の概要を説明する。情報処理装置20aが、外部ネットワークの先に存在する装置(以下、「外部装置」という)と通信することで所定の処理を行っている前提で、動作の概要を説明する。

0014

まず、情報処理装置20aがバッファオーバーフローを引き起こすような不正パケットが、外部装置から情報処理装置20aに対して送信されたとする。情報処理装置20aがこの不正パケットに対する脆弱性を含んでいる場合、情報処理装置20aにインストールされたプログラムが異常処理を引き起こしてクラッシュ(動作停止)することがある。

0015

情報処理装置20aは、プログラムがクラッシュしたことを検出すると(S101)、クラッシュした際のメモリの内容をファイル化したメモリダンプ情報を出力し(S102)、解析サーバ30に送信する。

0016

解析サーバ30は、メモリダンプ情報を解析することで、メモリダンプ情報にプログラムがクラッシュした原因となる攻撃コードや、不正パケットの送信元である外部装置のURLといった、プログラムがクラッシュする要因となる攻撃の特徴を示す特徴情報(以下「特徴情報」という)が含まれていないかを特定する(S103)。

0017

解析サーバ30は、特定された特徴情報をブロックリスト生成サーバ40に送信する。ブロックリスト生成サーバ40は、受信した特徴情報に基づいてブロックリストを生成し(S104)、情報処理装置20aに送信する。

0018

情報処理装置20aは、外部装置との通信パケットとブロックリストに含まれる特徴情報とを比較し、外部装置との通信パケットが不正パケットであると判断する場合、外部装置との通信を遮断するように動作する(S105)。これにより、情報処理装置20aは、アプリケーションプログラムに対して修正プログラムを適用することなく、再度同様の不正パケットを受信した場合でも、プログラムのクラッシュを免れることができる。

0019

なお、ブロックリスト生成サーバ40は、ブロックリストを、情報処理装置20aに加えて、情報処理装置20bにも送信するようにしてもよい。これにより、情報処理装置20bは、上記不正パケットによる攻撃を防御することが可能になる。すなわち、情報処理装置20aに対する攻撃により得られた知見を、多数のコンピュータに活用することができる。

0020

なお、情報処理装置20は、プログラムに従って動作する装置であれば種類を問わない。例えば、情報処理装置20は、PC(Personal Computer)、サーバ携帯端末、又はタブレット端末等であってもよいし、L2/L3スイッチ、又はルータ等のネットワーク機器であってもよい。
(ハードウェア構成)
図3は、第一の実施の形態に係る情報処理装置のハードウェア構成の一例を示す図である。情報処理装置20は、CPU201と、ROM202と、RAM203と、HDD204と、操作部205と、表示部206と、ドライブ装置207と、NIC(Network Interface card)208とを有する。

0021

CPU201は、情報処理装置20の全体制御を行うプロセッサである。CPU201、HDD204等に記憶されたオペレーティングシステムアプリケーション、各種サービス等のプログラムを実行し、情報処理装置20の各機能を実現する。ROM202には、各種のプログラムやプログラムによって利用されるデータ等が記憶される。RAM203は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。HDD204には、各種情報及びプログラム等が記憶される。

0022

操作部205は、ユーザからの入力操作を受け付けるためのハードウェアであり、例えばキーボード又はマウスである。表示部206は、ユーザに向けた表示を行うハードウェアである。

0023

ドライブ装置207は、プログラムを記録した記憶媒体209からプログラムを読み取る。ドライブ装置207によって読み取られたプログラムは、例えば、HDD204にインストールされる。NIC208は、情報処理装置20をネットワークに接続し、データの送受信を行うための通信インタフェースである。

0024

なお、記憶媒体209とは、非一時的(non-transitory)な記憶媒体を言う。記憶媒体209の例としては、磁気記憶媒体光ディスク光磁気記憶媒体不揮発性メモリなどがある。

0025

解析サーバ30及びブロックリスト生成サーバ40のハードウェア構成は、図3と同一であるため説明は省略する。
(機能構成)
図4は、第一の実施の形態に係る情報処理システムの機能構成の一例を示す図である。まず、図4を用いて、情報処理装置20の機能構成について説明する。図4に示すように、第一の実施の形態に係る情報処理装置20は、通信手段301、異常検出手段302、出力手段303、制御手段304、及びブロックリスト管理手段305を備える。なお、図4は、第一の実施の形態に特に関係する機能を示すものであり、例えばWebクライアント機能のように、本願発明に係る実施の形態とは関係が低い機能については図示していない。

0026

これらの各手段は、各手段の処理内容記述したプログラムを情報処理装置20に実行させることにより実現可能である。すなわち、これらの各手段は、情報処理装置20に内蔵されるCPU201、ROM202、RAM203、及びHDD204などのハードウェア資源を用いて、各手段で実施される処理に対応するプログラムを実行することにより実現することが可能である。上記プログラムは、コンピュータが読取り可能な記憶媒体209等に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットなど、ネットワークを通じて提供することも可能である。

0027

通信手段301は、外部装置、解析サーバ30、及びブロックリスト生成サーバ40との間でパケットを送受信する。

0028

異常検出手段302は、情報処理装置20で動作しているプログラムを監視し、プログラムに発生する異常を検出する。プログラムに発生する異常としては、例えば、動作中のプログラムが、アクセスが許可されていないメモリ領域を参照しようとした場合、動作中のプログラムが0で割算をしようとした場合など、プログラムがそれ以上動作を継続することが出来ない状態があげられる。またプログラムは動作しているものの、無限ループデッドロック状態に陥っている状態などがあげられる。

0029

このような状態に至る要因は様々であるが、異常検出手段302は、特定の要因に限らず、プログラムに発生する異常を検出する。また、異常検出手段302が異常を検出する手段は問わない。例えば、CPU201が備えるエラー検出機能を利用することで異常を検出するようにしてもよいし、OS(Operating System)のカーネルが備えるエラー検出機能を利用することで異常を検出するようにしてもよい。

0030

出力手段303は、異常検出手段302からの指示により、RAM203に記憶されている内容をファイル書き出すことで、メモリダンプ情報を出力する。出力手段303は、出力したメモリダンプ情報を、通信手段301を介して解析サーバ30に送信する。メモリダンプ情報とは、ある瞬間のメインメモリに記憶されている内容をファイルに書き出したものであり、主に、プログラムの不具合を解析する目的で使用される。

0031

なお、出力手段303は、メインメモリに記憶されている内容全てをファイルに書き出すようにしてもよいし、メインメモリの特定領域の内容に限定してファイルに書き出すようにしてもよい。また、メインメモリに記憶されている内容そのものに限らず、問題解析に役立つ情報である、メモリの内容を間接的に示す情報(プログラムに異常が発生したメモリの番地、メモリに記憶された値のハッシュ値など)をファイルに書き出すようにしてもよい。また、出力手段303は、メインメモリに限らず、例えば、仮想メモリとして利用しているHDD204の領域や、その他プログラムが利用している外部記憶装置に記憶されている内容をファイルに書き出すようにしてもよい。

0032

また、出力手段303は、OSに予め実装されている、メモリダンプ情報を出力する機能を利用するようにしてもよい。

0033

ブロックリスト管理手段305は、ブロックリスト管理サーバから受信したブロックリストを、RAM203又はHDD204に保存すると共に、必要に応じて読出し及び更新を行う。

0034

制御手段304は、ブロックリストを用いることで、外部装置からの攻撃を防御する。

0035

図5は、ブロックリストの一例及び制御手段304の動作の一例を示す図である。ここで、図5を用いて、制御手段304の動作例(その1)について説明する。

0036

図5(a)は、ブロックリストに格納されている情報の一例である。ブロックリストには、攻撃元である外部装置のURLを示す文字列、及び、攻撃コード(exploit code)のバイト列が格納されている。攻撃コードとは、ソフトウェアの脆弱性を攻撃するように作成された、スクリプトやプログラムである。

0037

図5(b)は、情報処理装置20にインストールされたウェブブラウザが、インターネットを介してウェブサーバにアクセスする様子を表している。制御手段304は、情報処理装置20の中に、ソフトウェアで実現される仮想的なProxyを設置し、ウェブブラウザがウェブサーバにアクセスする際、仮想的なProxyを経由してアクセスさせるようにする。仮想的なProxyは、ウェブブラウザとウェブサーバとの間で送受信されるパケットを監視し、送受信されるパケットと、ブロックリストに格納されているURL又は攻撃コードとを比較する。ウェブブラウザのアクセス先が、ブロックリストに格納されているURLが示すアクセス先と一致する場合、Proxyは、例えばパケットを破棄することで、ウェブブラウザに当該アクセス先にアクセスさせないようにする。これにより、ウェブブラウザが、不正な外部装置にアクセスするのを防止することができる。また、ウェブサーバから受信したパケットのバイト列と、ブロックリストに格納されている攻撃コードのバイト列が一致した場合、Proxyは、例えばパケットを破棄する。これにより、攻撃パケットが情報処理装置20の内部に侵入するのを防止することができる。

0038

制御手段304の動作例(その2)について説明する。例えば、指定されたURLからファイルをダウンロードするようなアプリケーションプログラムにおいて、OS等が提供しているファイルダウンロード用のAPIが使用される場合がある。そこで、アプリケーションプログラムが当該APIをコールすると、当該APIの代わりに予め用意した別のAPIが動作するようにAPIをフックする。予め用意した別のAPIは、アプリケーションプログラムがアクセスしようとしているURLと、ブロックリストに格納されているURLが一致するかを比較し、一致する場合はファイルをダウンロードしないように動作する。これにより、アプリケーションプログラムが不正なサーバからファイルをダウンロードするのを未然に防止することができる。

0039

なお、制御手段304は、上記動作例に示す機能に限定されるものではない。ブロックリストを用いて、外部装置からの攻撃を防御することができれば、他の機能も適用できる。また、外部装置からの攻撃の防御に限らず、バグ等に起因する情報処理装置20の誤作動を防止する機能を含むようにしてもよい。

0040

次に、図4を用いて、解析サーバ30の機能構成について説明する。図4に示すように、第一の実施の形態に係る解析サーバ30は、通信手段311、解析手段312、及び表示手段313を備える。

0041

これらの各手段は、各手段の処理内容を記述したプログラムを解析サーバ30に実行させることにより実現可能である。すなわち、これらの各手段は、解析サーバ30に内蔵されるCPU201、ROM202、RAM203、及びHDD204などのハードウェア資源を用いて、各手段で実施される処理に対応するプログラムを実行することにより実現することが可能である。上記プログラムは、コンピュータが読取り可能な記憶媒体209等に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットなど、ネットワークを通じて提供することも可能である。

0042

通信手段311は、情報処理装置20、及びブロックリスト生成サーバ40との間でパケットを送受信する。

0043

解析手段312は、メモリダンプ情報を解析することで、特徴情報が含まれていないかを特定する。例えば、悪意のあるコードを含むソフトウェアであるマルウェア(malicious software)は、搾取した情報の送信先サーバのURLをプログラムコード内に含むことがある。このようなマルウェアの動作によりアプリケーションプログラム等で異常が発生した場合、当該URLがメモリダンプ情報に含まれる。従って、メモリダンプ情報を解析することで、当該URLを抽出することができる。また、メモリダンプ情報から、異常を引き起こすきっかけになった攻撃コード(exploit code)を抽出するようにしてもよい。解析手段312は、上記手段により得られたURL又は攻撃コードを、特徴情報として扱う。なお、解析手段312は、上記の方法により実現される機能に限定されるものではない。特徴情報を抽出する方法であれば、他の機能も適用できる。

0044

解析手段312は、特徴情報を、通信手段311を介してブロックリスト生成サーバ40に送信する。

0045

表示手段313は、表示部206を介して、メモリダンプ情報又は特徴情報をユーザが視認できるように表示する。また、メモリダンプ情報の一部を抽出して表示するようにしてもよい。また、解析手段312により一部が解析されたメモリダンプ情報を表示するようにしてもよい。メモリダンプ情報から特徴情報を抽出する際、専門スキルを有するユーザによる詳細な分析により特徴情報が特定される場合もある。従って、表示手段313を備えることで、専門スキルを有するユーザが、メモリダンプ情報を用いて詳細な分析を行うことが出来る。

0046

次に、図4を用いて、ブロックリスト生成サーバ40の機能構成について説明する。図4に示すように、第一の実施の形態に係るブロックリスト生成サーバ40は、通信手段321、入力手段322、及び生成手段323を備える。

0047

これらの各手段は、各手段の処理内容を記述したプログラムをブロックリスト生成サーバ40に実行させることにより実現可能である。すなわち、これらの各手段は、ブロックリスト生成サーバ40に内蔵されるCPU201、ROM202、RAM203、及びHDD204などのハードウェア資源を用いて、各手段で実施される処理に対応するプログラムを実行することにより実現することが可能である。上記プログラムは、コンピュータが読取り可能な記憶媒体209等に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットなど、ネットワークを通じて提供することも可能である。

0048

通信手段321は、解析サーバ30、及び情報処理装置20との間でパケットを送受信する。

0049

入力手段322は、操作部205を介して、特徴情報の入力を受け付ける。専門スキルを有するユーザがメモリダンプ情報を解析することで得られた特徴情報を、ブロックリストに反映させることができる。

0050

生成手段323は、一以上の特徴情報をまとめてファイル化することで、ブロックリストを生成する。また、生成手段323は、生成したブロックリストを、通信手段321を介して情報処理装置20に送信する。
(効果)
以上、第一の実施の形態によれば、情報処理装置20に修正プログラムを適用することなく、コンピュータに対する攻撃を防御することが可能になる。すなわち、修正プログラムの作成及び検証の完了を待つ必要がないため、コンピュータに対する攻撃を迅速に防御することが可能になる。
<<第二の実施の形態>>
次に、第二の実施の形態について図面に基づいて説明する。なお、第一の実施の形態と同一構成部分についての説明は省略する。また、特に言及しない点については、第一の実施の形態と同様でよい。
(概要)
図6は、第二の実施の形態に係る情報処理システムの動作手順の概要を示す図である。図6を参照しながら第一の実施の形態に係る情報処理システム10の動作の概要を説明する。

0051

第二の実施の形態に係る情報処理システム10は、第一の実施の形態に係る情報処理システム10が有する機能に加え、情報処理装置20にインストールされたプログラムに対する攻撃を監視し(S111)、具体的な攻撃が検出された場合や、具体的な攻撃に至らないまでも不審な挙動発見された場合に、意図的な例外処理(以下、「疑似クラッシュ」という)を発生させる機能を有する(S112)。このように、疑似クラッシュを発生させることで、第一の実施の形態に係る処理手順(S102乃至S105)を強制的に実行させる。これにより、プログラムのクラッシュを誘発しない攻撃に対しても、メモリダンプ情報を収集することによる情報解析を行うことが出来ると共に、ブロックリストによる防御を行うことが出来る。
(ハードウェア構成)
情報処理装置20、解析サーバ30、及びブロックリスト生成サーバ40のハードウェア構成は、図3と同一であるため説明は省略する。
(機能構成)
図7は、第二の実施の形態に係る情報処理システムの機能構成の一例を示す図である。図7を用いて、情報処理装置20の機能構成について説明する。図7に示すように、第二の実施の形態に係る情報処理装置20は、通信手段301、異常検出手段302、出力手段303、制御手段304、ブロックリスト管理手段305、攻撃検出手段、及び異常発生手段307を備える。なお、図7は、第二の実施の形態に特に関係する機能を示すものであり、例えば、Webクライアント機能のように、本願発明に係る実施の形態とは関係が低い機能については図示していない。

0052

攻撃検出手段306は、外部装置との間で行われる通信又はメモリの動作を監視することで、情報処理装置20に対する不審な挙動を検出する。例えば、下記(1)〜(2)の手段又はこれらの手段の組み合わせにより、不審な挙動を検出することができる。なお、攻撃検出手段306は、下記の手段に限らない。情報処理装置20に対する不審な挙動を検出することができる手段であれは、他の手段も適用できる。

0053

また、例えば、電子商取引の不正注文等が発覚したような場合など、攻撃検出手段306は、ユーザの指示により、不審な挙動を検出したと判断するようにしてもよい。

0054

(1)マルウェアである可能性が高いと判断できるような特徴的な文字列又はバイト列を、予めマルウェアを解析することで抽出しておき、これらの特徴的な文字列又はバイト列を含むファイル等が検出された場合、攻撃検出手段306は、情報処理装置20にマルウェアが侵入していると判断することができる。

0055

(2)実行中のプログラムが、自分自身のプログラムをファイルとして出力し、さらに出力したファイルを実行しようとした場合、そのプログラムはマルウェアであると考えられる。従って、このような動作を検出した場合、攻撃検出手段306は、情報処理装置20にマルウェアが侵入していると判断することができる。

0056

異常発生手段307は、情報処理装置20の内部にて意図的な例外処理(疑似クラッシュ)を発生させる。例えば、異常発生手段307は、ゼロの割算を行うプログラムを起動させることで、強制的に例外処理を発生させることができる。また、異常発生手段307は、プログラムからはアクセス不可能なメモリ領域に値を書き込むことで、強制的に例外処理を発生させることができる。なお、例外処理を発生させる手段は上記の手段に限らない。意図的な例外処理を発生させることができれば、他の手段も適用できる。
(効果)
以上、第二の実施の形態によれば、情報処理装置20に修正プログラムを適用することなく、コンピュータに対する攻撃を防御することが可能になる。すなわち、修正プログラムの作成及び検証の完了を待つ必要がないため、コンピュータに対する攻撃を迅速に防御することが可能になる。

0057

また、一般的なOSは、例外発生を検出したタイミングでメモリダンプ情報を生成する機能を予め備えていることが多い。従って、第二の実施の形態によれば、OSが備えている機能を用いてメモリダンプ情報を生成及び収集することができる。

0058

また、第二の実施の形態によれば、アプリケーションプログラムのクラッシュを誘発しない攻撃に対しても、メモリダンプ情報を収集することによる解析を行うことが出来ると共に、ブロックリストによる防御を行うことが出来る。さらに、収集したメモリダンプ情報を解析することで、検出された不審な挙動に関する詳細な情報を収集することができ、未知攻撃手法の発見に役立てることができる。
(実施の形態の補足
なお、本発明の各実施の形態において、情報処理システム10は、必ずしも情報処理装置20、解析サーバ30及びブロックリスト生成サーバ40に分けて構成される必要は無い。例えば、解析サーバ30及びブロックリスト生成サーバ40が有する機能の一部を、情報処理装置20に実装するようにしてもよい。また、情報処理装置20に全ての機能を実装するようにしてもよい。

0059

なお、本発明の各実施の形態において、情報処理装置20、解析サーバ30及びブロックリスト生成サーバ40の一部又は全部を、クラウドサーバ上に実装するようにしてもよい。

0060

なお、本発明の各実施の形態において、必ずしも解析サーバ30が備える表示手段313、解析手段312、及び通信手段311を備えている必要は無い。例えば、解析サーバ30が備える表示手段313、解析手段312、及び通信手段311を除いた情報処理システム10を構築するようにしてもよい。メモリダンプ情報の解析及び特徴情報の抽出については、OSのベンダ等が提供するサービスを利用するようにして、当該特徴情報に基づいた攻撃防御を行う情報処理システム10を構築することができる。

0061

以上、本発明は各実施の形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。

0062

なお、各実施の形態において、通信手段321は、配信手段の一例である。攻撃元である外部装置のURL及び攻撃コードは、特徴情報の一例である。ブロックリスト生成サーバは、生成サーバの一例である。

0063

10情報処理システム
20情報処理装置
30解析サーバ
40ブロックリスト生成サーバ
50外部ネットワーク
301、311、321通信手段
302異常検出手段
303 出力手段
304 制御手段
305 ブロックリスト管理手段
306攻撃検出手段
307異常発生手段
312解析手段
313 表示手段
322入力手段
323 生成手段

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ