JP6498413B2 - Information processing system, information processing apparatus, control server, generation server, operation control method, and operation control program - Google Patents
Information processing system, information processing apparatus, control server, generation server, operation control method, and operation control program Download PDFInfo
- Publication number
- JP6498413B2 JP6498413B2 JP2014213038A JP2014213038A JP6498413B2 JP 6498413 B2 JP6498413 B2 JP 6498413B2 JP 2014213038 A JP2014213038 A JP 2014213038A JP 2014213038 A JP2014213038 A JP 2014213038A JP 6498413 B2 JP6498413 B2 JP 6498413B2
- Authority
- JP
- Japan
- Prior art keywords
- information processing
- information
- abnormality
- attack
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、情報処理システム、情報処理装置、制御サーバ、生成サーバ、動作制御方法及び動作制御プログラムに関するものである。 The present invention relates to an information processing system, an information processing apparatus, a control server, a generation server, an operation control method, and an operation control program.
プログラムの実行中に異常動作(クラッシュ)が発生した際、メモリに記憶されている情報を出力することでメモリダンプを収集し、収集したメモリダンプを解析することで、プログラムに潜むバグや脆弱性などの不具合を特定することが一般的に行われている。これにより、特定された不具合の情報を基にプログラムを改修し、修正プログラム(パッチプログラム)を配布することが可能になり、より信頼性の高いプログラムにアップデートすることができる。 When an abnormal operation (crash) occurs during the execution of a program, a memory dump is collected by outputting information stored in the memory, and the collected memory dump is analyzed to analyze bugs and vulnerabilities hidden in the program In general, it is common to identify problems such as these. As a result, it is possible to modify the program based on the specified defect information and distribute the correction program (patch program), and to update to a more reliable program.
ここで、コンピュータに侵入して不正に情報を取得するといった行為や、コンピュータを停止させる等の、いわゆるサイバー攻撃が行われる場合、このようなプログラムの不具合を狙われることが多い。したがって、プログラムのアップデートは、プログラムの異常動作の防止のみならず、コンピュータに対する攻撃の防御策としても有効である。 Here, when a so-called cyber attack such as an act of intruding into a computer to illegally acquire information or a computer stop is often performed, such a problem of the program is often aimed. Therefore, the program update is effective not only for preventing abnormal operation of the program but also as a defense against attacks on the computer.
このようなコンピュータに対する攻撃を検出する技術として、例えば、バッファオーバーフロー攻撃に関する不正アクセスを検出する技術が開示されている(例えば、特許文献1)。 As a technique for detecting such an attack on a computer, for example, a technique for detecting unauthorized access related to a buffer overflow attack is disclosed (for example, Patent Document 1).
しかしながら、修正プログラムを配布するまでには、攻撃により発生したプログラムの不具合を特定、特定した不具合を修正するための修正プログラムを作成、及び不具合が正しく解消されているかの検証に至る一連の工程を踏む必要がある。従って、攻撃が検出されてから修正プログラムが配布及び適用されるまでに一定の時間を要するため、その間はコンピュータに対する攻撃を防止することができず、攻撃対象が拡大してしまうという問題がある。 However, until the fix program is distributed, a series of steps from identifying the problem of the program caused by the attack, creating a fix program to correct the specified problem, and verifying whether the problem has been resolved correctly It is necessary to step on. Therefore, since it takes a certain time from the detection of the attack until the correction program is distributed and applied, there is a problem in that the attack against the computer cannot be prevented during that time, and the attack target is expanded.
本発明は、上記に鑑みてなされたもので、修正プログラムを適用することなく、コンピュータに対する攻撃を防御する技術を提供することを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to provide a technique for preventing an attack on a computer without applying a correction program.
本発明の実施の形態に係る情報処理システムは、一以上の情報処理装置を有し、一以上の装置と通信する情報処理システムであって、プログラムの動作の異常を検出する異常検出手段と、前記異常検出手段により異常が検出された際に、メモリの記憶内容をメモリダンプ情報に出力する出力手段と、前記メモリダンプ情報に基づいて、前記異常の要因となる攻撃の特徴を示す特徴情報を抽出する解析手段と、特徴情報に基づきブロックリストを生成する生成手段と、前記ブロックリストに基づいて、当該情報処理システムの動作を制御する制御手段と、を有する。 An information processing system according to an embodiment of the present invention is an information processing system that includes one or more information processing devices and communicates with one or more devices, and detects an abnormality of a program operation, When an abnormality is detected by the abnormality detection means, output means for outputting the storage contents of the memory to memory dump information, and feature information indicating the characteristics of the attack that causes the abnormality based on the memory dump information Analyzing means for extracting, generating means for generating a block list based on the feature information, and control means for controlling the operation of the information processing system based on the block list.
本発明に係る実施の形態によれば、修正プログラムを適用することなく、コンピュータに対する攻撃を防御することが可能になる。 According to the embodiment of the present invention, it is possible to prevent an attack on a computer without applying a correction program.
以下、図面を参照して実施の形態について説明する。各図面において、同一構成部分には同一符号を付し、重複した説明を省略する場合がある。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
<<第一の実施の形態>>
(概要)
図1は、第一の実施の形態に係る情報処理システムの概要を示す図である。第一の実施の形態に係る情報処理システム10は、外部ネットワークと接続されており、外部ネットワークの先に存在する装置(図示せず)から要求を受け付けることで処理を行う情報処理装置20a及び情報処理装置20bと、プログラムに発生する異常を解析する解析サーバ30と、情報処理装置20に対する攻撃を検出するための情報が含まれるブロックリストを生成するブロックリスト生成サーバ40と、から構成されている。
Hereinafter, embodiments will be described with reference to the drawings. In the drawings, the same components are denoted by the same reference numerals, and redundant description may be omitted. The embodiment described below is only an example, and the embodiment to which the present invention is applied is not limited to the following embodiment.
<< First Embodiment >>
(Overview)
FIG. 1 is a diagram showing an overview of an information processing system according to the first embodiment. The
また、情報処理システム10において、情報処理装置20aと、情報処理装置20bと、解析サーバ30と、ブロックリスト生成サーバ40とは、相互に通信可能なように構成されている。情報処理システム10に含まれる情報処理装置20は1台であってもよく、3台以上であってもよい。以下、「情報処理装置20a」及び「情報処理装置20b」のうち任意の情報処理装置20は、「情報処理装置20」と表す。
In the
図2は、第一の実施の形態に係る情報処理システムの動作手順の概要を示す図である。図1及び図2を参照しながら第一の実施の形態に係る情報処理システム10の動作の概要を説明する。情報処理装置20aが、外部ネットワークの先に存在する装置(以下、「外部装置」という)と通信することで所定の処理を行っている前提で、動作の概要を説明する。
FIG. 2 is a diagram illustrating an outline of an operation procedure of the information processing system according to the first embodiment. An outline of the operation of the
まず、情報処理装置20aがバッファオーバーフローを引き起こすような不正パケットが、外部装置から情報処理装置20aに対して送信されたとする。情報処理装置20aがこの不正パケットに対する脆弱性を含んでいる場合、情報処理装置20aにインストールされたプログラムが異常処理を引き起こしてクラッシュ(動作停止)することがある。
First, it is assumed that an illegal packet that causes the
情報処理装置20aは、プログラムがクラッシュしたことを検出すると(S101)、クラッシュした際のメモリの内容をファイル化したメモリダンプ情報を出力し(S102)、解析サーバ30に送信する。
When the
解析サーバ30は、メモリダンプ情報を解析することで、メモリダンプ情報にプログラムがクラッシュした原因となる攻撃コードや、不正パケットの送信元である外部装置のURLといった、プログラムがクラッシュする要因となる攻撃の特徴を示す特徴情報(以下「特徴情報」という)が含まれていないかを特定する(S103)。
The
解析サーバ30は、特定された特徴情報をブロックリスト生成サーバ40に送信する。ブロックリスト生成サーバ40は、受信した特徴情報に基づいてブロックリストを生成し(S104)、情報処理装置20aに送信する。
The
情報処理装置20aは、外部装置との通信パケットとブロックリストに含まれる特徴情報とを比較し、外部装置との通信パケットが不正パケットであると判断する場合、外部装置との通信を遮断するように動作する(S105)。これにより、情報処理装置20aは、アプリケーションプログラムに対して修正プログラムを適用することなく、再度同様の不正パケットを受信した場合でも、プログラムのクラッシュを免れることができる。
When the
なお、ブロックリスト生成サーバ40は、ブロックリストを、情報処理装置20aに加えて、情報処理装置20bにも送信するようにしてもよい。これにより、情報処理装置20bは、上記不正パケットによる攻撃を防御することが可能になる。すなわち、情報処理装置20aに対する攻撃により得られた知見を、多数のコンピュータに活用することができる。
The block
なお、情報処理装置20は、プログラムに従って動作する装置であれば種類を問わない。例えば、情報処理装置20は、PC(Personal Computer)、サーバ、携帯端末、又はタブレット端末等であってもよいし、L2/L3スイッチ、又はルータ等のネットワーク機器であってもよい。
(ハードウェア構成)
図3は、第一の実施の形態に係る情報処理装置のハードウェア構成の一例を示す図である。情報処理装置20は、CPU201と、ROM202と、RAM203と、HDD204と、操作部205と、表示部206と、ドライブ装置207と、NIC(Network Interface card)208とを有する。
The
(Hardware configuration)
FIG. 3 is a diagram illustrating an example of a hardware configuration of the information processing apparatus according to the first embodiment. The
CPU201は、情報処理装置20の全体制御を行うプロセッサである。CPU201、HDD204等に記憶されたオペレーティングシステム、アプリケーション、各種サービス等のプログラムを実行し、情報処理装置20の各機能を実現する。ROM202には、各種のプログラムやプログラムによって利用されるデータ等が記憶される。RAM203は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。HDD204には、各種情報及びプログラム等が記憶される。
The
操作部205は、ユーザからの入力操作を受け付けるためのハードウェアであり、例えばキーボード又はマウスである。表示部206は、ユーザに向けた表示を行うハードウェアである。
The
ドライブ装置207は、プログラムを記録した記憶媒体209からプログラムを読み取る。ドライブ装置207によって読み取られたプログラムは、例えば、HDD204にインストールされる。NIC208は、情報処理装置20をネットワークに接続し、データの送受信を行うための通信インタフェースである。
The
なお、記憶媒体209とは、非一時的(non-transitory)な記憶媒体を言う。記憶媒体209の例としては、磁気記憶媒体、光ディスク、光磁気記憶媒体、不揮発性メモリなどがある。
Note that the
解析サーバ30及びブロックリスト生成サーバ40のハードウェア構成は、図3と同一であるため説明は省略する。
(機能構成)
図4は、第一の実施の形態に係る情報処理システムの機能構成の一例を示す図である。まず、図4を用いて、情報処理装置20の機能構成について説明する。図4に示すように、第一の実施の形態に係る情報処理装置20は、通信手段301、異常検出手段302、出力手段303、制御手段304、及びブロックリスト管理手段305を備える。なお、図4は、第一の実施の形態に特に関係する機能を示すものであり、例えばWebクライアント機能のように、本願発明に係る実施の形態とは関係が低い機能については図示していない。
The hardware configurations of the
(Functional configuration)
FIG. 4 is a diagram illustrating an example of a functional configuration of the information processing system according to the first embodiment. First, the functional configuration of the
これらの各手段は、各手段の処理内容を記述したプログラムを情報処理装置20に実行させることにより実現可能である。すなわち、これらの各手段は、情報処理装置20に内蔵されるCPU201、ROM202、RAM203、及びHDD204などのハードウェア資源を用いて、各手段で実施される処理に対応するプログラムを実行することにより実現することが可能である。上記プログラムは、コンピュータが読取り可能な記憶媒体209等に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットなど、ネットワークを通じて提供することも可能である。
Each of these means can be realized by causing the
通信手段301は、外部装置、解析サーバ30、及びブロックリスト生成サーバ40との間でパケットを送受信する。
The
異常検出手段302は、情報処理装置20で動作しているプログラムを監視し、プログラムに発生する異常を検出する。プログラムに発生する異常としては、例えば、動作中のプログラムが、アクセスが許可されていないメモリ領域を参照しようとした場合、動作中のプログラムが0で割算をしようとした場合など、プログラムがそれ以上動作を継続することが出来ない状態があげられる。またプログラムは動作しているものの、無限ループやデッドロック状態に陥っている状態などがあげられる。
The
このような状態に至る要因は様々であるが、異常検出手段302は、特定の要因に限らず、プログラムに発生する異常を検出する。また、異常検出手段302が異常を検出する手段は問わない。例えば、CPU201が備えるエラー検出機能を利用することで異常を検出するようにしてもよいし、OS(Operating System)のカーネルが備えるエラー検出機能を利用することで異常を検出するようにしてもよい。
There are various factors leading to such a state, but the abnormality detection means 302 is not limited to a specific factor, and detects an abnormality occurring in the program. The means for detecting the abnormality by the abnormality detection means 302 is not limited. For example, an abnormality may be detected by using an error detection function provided in the
出力手段303は、異常検出手段302からの指示により、RAM203に記憶されている内容をファイルに書き出すことで、メモリダンプ情報を出力する。出力手段303は、出力したメモリダンプ情報を、通信手段301を介して解析サーバ30に送信する。メモリダンプ情報とは、ある瞬間のメインメモリに記憶されている内容をファイルに書き出したものであり、主に、プログラムの不具合を解析する目的で使用される。
The
なお、出力手段303は、メインメモリに記憶されている内容全てをファイルに書き出すようにしてもよいし、メインメモリの特定領域の内容に限定してファイルに書き出すようにしてもよい。また、メインメモリに記憶されている内容そのものに限らず、問題解析に役立つ情報である、メモリの内容を間接的に示す情報(プログラムに異常が発生したメモリの番地、メモリに記憶された値のハッシュ値など)をファイルに書き出すようにしてもよい。また、出力手段303は、メインメモリに限らず、例えば、仮想メモリとして利用しているHDD204の領域や、その他プログラムが利用している外部記憶装置に記憶されている内容をファイルに書き出すようにしてもよい。
Note that the
また、出力手段303は、OSに予め実装されている、メモリダンプ情報を出力する機能を利用するようにしてもよい。
Further, the
ブロックリスト管理手段305は、ブロックリスト管理サーバから受信したブロックリストを、RAM203又はHDD204に保存すると共に、必要に応じて読出し及び更新を行う。
The block
制御手段304は、ブロックリストを用いることで、外部装置からの攻撃を防御する。
The
図5は、ブロックリストの一例及び制御手段304の動作の一例を示す図である。ここで、図5を用いて、制御手段304の動作例(その1)について説明する。
FIG. 5 is a diagram illustrating an example of the block list and an example of the operation of the
図5(a)は、ブロックリストに格納されている情報の一例である。ブロックリストには、攻撃元である外部装置のURLを示す文字列、及び、攻撃コード(exploit code)のバイト列が格納されている。攻撃コードとは、ソフトウェアの脆弱性を攻撃するように作成された、スクリプトやプログラムである。 FIG. 5A is an example of information stored in the block list. The block list stores a character string indicating the URL of the external device that is the attack source, and a byte string of an attack code (exploit code). Attack code is a script or program created to attack software vulnerabilities.
図5(b)は、情報処理装置20にインストールされたウェブブラウザが、インターネットを介してウェブサーバにアクセスする様子を表している。制御手段304は、情報処理装置20の中に、ソフトウェアで実現される仮想的なProxyを設置し、ウェブブラウザがウェブサーバにアクセスする際、仮想的なProxyを経由してアクセスさせるようにする。仮想的なProxyは、ウェブブラウザとウェブサーバとの間で送受信されるパケットを監視し、送受信されるパケットと、ブロックリストに格納されているURL又は攻撃コードとを比較する。ウェブブラウザのアクセス先が、ブロックリストに格納されているURLが示すアクセス先と一致する場合、Proxyは、例えばパケットを破棄することで、ウェブブラウザに当該アクセス先にアクセスさせないようにする。これにより、ウェブブラウザが、不正な外部装置にアクセスするのを防止することができる。また、ウェブサーバから受信したパケットのバイト列と、ブロックリストに格納されている攻撃コードのバイト列が一致した場合、Proxyは、例えばパケットを破棄する。これにより、攻撃パケットが情報処理装置20の内部に侵入するのを防止することができる。
FIG. 5B shows a state where a web browser installed in the
制御手段304の動作例(その2)について説明する。例えば、指定されたURLからファイルをダウンロードするようなアプリケーションプログラムにおいて、OS等が提供しているファイルダウンロード用のAPIが使用される場合がある。そこで、アプリケーションプログラムが当該APIをコールすると、当該APIの代わりに予め用意した別のAPIが動作するようにAPIをフックする。予め用意した別のAPIは、アプリケーションプログラムがアクセスしようとしているURLと、ブロックリストに格納されているURLが一致するかを比較し、一致する場合はファイルをダウンロードしないように動作する。これにより、アプリケーションプログラムが不正なサーバからファイルをダウンロードするのを未然に防止することができる。
An operation example (No. 2) of the
なお、制御手段304は、上記動作例に示す機能に限定されるものではない。ブロックリストを用いて、外部装置からの攻撃を防御することができれば、他の機能も適用できる。また、外部装置からの攻撃の防御に限らず、バグ等に起因する情報処理装置20の誤作動を防止する機能を含むようにしてもよい。
The
次に、図4を用いて、解析サーバ30の機能構成について説明する。図4に示すように、第一の実施の形態に係る解析サーバ30は、通信手段311、解析手段312、及び表示手段313を備える。
Next, the functional configuration of the
これらの各手段は、各手段の処理内容を記述したプログラムを解析サーバ30に実行させることにより実現可能である。すなわち、これらの各手段は、解析サーバ30に内蔵されるCPU201、ROM202、RAM203、及びHDD204などのハードウェア資源を用いて、各手段で実施される処理に対応するプログラムを実行することにより実現することが可能である。上記プログラムは、コンピュータが読取り可能な記憶媒体209等に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットなど、ネットワークを通じて提供することも可能である。
Each of these means can be realized by causing the
通信手段311は、情報処理装置20、及びブロックリスト生成サーバ40との間でパケットを送受信する。
The
解析手段312は、メモリダンプ情報を解析することで、特徴情報が含まれていないかを特定する。例えば、悪意のあるコードを含むソフトウェアであるマルウェア(malicious software)は、搾取した情報の送信先サーバのURLをプログラムコード内に含むことがある。このようなマルウェアの動作によりアプリケーションプログラム等で異常が発生した場合、当該URLがメモリダンプ情報に含まれる。従って、メモリダンプ情報を解析することで、当該URLを抽出することができる。また、メモリダンプ情報から、異常を引き起こすきっかけになった攻撃コード(exploit code)を抽出するようにしてもよい。解析手段312は、上記手段により得られたURL又は攻撃コードを、特徴情報として扱う。なお、解析手段312は、上記の方法により実現される機能に限定されるものではない。特徴情報を抽出する方法であれば、他の機能も適用できる。
The
解析手段312は、特徴情報を、通信手段311を介してブロックリスト生成サーバ40に送信する。
The
表示手段313は、表示部206を介して、メモリダンプ情報又は特徴情報をユーザが視認できるように表示する。また、メモリダンプ情報の一部を抽出して表示するようにしてもよい。また、解析手段312により一部が解析されたメモリダンプ情報を表示するようにしてもよい。メモリダンプ情報から特徴情報を抽出する際、専門スキルを有するユーザによる詳細な分析により特徴情報が特定される場合もある。従って、表示手段313を備えることで、専門スキルを有するユーザが、メモリダンプ情報を用いて詳細な分析を行うことが出来る。
The
次に、図4を用いて、ブロックリスト生成サーバ40の機能構成について説明する。図4に示すように、第一の実施の形態に係るブロックリスト生成サーバ40は、通信手段321、入力手段322、及び生成手段323を備える。
Next, the functional configuration of the block
これらの各手段は、各手段の処理内容を記述したプログラムをブロックリスト生成サーバ40に実行させることにより実現可能である。すなわち、これらの各手段は、ブロックリスト生成サーバ40に内蔵されるCPU201、ROM202、RAM203、及びHDD204などのハードウェア資源を用いて、各手段で実施される処理に対応するプログラムを実行することにより実現することが可能である。上記プログラムは、コンピュータが読取り可能な記憶媒体209等に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットなど、ネットワークを通じて提供することも可能である。
Each of these means can be realized by causing the block
通信手段321は、解析サーバ30、及び情報処理装置20との間でパケットを送受信する。
The
入力手段322は、操作部205を介して、特徴情報の入力を受け付ける。専門スキルを有するユーザがメモリダンプ情報を解析することで得られた特徴情報を、ブロックリストに反映させることができる。
The
生成手段323は、一以上の特徴情報をまとめてファイル化することで、ブロックリストを生成する。また、生成手段323は、生成したブロックリストを、通信手段321を介して情報処理装置20に送信する。
(効果)
以上、第一の実施の形態によれば、情報処理装置20に修正プログラムを適用することなく、コンピュータに対する攻撃を防御することが可能になる。すなわち、修正プログラムの作成及び検証の完了を待つ必要がないため、コンピュータに対する攻撃を迅速に防御することが可能になる。
<<第二の実施の形態>>
次に、第二の実施の形態について図面に基づいて説明する。なお、第一の実施の形態と同一構成部分についての説明は省略する。また、特に言及しない点については、第一の実施の形態と同様でよい。
(概要)
図6は、第二の実施の形態に係る情報処理システムの動作手順の概要を示す図である。図6を参照しながら第一の実施の形態に係る情報処理システム10の動作の概要を説明する。
The
(effect)
As described above, according to the first embodiment, it is possible to prevent an attack against a computer without applying a correction program to the
<< Second Embodiment >>
Next, a second embodiment will be described based on the drawings. The description of the same components as those in the first embodiment is omitted. Also, points not particularly mentioned may be the same as those in the first embodiment.
(Overview)
FIG. 6 is a diagram illustrating an outline of an operation procedure of the information processing system according to the second embodiment. The outline of the operation of the
第二の実施の形態に係る情報処理システム10は、第一の実施の形態に係る情報処理システム10が有する機能に加え、情報処理装置20にインストールされたプログラムに対する攻撃を監視し(S111)、具体的な攻撃が検出された場合や、具体的な攻撃に至らないまでも不審な挙動が発見された場合に、意図的な例外処理(以下、「疑似クラッシュ」という)を発生させる機能を有する(S112)。このように、疑似クラッシュを発生させることで、第一の実施の形態に係る処理手順(S102乃至S105)を強制的に実行させる。これにより、プログラムのクラッシュを誘発しない攻撃に対しても、メモリダンプ情報を収集することによる情報解析を行うことが出来ると共に、ブロックリストによる防御を行うことが出来る。
(ハードウェア構成)
情報処理装置20、解析サーバ30、及びブロックリスト生成サーバ40のハードウェア構成は、図3と同一であるため説明は省略する。
(機能構成)
図7は、第二の実施の形態に係る情報処理システムの機能構成の一例を示す図である。図7を用いて、情報処理装置20の機能構成について説明する。図7に示すように、第二の実施の形態に係る情報処理装置20は、通信手段301、異常検出手段302、出力手段303、制御手段304、ブロックリスト管理手段305、攻撃検出手段、及び異常発生手段307を備える。なお、図7は、第二の実施の形態に特に関係する機能を示すものであり、例えば、Webクライアント機能のように、本願発明に係る実施の形態とは関係が低い機能については図示していない。
In addition to the functions of the
(Hardware configuration)
The hardware configurations of the
(Functional configuration)
FIG. 7 is a diagram illustrating an example of a functional configuration of the information processing system according to the second embodiment. A functional configuration of the
攻撃検出手段306は、外部装置との間で行われる通信又はメモリの動作を監視することで、情報処理装置20に対する不審な挙動を検出する。例えば、下記(1)〜(2)の手段又はこれらの手段の組み合わせにより、不審な挙動を検出することができる。なお、攻撃検出手段306は、下記の手段に限らない。情報処理装置20に対する不審な挙動を検出することができる手段であれは、他の手段も適用できる。
The
また、例えば、電子商取引の不正注文等が発覚したような場合など、攻撃検出手段306は、ユーザの指示により、不審な挙動を検出したと判断するようにしてもよい。
Further, for example, when an illegal order of electronic commerce is detected, the
(1)マルウェアである可能性が高いと判断できるような特徴的な文字列又はバイト列を、予めマルウェアを解析することで抽出しておき、これらの特徴的な文字列又はバイト列を含むファイル等が検出された場合、攻撃検出手段306は、情報処理装置20にマルウェアが侵入していると判断することができる。
(1) A characteristic character string or byte string that can be determined to be highly likely to be malware is extracted in advance by analyzing the malware, and the file includes these characteristic character string or byte string. Or the like is detected, the
(2)実行中のプログラムが、自分自身のプログラムをファイルとして出力し、さらに出力したファイルを実行しようとした場合、そのプログラムはマルウェアであると考えられる。従って、このような動作を検出した場合、攻撃検出手段306は、情報処理装置20にマルウェアが侵入していると判断することができる。
(2) When a program being executed outputs its own program as a file and further attempts to execute the output file, the program is considered to be malware. Therefore, when such an operation is detected, the
異常発生手段307は、情報処理装置20の内部にて意図的な例外処理(疑似クラッシュ)を発生させる。例えば、異常発生手段307は、ゼロの割算を行うプログラムを起動させることで、強制的に例外処理を発生させることができる。また、異常発生手段307は、プログラムからはアクセス不可能なメモリ領域に値を書き込むことで、強制的に例外処理を発生させることができる。なお、例外処理を発生させる手段は上記の手段に限らない。意図的な例外処理を発生させることができれば、他の手段も適用できる。
(効果)
以上、第二の実施の形態によれば、情報処理装置20に修正プログラムを適用することなく、コンピュータに対する攻撃を防御することが可能になる。すなわち、修正プログラムの作成及び検証の完了を待つ必要がないため、コンピュータに対する攻撃を迅速に防御することが可能になる。
The
(effect)
As described above, according to the second embodiment, it is possible to prevent an attack against a computer without applying a correction program to the
また、一般的なOSは、例外発生を検出したタイミングでメモリダンプ情報を生成する機能を予め備えていることが多い。従って、第二の実施の形態によれば、OSが備えている機能を用いてメモリダンプ情報を生成及び収集することができる。 Further, a general OS often has a function of generating memory dump information in advance at the timing when an exception occurrence is detected. Therefore, according to the second embodiment, it is possible to generate and collect memory dump information using a function provided by the OS.
また、第二の実施の形態によれば、アプリケーションプログラムのクラッシュを誘発しない攻撃に対しても、メモリダンプ情報を収集することによる解析を行うことが出来ると共に、ブロックリストによる防御を行うことが出来る。さらに、収集したメモリダンプ情報を解析することで、検出された不審な挙動に関する詳細な情報を収集することができ、未知の攻撃手法の発見に役立てることができる。
(実施の形態の補足)
なお、本発明の各実施の形態において、情報処理システム10は、必ずしも情報処理装置20、解析サーバ30及びブロックリスト生成サーバ40に分けて構成される必要は無い。例えば、解析サーバ30及びブロックリスト生成サーバ40が有する機能の一部を、情報処理装置20に実装するようにしてもよい。また、情報処理装置20に全ての機能を実装するようにしてもよい。
In addition, according to the second embodiment, it is possible to perform analysis by collecting memory dump information and defense by a block list against an attack that does not induce an application program crash. . Further, by analyzing the collected memory dump information, it is possible to collect detailed information regarding the detected suspicious behavior, which can be used for finding unknown attack techniques.
(Supplement of the embodiment)
In each embodiment of the present invention, the
なお、本発明の各実施の形態において、情報処理装置20、解析サーバ30及びブロックリスト生成サーバ40の一部又は全部を、クラウドサーバ上に実装するようにしてもよい。
In each embodiment of the present invention, some or all of the
なお、本発明の各実施の形態において、必ずしも解析サーバ30が備える表示手段313、解析手段312、及び通信手段311を備えている必要は無い。例えば、解析サーバ30が備える表示手段313、解析手段312、及び通信手段311を除いた情報処理システム10を構築するようにしてもよい。メモリダンプ情報の解析及び特徴情報の抽出については、OSのベンダ等が提供するサービスを利用するようにして、当該特徴情報に基づいた攻撃防御を行う情報処理システム10を構築することができる。
In each embodiment of the present invention, the
以上、本発明は各実施の形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。 As described above, the present invention is not limited to each embodiment, and various modifications and improvements can be made within the scope of the present invention.
なお、各実施の形態において、通信手段321は、配信手段の一例である。攻撃元である外部装置のURL及び攻撃コードは、特徴情報の一例である。ブロックリスト生成サーバは、生成サーバの一例である。
In each embodiment, the
10 情報処理システム
20 情報処理装置
30 解析サーバ
40 ブロックリスト生成サーバ
50 外部ネットワーク
301、311、321 通信手段
302 異常検出手段
303 出力手段
304 制御手段
305 ブロックリスト管理手段
306 攻撃検出手段
307 異常発生手段
312 解析手段
313 表示手段
322 入力手段
323 生成手段
DESCRIPTION OF
Claims (11)
プログラムの動作の異常を検出する異常検出手段と、
前記異常検出手段により異常が検出された際に、メモリの記憶内容をメモリダンプ情報に出力する出力手段と、
前記メモリダンプ情報に基づいて、前記異常の要因となる攻撃の特徴を示す特徴情報を抽出する解析手段と、
特徴情報に基づきブロックリストを生成する生成手段と、
前記ブロックリストに基づいて、当該情報処理システムの動作を制御する制御手段と、
を有する情報処理システム。 An information processing system having one or more information processing devices and communicating with one or more devices,
An anomaly detecting means for detecting an anomaly of the program operation;
When an abnormality is detected by the abnormality detection means, an output means for outputting the storage content of the memory to the memory dump information;
Based on the memory dump information, analysis means for extracting feature information indicating the feature of the attack that causes the abnormality,
Generating means for generating a block list based on the feature information;
Control means for controlling the operation of the information processing system based on the block list;
An information processing system.
前記制御手段は、前記ブロックリストに含まれる特徴情報と前記通信手段が通信するパケットとを比較し、前記装置が攻撃元の装置であると判断する場合に、前記装置との通信を遮断する、
請求項1に記載の情報処理システム。 Having communication means for communicating with the device;
The control unit compares the feature information included in the block list with a packet communicated by the communication unit, and when the device determines that the device is an attack source device, blocks the communication with the device.
The information processing system according to claim 1.
前記生成手段は、前記入力手段により受け付けた特徴情報に基づき前記ブロックリストを生成する、請求項1乃至3のいずれか一項に記載の情報処理システム。 Having input means for receiving input of feature information;
The information processing system according to any one of claims 1 to 3, wherein the generation unit generates the block list based on feature information received by the input unit.
前記攻撃検出手段により攻撃が検出された場合に、プログラムの動作の異常を発生させる異常発生手段を有する、請求項1乃至4のいずれか一項に記載の情報処理システム。 Attack detection means for detecting an attack on the program by monitoring memory operation or communication;
5. The information processing system according to claim 1, further comprising: an abnormality generation unit that generates an abnormality in the operation of the program when an attack is detected by the attack detection unit.
プログラムの動作の異常を検出する異常検出手段と、
前記異常検出手段により異常が検出された際に、メモリの記憶内容をメモリダンプ情報に出力する出力手段と、
前記メモリダンプ情報を解析することで得られる、前記異常の要因となる攻撃の特徴を示す特徴情報の入力を受け付ける入力手段と、
前記特徴情報に基づきブロックリストを生成する生成手段と、
前記ブロックリストに基づいて、当該情報処理システムの動作を制御する制御手段と、
を有する情報処理システム。 An information processing system having one or more information processing devices and communicating with one or more devices,
An anomaly detecting means for detecting an anomaly of the program operation;
When an abnormality is detected by the abnormality detection means, an output means for outputting the storage content of the memory to the memory dump information;
Input means for receiving input of feature information indicating characteristics of an attack that causes the abnormality, obtained by analyzing the memory dump information;
Generating means for generating a block list based on the feature information;
Control means for controlling the operation of the information processing system based on the block list;
An information processing system.
プログラムの動作の異常を検出する異常検出手段と、
前記異常検出手段により異常が検出された際に、メモリの記憶内容をメモリダンプ情報に出力する出力手段と、
前記メモリダンプ情報を送信する送信手段と、
前記異常の要因となる攻撃の特徴を示す特徴情報であって、前記メモリダンプ情報に基づいて抽出される特徴情報を含むブロックリストを受信する受信手段と、
受信した前記ブロックリストに基づいて、当該情報処理装置の動作を制御する制御手段と、
を有する情報処理装置。 An information processing device that communicates with one or more devices,
An anomaly detecting means for detecting an anomaly of the program operation;
When an abnormality is detected by the abnormality detection means, an output means for outputting the storage content of the memory to the memory dump information;
Transmitting means for transmitting the memory dump information;
Receiving means for receiving a block list including characteristic information extracted based on the memory dump information, which is characteristic information indicating characteristics of an attack that causes the abnormality;
Control means for controlling the operation of the information processing device based on the received block list;
An information processing apparatus.
前記情報処理装置から、前記情報処理装置のメモリの記憶内容が出力されたメモリダンプ情報を受信する受信手段と、
前記メモリダンプ情報に基づいて、前記情報処理装置が有するプログラムの動作の異常の要因となる攻撃の特徴を示す特徴情報を抽出する解析手段と、
前記特徴情報を、前記生成サーバに送信する送信手段と、
を有する解析サーバ。 An analysis server connected to an information processing device and a generation server that communicate with one or more devices,
Receiving means for receiving, from the information processing apparatus, memory dump information in which the memory content of the information processing apparatus is output;
Based on the memory dump information, an analysis unit that extracts feature information indicating characteristics of an attack that causes an abnormality in the operation of the program included in the information processing device;
Transmitting means for transmitting the feature information to the generation server;
An analysis server having
前記解析サーバから、プログラムの動作の異常の要因となる攻撃の特徴を示す特徴情報であって、前記情報処理装置のメモリの記憶内容が出力されたメモリダンプ情報に基づき抽出された特徴情報を受信する受信手段と、
前記特徴情報に基づきブロックリストを生成する生成手段と、
前記ブロックリストを前記情報処理装置に送信する送信手段と、
を有する生成サーバ。 A generation server connected to the information processing apparatus and the analysis server,
Received from the analysis server is feature information indicating the characteristics of an attack that causes abnormal operation of the program, and the feature information extracted based on the memory dump information from which the memory content of the information processing device is output is received Receiving means for
Generating means for generating a block list based on the feature information;
Transmitting means for transmitting the block list to the information processing apparatus;
A generation server.
プログラムの動作の異常を検出する異常検出ステップと、
前記異常検出ステップにより異常が検出された際に、メモリの記憶内容をメモリダンプ情報に出力する出力ステップと、
前記メモリダンプ情報に基づいて、前記異常の要因となる攻撃の特徴を示す特徴情報を抽出する解析ステップと、
前記特徴情報に基づきブロックリストを生成する生成ステップと、
前記ブロックリストに基づいて、当該情報処理システムの動作を制御する制御ステップと、
を有する動作制御方法。 An operation control method of an information processing system that communicates with one or more devices and has one or more information processing devices,
An abnormality detection step for detecting an abnormality in the operation of the program;
When an abnormality is detected by the abnormality detection step, an output step of outputting the storage content of the memory to the memory dump information;
Based on the memory dump information, an analysis step for extracting feature information indicating a feature of an attack that causes the abnormality;
Generating a block list based on the feature information;
A control step for controlling the operation of the information processing system based on the block list;
An operation control method.
情報処理装置に、
メモリの動作又は通信を監視することでプログラムに対する攻撃を検出する攻撃検出ステップと、
前記攻撃検出ステップにより攻撃が検出された場合、当該情報処理装置にメモリダンプ情報を生成させるために、プログラムの動作の異常を発生させる異常発生ステップと、
前記メモリダンプ情報を解析することで得られる、前記異常の要因となる攻撃の特徴を示す特徴情報の入力を受け付ける入力ステップと、
前記特徴情報に基づきブロックリストを生成する生成ステップと、
前記ブロックリストに基づいて、当該情報処理装置の動作を制御する制御ステップと、
を実行させるための動作制御プログラム。 An operation control program for an information processing device that communicates with one or more devices,
In the information processing device,
An attack detection step of detecting an attack on the program by monitoring memory operation or communication;
When an attack is detected by the attack detection step, an abnormality generation step for generating an abnormality in the operation of the program in order to cause the information processing apparatus to generate memory dump information;
An input step of receiving input of feature information indicating characteristics of an attack that causes the abnormality, obtained by analyzing the memory dump information;
Generating a block list based on the feature information;
A control step for controlling the operation of the information processing apparatus based on the block list;
Operation control program for executing
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014213038A JP6498413B2 (en) | 2014-10-17 | 2014-10-17 | Information processing system, information processing apparatus, control server, generation server, operation control method, and operation control program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014213038A JP6498413B2 (en) | 2014-10-17 | 2014-10-17 | Information processing system, information processing apparatus, control server, generation server, operation control method, and operation control program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2016081348A JP2016081348A (en) | 2016-05-16 |
| JP6498413B2 true JP6498413B2 (en) | 2019-04-10 |
Family
ID=55956358
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014213038A Active JP6498413B2 (en) | 2014-10-17 | 2014-10-17 | Information processing system, information processing apparatus, control server, generation server, operation control method, and operation control program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6498413B2 (en) |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002182951A (en) * | 2000-12-18 | 2002-06-28 | Hitachi Ltd | Information processing apparatus maintenance method and information processing apparatus |
| JP2006243878A (en) * | 2005-03-01 | 2006-09-14 | Matsushita Electric Ind Co Ltd | Unauthorized access detection system |
| JP2010134536A (en) * | 2008-12-02 | 2010-06-17 | Ntt Docomo Inc | Pattern file update system, pattern file update method, and pattern file update program |
| JP5655191B2 (en) * | 2011-06-28 | 2015-01-21 | 日本電信電話株式会社 | Feature information extraction apparatus, feature information extraction method, and feature information extraction program |
-
2014
- 2014-10-17 JP JP2014213038A patent/JP6498413B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2016081348A (en) | 2016-05-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7460696B2 (en) | Real-time detection and protection from malware and steganography in kernel mode | |
| JP7046111B2 (en) | Automatic detection during malware runtime | |
| RU2531861C1 (en) | System and method of assessment of harmfullness of code executed in addressing space of confidential process | |
| US10887328B1 (en) | System and method for detecting interpreter-based exploit attacks | |
| US10552610B1 (en) | Adaptive virtual machine snapshot update framework for malware behavioral analysis | |
| US9405899B2 (en) | Software protection mechanism | |
| US10242186B2 (en) | System and method for detecting malicious code in address space of a process | |
| CN103975337B (en) | Predictability heap overflow is protected | |
| US10339300B2 (en) | Advanced persistent threat and targeted malware defense | |
| KR102271545B1 (en) | Systems and Methods for Domain Generation Algorithm (DGA) Malware Detection | |
| US9548990B2 (en) | Detecting a heap spray attack | |
| US20100037317A1 (en) | Mehtod and system for security monitoring of the interface between a browser and an external browser module | |
| CN105408911A (en) | Hardware and software execution profiling | |
| RU2724790C1 (en) | System and method of generating log when executing file with vulnerabilities in virtual machine | |
| CN110659478B (en) | Method for detecting malicious files preventing analysis in isolated environment | |
| JP2019061636A (en) | System and method for generating a log on a virtual machine for performing an antivirus scan of a file | |
| CN111177726A (en) | A system vulnerability detection method, device, equipment and medium | |
| KR20140064840A (en) | Malware risk scanner | |
| CN108028843B (en) | Method, system and computing device for securing delivery of computer-implemented functionality | |
| CN102446253B (en) | Webpage trojan detection method and system | |
| US10880316B2 (en) | Method and system for determining initial execution of an attack | |
| JP2016181208A (en) | Fraud monitoring device and fraud monitoring program | |
| Dai et al. | Holography: a behavior‐based profiler for malware analysis | |
| JP6498413B2 (en) | Information processing system, information processing apparatus, control server, generation server, operation control method, and operation control program | |
| Kohlrausch | Experiences with the noah honeynet testbed to detect new internet worms |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170905 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180718 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180828 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181029 |
|
| 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: 20190219 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190313 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6498413 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |