JP6207392B2 - 異常検出装置、異常検出方法、及び異常検出プログラム - Google Patents

異常検出装置、異常検出方法、及び異常検出プログラム Download PDF

Info

Publication number
JP6207392B2
JP6207392B2 JP2013273322A JP2013273322A JP6207392B2 JP 6207392 B2 JP6207392 B2 JP 6207392B2 JP 2013273322 A JP2013273322 A JP 2013273322A JP 2013273322 A JP2013273322 A JP 2013273322A JP 6207392 B2 JP6207392 B2 JP 6207392B2
Authority
JP
Japan
Prior art keywords
data string
feature data
attack
abnormality detection
computer
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
Application number
JP2013273322A
Other languages
English (en)
Other versions
JP2015127906A (ja
Inventor
恭之 田中
恭之 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Communications Corp
Original Assignee
NTT Communications Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2013273322A priority Critical patent/JP6207392B2/ja
Publication of JP2015127906A publication Critical patent/JP2015127906A/ja
Application granted granted Critical
Publication of JP6207392B2 publication Critical patent/JP6207392B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、コンピュータの脆弱性を狙った不正プログラムによる攻撃を検出する技術に関連するものである。
コンピュータの脆弱性を狙った不正プログラムによる攻撃が重要な問題となっている。通常、そのような攻撃により、コンピュータシステムの脆弱性が明らかになると、脆弱性を無くすための脆弱性パッチがリリースされ、ユーザに配布される。
しかし、脆弱性パッチがリリースされる前に、攻撃手法やツールが公になって、攻撃が行われるゼロデイ攻撃が後を絶たない。
上記の攻撃の特徴は、DEP(Data Execution Prevention、データ実行防止)やASLR(Address Space Layout Randomization)等のコンピュータ側の防御手法を回避するために、ROP(Return Oriented Programming)に代表されるコードリユースという攻撃手法が多く用いられることである。コードリユースを正確にとらえるためにはその性質上、コンピュータ側のメモリ状態を把握する必要がある。例えば、特許文献1には、ホストコンピュータ側でメモリ状態を把握して攻撃を回避する技術が開示されている。
特開2011−258019号公報
しかし、特許文献1に記載されたようにコンピュータ側で攻撃防御機能を実装する方式では、各ユーザのコンピュータに当該方式に対応したソフトウェア等をインストールしなければならず、コンピュータの数が多い場合にはその実施負担や管理負担が非常に大きなものとなる。
本発明は上記の点に鑑みてなされたものであり、ネットワーク側でコードリユース等を用いたコンピュータへの攻撃を検知することを可能とする技術を提供することを目的とする。
本発明の実施の形態によれば、ネットワークを流れるデータに基づいて、コンピュータへの攻撃を検出するための異常検出装置であって、
第1の特徴データ列と第2の特徴データ列を格納する特徴データ列格納手段と、
前記ネットワークから取得された所定のデータ長の比較対象データ列と、前記特徴データ列格納手段に格納されている前記第1の特徴データ列及び前記第2の特徴データ列との比較を行うことにより、前記コンピュータへの攻撃があるか否かを判定する異常判定手段とを備え
前記第2の特徴データ列は攻撃対象のコンピュータにおけるデータ実行防止設定を解除するための命令が格納されたメモリのアドレスを示すデータ列である
ことを特徴とする異常検出装置が提供される。
また、本発明の実施の形態によれば、ネットワークを流れるデータに基づいて、コンピュータへの攻撃を検出するための異常検出装置が実行する異常判定方法であって、
前記異常検出装置は、第1の特徴データ列と第2の特徴データ列を格納する特徴データ列格納手段を備えており、
前記ネットワークから取得された所定のデータ長の比較対象データ列と、前記特徴データ列格納手段に格納されている前記第1の特徴データ列及び前記第2の特徴データ列との比較を行うことにより、前記コンピュータへの攻撃があるか否かを判定する異常判定ステップを備え
前記第2の特徴データ列は攻撃対象のコンピュータにおけるデータ実行防止設定を解除するための命令が格納されたメモリのアドレスを示すデータ列である
ことを特徴とする異常検出方法が提供される。
本発明の実施の形態によれば、ネットワーク側でコードリユース等を用いたコンピュータへの攻撃を検知することが可能となる。
攻撃パケットの例を示す図である。 本発明の実施の形態に係る異常検出装置10の機能構成図である。 攻撃パケットのデータの流れのイメージを示す図である。 本発明の実施の形態に係る異常検出装置10の動作例を示す図である。 特徴データ列2が検知されても異常と判定しない場合の例を示す図である。
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、本実施の形態では、Windows(登録商標)等のOSを実行させているコンピュータに対する攻撃を通信の異常として検知するが、本発明はこのような攻撃以外の異常の検知に適用してもよい。また、本実施の形態では、DEPを回避するROPの手法に基づく攻撃の検知を例として説明しているが、本発明の適用先はこれに限らず、他の攻撃にも適用可能である。
(実施の形態の概要)
まず、本実施の形態において検知の対象として想定している攻撃について説明する。図1は、ネットワーク上で攻撃に使用される攻撃パケットの内部構成(攻撃コード)の例を示す図である。
図1(a)は通常の攻撃パケットを示す。攻撃パケットは数十バイトといった小さいサイズである。図1(a)のエクスプロイトコードは、例えば脆弱性毎に作成されるコードであり、コンピュータ内の脆弱性を利用して、所望のプログラムを実行させるコードである。ペーロードには、例えば、次のコードをダウンロードする機能を持つコードが格納されていることが多い。すなわち、攻撃対象のコンピュータにおいて、攻撃コードは小さなバッファ領域等に格納させる必要があるから、攻撃コード自体は小さいものでなければならず、ここに全ての目的のコード(コンピュータから情報を盗むマルウェア等)を入れることができないため、ペイロードに、次のコードをダウンロードさせる機能を持たせているのである。
IDS(Intrusion Detection System)等では、図1(a)に示すエクスプロイトコード部分もしくはペイロード部分からシグニチャを作成し、シグニチャにより攻撃判定を行う。ペイロード部分は暗号化が可能なため、攻撃者は図1(b)のように暗号化を行いシグニチャ検出の回避を試みる。エクスプロイトコード部分は暗号化されないのでシグニチャ検知に好都合であり一般に多くのIDSでシグニチャとして活用されているが、特にゼロデイ攻撃の場合、このエクスプロイトコードに対するシグニチャ提供が間に合わず攻撃の検出が困難である。エクスプロイトコードに対するシグニチャは脆弱性毎に作る必要があり、また攻撃のバリエーションを変えることでこのシグニチャの回避が可能という側面もある。
このように、ペイロードが暗号化された場合、ネットワーク側ではこれを復号することができないので、IDS等を使用したネットワーク側の仕組みでは、これを検出することは一般に困難である。
図1(c)は、コードリユースを用いた攻撃パケットの例である。図1(c)に示す攻撃パケットには、DEP制御コードが存在する。ここで、DEP、及び、DEPを回避するコードリユースの手法の例を説明する。
例えば、スタックバッファオーバーフローを利用してシェルコード(攻撃者が実行したいコードであり、上記ペイロードと同義と考えてよい)を実行させる場合、通常、攻撃者は、メモリのスタック領域にシェルコードを送り込み、そこへプロセスの制御を移すことによりシェルコードを実行させようとする。DEPはそのような攻撃を防止するために、スタック中(データ領域中)でのコードの実行を防止する機能である。DEPはスタック領域とは限らずに、メモリの特定の部分がデータの保持のみを目的にしていることをマークし、プロセッサがその領域を実行不可能であると認識することによって機能するものである。
ただし、場合によっては、DEPは正当なソフトウェアの実行を妨げる場合があるため、データ領域のデータ(コード)の実行権を変更できような命令(関数)がDLL等で用意されており、所定の引数で当該命令を実行することで、所定のデータ領域のデータ(コード)を実行可能とすることができる。具体的には、データ領域にコードの実行を許すようなフラグが立てられる。このように、DEPにより実行権がない設定から、実行権を付与する設定にすることをDEPを解除するとも呼ぶ。
DEPによりデータ領域のデータ実行防止が機能している場合、上記のようにシェルコードをスタック領域に送り込んでも実行させることができない。そこで、攻撃者は、DEPを回避するためにROPの手法を使用する。ROPは、リターン(ret命令)で終わるコードの断片をつなぎ合わせて、実行させたい処理を実現するものであり、スタックに実行したいコードのアドレスを積み上げておき、それに従って処理がジャンプしていくように調整することで、攻撃者が意図した様々なコード実行を可能とする。この場合、コードの実行は通常のコード領域で行われるため、DEPによる防御は働かないことになる。
ただし、ROPのみで複雑な処理を行うことは困難であるため、ROPを利用して、データ領域の実行権を変更させる命令、つまり、DEPを解除する命令(例:VirtualProtect関数)を実行させることで、データ領域に送り込んだシェルコードを実行可能にして、当該シェルコードを実行させるといった制御が行われる。
本願の発明者は、多数の攻撃ツールの攻撃コードを研究した結果、上記のROPのようなコードリユースを用いた攻撃コードでは、図1(c)に示すように、コードリユースを利用し最終的にDEP制御を行うコードが平文で流れることを見出した。本願ではこの点に着目している。当該DEP制御を行うコードとは、前述したデータ領域の実行権を変更する命令が格納されているコード領域のアドレス(絶対アドレス)である。また、当該命令の引数(例:実行権を与えるデータ領域のアドレス、サイズ、実行権を与えることを示すパラメータ等)もDEP制御を行うコードに含まれる。
また、データ領域の実行権を変更する命令を実行させるまでに、ROP等のコードリユースの手法を用いて実行させる命令(pop、push等のスタック操作を行う命令等)のアドレス、引数等も上記のDEP制御を行うコードに含まれる。
上記のデータ領域の実行権を変更する命令のアドレス、当該命令の引数、ROP等のコードリユースの手法を用いて実行させる命令のアドレス、当該命令の引数等は、スタック領域に格納され、ROPの手法で実行される。
(装置構成)
図2に、本発明の実施の形態に係る異常検出装置10の機能構成図を示す。当該異常検出装置10は、インターネット等のネットワーク上でパケットが流れる経路上に設置され、当該パケットを取得して、後述する方法で判定を行い、異常検出を行う。なお、特定のプロトコルのパケットのペイロードのみを取得して検査したり、特定サイズ以上(あるいは特定サイズ以下)のパケットのみを検査することとしてもよい。
図2に示すように、本実施の形態に係る異常検出装置は、パケット取得部11、異常判定処理部12、特徴データ列格納部13、異常時制御部14を備える。
パケット取得部11は、ネットワークを流れるパケットを順次取得し、当該パケットを異常判定処理部12に渡す。特徴データ列格納部13には、後述するように、特徴データ列1と特徴データ列2が格納されている。異常判定処理部12は、パケット取得部11から受信したパケットにおける所定の長さ(例:4byte)のデータ列毎に、特徴データ列格納部13に格納された特徴データ列1及び特徴データ列2との一致判定を行って通信の異常があるかどうか(具体的には、コードリユースを利用した攻撃があるかどうか)を判定する。異常判定処理部12における判定処理についての詳細は後述する。
異常時制御部14は、異常判定処理部12により異常が検知された場合の処理を行う機能部である。異常時制御部14は、例えば、異常が検知された場合に、ネットワーク管理者への通知を行う。また、異常時制御部14は、異常が検知された場合に、異常に係るパケットのフローの通信を停止するようにネットワーク上の通信装置に対して制御命令を送る動作を行ってもよい。
本実施の形態に係る異常検出装置10は、1つ又は複数のコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、異常検出装置10が有する機能は、当該コンピュータに内蔵されるCPUやメモリ、ハードディスクなどのハードウェア資源を用いて、異常検出装置10で実施される処理に対応するプログラムを実行することによって実現することが可能である。また、上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
(異常検出装置10の動作例)
以下、異常検出装置10の動作をより詳細に説明する。本実施の形態では、研究の結果、ネットワーク上で、データが図3に示すようなイメージで流れることを想定している。
つまり、前述したメモリのデータ領域に実行権を与える(DEPフラグを書き換える)ための命令に対応するアドレスを示すデータ列(これを特徴データ列2とする)の前後に、当該アドレス以外の特徴的なデータ列(これを特徴データ列1とする)流れることを想定している。
特徴データ列1、特徴データ列2ともに、攻撃パケットを解析することにより、あるいは、コンピュータのソフトウェアを分析することにより、それぞれ予め複数種類を特定し、特徴データ列格納部13に格納しておくものである。
特徴データ列1は、DEPを解除するための命令の引数(例:実行権を与えるデータ領域のアドレス、サイズ、実行権を与えることを示すパラメータ等)、DEPを解除する命令を実行させるまでに、ROP等のコードリユースの手法を用いて実行させる命令(例:pop、push等のスタック操作を行う命令等)のアドレス(絶対アドレス)、その引数等も特徴データ列1に含まれる。前述したように、これらは攻撃対象のコンピュータ内でスタック領域に積まれ、ROPにより、コード領域のコードの実行等のために使用される。特徴データ列1は、攻撃によってバリエーションがあり、例えば10〜20種類程度存在する。判定に際しては、この中で重み付けを行ってもよい。例えば、DEPを解除する命令の引数に相当する特徴データ列1の重みを、ROPの手順の途中で実行させる命令(DEPを解除する命令以外の命令)のアドレスに相当する特徴データ列1の重みよりも大きくすることが考えられる。
特徴データ列2は、上記のとおり、メモリのデータ領域のデータに実行権を与える(DEPを解除する)ための命令に対応するアドレス(絶対アドレス)を示すデータ列である。
通常、当該命令(関数)を有するDLLファイルはASLR付きでコンパイルされている。ASLRとは、OSにおいて、関数等のメモリ上への読み込みアドレスをプロセス起動の度に異ならせるようにする仕組みである。つまり、当該命令がメモリ上のコード領域のどのアドレスに配置されるかは通常はわからない。ただし、実際上、DLLによっては、ASRL付でないものもあり、このようなDLLファイルを解析することによって、DEP制御に有効なアドレスが判明し、それが攻撃に利用される場合がある。本願の発明者は、ROP等のコードリユース攻撃のパケットを解析することで、このアドレスがある程度固定化されていることを発見し、これを特徴データ列2として使用しているのである。
図3において、特徴データ列2の前に流れる特徴データ列1は、DEP解除の命令実行のための引数、当該命令にジャンプするためのROP手順の一例の命令実行のためのアドレス等であり、特徴データ列2の前に流れる特徴データ列1は、DEP解除の命令実行の後処理におけるスタック操作のための命令のアドレス等に対応すると考えられる。
なお、特徴データ列2のみを使用して、ネットワークから取得したパケットにおけるデータ列が、特徴データ列2と一致したことを検出した場合に異常であると判定してもよいが、本実施の形態では、特徴データ列1も使用することで、誤検出を防止して確実な検出を行うこととしている。
また、本実施の形態においては、ネットワーク上を流れるデータがエンコードされている場合も想定して、特徴データ列1、特徴データ列2のそれぞれについてオリジナルの固定長バイト列とエンコードしたバイト列の2種類を特徴データ列格納部13に格納して、取得したデータ列との比較を行うこととしている。
例えば、オリジナルの固定長バイト列(32bitマシンであれば4byte)が「66 4c 36 7c」であるとして、これを%uエンコードした場合のデータ列は「%u367c%u664c」となり、当該%uエンコードデータがネットワーク上を流れた場合には、「25 75 33 36 37 63 25 75 36 36 34 63」となる。本実施の形態では、特徴データ列として「66 4c 36 7c」と「25 75 33 36 37 63 25 75 36 36 34 63」を特徴データ列格納部13内に保持し、比較対象のデータ列との比較を行う。
次に、図4のフローチャートを参照して、異常検出装置10の異常判定処理部12により実行される判定処理の手順を説明する。このフローチャートでは、上記の2種類のデータのうちの一方(例えばオリジナルデータ列)についての比較を示すが、他方についても全く同様の手順で実行される。
また、図4の手順は、パケットから取得した、特徴データ列の長さのデータ毎(比較対象データ列と呼ぶ)の比較処理を示している。更に、図4のフローにおける「d」は、比較対象データ列と特徴データ列2が一致した場合に1とする変数であり、これらが一致しなかった場合は1以外の値をとる。また、by、syは、特徴データ列2との一致があった後における特徴データ列1との一致のスコアを示す変数であり、bx、sxは、特徴データ列2の一致の前における特徴データ列1との一致のスコアを示す変数である。これらはいずれも初期値は0である。また、以下の例では、特徴データ列1との一致が検知されたときに、by、bxを1増加させることとしているが、前述したように、一致した特徴データ列1の種類に応じて重み付けを行って、例えば、ある特徴データ列1と一致した場合には、2増加させ、別の特徴データ列1と一致した場合には、1増加させるといった処理を行うことも可能である。
まず、異常判定処理部12は、d=1か否か(前回、比較対象データ列と特徴データ列2が一致したかどうか)を判定する(ステップ101)。d=1でない場合(ステップ101のNo)、比較対象データ列が特徴データ列1に一致するかどうかを判定する(ステップ102)。比較対象データ列が特徴データ列1に一致する場合(ステップ102のYes)、異常判定処理部12は、bxを1増加させるとともに、sx=sx+bxとし(ステップ103)、次の比較対象データ列を取得して、ステップ101に戻る。なお、比較対象データ列がなければ未検出との結果で処理は終了する。他の場合も同様である。
ステップ102において、比較対象データ列が特徴データ列1に一致しない場合(ステップ102のNo)、異常判定処理部12は、比較対象データ列が特徴データ列2に一致するかどうか判定する(ステップ104)。比較対象データ列が特徴データ列2に一致する場合(ステップ104のYes)、d=1として(ステップ105)、次の比較対象データ列に進む。
ステップ104において、比較対象データ列が特徴データ列2に一致しない場合(ステップ104のNo)、sxを1減算し、bxを1減算して(ステップ106)、次の比較対象データ列に進む。
ステップ101において、d=1である場合(ステップ101のYes)、すなわち、前回のデータ列の比較で特徴データ列2と一致している場合、異常判定処理部12は、比較対象データ列が特徴データ列1に一致するかどうかを判定する(ステップ107)。比較対象データ列が特徴データ列1に一致しない場合(ステップ107のNo)、syを1減算し、byを1減算して(ステップ108)、次の比較対象データ列に進む。
ステップ107で比較対象データ列が特徴データ列1に一致する場合(ステップ107のYes)、異常判定処理部12は、byを1増加させるとともに、sy=sy+byとする(ステップ109)。次に、異常判定処理部12は、「sx>閾値1 かつ sy>閾値2」であるか否かを判定する(ステップ110)。閾値1と閾値2は同じでもよいし、異なっていてもよい。「sx>閾値1 かつ sy>閾値2」でない場合(ステップ110のNo)、次の比較対象データ列に進む。「sx>閾値1 かつ sy>閾値2」である場合(ステップ110のYes)、「異常検出」であるとの結果を出力して処理を終了する。
結果が異常検出である場合、例えば、異常時制御部14が、異常検出したことをネットワーク管理者に通知したり、パケットの通信を停止したりする。
すなわち、図4に示す処理では、比較対象データ列が特徴データ列2に一致する前後で特徴データ列1にマッチした場合に、それぞれに対応するスコアを1加算する。また、特徴データ列1との一致が連続した場合には、sy=sy+by、sx=sx+bxのようにボーナススコアを加算することとしている。特徴データ列1が連続する場合、コードの断片をつなぎあわせて実行させるROP手順が行われている蓋然性が高いためである。比較対象データ列が特徴データ列1,2のいずれにも一致しなかった場合には、スコアを1減算する。ただし、スコアを負にはしない。そして、特徴データ列2との一致がある場合において、その前後における特徴データ列1との一致の度合を示すスコア(sx、sy)が一定の閾値を超えた場合に、異常と判定している。つまり、コードリユース攻撃があったものと判断する。
例えば、図5(a)に示すように、特徴データ列2との一致があっても、その前に特徴データ列1との一致がない場合(少ない場合を含む)には異常と判定せず、また、図5(b)に示すように、特徴データ列2との一致があっても、その後に特徴データ列1との一致がない場合(少ない場合を含む)には異常と判定しないこととしている。また、図5(c)に示すように、特徴データ列2との一致があっても、その前と後のいずれにも特徴データ列1との一致がない場合(少ない場合を含む)にも異常と判定しないこととしている。
(実施の形態のまとめ、効果等)
以上、説明したように、本実施の形態により、ネットワークを流れるデータに基づいて、コンピュータへの攻撃等の通信の異常を検出するための異常検出装置であって、第1の特徴データ列と第2の特徴データ列を格納する特徴データ列格納手段と、前記ネットワークから取得された所定のデータ長の比較対象データ列と、前記特徴データ列格納手段に格納されている前記第1の特徴データ列及び前記第2の特徴データ列との比較を行うことにより、前記通信の異常があるか否かを判定する異常判定手段とを備えることを特徴とする異常検出装置が提供される。
前記通信の異常は、例えば攻撃対象コンピュータに対する攻撃であり、前記第2の特徴データ列は当該攻撃対象コンピュータにおけるデータ実行防止(DEP)設定を解除するための命令が格納されたメモリのアドレスを示すデータ列である。
前記第1の特徴データ列は、コードリユースを用いて前記命令の実行をさせるために、前記攻撃対象コンピュータのメモリにおけるスタック領域に格納されるデータであり、例えば、前記命令の引数、又は、前記コンピュータに存在する既存の命令を実行させるためのアドレスである。
前記異常判定手段は、例えば、前記比較対象データ列と前記第2の特徴データ列との一致を検知した場合において、当該比較対象データ列の前後における他の比較対象データ列と前記第1の特徴データ列との比較結果が所定の条件を満たす場合に前記通信の異常があると判定する。前記第1の特徴データ列は複数種類存在し、前記異常判定手段は、前記所定の条件の判定において、当該種類毎に前記第1の特徴データ列の重み付けを行うこととしてもよい。
本実施の形態によれば、ROPに代表されるコードリユース攻撃を、ネットワーク上で検出することが可能となる。これにより、コードリユースを用いるゼロデイ攻撃を低コストで検出できる。
明細書には以下の事項が開示されている。
(第1項)
ネットワークを流れるデータに基づいて、コンピュータへの攻撃を検出するための異常検出装置であって、
第1の特徴データ列と第2の特徴データ列を格納する特徴データ列格納手段と、
前記ネットワークから取得された所定のデータ長の比較対象データ列と、前記特徴データ列格納手段に格納されている前記第1の特徴データ列及び前記第2の特徴データ列との比較を行うことにより、前記コンピュータへの攻撃があるか否かを判定する異常判定手段と
を備えることを特徴とする異常検出装置。
(第2項)
前記第2の特徴データ列は攻撃対象のコンピュータにおけるデータ実行防止設定を解除するための命令が格納されたメモリのアドレスを示すデータ列である
ことを特徴とする第1項に記載の異常検出装置。
(第3項)
前記第1の特徴データ列は、コードリユースを用いて前記命令の実行をさせるために、前記攻撃対象のコンピュータのメモリにおけるスタック領域に格納されるデータである
ことを特徴とする第2項に記載の異常検出装置。
(第4項)
前記第1の特徴データ列は、前記命令の引数、又は、前記コンピュータに存在する既存の命令を実行させるためのアドレスである
ことを特徴とする第3項に記載の異常検出装置。
(第5項)
前記異常判定手段は、前記比較対象データ列と前記第2の特徴データ列との一致を検知した場合において、当該比較対象データ列の前後における他の比較対象データ列と前記第1の特徴データ列との比較結果が所定の条件を満たす場合に前記コンピュータへの攻撃があると判定する
ことを特徴とする第1項ないし第4項のうちいずれか1項に記載の異常検出装置。
(第6項)
前記第1の特徴データ列は複数種類存在し、前記異常判定手段は、前記所定の条件の判定において、当該種類毎に前記第1の特徴データ列の重み付けを行う
ことを特徴とする第5項に記載の異常検出装置。
(第7項)
ネットワークを流れるデータに基づいて、コンピュータへの攻撃を検出するための異常検出装置が実行する異常判定方法であって、
前記異常検出装置は、第1の特徴データ列と第2の特徴データ列を格納する特徴データ列格納手段を備えており、
前記ネットワークから取得された所定のデータ長の比較対象データ列と、前記特徴データ列格納手段に格納されている前記第1の特徴データ列及び前記第2の特徴データ列との比較を行うことにより、前記コンピュータへの攻撃があるか否かを判定する異常判定ステップ
を備えることを特徴とする異常検出方法。
(第8項)
コンピュータを、第1項ないし第6項のうちいずれか1項に記載の前記異常検出装置における各手段として機能させるための異常検出プログラム。
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。

10 異常検出装置
11 パケット取得部
12 異常判定処理部
13 特徴データ列格納部
14 異常時制御部

Claims (10)

  1. ネットワークを流れるデータに基づいて、コンピュータへの攻撃を検出するための異常検出装置であって、
    第1の特徴データ列と第2の特徴データ列を格納する特徴データ列格納手段と、
    前記ネットワークから取得された所定のデータ長の比較対象データ列と、前記特徴データ列格納手段に格納されている前記第1の特徴データ列及び前記第2の特徴データ列との比較を行うことにより、前記コンピュータへの攻撃があるか否かを判定する異常判定手段とを備え
    前記第2の特徴データ列は攻撃対象のコンピュータにおけるデータ実行防止設定を解除するための命令が格納されたメモリのアドレスを示すデータ列である
    ことを特徴とする異常検出装置。
  2. 前記第1の特徴データ列は、コードリユースを用いて前記命令の実行をさせるために、前記攻撃対象のコンピュータのメモリにおけるスタック領域に格納されるデータである
    ことを特徴とする請求項に記載の異常検出装置。
  3. 前記第1の特徴データ列は、前記命令の引数、又は、前記コンピュータに存在する既存の命令を実行させるためのアドレスである
    ことを特徴とする請求項に記載の異常検出装置。
  4. ネットワークを流れるデータに基づいて、コンピュータへの攻撃を検出するための異常検出装置であって、
    第1の特徴データ列と第2の特徴データ列を格納する特徴データ列格納手段と、
    前記ネットワークから取得された所定のデータ長の比較対象データ列と、前記特徴データ列格納手段に格納されている前記第1の特徴データ列及び前記第2の特徴データ列との比較を行うことにより、前記コンピュータへの攻撃があるか否かを判定する異常判定手段とを備え
    前記異常判定手段は、前記比較対象データ列と前記第2の特徴データ列との一致を検知した場合において、当該比較対象データ列の前後における他の比較対象データ列と前記第1の特徴データ列との比較結果が所定の条件を満たす場合に前記コンピュータへの攻撃があると判定する
    ことを特徴とする異常検出装置。
  5. 前記第1の特徴データ列は複数種類存在し、前記異常判定手段は、前記所定の条件の判定において、当該種類毎に前記第1の特徴データ列の重み付けを行う
    ことを特徴とする請求項に記載の異常検出装置。
  6. ネットワークを流れるデータに基づいて、コンピュータへの攻撃を検出するための異常検出装置であって、
    第1の特徴データ列と第2の特徴データ列を格納する特徴データ列格納手段と、
    前記ネットワークから取得された所定のデータ長の比較対象データ列と、前記特徴データ列格納手段に格納されている前記第1の特徴データ列及び前記第2の特徴データ列との比較を行うことにより、前記コンピュータへの攻撃があるか否かを判定する異常判定手段とを備え
    前記第2の特徴データ列は、所定の命令が格納されたメモリのアドレスを示すデータ列である
    ことを特徴とする異常検出装置。
  7. ネットワークを流れるデータに基づいて、コンピュータへの攻撃を検出するための異常検出装置が実行する異常判定方法であって、
    前記異常検出装置は、第1の特徴データ列と第2の特徴データ列を格納する特徴データ列格納手段を備えており、
    前記ネットワークから取得された所定のデータ長の比較対象データ列と、前記特徴データ列格納手段に格納されている前記第1の特徴データ列及び前記第2の特徴データ列との比較を行うことにより、前記コンピュータへの攻撃があるか否かを判定する異常判定ステップを備え
    前記第2の特徴データ列は攻撃対象のコンピュータにおけるデータ実行防止設定を解除するための命令が格納されたメモリのアドレスを示すデータ列である
    ことを特徴とする異常検出方法。
  8. ネットワークを流れるデータに基づいて、コンピュータへの攻撃を検出するための異常検出装置が実行する異常判定方法であって、
    前記異常検出装置は、第1の特徴データ列と第2の特徴データ列を格納する特徴データ列格納手段を備えており、
    前記ネットワークから取得された所定のデータ長の比較対象データ列と、前記特徴データ列格納手段に格納されている前記第1の特徴データ列及び前記第2の特徴データ列との比較を行うことにより、前記コンピュータへの攻撃があるか否かを判定する異常判定ステップを備え
    前記異常判定ステップにおいて、前記異常検出装置は、前記比較対象データ列と前記第2の特徴データ列との一致を検知した場合において、当該比較対象データ列の前後における他の比較対象データ列と前記第1の特徴データ列との比較結果が所定の条件を満たす場合に前記コンピュータへの攻撃があると判定する
    ことを特徴とする異常検出方法。
  9. ネットワークを流れるデータに基づいて、コンピュータへの攻撃を検出するための異常検出装置が実行する異常判定方法であって、
    前記異常検出装置は、第1の特徴データ列と第2の特徴データ列を格納する特徴データ列格納手段を備えており、
    前記ネットワークから取得された所定のデータ長の比較対象データ列と、前記特徴データ列格納手段に格納されている前記第1の特徴データ列及び前記第2の特徴データ列との比較を行うことにより、前記コンピュータへの攻撃があるか否かを判定する異常判定ステップを備え
    前記第2の特徴データ列は、所定の命令が格納されたメモリのアドレスを示すデータ列である
    ことを特徴とする異常検出方法。
  10. コンピュータを、請求項1ないし6のうちいずれか1項に記載の前記異常検出装置における各手段として機能させるための異常検出プログラム。
JP2013273322A 2013-12-27 2013-12-27 異常検出装置、異常検出方法、及び異常検出プログラム Active JP6207392B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013273322A JP6207392B2 (ja) 2013-12-27 2013-12-27 異常検出装置、異常検出方法、及び異常検出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013273322A JP6207392B2 (ja) 2013-12-27 2013-12-27 異常検出装置、異常検出方法、及び異常検出プログラム

Publications (2)

Publication Number Publication Date
JP2015127906A JP2015127906A (ja) 2015-07-09
JP6207392B2 true JP6207392B2 (ja) 2017-10-04

Family

ID=53837875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013273322A Active JP6207392B2 (ja) 2013-12-27 2013-12-27 異常検出装置、異常検出方法、及び異常検出プログラム

Country Status (1)

Country Link
JP (1) JP6207392B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6297425B2 (ja) * 2014-06-25 2018-03-20 エヌ・ティ・ティ・コミュニケーションズ株式会社 攻撃コード検出装置、攻撃コード検出方法、及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4330066B2 (ja) * 2003-10-27 2009-09-09 日本電信電話株式会社 侵入検知システム、侵入検知方法および記録媒体
JP4571184B2 (ja) * 2006-08-24 2010-10-27 デュアキシズ株式会社 通信管理システム

Also Published As

Publication number Publication date
JP2015127906A (ja) 2015-07-09

Similar Documents

Publication Publication Date Title
JP6670907B2 (ja) スクリプトの実行をブロックするシステム及び方法
US10511616B2 (en) Method and system for detecting and remediating polymorphic attacks across an enterprise
JP6346632B2 (ja) モバイルデバイスでの悪質なファイルを検出するシステム及び方法
JP6188704B2 (ja) ファジーホワイトリスト化アンチマルウェアシステムおよび方法
EP2788912B1 (en) Predictive heap overflow protection
JP5511097B2 (ja) 中央集中的にマルウェアを検出するための知的ハッシュ
KR101607951B1 (ko) 클라우드 기술을 사용한 멀웨어에 대한 동적 클리닝
US8250569B1 (en) Systems and methods for selectively blocking application installation
JP6353498B2 (ja) ユーザ機器上でマルウェアを検出するためにアンチウィルス記録セットを生成するシステム及び方法
RU2624552C2 (ru) Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины
US8650638B2 (en) System and method for detecting a file embedded in an arbitrary location and determining the reputation of the file
WO2014194803A1 (zh) 基于云安全的文件处理方法及装置
JP2019505943A (ja) サイバーセキュリティシステムおよび技術
US9306908B2 (en) Anti-malware system, method of processing packet in the same, and computing device
JP6297425B2 (ja) 攻撃コード検出装置、攻撃コード検出方法、及びプログラム
JP6207392B2 (ja) 異常検出装置、異常検出方法、及び異常検出プログラム
JP6498413B2 (ja) 情報処理システム、情報処理装置、制御サーバ、生成サーバ、動作制御方法及び動作制御プログラム
EP3151149B1 (en) System and method for blocking execution of scripts
CN117668822A (zh) 应用程序的启动控制方法、装置及电子设备
WO2012057605A1 (en) Method and system to establish a trusted interface in a network environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170807

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170905

R150 Certificate of patent or registration of utility model

Ref document number: 6207392

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250