JPWO2016125205A1 - 暗号ブロック特定装置、暗号ブロック特定方法、及び暗号ブロック特定プログラム - Google Patents

暗号ブロック特定装置、暗号ブロック特定方法、及び暗号ブロック特定プログラム Download PDF

Info

Publication number
JPWO2016125205A1
JPWO2016125205A1 JP2016572939A JP2016572939A JPWO2016125205A1 JP WO2016125205 A1 JPWO2016125205 A1 JP WO2016125205A1 JP 2016572939 A JP2016572939 A JP 2016572939A JP 2016572939 A JP2016572939 A JP 2016572939A JP WO2016125205 A1 JPWO2016125205 A1 JP WO2016125205A1
Authority
JP
Japan
Prior art keywords
block
encryption
execution
specifying
block candidate
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.)
Granted
Application number
JP2016572939A
Other languages
English (en)
Other versions
JP6407311B2 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2016125205A1 publication Critical patent/JPWO2016125205A1/ja
Application granted granted Critical
Publication of JP6407311B2 publication Critical patent/JP6407311B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/36Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols with means for detecting characters not meant for transmission
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本発明は、マルウェアが通信の秘匿に利用した暗号ロジックを解析するために、マルウェアのプログラム内で暗号ロジックを格納した暗号ブロックを特定する暗号ブロック特定装置に関する。暗号ブロック特定装置は、マルウェアの実行ステップを記録した実行トレースを解析し、暗号らしさを特徴付ける演算種別が実行ステップに含まれるか否かに基づいて実行ステップの暗号らしさを示す評価値を算出し、この評価値が閾値Lを越える実行ステップを暗号ブロックの候補であるブロック候補として抽出するブロック候補抽出部と、ブロック候補が閾値Mを越えて連続している実行トレースの領域を暗号ブロックとして特定する暗号ブロック特定部とを備える。

Description

本発明は、マルウェアが通信の秘匿に利用した暗号ロジックを解析するために、マルウェアのプログラム内で暗号ロジックを格納した暗号ブロックを特定する暗号ブロック特定装置に関する。
近年のセキュリティ脅威として、特定の組織を狙い、執拗に攻撃を行なう標的型攻撃が深刻化している。標的型攻撃は、メールを標的組織へ送信することで、標的組織の端末にマルウェアを感染させる。感染したマルウェアは、組織内部から外部の攻撃者サーバと通信を行ない、攻撃プログラムのダウンロードや組織システム内の情報窃取を行なう。
マルウェア感染による情報漏えい被害の深刻化を背景に、マルウェアがどの情報を漏えいしたか特定する技術が注目されている。実際に漏えいした情報を特定する際には、パソコンやサーバ等の機器が生成したログを解析することで、マルウェアの活動を明らかにする。
しかし、昨今のマルウェアの中には暗号技術を用いて通信を秘匿するものがある。このようなマルウェアの通信は、そのままでは解析できないため、マルウェアの活動を明らかにすることが困難となってしまう。
従って、マルウェアが通信の秘匿に利用した暗号ロジックとその鍵を特定し、暗号化された通信を復号する必要がある。通常、この作業は、マルウェアの機械語、すなわちバイナリデータを解析する必要があり、膨大な手間と時間を要する。このため、暗号ロジックとその鍵を特定する従来技術として、例えば、以下の特許文献1、非特許文献1、非特許文献2で開示されている手法がある。
特許文献1は、暗号化関数を内部に持ち、情報を暗号化してアップロードするマルウェアの暗号鍵を特定するために、マルウェアの実行する命令の実行トレースを記録し、演算のデータを含めて解析することによって鍵を特定する。
非特許文献1、非特許文献2は、マルウェアを実行して得られたログである実行トレースを解析して、マルウェアが利用している暗号ロジックを特定する技術が提案されている。
非特許文献1では、暗号処理は算術・ビット演算が多いことを利用して、実行トレースにおいて、ビット・論理演算の割合を計算することで暗号ブロックを特定する。
非特許文献2では、暗号処理は同一処理を繰り返し行なうことで情報を暗号化していることが多い特徴を利用して、実行トレースから同一処理の繰り返しであるループを検知することで、暗号ブロックを特定する。
特開2013−114637号公報
Zhi Wang, Xuxian Jiang, Weidong Cui, Xinyuan Wang and Mike Grace, ReFormat: automatic reverse engineering of encrypted messages, Proceedings of the 14th European Conference on Research in Computer Security, ESORICS'09 2009. Joan Calvet, Jose M. Fernandez, Jean-Yves Marion, Aligot: Cryptographic Function Identification in Obfuscated Binary Programs, Proceedings of the 19th ACM Conference on Computer and Communications Security, CCS 2012.
従来技術は、暗号ブロック特定段階において、処理速度が遅い、メモリが大量に必要であるという問題点があった。例えば、非特許文献2の手法では、ループを検知する際に、ループとなりうる可能性を全て記録しておき一つ一つ試す必要があるため、多くの計算量が必要となり、処理が遅く、メモリが大量に必要となるという課題があった。
本発明は、上記の課題を解決するためになされたもので、少ない計算量で軽量に暗号ブロックを特定することで、処理の高速化と使用メモリ削減を実現することを目的とする。
上記で述べた課題を解決するため、本発明の暗号ブロック特定装置は、マルウェアの実行ステップを記録した実行トレースを解析し、暗号らしさを特徴付ける演算種別が前記実行ステップに含まれるか否かに基づいて前記実行ステップの暗号らしさを示す評価値を算出し、この評価値が閾値Lを越える実行ステップを暗号ブロックの候補であるブロック候補として抽出するブロック候補抽出部と、前記ブロック候補が閾値Mを越えて連続している前記実行トレースの領域を暗号ブロックとして特定する暗号ブロック特定部とを備える。
また、本発明の暗号ブロック特定方法は、マルウェアの実行ステップを記録した実行トレースを解析し、暗号ブロックを特定する暗号ブロック特定装置の暗号ブロック特定方法であって、ブロック候補抽出部が、前記実行トレースを解析し、暗号らしさを特徴付ける演算種別が前記実行ステップに含まれるか否かに基づいて前記実行ステップの暗号らしさを示す評価値を算出し、この評価値が閾値Lを越える実行ステップを暗号ブロックの候補であるブロック候補として抽出するブロック候補抽出ステップと、暗号ブロック特定部が、前記ブロック候補が閾値Mを越えて連続している前記実行トレースの領域を暗号ブロックとして特定する暗号ブロック特定ステップとを備える。
本発明によれば、ブロック候補抽出処理と暗号ブロック特定処理が、加算命令、または減算命令により実行されるため、少ない計算量で軽量に暗号ブロックを特定することができ、処理の高速化と使用メモリ削減を実現できるという効果がある。
実施の形態1に係る暗号ブロック特定装置の一構成例を示す図である。 実施の形態1に係る暗号ブロック特定装置1の全体の動作の流れを示すフローチャートである。 実行トレース5に含まれる各実行ステップを表現するデータ形式の一例を示す説明図である。 実行トレース5の具体例を示す図である。 ブロック候補記憶部3に記録されるブロック候補を表現するデータ形式の一例を示す説明図である。 ブロック候補記憶部3に記録されるブロック候補の具体例を示す図である。 暗号ブロック情報6を表現するデータ形式の一例を示す説明図である。 ブロック候補抽出部2の動作の流れを示すフローチャートである。 暗号ブロック特定部4の動作の流れを示すフローチャートである。 実施の形態1に係るキューとキューの各要素の合計値であるF(t)の推移を示す図である。 実施の形態1の実行例において、ブロック候補抽出処理によって得られるブロック候補記憶部3の状態を示す図である。 実施の形態2に係る暗号ブロック特定装置1の全体の動作の流れを示すフローチャートである。 実施の形態2に係るキューとキューの各要素の合計値であるF(t)の推移を示す図である。 実施の形態2の実行例において、ブロック候補抽出処理によって得られるブロック候補記憶部3の状態を示す図である。 順方向と逆方向の暗号らしさの値F(t)の加算結果を格納する記憶領域を示す図である。 実施の形態4に係る暗号ブロック特定装置1の一構成例を示す図である。 順方向における暗号らしさを示す評価値の分布を示す図である。 逆方向における暗号らしさを示す評価値の分布を示す図である。 順方向と逆方向の暗号らしさを示す評価値の加算結果の分布を示す図である。 実施の形態5に係る暗号ブロック特定装置1の一構成例を示す図である。 実施の形態6に係る暗号ブロック特定装置1の一構成例を示す図である。 実施の形態1〜6に示した暗号ブロック特定装置1のハードウェア構成の例を示す図である。
実施の形態1.
図1は、実施の形態1に係る暗号ブロック特定装置1の一構成例を示す図である。
図1において、暗号ブロック特定装置1は、ブロック候補抽出部2と、ブロック候補記憶部3と、暗号ブロック特定部4とを備える。
ブロック候補抽出部2は、命令の実行ステップのトレース結果である実行トレース5を解析し、暗号らしさの特徴である算術演算、論理演算、ビット演算等の命令の有無に基づいて、暗号ブロックを構成する実行ステップの候補になるブロック候補を抽出し、抽出したブロック候補を一意に識別するブロック候補IDと対応付けて出力する。
ブロック候補記憶部3は、ブロック候補抽出部2により抽出されたブロック候補を記憶する。
暗号ブロック特定部4は、ブロック候補記憶部3に記憶されたブロック候補から、暗号ブロックを特定し、特定した暗号ブロックの情報を暗号ブロック情報6として出力する。
次に、実施の形態1に係る暗号ブロック特定装置1の動作について説明する。
図2は、実施の形態1に係る暗号ブロック特定装置1の全体の動作の流れを示すフローチャートである。
まず、ステップS100において、ブロック候補抽出部2は、実行トレース5の各実行ステップに対し、暗号らしさの評価値を算出する。ブロック候補抽出部2は、入力された実行トレース5に含まれる各実行ステップの情報を解析し、各実行ステップに含まれる算術演算、論理演算、ビット演算等の命令の有無に基づき、暗号らしさを評価する評価関数を用いて、暗号らしさを示す評価値を算出する。ここで、暗号らしさを示す情報として、算術演算、論理演算、ビット演算等を用いる理由は、暗号処理が、加算処理や、XORといった論理演算、シフト処理のようなビット演算を多く含むためである。暗号らしさを評価する評価関数と暗号らしさを示す評価値については、後述する。
ここで、実行トレース5のデータ形式の一例と具体例を説明する。
図3は、実行トレース5に含まれる各実行ステップを表現するデータ形式の一例を示す説明図である。
図4は、実行トレース5の具体例を示す図である。
図3において、実行トレース5に含まれる各実行ステップは、命令のアドレス、命令(オペコード)、命令対象(オペランド)、メモリ・レジスタアクセス情報を備えるデータ形式で表現される。図4は、図3に示したデータ形式により表現された実際の実行トレース5の具体例であり、記号「!」により命令のアドレス等の情報を区切って表現している。
次に、ステップS101において、ブロック候補抽出部2は、ステップS100で算出した暗号らしさの評価値が閾値Lを越える実行ステップを、暗号ブロックを構成するブロック候補として抽出する。
次に、ステップS102において、ブロック候補抽出部2は、ステップS101で抽出したブロック候補を、ブロック候補IDと対応付けて、ブロック候補記憶部3に記録する。
図5は、ブロック候補記憶部3に記録されるブロック候補を表現するデータ形式の一例を示す説明図である。
図6は、ブロック候補記憶部3に記録されるブロック候補の具体例を示す図である。
図5において、ブロック候補記憶部3に記録されるブロック候補は、ブロック候補を一意に識別するブロック候補IDと対応付けられており、図6の具体例に示すように、ブロック候補IDとブロック候補とが対応付けられてブロック候補記憶部3に記録される。なお、ここでは、実行トレース5中の実行ステップの行番号を、ブロック候補IDとして用いている。また、実行トレース5中の実行ステップの行番号は、各実行ステップの実行ステップIDとしても用いる。
次に、ステップS103において、暗号ブロック特定部4は、ブロック候補記憶部3に記録されたブロック候補を参照し、ブロック候補IDが連続するブロック候補の個数を数える。
次に、ステップS104において、暗号ブロック特定部4は、連続するブロック候補の個数が閾値Mを越えるブロック候補群を暗号ブロックとして特定し、暗号ブロック情報6を出力する。
図7は、暗号ブロック情報6を表現するデータ形式の一例を示す説明図である。
図7において、ブロックIDは、特定した暗号ブロックを一意に識別する識別子である。開始アドレスは、特定した暗号ブロックが開始する位置を示し、例えば、特定した暗号ブロックの先頭のブロック候補IDを用いる。同様に、終了アドレスは、特定した暗号ブロックが終了する位置を示し、例えば、特定した暗号ブロックの最後のブロック候補IDを用いる。ブロックを構成する命令列は、特定した暗号ブロックに含まれるブロック候補とブロック候補IDの列であり、ブロックサイズは、特定した暗号ブロックに含まれるブロック候補とブロック候補IDの列の個数を示す。
以上が、暗号ブロック特定装置1の全体の動作の流れである。
次に、ブロック候補抽出部2の動作について、図8を用いて詳細に説明する。ここでは、実行トレース5を順方向で、ブロック候補抽出部2へ入力した場合を説明する。
ここで、ブロック候補抽出部2が用いる暗号らしさを評価する評価関数の一例を説明する。
本実施の形態で用いる評価関数は、例えば、以下の数1で定義する。
Figure 2016125205

ただし、F(t)は、t における暗号らしさを示す評価値であり、fi(t)とgi(t)は、i 番目に励起される減衰関数である。
t は、経過時間であり、ここでは実行トレース5中の実行ステップが何番目かを示す。
N は、計測対象の実行トレース5において励起される減衰関数fi(t)の数であり、ここでは実行トレース5中に含まれる算術演算、論理演算、ビット演算の個数を示す。
τi は、i 番目に励起される減衰関数fi(t)が励起された時刻であり、ここでは励起されたタイミングにおいて実行トレース5中の実行ステップが何番目かを示す。
αは、暗号らしさとして定義される値である。
δ(t)は、減衰関数fi(t)が励起された時刻において、暗号らしさを示す評価値を減衰させるための値であり、1命令当たりの暗号らしさの減衰量を示す。
上記の数1では、減衰関数fi(t)は、算術演算、論理演算、ビット演算が処理されたタイミングで励起される。また、減衰関数fi(t)は正の値しか取らないため、減衰関数gi(t)の値が負となる場合には、減衰関数fi(t)は0とする。
次に、フローチャートを参照しながら、ブロック候補抽出部2の動作の流れを説明する。
図8は、ブロック候補抽出部2の動作の流れを示すフローチャートである。
まず、ステップS200において、ブロック候補抽出部2に、実行トレース5を順方向で入力する。また、暗号らしさを示す評価値を要素として記録するキューを用意する。キューの初期状態は、空とする。
次に、ステップS201において、ブロック候補抽出部2は、入力された実行トレース5を一行分だけ読み込む。
次に、ステップS202において、ブロック候補抽出部2は、ステップS201で読み込んだ一行分の実行トレースの命令部分を確認し、命令が算術・論理・ビット演算である場合は、Yesの分岐によりステップS203に進み、そうでない場合は、Noの分岐によりステップS204に進む。
次に、ステップS203において、ブロック候補抽出部2は、キューに、暗号らしさとして定義される値αを追加する。ここで、αは、数1で定義したαに相当する。
次に、ステップS204において、ブロック候補抽出部2は、ステップS203で追加したαを含めてキューの中身を全て加算した値F(t)を算出し、F(t)が、暗号ブロック候補としてみなす閾値であるLを超えている場合は、Yesの分岐によりステップS205に進み、そうでない場合は、Noの分岐によりステップS206に進む。ここで、F(t)は、数1で定義したF(t)に相当する。
次に、ステップS205において、ブロック候補抽出部2は、現在読み込んでいる実行トレース5とそのIDを、各々、ブロック候補、ブロック候補IDとしてブロック候補記憶部3へ記録する。ブロック候補記憶部3に記録する情報は、実行トレース5とそのIDの他、暗号ブロック特定部4で暗号ブロックとして出力したい情報を含める。実行トレース5に含まれる情報全てをそのまま記録してもよい。
次に、ステップS206において、ブロック候補抽出部2は、キューに含まれている要素全てから、各々、δだけ減算する減算処理を行なう。ここで、δ は、数1で定義したδ(t-τi) に相当する。
次に、ステップS207において、ブロック候補抽出部2は、キューの先頭要素が0以下であるか否かを判定し、キューの先頭要素が0以下である場合はYesの分岐によりステップS208に進み、そうでない場合は、Noの分岐によりステップS209に進む。
次に、ステップS208において、ブロック候補抽出部2は、デキュー処理を実行する。デキュー処理では、キューの先頭要素を削除して、他の要素を前へ詰める処理を行なう。
次に、ステップS209において、ブロック候補抽出部2は、全ての実行トレースを読み込んだか判断する。ブロック候補抽出部2は、現在読み込んでいる実行トレース5が、ステップS200で入力した実行トレース5の最後の行であるかどうかを確認し、最後の行である場合、Yesの分岐に進み、ブロック候補抽出の処理を終了する。最後の行でない場合は、Noの分岐によりステップS201に戻る。
以上が、ブロック候補抽出部2の動作の流れである。
上記の説明では、暗号らしさの値を保存するデータ構造としてキューを利用したが、データを保存できる構造であれば、配列やスタック、テーブル等を用いても構わない。なお、キューを用いた場合は、ステップS204のデキュー処理により、キューの要素数を抑えることができるため、ステップS202での減算処理を減らす効果や、メモリの消費を抑える効果が期待できる。
次に、フローチャートを参照しながら、暗号ブロック特定部4の動作の流れを説明する。
図9は、暗号ブロック特定部4の動作の流れを示すフローチャートである。
まず、ステップS300において、暗号ブロック特定部4は、ブロック候補記憶部3に記憶されているブロック候補IDを参照する。
次に、ステップS301において、暗号ブロック特定部4は、参照したブロック候補IDが連続する数を計数し、連続する数が閾値Mを超えているか判定する。連続する数が閾値Mを越えている場合は、Yesの分岐によりステップS302に進み、そうでない場合は、Noの分岐によりステップS303に進む。
次に、ステップS302において、暗号ブロック特定部4は、ブロック候補IDが連続している部分を暗号ブロックとして特定し、ブロック候補とブロック候補IDの情報を含む暗号ブロック情報6を出力する。暗号ブロック情報6は、例えば、図7で説明したデータ形式である。
次に、ステップS303において、暗号ブロック特定部4は、ブロック候補記憶部3に記憶された全てのブロック候補IDを処理したか判定する。全てのブロック候補IDを処理した場合は、Yesの分岐に進み、暗号ブロック特定の処理を終了する。全てのブロック候補IDを処理していない場合は、Noの分岐によりステップS300に戻る。
以上が、暗号ブロック特定部4の動作の流れである。
ここで、上記で述べたブロック候補抽出処理と暗号ブロック特定処理の具体的な実行例を説明する。ただし、本実行例は、あくまで本発明の理解を助けるための一例であって、本発明を限定するものではない。
まず、ブロック候補抽出処理の具体的な実行例を説明する。
図10は、実施の形態1に係るキューとキューの各要素の合計値であるF(t)の推移を示す図である。
図10では、31個の実行ステップからなる実行トレース5に対して、上から下の順方向でブロック候補抽出部2に入力した場合を示している。この実行トレース5には、算術演算、論理演算、ビット演算のいずれかの命令を含む実行ステップが存在し、その実行ステップを、図中の「命令あり」の列に丸印を付与して示す。
ここで、ステップS207において、暗号ブロック候補とみなす閾値Lを8に設定した場合、F(t)が8を超える実行ステップが、ブロック候補としてブロック候補記憶部3に記録される。なお、図10で、ブロック候補記憶部3に記録されるブロック候補のF(t)の値を、斜体文字で示す。
次に、暗号ブロック特定処理の具体的な実行例を説明する。
図11は、実施の形態1の実行例において、ブロック候補抽出処理によって得られるブロック候補記憶部3の状態を示す図である。
ここで、ステップS301において、ブロック候補IDが連続する数の閾値Mを5に設定した場合、ブロック候補IDが4〜9のブロック候補は、連続する数が6であるため、ブロック候補IDが4〜9のブロック候補を、暗号ブロックとして特定し、暗号ブロック情報6を出力する。一方、ブロック候補IDが13、15のブロック候補は、連続していないため暗号ブロックとしてみなさず、暗号ブロック情報6を出力しない。
このように、ブロック候補抽出処理と暗号ブロック特定処理を行なうことにより、暗号らしさである算術演算、論理演算、ビット演算の分布を測定することができるため、算術演算、論理演算、ビット演算が連続している部分を検出することができる。
以上のように、本実施の形態1の発明では、ブロック候補抽出処理と暗号ブロック特定処理が、加算命令、または減算命令により実行されるため、少ない計算量で軽量に暗号ブロックを特定することができ、処理の高速化と使用メモリ削減を実現できるという効果がある。
また、実行トレース5の中には、暗号ロジックを含む部分であっても、処理の途中に算術演算、論理演算、ビット演算以外の処理が含まれる場合がある。このように、暗号ブロックとして検出されることが期待される部分であるにも関わらず、算術演算、論理演算、ビット演算が連続しない部分でも、連続部分に近ければ、暗号ブロックとして特定することができるため、算術演算、論理演算、ビット演算以外の命令のような多少のノイズを無視して、算術演算、論理演算、ビット演算が連続している部分として検知できる。
一方で、暗号ロジックを含む部分以外でも、算術演算、論理演算、ビット演算を数命令行なう場合がある。このような場合でも、暗号ブロック特定部4により、数命令だけ行なわれる算術演算、論理演算、ビット演算を、暗号ブロックではないとして取り除くことができる。
実施の形態2.
以上の実施の形態1では、実行トレース5を順方向に解析して、少ない計算量で軽量に暗号ブロックを特定するようにしたものであるが、次に、本実施の形態2では、実行トレース5を逆方向に解析した結果を併用して、暗号ブロックを精度良く特定する場合について説明する。
本実施の形態2における構成は、図1に示す実施の形態1の構成と同様である。
以下、実施の形態2に係る暗号ブロック特定装置1の動作について説明する。
図12は、実施の形態2に係る暗号ブロック特定装置1の全体の動作の流れを示すフローチャートである。
図12において、ステップS400〜ステップS402は、実施の形態1のステップ100〜ステップS102と同様であるため、説明を省略する。
ステップS403において、ブロック候補抽出部2は、実行トレース5の逆方向に、ステップS400〜ステップS402の処理を行なう。この結果、ブロック候補記憶部3には、実行トレース5の順方向と逆方向の両方向から選ばれたブロック候補とそのIDが記録された状態となる。
図13は、実施の形態2に係るキューとキューの各要素の合計値であるF(t)の推移を示す図である。
図13では、31個の実行ステップからなる実行トレース5に対して、下から上の逆方向でブロック候補抽出部2に入力した場合を示している。図10の場合と同様に、この実行トレース5には、算術演算、論理演算、ビット演算のいずれかの命令を含む実行ステップが存在し、その実行ステップを、図中の「命令あり」の列に丸印を付与して示す。
ここで、ステップS403では、暗号ブロック候補とみなす閾値Lを8に設定した場合、F(t)が8を超える実行ステップが、ブロック候補としてブロック候補記憶部3に記録される。なお、図13で、ブロック候補記憶部3に記録されるブロック候補のF(t)の値を、斜体文字で示す。ブロック候補をブロック候補記憶部3に記録するときは、実行トレース5の順方向の解析で既に登録されているブロック候補は、登録しなくても良い。この実行例では登録しないものとする。
図14は、実施の形態2の実行例において、ブロック候補抽出処理によって得られるブロック候補記憶部3の状態を示す図である。
図14では、実行トレース5を順方向と逆方向の両方向で解析した結果、抽出されたブロック候補がブロック候補記憶部3に記録されている状態を示している。
ここで、ステップS301において、ブロック候補IDが連続する数の閾値Mを5に設定した場合、ブロック候補IDが1〜9のブロック候補は、連続する数が9であるため、ブロック候補IDが1〜9のブロック候補を、暗号ブロックとして特定し、暗号ブロック情報6を出力する。一方、ブロック候補IDが12〜13は、連続しているものの連続する数が2であるため暗号ブロックとしてみなさず、暗号ブロック情報6を出力しない。
以上のように、本実施の形態2の発明では、実施の形態1で述べた効果に加えて、暗号らしさを評価する評価関数を用いることにより、暗号ブロックの始点と終点を正確に特定できるという効果がある。暗号らしさを評価する評価関数では、算術演算、論理演算、ビット演算を発見するごとに、暗号らしさとして定義する値αがキューの要素に加えられるとともに、キューに加えられた各要素の値が、それぞれ一ステップごとにδだけ減少していく。そして、キューの各要素の値を全て足し合わせた値F(t)を暗号らしさの指標としているので、算術演算、論理演算、ビット演算が連続した後は、暗号らしさの値F(t)が急激に減少する。そのため、暗号ブロックの終点を正確に特定することが可能となり、順方向、逆方向の両方から処理を行なうことによって、暗号ブロックの始点と終点を精度良く特定できるという効果がある。
実施の形態3.
以上の実施の形態2では、ブロック候補抽出部2において、順方向と逆方向それぞれでブロック候補記憶部3にブロック候補IDを記録したものであるが、次に、本実施の形態2では、順方向と逆方向の暗号らしさの値F(t)を先に計算してから、ブロック候補記憶部3へのブロック候補IDの記録を一度だけで行なう場合について説明する。
本実施の形態3における構成は、ブロック候補抽出部2において、ブロック候補IDごとに順方向と逆方向の暗号らしさの値F(t)の加算結果を格納する記憶領域を備えており、その他の構成は、実施の形態2と同様である。
図15は、順方向と逆方向の暗号らしさの値F(t)の加算結果を格納する記憶領域を示す図である。
図15において、「F(t)加算結果」の記憶領域に、順方向と逆方向の暗号らしさの値F(t)の加算結果を格納する。
以下、実施の形態3に係る暗号ブロック特定装置1の動作について説明する。
まず、ブロック候補抽出部2が、実施の形態1のステップS201〜ステップS206までを順方向に実行し、キューの中身を全て加算した値である順方向評価値を、ブロック候補IDごとに「F(t)加算結果」の記憶領域に格納する。
次に、ブロック候補抽出部2が、実施の形態1のステップS201〜ステップS206までを逆方向に実行し、キューの中身を全て加算した値である逆方向評価値を、対応するブロック候補IDの「F(t)加算結果」の記憶領域に格納されている順方向評価値に加算する。
次に、ブロック候補抽出部2が、「F(t)加算結果」の値が、暗号ブロック候補とみなす閾値Lを越えていた場合、該当するブロック候補IDとブロック候補をブロック候補記憶部3に記録する。
以上のように、本実施の形態3の発明では、実施の形態1で述べた効果に加えて、順方向と逆方向の加算結果に基づいてブロック候補記憶部3にブロック候補IDを記録することにより、ブロック候補記憶部3へのブロック候補IDの記録を一度だけで行なうことができ、ブロック候補抽出処理の処理量を削減することができるという効果がある。
実施の形態4.
以上で説明した実施の形態1から3では、実行トレース5を解析して暗号ブロックを特定する処理について説明したが、次に、実施の形態4では、暗号らしさを示す評価値をグラフにより可視化することにより、算術演算、論理演算、ビット演算の分布を視覚的に容易に判断できるようにする場合について説明する。
図16は、実施の形態4に係る暗号ブロック特定装置1の一構成例を示す図である。
図16において、暗号ブロック特定装置1は、暗号らしさを示す評価値を可視化し、可視化結果8を出力する可視化部7を備える。その他の構成は、実施の形態1から3の構成と同様である。
以下、実施の形態4に係る暗号ブロック特定装置1の動作について説明する。
まず、実施の形態1〜3に示した処理手順により、ブロック候補抽出部2が、実行トレース5の実行ステップ一行ごとに、暗号らしさを示す評価値F(t)を記録する。ここで、実行トレース5の各実行ステップと、暗号らしさを示す評価値F(t)とが対応付けられて記録されている状態となる。
次に、可視化部7は、ブロック候補抽出部2に記録されている暗号らしさを示す評価値F(t)を、例えばグラフにより可視化し、可視化結果8をユーザに表示する。
図17〜図19は、暗号らしさを示す評価値を可視化する一例を示す図である。
図17は、順方向における暗号らしさを示す評価値の分布を示す図である。
図18は、逆方向における暗号らしさを示す評価値の分布を示す図である。
図19は、順方向と逆方向の暗号らしさを示す評価値の加算結果の分布を示す図である。
図中、横軸の「ID」は、実行トレース5中の実行ステップIDを示し、縦軸の「評価値」は、暗号らしさを示す評価値を示す。
以上のように、本実施の形態3の発明では、実施の形態1で述べた効果に加えて、暗号らしさを示す評価値の分布を可視化することにより、暗号ブロックとして疑わしい部分を視覚的に容易に判断できるようになるという効果がある。
実施の形態5.
以上の実施の形態1〜4では、算術演算、論理演算、ビット演算が、実行トレース5のどの領域に多く含まれるかという尺度により、少ない処理量で暗号ブロックを特定するようにしたものであるが、次に、実施の形態5では、実施の形態1〜4の暗号ブロック特定装置1の処理量が軽量であることを利用して、暗号ブロック特定装置1のブロック候補抽出部2を、他の暗号ブロック特定装置に入力する実行トレースのフィルタとして適用する場合について説明する。
図20は、実施の形態5に係る暗号ブロック特定装置1の一構成例を示す図である。
図20において、暗号ブロック特定装置1は、本発明とは異なる暗号ブロック特定処理を行なう他の暗号ブロック特定装置9を備える。その他の構成は、実施の形態1から3の構成と同様である。
以下、実施の形態5に係る暗号ブロック特定装置1の動作について説明する。
まず、実施の形態1〜3に示した処理手順により、ブロック候補抽出部2が、入力された実行トレース5を解析して、実行トレース5の実行ステップ一行ごとに、暗号らしさを示す評価値F(t)を算出する。この場合、実行トレース5を解析する方向は、順方向、逆方向のどちらの場合であっても良いし、両方向を併用しても良い。
次に、ブロック候補抽出部2は、算出した暗号らしさを示す評価値F(t)が付与された実行トレース5に含まれる実行ステップの中から、設定された閾値以上の評価値F(t)を持つ実行ステップのみをフィルタリングして抽出し、抽出した実行ステップのみを含む実行トレースを他の暗号ブロック特定装置9に出力する。
次に、他の暗号ブロック特定装置9は、ブロック候補抽出部2によりフィルタリングされた実行トレースに対して、暗号ブロック特定処理を実行する。
以上のように、本実施の形態5の発明では、ブロック候補抽出部2がフィルタリングした実行トレースを、他の暗号ブロック特定装置9に入力することにより、他の暗号ブロック特定装置9が、大量の実行トレースを処理することが原因で膨大な処理時間とメモリを必要としている場合に、他の暗号ブロック特定装置9の処理の高速化と使用メモリ削減を実現することできるという効果がある。
実施の形態6.
以上で説明した実施の形態1〜5は、実行トレース5を解析して暗号ブロックを特定するまでの処理について説明したが、次に、本実施の形態6では、解析対象となるマルウェアの実行ファイルから実行トレースを抽出し、この実行トレースから暗号ブロック特定装置1が暗号ブロックを特定した後に、暗号ブロックに用いられている暗号ロジックにより、入力された通信ログを解析して鍵と平文を解析結果として出力する場合について説明する。
図21は、実施の形態6に係る暗号ブロック特定装置1の一構成例を示す図である。
図21において、暗号ブロック特定装置1は、マルウェアの実行ファイル10を実行して実行トレースを取得する実行トレース取得部11と、暗号ブロック特定部4が出力する暗号ブロック情報を用いて通信ログ11を解析し、鍵と平文を含む解析結果12を出力する通信ログ解析部10とを備える。その他の構成は、実施の形態1から3の構成と同様である。
以下、実施の形態6に係る暗号ブロック特定装置1の動作について説明する。
まず、解析対象となる実行ファイル10が実行トレース取得部11に入力される。実行トレース取得部11は、実行ファイル10を実行して実行トレースを取得し、暗号ブロック特定装置1に入力する。
次に、実施の形態1〜3に示した処理手順により、暗号ブロック特定装置1が、実行トレース中の暗号ブロックを特定し、特定した暗号ブロックの暗号ブロック情報を出力する。
次に、通信ログ解析部13は、暗号ブロック特定部4が出力する暗号ブロック情報を用いて、解析対象である暗号化されたメッセージを含む通信ログ12と、暗号ブロック情報より特定される鍵とを入力として、暗号ブロック情報により特定される暗号ブロックに入力し、平文を特定して特定した鍵と平文を含む解析結果14を出力する。なお、通信ログ解析部13として、特許文献1に開示されている手法を用いても良い。
以上のように、本実施の形態6の発明では、マルウェアの実行ファイルから、高速・自動的に暗号ロジックを特定し、鍵と平文を得ることが可能となる。その結果、これまで高度な技術を持った人間が人手により行なっていた復号処理を自動で行なうことができるようになり、通信ログを復号するための人件費といったコストを下げることができるという効果がある。
次に、実施の形態1〜6に示した暗号ブロック特定装置1のハードウェア構成について説明する。
図22は、実施の形態1〜6に示した暗号ブロック特定装置1のハードウェア構成の例を示す図である。
暗号ブロック特定装置1はコンピュータであり、暗号ブロック特定装置1の各要素をプログラムで実現することができる。暗号ブロック特定装置1のハードウェア構成としては、バスに、演算装置15、外部記憶装置16、主記憶装置17、通信装置18、入出力装置19が接続されている。
演算装置15は、プログラムを実行するCPU(Central Processing Unit)等である。外部記憶装置16は、例えばROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置等である。主記憶装置17は、例えばRAM(Random Access Memory)等である。通信装置18は、例えば通信ボード等である。入出力装置19は、例えばマウス、キーボード、ディスプレイ装置等である。
プログラムは、通常は外部記憶装置16に記憶されており、主記憶装置17にロードされた状態で、順次、演算装置15に読み込まれ、実行される。このプログラムは、暗号ブロック特定装置1を構成するブロック候補抽出部2、暗号ブロック特定部4、可視化部7、実行トレース取得部11、通信ログ解析部13として説明している機能を実現するプログラムである。
更に、外部記憶装置16には、オペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置17にロードされ、演算装置15は、OSを実行しながら、上記プログラムを実行する。
また、実施の形態1〜6の説明において、ブロック候補記憶部3が記憶する情報やデータ、ロック候補抽出部2、暗号ブロック特定部4、可視化部7、実行トレース取得部11、通信ログ解析部13の処理の結果を示す情報やデータや信号値や変数値が、主記憶装置17にファイルとして記憶されている。
なお、図22の構成は、あくまでも各装置のハードウェア構成の一例を示すものであり、各装置のハードウェア構成は図22に記載の構成に限らず、他の構成であってもよい。
1 暗号ブロック特定装置、2 ブロック候補抽出部、3 ブロック候補記憶部、4 暗号ブロック特定部、5 実行トレース、6 暗号ブロック情報、7 可視化部、8 可視化結果、9 他の暗号ブロック特定装置、10 実行ファイル、11 実行トレース取得部、12 通信ログ、13 通信ログ解析部、14 解析結果。

Claims (11)

  1. マルウェアの実行ステップを記録した実行トレースを解析し、暗号らしさを特徴付ける演算種別が前記実行ステップに含まれるか否かに基づいて前記実行ステップの暗号らしさを示す評価値を算出し、この評価値が閾値Lを越える実行ステップを暗号ブロックの候補であるブロック候補として抽出するブロック候補抽出部と、
    前記ブロック候補が閾値Mを越えて連続している前記実行トレースの領域を暗号ブロックとして特定する暗号ブロック特定部と
    を備える暗号ブロック特定装置。
  2. 前記ブロック候補抽出部は、前記実行ステップに対応付けられた配列を備え、前記配列の全ての要素から1実行ステップあたりの減衰量δを減算し、前記演算種別が前記実行ステップに含まれている場合に、暗号ブロックである確からしさを示す値αを前記配列の要素として追加し、前記配列の全ての要素を合計して前記暗号らしさを示す評価値を算出する請求項1記載の暗号ブロック特定装置。
  3. 前記ブロック候補抽出部は、算術演算または論理演算またはビット演算の演算種別に基づいて前記実行ステップの前記評価値を算出する請求項1記載の暗号ブロック特定装置。
  4. 前記ブロック候補を格納するブロック候補記憶部を備え、
    前記ブロック候補抽出部は、前記実行トレースを順方向及び逆方向に解析して抽出した前記ブロック候補を前記ブロック候補記憶部に格納し、
    前記暗号ブロック特定部は、前記ブロック候補記憶部に格納された前記ブロック候補に対して前記暗号ブロックを特定する請求項1記載の暗号ブロック特定装置。
  5. 前記ブロック候補抽出部は、前記実行ステップに対応付けられた記憶領域を備え、前記実行トレースを順方向に解析して算出した評価値である順方向評価値を前記記憶領域に格納し、前記実行トレースを逆方向に解析して算出した評価値である逆方向評価値を前記記憶領域に格納された前記順方向評価値に加算し、前記順方向評価値と前記逆方向評価値との加算値が閾値Lを越える実行ステップを抽出して前記ブロック候補として前記ブロック候補記憶部に格納する請求項4記載の暗号ブロック特定装置。
  6. 前記ブロック候補抽出部は、前記配列の構造がキューであり、前記キューに対して減衰量δを減算して前記キューの先端要素が0になる場合、デキュー処理を行なって前記先端要素を削除する請求項2記載の暗号ブロック特定装置。
  7. 前記ブロック候補抽出部が算出する前記実行ステップの暗号らしさを示す評価値を可視化する可視化部を備える請求項1記載の暗号ブロック特定装置。
  8. 暗号ブロックを特定する他の暗号ブロック特定装置を備え、
    前記ブロック候補抽出部は、前記暗号らしさを示す評価値を算出した前記実行ステップの中から閾値Lを越える前記実行ステップをフィルタリングして抽出し、抽出した前記実行ステップからなる実行トレースを前記他の暗号ブロック特定装置に入力する請求項1記載の暗号ブロック特定装置。
  9. マルウェアの実行ファイルを実行して実行トレースを取得する実行トレース取得部と、
    通信ログを解析して鍵と平文を含む解析結果を出力する通信ログ解析部とを備え、
    前記ブロック候補抽出部は、前記実行トレース取得部が取得した前記実行トレースから前記ブロック候補を抽出し、
    前記暗号ブロック特定部は、前記ブロック候補抽出部が抽出した前記ブロック候補から前記暗号ブロックを特定し、
    前記通信ログ解析部は、暗号ブロック特定部が特定した前記暗号ブロックの情報を用いて、前記通信ログを解析して前記解析結果を出力する請求項1記載の暗号ブロック特定装置。
  10. マルウェアの実行ステップを記録した実行トレースを解析し、暗号ブロックを特定する暗号ブロック特定装置の暗号ブロック特定方法であって、
    ブロック候補抽出部が、前記実行トレースを解析し、暗号らしさを特徴付ける演算種別が前記実行ステップに含まれるか否かに基づいて前記実行ステップの暗号らしさを示す評価値を算出し、この評価値が閾値Lを越える実行ステップを暗号ブロックの候補であるブロック候補として抽出するブロック候補抽出ステップと、
    暗号ブロック特定部が、前記ブロック候補が閾値Mを越えて連続している前記実行トレースの領域を暗号ブロックとして特定する暗号ブロック特定ステップと
    を備える暗号ブロック特定方法。
  11. コンピュータに、
    マルウェアの実行ステップを記録した実行トレースを解析し、暗号らしさを特徴付ける演算種別が前記実行ステップに含まれるか否かに基づいて前記実行ステップの暗号らしさを示す評価値を算出し、この評価値が閾値Lを越える実行ステップを暗号ブロックの候補であるブロック候補として抽出するブロック候補抽出ステップと、
    前記ブロック候補が閾値Mを越えて連続している前記実行トレースの領域を暗号ブロックとして特定する暗号ブロック特定ステップと
    を実行させるための暗号ブロック特定プログラム。
JP2016572939A 2015-02-06 2015-02-06 暗号ブロック特定装置、暗号ブロック特定方法、及び暗号ブロック特定プログラム Expired - Fee Related JP6407311B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/000547 WO2016125205A1 (ja) 2015-02-06 2015-02-06 暗号ブロック特定装置、暗号ブロック特定方法、及び暗号ブロック特定プログラム

Publications (2)

Publication Number Publication Date
JPWO2016125205A1 true JPWO2016125205A1 (ja) 2017-06-08
JP6407311B2 JP6407311B2 (ja) 2018-10-17

Family

ID=56563572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016572939A Expired - Fee Related JP6407311B2 (ja) 2015-02-06 2015-02-06 暗号ブロック特定装置、暗号ブロック特定方法、及び暗号ブロック特定プログラム

Country Status (4)

Country Link
US (1) US10050798B2 (ja)
JP (1) JP6407311B2 (ja)
CN (1) CN107210920B (ja)
WO (1) WO2016125205A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10893090B2 (en) * 2019-02-14 2021-01-12 International Business Machines Corporation Monitoring a process on an IoT device
US11816212B2 (en) * 2020-04-15 2023-11-14 Inferati Inc. Large scale zero trust malware detection

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005527873A (ja) * 2001-09-14 2005-09-15 コンピュータ アソシエイツ シンク,インコーポレイテッド ウイルス検知システム
US20100235913A1 (en) * 2009-03-12 2010-09-16 Microsoft Corporation Proactive Exploit Detection
JP2013114637A (ja) * 2011-12-01 2013-06-10 Mitsubishi Electric Corp マルウェア解析システム
US20130326625A1 (en) * 2012-06-05 2013-12-05 Los Alamos National Security, Llc Integrating multiple data sources for malware classification

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4755658B2 (ja) 2008-01-30 2011-08-24 日本電信電話株式会社 解析システム、解析方法および解析プログラム
JP5225942B2 (ja) 2009-07-01 2013-07-03 日本電信電話株式会社 解析システム、解析方法、及び解析プログラム
DE102009050493A1 (de) * 2009-10-23 2011-04-28 Röllgen, Bernd Blockdatenverschlüsselungsverfahren
JP5437977B2 (ja) 2010-11-10 2014-03-12 日本電信電話株式会社 解析システム、解析装置、解析方法及び解析プログラム
CN102012987B (zh) * 2010-12-02 2013-03-13 李清宝 自动二进制恶意代码行为分析系统
JP5456715B2 (ja) 2011-03-16 2014-04-02 日本電信電話株式会社 データ特定装置、データ特定方法及びデータ特定プログラム
JP5389855B2 (ja) 2011-04-28 2014-01-15 日本電信電話株式会社 解析システム、解析方法および解析プログラム
CN103096320B (zh) * 2011-11-01 2016-08-10 中国移动通信集团公司 移动终端恶意软件的分析方法和装置
JP5892840B2 (ja) 2012-04-06 2016-03-23 株式会社日立製作所 プログラム解析システム
JP5726385B2 (ja) * 2012-09-26 2015-05-27 三菱電機株式会社 プログラム検証装置、プログラム検証方法およびプログラム検証プログラム
US9292688B2 (en) * 2012-09-26 2016-03-22 Northrop Grumman Systems Corporation System and method for automated machine-learning, zero-day malware detection
JP5876399B2 (ja) 2012-10-22 2016-03-02 日本電信電話株式会社 不正プログラム実行システム、不正プログラム実行方法及び不正プログラム実行プログラム
WO2015142755A1 (en) * 2014-03-17 2015-09-24 Proofpoint, Inc. Behavior profiling for malware detection
US10325094B2 (en) * 2014-08-28 2019-06-18 Mitsubishi Electric Corporation Process analysis apparatus, process analysis method, and process analysis for determining input/output relation of a block of execution trace to detect potential malware
US9419991B2 (en) * 2014-09-30 2016-08-16 Juniper Networks, Inc. De-obfuscating scripted language for network intrusion detection using a regular expression signature
KR101543237B1 (ko) * 2014-12-03 2015-08-11 한국인터넷진흥원 코드 패턴을 이용한 정적 분석과 api 흐름을 이용한 동적 분석을 통한 악성 스크립트 탐지 차단 장치, 시스템 및 방법
US9860262B2 (en) * 2014-12-05 2018-01-02 Permissionbit Methods and systems for encoding computer processes for malware detection
US10708296B2 (en) * 2015-03-16 2020-07-07 Threattrack Security, Inc. Malware detection based on training using automatic feature pruning with anomaly detection of execution graphs

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005527873A (ja) * 2001-09-14 2005-09-15 コンピュータ アソシエイツ シンク,インコーポレイテッド ウイルス検知システム
US20100235913A1 (en) * 2009-03-12 2010-09-16 Microsoft Corporation Proactive Exploit Detection
JP2013114637A (ja) * 2011-12-01 2013-06-10 Mitsubishi Electric Corp マルウェア解析システム
US20130326625A1 (en) * 2012-06-05 2013-12-05 Los Alamos National Security, Llc Integrating multiple data sources for malware classification

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
与沢 和紀 ほか: "マネージドセキュリティサービス 最前線 第6回−実例ベースで考える−", BUSINESS COMMUNICATION, vol. 第51巻、第6号, JPN6015014041, 1 June 2014 (2014-06-01), JP, pages 6 - 9, ISSN: 0003858589 *
山本 匠 ほか: "暗号ロジック特定手法の提案 その2", 2015年暗号と情報セキュリティシンポジウム, vol. 2A1−1, JPN6015014038, 20 January 2015 (2015-01-20), JP, pages 1 - 6, ISSN: 0003858588 *

Also Published As

Publication number Publication date
WO2016125205A1 (ja) 2016-08-11
JP6407311B2 (ja) 2018-10-17
US10050798B2 (en) 2018-08-14
US20180019883A1 (en) 2018-01-18
CN107210920B (zh) 2018-07-10
CN107210920A (zh) 2017-09-26

Similar Documents

Publication Publication Date Title
US8904536B2 (en) Heuristic method of code analysis
WO2011053637A1 (en) System and method for detecting executable machine instructions in a data stream
CN104937550B (zh) 以函数为目标的虚拟机切换
US10521585B2 (en) Method and apparatus for detecting side-channel attack
KR101817636B1 (ko) 랜섬웨어 검출 장치 및 방법
US11640463B2 (en) Analysis device, analysis method and computer-readable recording medium
US9773111B2 (en) Software-based side-channel attack prevention
JP6407311B2 (ja) 暗号ブロック特定装置、暗号ブロック特定方法、及び暗号ブロック特定プログラム
Singh et al. A context-aware trigger mechanism for ransomware forensics
Facon et al. Detecting cache-timing vulnerabilities in post-quantum cryptography algorithms
JPWO2016002605A1 (ja) 検知装置、検知方法及び検知プログラム
JP6459289B2 (ja) マルウェア推定装置、マルウェア推定方法、及び、マルウェア推定プログラム
Camacho et al. A cloud-oriented integrity verification system for audio forensics
JP2011022903A (ja) 分析装置、分析方法およびプログラム
US10885184B1 (en) Rearranging executables in memory to prevent rop attacks
CN111030978B (zh) 一种基于区块链的恶意数据获取方法、装置及存储设备
US20190121968A1 (en) Key generation source identification device, key generation source identification method, and computer readable medium
US20180157846A1 (en) Information processing method, electronic device and computer storage medium
Albalawi et al. Memory deduplication as a protective factor in virtualized systems
CN110875917B (zh) 一种检测挖矿病毒的方法、装置及存储介质
CN104966019A (zh) 一种启发式文档威胁检测方法及系统
US9239927B2 (en) Static analysis for discovery of timing attack vulnerabilities in a computer software application
US10325094B2 (en) Process analysis apparatus, process analysis method, and process analysis for determining input/output relation of a block of execution trace to detect potential malware
CN107180188B (zh) 一种基于动态污点分析对加密应用的明文提取的系统
CN107103254B (zh) 加密程序识别方法及装置、电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180320

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180406

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180918

R150 Certificate of patent or registration of utility model

Ref document number: 6407311

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees