JP6903901B2 - 攻撃検知装置、攻撃検知プログラム及び攻撃検知方法 - Google Patents

攻撃検知装置、攻撃検知プログラム及び攻撃検知方法 Download PDF

Info

Publication number
JP6903901B2
JP6903901B2 JP2016230520A JP2016230520A JP6903901B2 JP 6903901 B2 JP6903901 B2 JP 6903901B2 JP 2016230520 A JP2016230520 A JP 2016230520A JP 2016230520 A JP2016230520 A JP 2016230520A JP 6903901 B2 JP6903901 B2 JP 6903901B2
Authority
JP
Japan
Prior art keywords
countermeasure
identifier
attack
program
attack detection
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
JP2016230520A
Other languages
English (en)
Other versions
JP2018088094A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016230520A priority Critical patent/JP6903901B2/ja
Priority to US15/820,913 priority patent/US10872147B2/en
Publication of JP2018088094A publication Critical patent/JP2018088094A/ja
Application granted granted Critical
Publication of JP6903901B2 publication Critical patent/JP6903901B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、情報処理装置における攻撃検知技術に関する。
例えばモバイルフォンに忍び込んだマルウエアは、OS(Operating System)の脆弱性を検証するためのツールを悪用することがある。当該ツールを用いれば、脆弱性を有するOSを使用しているモバイルフォンに対して標的型攻撃を仕掛けることができる。
一方、脆弱性を解消した修正プログラムをモバイルフォンにインストールすれば、係る攻撃を排除できる。但し、各モバイルフォンが、あらゆる脆弱性に対する修正プログラムを適用できているとは限らない。
従って、攻撃者は、様々な脆弱性に関する試行を繰り返して、攻撃の糸口を探す。
特開2011−198022号公報
本発明の目的は、一側面では、プログラムの脆弱性に着目した攻撃を検知し易くすることである。
一態様に係る攻撃検知装置は、(A)脆弱性の対策処理が施されたプログラムにおいて当該対策処理が実行された場合に、当該対策処理の識別子を含む通知を受け付ける受付部と、(B)受け付けた上記通知に含まれる上記識別子に基づいて、攻撃の有無を判定する判定部とを有する。
一側面としては、プログラムの脆弱性に着目した攻撃を検知し易い。
図1は、端末装置のハードウエア構成例を示す図である。 図2は、マルウエアによる攻撃の概要を示す図である。 図3は、プログラムの処理フロー例を示す図である。 図4は、マルウエアの処理フロー例を示す図である。 図5は、マルウエアの処理フロー例を示す図である。 図6は、従来技術における修正プログラムの処理フロー例を示す図である。 図7は、本実施の形態における修正プログラムの処理フロー例を示す図である。 図8Aは、修正プログラムによる通知の概要を示す図である。 図8Bは、監視部のモジュール構成例を示す図である。 図9は、監視処理フローを示す図である。 図10は、ログテーブルの例を示す図である。 図11は、条件テーブルの例を示す図である。 図12は、警戒アクション部のモジュール構成例を示す図である。 図13は、実施の形態2における条件テーブルの例を示す図である。 図14は、実施の形態3における条件テーブルの例を示す図である。 図15は、実施の形態4における条件テーブルの例を示す図である。 図16は、実施の形態5における条件テーブルの例を示す図である。 図17は、レベルテーブルの例を示す図である。 図18は、実施の形態6における条件テーブルの例を示す図である。
[実施の形態1]
図1に、端末装置100のハードウエア構成例を示す。端末装置100は、プロセッサ101、記憶部103、アンテナ111、無線制御部113、オーディオ制御部115、スピーカ117、マイク119、ディスプレイ121、タッチセンサ123、カメラ125及びGPS(Global Positioning System)装置127を有している。
プロセッサ101は、モデムCPU(Central Processing Unit)とアプリケーションCPUからなることもある。記憶部103は、例えば、ROM(Read Only Memory)105とRAM(Random Access Memory)107とフラッシュメモリ109を有している。ROM105は、例えば、予め設定されているデータやプログラムを格納している。RAM107は、例えば、アプリケーションなどのプログラムやデータを展開する領域を含んでいる。フラッシュメモリ109は、例えば、OSやアプリケーションなどのプログラムを格納しており、更に随時データを格納する。
タッチセンサ123は、例えば、ディスプレイ121の表示面上に配置されたパネル状のセンサであり、タッチ操作を受け付ける。ディスプレイ121は、例えば、アプリケーションが表示させる各種画面を表示する。具体的には、ディスプレイ121とタッチセンサ123とを一体としたタッチパネルとして用いられる。タッチセンサ123へのタッチ操作によって、タッチイベントが発生する。タッチセンサ123の他に、キーを設けるようにしてもよい。
アンテナ111は、例えばセルラー方式の無線データを受信する。無線制御部113は、無線通信の制御を行う。無線通信の制御により、電話の音声通信やデータ通信が行われる。
オーディオ制御部115は、音データに関するアナログ/デジタル変換とデジタル/アナログ変換を行う。スピーカ117は、アナログデータを音として出力する。マイク119は、音をアナログデータに変換する。
カメラ125は、動画や写真画像の撮影に用いられる。GPS装置127は、位置を計測する。
図2に、マルウエアによる攻撃の概要を示す。この例で、OS層は、プログラム201a乃至プログラム201zを有するものとする。そして、プログラム201aは、脆弱性A及び脆弱性Bを有するものとする。また、プログラム201cは、脆弱性Cを有し、プログラム201dは、脆弱性Dを有するものとする。プログラム201eは、脆弱性Eを有し、プログラム201fは、脆弱性Fを有するものとする。プログラム201gは、脆弱性Gを有し、プログラム201hは、脆弱性Hを有するものとする。一方、プログラム201b、及びプログラム201i乃至プログラム201zは、いずれも脆弱性を有していないものとする。
図3を用いて脆弱性の例について説明する。関数func_aは、プログラム201aに相当する。関数func_aは、引数ptr、引数size及び引数nに基づいて動作する。引数ptrは、文字列データの先頭アドレスである。引数sizeは、文字列データの長さである。引数nは、動作種別を表す。
S301のコードは、256バイトのバッファbufを確保することを示している。S303のコードは、先頭アドレスptrから始まる、長さsizeの文字列データを、バッファbufに書き込むことを示している。
S305のコードは、動作種別nが1であるか否かを判定することを示している。動作種別nが1であると判定した場合には、S307の処理に移る。S307のコードは、変数global.a.textに、バッファbufに格納されている文字列データを設定することを示している。S309のコードは、変数global.a.textに設定された文字列データを文字列として出力することを示している。S311のコードは、戻り値ptrを返すことを示している。そして、関数func_aの処理を終える。
一方、S305において動作種別nが1ではないと判定した場合には、S313の処理に移る。S313のコードは、動作種別nが2であるか否かを判定することを示している。動作種別nが2であると判定した場合には、S315の処理に移る。S315のコードは、変数global.a.textを解放することを示している。そして、S311の処理に移る。
S313において動作種別nが2ではないと判定した場合には、S317の処理に移る。S317のコードは、分岐に伴う処理を終えることを示している。そして、S311の処理に移る。
以下、この例における脆弱性について説明する。関数func_aがコールされたときの引数sizeが256を超えている場合には、バッファbufにおいてオーバーフローが生じるかも知れない。その結果OSにおける動作を不安定化させる恐れがある。この例では、この問題を脆弱性Aと呼ぶ。
また、S315において解放された変数global.a.textの内容は、その後もメモリに保持されたままとなる。従って、他の関数から上記文字列データが読み取られる恐れがある。仮にセキュリティーコードが流出すれば、攻撃者による成り済ましが起こるかも知れない。この例では、この問題を脆弱性Bと呼ぶ。
脆弱性の態様は、脆弱性A及び脆弱性Bの例に限らない。また、プログラム201が複数の関数を含んでいることもある。
図2の説明に戻る。この例で、アプリケーション層でマルウエアが動作しているものとする。マルウエアは、脆弱性に着目してプログラム201に異常な動作を行わせる。そのため、マルウエアは、脆弱性の検証に用いられるツールであるエクスプロイトを用いて試行を繰り返す。この例で、試行部203aは、脆弱性Aを検証するためのエクスプロイトAを用いて脆弱性Aに着目した異常な処理要求を行う。同様に、試行部203b乃至試行部203hの各々は、脆弱性B乃至脆弱性Hの各々を検証するためのエクスプロイトを用いて当該脆弱性に着目した異常な処理要求を行う。処理要求は、例えばシステムコールである。
ここで、図4を用いて、マルウエアの処理例について説明する。このマルウエアは、root権限を奪取して、OSの管理データを改変することを目的としているものとする。
試行部203aは、試行処理(A)を実行する(S401)。試行処理(A)では、脆弱性Aに着目した異常な処理要求と通常の処理要求とを行い、root権限の奪取を試みる。S403においてroot権限の奪取が成功したと判定した場合には、マルウエアはOSの管理データを改変する(S405)。
一方、S403においてroot権限の奪取が失敗したと判定した場合には、試行部203bは、試行処理(B)を実行し(S407)、試行部203cは、試行処理(C)を実行する(S409)。試行処理(B)では、脆弱性Bに着目した処理要求を行う。試行処理(C)では、試行処理(B)の結果を前提として、脆弱性Cに着目した処理要求を行い、root権限の奪取を試みる。S411においてroot権限の奪取が成功したと判定した場合には、マルウエアはOSの管理データを改変する(S405)。
一方、S411においてroot権限の奪取が失敗したと判定した場合には、端子Aを介して、図5に示したS501の処理に移る。
試行部203dは、試行処理(D)を実行し(S501)、試行部203eは、試行処理(E)を実行する(S503)。試行処理(D)では、脆弱性Dに着目した処理要求を行う。試行処理(E)では、脆弱性Eに着目した処理要求を行う。
続いて、試行部203fは、試行処理(F)を実行し(S505)、試行部203gは、試行処理(G)を実行する(S507)。試行処理(F)では、脆弱性Fに着目した処理要求を行う。試行処理(G)では、脆弱性Gに着目した処理要求を行う。
最後に、試行部203hは、試行処理(H)を実行する(S509)。試行処理(H)では、試行処理(D)乃至試行処理(G)の結果を前提として、脆弱性Hに着目した異常な処理要求を行い、root権限の奪取を試みる。S511においてroot権限の奪取が成功したと判定した場合には、マルウエアはOSの管理データを改変する(S513)。
一方、S511においてroot権限の奪取が失敗したと判定した場合には、端子Bを介して、図4に示したS401の処理に戻って、上述した処理を繰り返す。
図4では、マルウエア自身において処理の流れを制御する例を示したが、マルウエアにおいて処理の流れを制御しない場合もある。例えば、攻撃者が操作する外部の装置からの指示によって処理の流れが制御される場合もある。
このように、マルウエアは種々の試行を繰り返すことが多い。試行を繰り返せば、残存する脆弱性を見つけ出して攻撃の糸口とすることができる。
一方、OSの提供者がプログラム201における脆弱性を発見すると、脆弱性を解消するために修正されたプログラム(以下、修正プログラムという。)が作成される。修正プログラムは、パッチということもある。修正プログラムには、脆弱性に起因する誤動作や不正動作を防ぐための対策が施されている。
図6を用いて、従来技術における修正プログラムについて説明する。S601のコードは、引数sizeが256を超えているか否かを判定することを示している。引数sizeが256を超えていると判定した場合には、S603の処理に移る。S603のコードは、エラーを示す戻り値を返すことを示している。そして、関数func_aの処理を終える。
このようにすれば、関数func_aがコールされたときの引数sizeが256を超えている場合に、S301以降の処理を行わないので、バッファbufにおいてオーバーフローが生じる恐れはない。つまり、脆弱性Aは解消される。S601及びS603は、脆弱性Aに関する対策処理(以下、対策処理Aという。)に相当する。
また、S315の処理の後に、S605の処理を行う。S605のコードは、変数global.a.textの内容をクリアすることを示している。
このようにすれば、変数global.a.textに設定された文字列データが他の関数から読み取られる恐れはない。つまり、脆弱性Bは解消される。S605は、脆弱性Bに関する対策処理(以下、対策処理Bという。)に相当する。
このような修正プログラムに置き換えることによって攻撃に対する防御がなされる。但し、従来技術において攻撃が仕掛けられていることを判別するようにはなっていない。
本実施の形態における修正プログラムでは、対策処理が実行されたことをOS層の監視部に通知する。図7に、本実施の形態における修正プログラムの処理フロー例を示す。S601において引数sizeが256を超えていると判定した場合に、S603の処理に移る前に、S701の処理を実行する。S701において、関数func_aは、対策処理Aが実行されたことを示す通知を監視部に渡す。具体的には、対策処理Aの識別子(code_a)が、当該通知に含まれている。
また、S605の処理の後に、S703の処理を実行する。S703において、関数func_aは、対策処理Bが実行されたことを示す通知を監視部に渡す。具体的には、対策処理Bの識別子(code_b)が、当該通知に含まれている。
図8Aに、修正プログラム801による通知の概要を示す。この例では、プログラム201aが修正プログラム801aに置き換えられている。また、プログラム201cが修正プログラム801cに置き換えられている。その他のプログラム201は、図2の場合と同様である。
上述したように、修正プログラム801aが、脆弱性Aに着目した異常な処理要求に応じて対策処理Aを実行した場合には、対策処理Aの識別子(code_a)を含む通知を監視部802に渡す。修正プログラム801aが、脆弱性Bに着目した処理要求に応じて対策処理Bを実行した場合には、対策処理Bの識別子(code_b)を含む通知を監視部802に渡す。また、修正プログラム801cが、脆弱性Cに着目した処理要求に応じて、対策処理Cを実行した場合には、脆弱性Cに関する対策処理(以下、対策処理Cという。)の識別子(code_c)含む通知を監視部802に渡す。
続いて、監視部802について説明する。図8Bに、監視部802のモジュール構成例を示す。監視部802は、受付部803、判定部805、警戒アクション部807、ログ記憶部811、条件記憶部813及びレベル記憶部815を有する。監視部802は、マルウエアによる攻撃が疑われる挙動を監視する。受付部803は、対策処理の実行通知を受け付ける。判定部805は、警戒の要否を判定する。例えば監視部802において、攻撃が有ったと判断すれば警戒する。監視部802において、攻撃が無かったと判断すれば警戒しない。警戒アクション部807は、判定部805における判定結果に応じて警戒アクションを行う。
ログ記憶部811は、ログテーブルを記憶する。ログテーブルについては、図10を用いて後述する。条件記憶部813は、条件テーブルを記憶する。条件テーブルについては、図11、図13乃至図16及び図18を用いて後述する。レベル記憶部815は、レベルテーブルを記憶する。レベルテーブルについては、図17を用いて後述する。
上述した監視部802、受付部803、判定部805及び警戒アクション部807は、ハードウエア資源(例えば、図1)と、以下で述べる処理をプロセッサ101に実行させるプログラムとを用いて実現される。
上述したログ記憶部811、条件記憶部813及びレベル記憶部815は、ハードウエア資源(例えば、図1)を用いて実現される。
続いて、監視部802における処理について説明する。図9に、監視処理フローを示す。受付部803は、いずれかの修正プログラム801から対策処理の実行通知を受け付ける(S901)。
判定部805は、通知元の修正プログラム801に対して処理を要求したプロセスの番号を特定する(S903)。判定部805は、日時と、実行通知に含まれる対策処理の識別子と、プロセス番号とをログテーブルに記録する(S905)。
図10を用いて、ログテーブルの例について説明する。この例におけるログテーブルは、対策処理の実行通知に対応するレコードを有している。ログテーブルのレコードは、日時が格納されるフィールドと、対策処理の識別子が格納されるフィールドと、プロセス番号が格納されるフィールドとを有している。日時は、対策処理を実行した時点を特定する。
例えば1番目のレコードは、日時T1において、プロセス番号P1で特定されるプロセスによる要求に応じた処理が起動されて、識別子code_aで特定される対策処理が実行されたことを示している。
図9の説明に戻る。本実施の形態では、S907を省くようにしてもよい。従って、S907については後述する。
判定部805は、条件テーブルにおけるレコードを1つ特定する(S909)。図11を用いて、条件テーブルの例について説明する。この例における条件テーブルは、警戒条件に対応するレコードを有している。条件テーブルのレコードは、警戒条件が設定されるフィールドと、警戒アクションが設定されるフィールドとを有している。
警戒条件は、警戒すべき状況であることを判別するための条件である。本実施の形態における警戒条件は、1つの対策処理の識別子である。警戒アクションは、攻撃に対する警戒のために行われるアクションである。警戒条件を満たす場合に、当該警戒条件に対応する警戒アクションが行われる。
例えば1番目のレコードは、受け付けた対策処理の実行通知に含まれる対策処理の識別子がcode_aである場合に、端末装置100の電源をOFFすることを示している。
同じく図示した2番目のレコードは、受け付けた対策処理の実行通知に含まれる対策処理の識別子がcode_bである場合に、当該対策処理が実行された際の処理要求元であるプロセスを削除することを示している。
同じく図示した3番目のレコードは、受け付けた対策処理の実行通知に含まれる対策処理の識別子がcode_cである場合に、当該対策処理が実行された際の処理要求元であるプロセスのソフトウエアをアンインストールすることを示している。
同じく図示した4番目のレコードは、受け付けた対策処理の実行通知に含まれる対策処理の識別子がcode_dである場合に、警告メッセージを表示することを示している。尚、条件テーブルの内容は、事前に設定されているものとする。
図9の説明に戻る。判定部805は、警戒条件に該当するか否かを判定する(S911)。本実施の形態では、S901において受け付けた対策処理の実行通知に含まれる対策処理の識別子がS909で特定されたレコードにおける警戒条件として設定されている対策処理の識別子と一致する場合に、判定部805は警戒条件に該当すると判定する。
警戒条件に該当すると判定した場合には、判定部805は、S909で特定されたレコードに設定されている警戒アクションを特定する(S913)。そして、警戒アクション部807は、当該警戒アクションを実行する(S915)。
ここで、警戒アクションについて説明する。図12に、警戒アクション部807のモジュール構成例を示す。警戒アクション部807は、指示部1201及びソフトウェア特定部1203を有する。
例えば警戒アクションが「警告メッセージの表示」である場合には、指示部1201は、表示制御部1211へ警告メッセージの表示を指示する。表示制御部1211は、指示に従って、ディスプレイ121に警告メッセージを表示させる。
例えば警戒アクションが「電源OFF」である場合には、指示部1201は、電源制御部1213へ電源のOFFを指示する。電源制御部1213は、指示に従って電源を切る。
例えば警戒アクションが「プロセス削除」である場合には、指示部1201は、プロセス管理部1215へプロセス番号で特定されるプロセスの削除を指示する。プロセス管理部1215は、指示に従って、プロセス番号で特定されるプロセスを削除する。
例えば警戒アクションが「アンインストール」である場合には、ソフトウェア特定部1203は、プロセス番号に対応するソフトウエアを特定し、指示部1201は、ソフトウェア管理部1217へ当該ソフトウエアのアンインストールを指示する。ソフトウェア管理部1217は、指示に従って、ソフトウエアをアンインストールする。
上述した指示部1201、ソフトウェア特定部1203、表示制御部1211、電源制御部1213、プロセス管理部1215及びソフトウェア管理部1217は、ハードウエア資源(例えば、図1)と、以下で述べる処理をプロセッサ101に実行させるプログラムとを用いて実現される。
図9の説明に戻る。一方、S911において警戒条件に該当しないと判定した場合には、そのままS917の処理に移る。
判定部805は、未特定のレコードがあるか否かを判定する(S917)。未特定のレコードがあると判定した場合には、S909の処理に戻って、上述した処理を繰り返す。一方、未特定のレコードがないと判定した場合には、S901の処理に戻って、上述した処理を繰り返す。
本実施の形態によれば、プログラムの脆弱性に着目した攻撃を検知し易い。
[実施の形態2]
本実施の形態では、対策処理の識別子の組み合わせに基づいて、攻撃の有無を判定する例について説明する。
図13に、実施の形態2における条件テーブルの例を示す。本実施の形態における警戒条件は、対策処理の識別子を複数含んでいる。これらの識別子で特定される対策処理が実行された場合には、警戒すべき状況であることを意味する。但し、対策処理が実行される順番は任意である。
例えば1番目のレコードは、最新の対策処理の実行通知に含まれる対策処理の識別子がcode_b又はcode_cのいずれかであって、他方の識別子が過去の対策処理の実行通知に含まれている場合に、端末装置100の電源をOFFすることを示している。つまり、先にcode_bを含む通知を受け、その後にcode_cを含む通知を受けた場合に警戒条件が成立する。更に、先にcode_cを含む通知を受け、その後にcode_bを含む通知を受けた場合にも警戒条件が成立する。
ここでは、警戒条件が対策処理の識別子を2つ含む例を示したが、警戒条件が対策処理の識別子を3つ以上含むようにしてもよい。また、上述の実施の形態における警戒条件と本実施の形態における警戒条件とを併用するようにしてもよい。
本実施の形態において、図9に示したフローに沿って監視処理が実行される。但し、S905の処理に続いて、判定部805は、ログテーブルに基づいて過去の対策処理の識別子を特定する(S907)。判定部805は、S901で受け付けた通知に含まれる最新の対策処理の識別子から遡って過去の対策処理の識別子を特定する。判定部805は、例えば現在から所定時間遡った時点以降に実行された対策処理の識別子を特定する。判定部805は、端末装置100が起動された以降に実行された対策処理の識別子を特定するようにしてもよい。判定部805は、最新の対策処理の識別子に係るプロセス番号と同じプロセス番号に対応する過去の対策処理の識別子を抽出するようにしてもよい。
S911において、判定部805は、最新の対策処理の識別子が警戒条件に含まれ、且つ警戒条件における当該識別子以外の識別子が、S907において特定された過去の対策処理の識別子のいずれかと一致する場合に、警戒条件に該当すると判定する。他の処理は、実施の形態1の場合と同様である。
本実施の形態によれば、複数の脆弱性に関する試行を組み合わせた攻撃を検知し易い。
[実施の形態3]
上述した実施の形態では、警戒条件において組み合わされる識別子の順序が任意である例について説明したが、本実施の形態では、識別子の順序が限定される例について説明する。
図14に、実施の形態3における条件テーブルの例を示す。本実施の形態における警戒条件は、対策処理の識別子を複数含んでいる。設定されている順番通りに各対策処理が実行された場合には、警戒すべき状況であることを意味する。
例えば1番目のレコードは、最新の対策処理の実行通知に含まれる対策処理の識別子がcode_cであって、識別子code_bが過去の対策処理の実行通知に含まれている場合に、端末装置100の電源をOFFすることを示している。つまり、先にcode_bを含む通知を受け、その後にcode_cを含む通知を受けた場合に警戒条件が成立する。先にcode_cを含む通知を受け、その後にcode_bを含む通知を受けた場合には警戒条件が成立しない。
ここでは、警戒条件が対策処理の識別子を2つ含む例を示したが、警戒条件が対策処理の識別子を3つ以上含むようにしてもよい。また、上述の実施の形態における警戒条件と本実施の形態における警戒条件とを併用するようにしてもよい。
本実施の形態において、図9に示したフローに沿って監視処理が実行される。S907の処理は、実施の形態2の場合と同様である。
S911において、判定部805は、最新の対策処理の識別子が警戒条件に設定されている最後の識別子と一致し、且つ警戒条件における当該識別子以外の識別子が、その順番の通りに過去の対策処理の識別子に含まれる場合に、警戒条件に該当すると判定する。他の処理は、実施の形態1の場合と同様である。
本実施の形態によれば、脆弱性に関する試行の手順が想定される攻撃を検知し易い。
[実施の形態4]
本実施の形態では、対策処理の実行通知の数に基づいて、攻撃の有無を判定する例について説明する。
図15に、実施の形態4における条件テーブルの例を示す。本実施の形態における警戒条件は、対策処理の実行通知の総数(以下、通知総数という。)に関する。通知総数が所定閾値を超える場合には、警戒すべき状況であることを意味する。
例えば1番目のレコードは、通知総数が10以上である場合には、警戒アクションとしてアンインストールが行われることを示している。
例えば2番目のレコードは、通知総数が5以上且つ10未満である場合には、警戒アクションとしてプロセス削除が行われることを示している。
例えば3番目のレコードは、通知総数が1以上且つ5未満である場合には、警戒アクションとして警告メッセージの表示が行われることを示している。
尚、上述の実施の形態における警戒条件と本実施の形態における警戒条件とを併用するようにしてもよい。
本実施の形態において、図9に示したフローに沿って監視処理が実行される。S907の処理は、実施の形態2の場合と同様である。
S911において、判定部805は、最新の対策処理の識別子と、S907で特定された過去の対策処理の識別子との延べ数を求める。この延べ数が通知総数に相当する。そして、通知総数が警戒条件に設定されている範囲に含まれる場合に、警戒条件に該当すると判定する。
本実施の形態によれば、脆弱性に関する試行の多寡に応じて警戒できる。
[実施の形態5]
本実施の形態では、同じプロセスからの要求を契機とした対策処理に関する実行通知の数(以下、同一プロセスに係る通知数という。)に基づく監視条件の例について説明する。
図16に、実施の形態5における条件テーブルの例を示す。本実施の形態における警戒条件は、同一プロセスに係る通知数に関する。同一プロセスに係る通知数が所定閾値を超える場合には、警戒すべき状況であることを意味する。
例えば1番目のレコードは、同一プロセスに係る通知数が10以上である場合には、警戒アクションとしてアンインストールが行われることを示している。
例えば2番目のレコードは、同一プロセスに係る通知数が5以上且つ10未満である場合には、警戒アクションとしてプロセス削除が行われることを示している。
例えば3番目のレコードは、同一プロセスに係る通知数が1以上且つ5未満である場合には、警戒アクションとして警告メッセージの表示が行われることを示している。
尚、上述の実施の形態における警戒条件と本実施の形態における警戒条件とを併用するようにしてもよい。
本実施の形態において、図9に示したフローに沿って監視処理が実行される。S907の処理は、実施の形態2の場合と同様である。
S911において、判定部805は、S907で特定された過去の対策処理の識別子のうち、最新の対策処理の識別子と同じプロセス番号に対応付けられている識別子を数える。そして、その数に1を加えて、同一プロセスに係る通知数を求める。同一プロセスに係る通知数が警戒条件に設定されている範囲に含まれる場合に、警戒条件に該当すると判定する。
本実施の形態によれば、一つのプロセスにより複数の試行が行われる攻撃を判別し易い。
[実施の形態6]
本実施の形態では、対策処理に割り当てられている警戒レベルに基づいて警戒の要否を判定する例について説明する。
本実施の形態では、各対策処理に対して予め警戒レベルが設定されているものとする。図17に、レベルテーブルの例を示す。この例におけるレベルテーブルは、対策処理に対応するレコードを有している。レベルテーブルのレコードは、対策処理の識別子が設定されるフィールドと、警戒レベルが格納されるフィールドとを有している。
例えば1番目のレコードは、識別子code_aで特定される対策処理の実行に係る警戒のレベルが高いことを示している。例えば4番目のレコードは、識別子code_dで特定される対策処理の実行に係る警戒のレベルが低いことを示している。警戒のレベルは、3段階以上であってもよい。
図18に、実施の形態6における条件テーブルの例を示す。本実施の形態における警戒条件は、同じ警戒レベルの対策処理の実行に関する通知数に関する。同じ警戒レベルの通知数が所定閾値を超える場合には、警戒すべき状況であることを意味する。
例えば1番目のレコードは、警戒レベルが高い通知の数が3以上である場合には、警戒アクションとして電源OFFが行われることを示している。
例えば2番目のレコードは、警戒レベルが低い通知の数が10以上である場合には、警戒アクションとして警告メッセージの表示が行われることを示している。
本実施の形態において、図9に示したフローに沿って監視処理が実行される。S907の処理は、実施の形態2の場合と同様である。
S911において、判定部805は、S907で特定された過去の対策処理の識別子のうち、最新の対策処理と同じ警戒レベルに該当する過去の対策処理の識別子を数える。そして、その数に1を加えて、当該警戒レベルに係る通知数を算出する。判定部805は、警戒条件が当該警戒レベルの通知数に関し、且つ算出された通知数が警戒条件に設定されている範囲に含まれる場合に、当該警戒条件に該当すると判定する。
本実施の形態によれば、例えば過剰な警戒を避けられる。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係る攻撃検知装置は、(A)脆弱性の対策処理が施されたプログラムにおいて当該対策処理が実行された場合に、当該対策処理の識別子を含む通知を受け付ける受付部と、(B)受け付けた上記通知に含まれる上記識別子に基づいて、攻撃の有無を判定する判定部とを有する。
このようにすれば、プログラムの脆弱性に着目した攻撃を検知し易い。
更に、上記判定部は、上記識別子の組み合わせに基づいて、攻撃の有無を判定するようにしてもよい。
このようにすれば、複数の脆弱性に関する試行を組み合わせた攻撃を検知し易い。
更に、上記判定部は、順序付けされた上記識別子に基づいて、攻撃の有無を判定するようにしてもよい。
このようにすれば、脆弱性に関する試行の手順が想定される攻撃を検知し易い。
更に、上記判定部は、上記通知の数に基づいて、攻撃の有無を判定するようにしてもよい。
このようにすれば、脆弱性に関する試行の多寡に応じて警戒できる。
更に、上記判定部は、上記識別子に対応する警戒レベルに基づいて、攻撃の有無を判定するようにしてもよい。
このようにすれば、例えば過剰な警戒を避けられる。
更に、上記判定部は、同じプロセスの契機によって実行された対策処理の識別子を選別するようにしてもよい。
このようにすれば、一つのプロセスによる攻撃を判別し易い。
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
脆弱性の対策処理が施されたプログラムにおいて当該対策処理が実行された場合に、当該対策処理の識別子を含む通知を受け付ける受付部と、
受け付けた前記通知に含まれる前記識別子に基づいて、攻撃の有無を判定する判定部と
を有する攻撃検知装置。
(付記2)
前記判定部は、前記識別子の組み合わせに基づいて、前記攻撃の有無を判定する
付記1記載の攻撃検知装置。
(付記3)
前記判定部は、順序付けされた前記識別子に基づいて、前記攻撃の有無を判定する
付記1記載の攻撃検知装置。
(付記4)
前記判定部は、前記通知の数に基づいて、前記攻撃の有無を判定する
付記1記載の攻撃検知装置。
(付記5)
前記判定部は、前記識別子に対応する警戒レベルに基づいて、前記攻撃の有無を判定する
付記1記載の攻撃検知装置。
(付記6)
前記判定部は、同じプロセスの契機によって実行された前記対策処理の前記識別子を選別する
付記1乃至5のいずれか1つ記載の攻撃検知装置。
(付記7)
脆弱性の対策処理が施されたプログラムにおいて当該対策処理が実行された場合に、当該対策処理の識別子を含む通知を受け付け、
受け付けた前記通知に含まれる前記識別子に基づいて、攻撃の有無を判定する
処理をコンピュータに実行させる攻撃検知プログラム。
(付記8)
脆弱性の対策処理が施されたプログラムにおいて当該対策処理が実行された場合に、当該対策処理の識別子を含む通知を受け付け、
受け付けた前記通知に含まれる前記識別子に基づいて、攻撃の有無を判定する
処理を含み、コンピュータにより実行される攻撃検知方法。
100 端末装置 201 プログラム
203 試行部 801 修正プログラム
802 監視部 803 受付部
805 判定部 807 警戒アクション部
811 ログ記憶部 813 条件記憶部
815 レベル記憶部 1201 指示部
1203 ソフトウェア特定部 1211 表示制御部
1213 電源制御部 1215 プロセス管理部
1217 ソフトウェア管理部

Claims (8)

  1. 内部で実行中のプロセスによる攻撃を検知する攻撃検知装置であって、
    脆弱性の対策処理と当該対策処理が実行される場合に当該対策処理の識別子を含む通知を出力する出力処理とを実行するプログラムから、当該対策処理の識別子を含む通知を受け付ける受付部と、
    前記通知に応じて、前記プログラムの実行を要求した、前記攻撃検知装置内部で実行中のプロセスを特定する特定部と、
    受け付けた前記通知に含まれる前記識別子に基づいて、特定された前記プロセスによる攻撃の有無を判定する判定部と
    を有する攻撃検知装置。
  2. 前記判定部は、前記識別子の組み合わせに基づいて、前記攻撃の有無を判定する
    請求項1記載の攻撃検知装置。
  3. 前記判定部は、順序付けされた前記識別子に基づいて、前記攻撃の有無を判定する
    請求項1記載の攻撃検知装置。
  4. 前記判定部は、前記通知の数に基づいて、前記攻撃の有無を判定する
    請求項1記載の攻撃検知装置。
  5. 前記判定部は、前記識別子に対応する警戒レベルに基づいて、前記攻撃の有無を判定する
    請求項1記載の攻撃検知装置。
  6. 前記判定部は、同じプロセスの契機によって実行された前記対策処理の前記識別子を選別する
    請求項1乃至5のいずれか1つ記載の攻撃検知装置。
  7. コンピュータ内部で実行中のプロセスによる攻撃を検知する攻撃検知プログラムであって、
    脆弱性の対策処理と当該対策処理が実行される場合に当該対策処理の識別子を含む通知を出力する出力処理とを実行するプログラムから、当該対策処理の識別子を含む通知を受け付け、
    前記通知に応じて、前記プログラムの実行を要求した、前記コンピュータ内部で実行中のプロセスを特定し、
    受け付けた前記通知に含まれる前記識別子に基づいて、特定された前記プロセスによる攻撃の有無を判定する
    処理をコンピュータに実行させる攻撃検知プログラム。
  8. コンピュータ内部で実行中のプロセスによる攻撃を検知する攻撃検知方法であって、
    脆弱性の対策処理と当該対策処理が実行される場合に当該対策処理の識別子を含む通知を出力する出力処理とを実行するプログラムから、当該対策処理の識別子を含む通知を受け付け、
    前記通知に応じて、前記プログラムの実行を要求した、前記コンピュータ内部で実行中のプロセスを特定し、
    受け付けた前記通知に含まれる前記識別子に基づいて、特定された前記プロセスによる攻撃の有無を判定する
    処理を含み、コンピュータにより実行される攻撃検知方法。
JP2016230520A 2016-11-28 2016-11-28 攻撃検知装置、攻撃検知プログラム及び攻撃検知方法 Active JP6903901B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016230520A JP6903901B2 (ja) 2016-11-28 2016-11-28 攻撃検知装置、攻撃検知プログラム及び攻撃検知方法
US15/820,913 US10872147B2 (en) 2016-11-28 2017-11-22 Software attack detection device, non-transitory computer-readable storage medium, and software attack detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016230520A JP6903901B2 (ja) 2016-11-28 2016-11-28 攻撃検知装置、攻撃検知プログラム及び攻撃検知方法

Publications (2)

Publication Number Publication Date
JP2018088094A JP2018088094A (ja) 2018-06-07
JP6903901B2 true JP6903901B2 (ja) 2021-07-14

Family

ID=62190337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016230520A Active JP6903901B2 (ja) 2016-11-28 2016-11-28 攻撃検知装置、攻撃検知プログラム及び攻撃検知方法

Country Status (2)

Country Link
US (1) US10872147B2 (ja)
JP (1) JP6903901B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12045342B2 (en) * 2019-10-28 2024-07-23 Nec Corporation Information processing device, display method, and non-transitory computer readable medium

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006328A (en) * 1995-07-14 1999-12-21 Christopher N. Drake Computer software authentication, protection, and security system
US7168093B2 (en) * 2001-01-25 2007-01-23 Solutionary, Inc. Method and apparatus for verifying the integrity and security of computer networks and implementation of counter measures
US20030037138A1 (en) * 2001-08-16 2003-02-20 International Business Machines Corporation Method, apparatus, and program for identifying, restricting, and monitoring data sent from client computers
US20040064722A1 (en) * 2002-10-01 2004-04-01 Dinesh Neelay System and method for propagating patches to address vulnerabilities in computers
US8042178B1 (en) * 2003-03-13 2011-10-18 Mcafee, Inc. Alert message control of security mechanisms in data processing systems
JP4520703B2 (ja) * 2003-03-31 2010-08-11 富士通株式会社 不正アクセス対処システム、及び不正アクセス対処処理プログラム
JP3999188B2 (ja) 2003-10-28 2007-10-31 富士通株式会社 不正アクセス検知装置、不正アクセス検知方法および不正アクセス検知プログラム
JP4624181B2 (ja) * 2004-07-28 2011-02-02 株式会社エヌ・ティ・ティ・データ 不正アクセス対策制御装置および不正アクセス対策制御プログラム
WO2009037897A1 (ja) * 2007-09-20 2009-03-26 Nec Corporation セキュリティ運用管理システム、セキュリティ運用管理方法およびセキュリティ運用管理プログラム
JP5549281B2 (ja) * 2010-03-05 2014-07-16 日本電気株式会社 不正侵入検知・防御システム、クライアントコンピュータ、不正侵入検知・防御装置、方法およびプログラム
JP5499805B2 (ja) * 2010-03-19 2014-05-21 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法並びに情報処理プログラム
US8621637B2 (en) * 2011-01-10 2013-12-31 Saudi Arabian Oil Company Systems, program product and methods for performing a risk assessment workflow process for plant networks and systems
JP5736335B2 (ja) * 2012-03-19 2015-06-17 Kddi株式会社 アプリケーション解析装置、アプリケーション解析システム、およびプログラム
US9203862B1 (en) * 2012-07-03 2015-12-01 Bromium, Inc. Centralized storage and management of malware manifests
US9853994B2 (en) * 2013-01-21 2017-12-26 Mitsubishi Electric Corporation Attack analysis system, cooperation apparatus, attack analysis cooperation method, and program
US9288221B2 (en) * 2014-01-14 2016-03-15 Pfu Limited Information processing apparatus, method for determining unauthorized activity and computer-readable medium
JP5640166B1 (ja) * 2014-03-31 2014-12-10 株式会社ラック ログ分析システム
WO2016064919A1 (en) * 2014-10-21 2016-04-28 Abramowitz Marc Lauren Dynamic security rating for cyber insurance products
JP6423402B2 (ja) * 2015-12-16 2018-11-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ処理方法及びサーバ

Also Published As

Publication number Publication date
JP2018088094A (ja) 2018-06-07
US20180150633A1 (en) 2018-05-31
US10872147B2 (en) 2020-12-22

Similar Documents

Publication Publication Date Title
CN106682495B (zh) 安全防护方法及安全防护装置
US8387141B1 (en) Smartphone security system
EP2839406B1 (en) Detection and prevention of installation of malicious mobile applications
US9973531B1 (en) Shellcode detection
US20170185785A1 (en) System, method and apparatus for detecting vulnerabilities in electronic devices
KR20130105627A (ko) 획득된 파일의 평판 검사
KR20110124342A (ko) 모델을 사용하여 실행가능 프로그램을 조사하는 방법 및 장치
JP5225942B2 (ja) 解析システム、解析方法、及び解析プログラム
CN105975320B (zh) 一种第三方应用禁止安装的方法、装置以及终端
US11205001B2 (en) Virus program cleanup method, storage medium and electronic terminal
US20090126026A1 (en) Method, apparatus and system for managing malicious-code spreading sites using search engine
CN110674496A (zh) 程序对入侵终端进行反制的方法、系统以及计算机设备
CN110505246B (zh) 客户端网络通讯检测方法、装置及存储介质
CN105868625A (zh) 一种拦截文件被重启删除的方法及装置
JP6903901B2 (ja) 攻撃検知装置、攻撃検知プログラム及び攻撃検知方法
JP2007041631A (ja) 情報処理装置、アプリケーション起動制御プログラムおよびアプリケーション起動制御方法
CN107124400A (zh) 基于安全策略的入侵防御装置及方法
CN108762983B (zh) 多媒体数据恢复方法及装置
US20210165904A1 (en) Data loss prevention
US7260832B2 (en) Process for preventing virus infection of data-processing system
CN106203121B (zh) 内核地址防止恶意修改方法、装置以及终端
US8640242B2 (en) Preventing and detecting print-provider startup malware
CN105791221B (zh) 规则下发方法及装置
CN111783082A (zh) 进程的追溯方法、装置、终端和计算机可读存储介质
CN110753060A (zh) 一种进程操作控制方法、装置及电子设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201013

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201211

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210607

R150 Certificate of patent or registration of utility model

Ref document number: 6903901

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150