JP6395986B2 - 鍵生成源特定装置、鍵生成源特定方法及び鍵生成源特定プログラム - Google Patents

鍵生成源特定装置、鍵生成源特定方法及び鍵生成源特定プログラム Download PDF

Info

Publication number
JP6395986B2
JP6395986B2 JP2018523118A JP2018523118A JP6395986B2 JP 6395986 B2 JP6395986 B2 JP 6395986B2 JP 2018523118 A JP2018523118 A JP 2018523118A JP 2018523118 A JP2018523118 A JP 2018523118A JP 6395986 B2 JP6395986 B2 JP 6395986B2
Authority
JP
Japan
Prior art keywords
generation source
key
key generation
function
analysis
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.)
Expired - Fee Related
Application number
JP2018523118A
Other languages
English (en)
Other versions
JPWO2017216924A1 (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
Application granted granted Critical
Publication of JP6395986B2 publication Critical patent/JP6395986B2/ja
Publication of JPWO2017216924A1 publication Critical patent/JPWO2017216924A1/ja
Expired - Fee Related 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/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
    • 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/562Static detection
    • 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/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、鍵生成源特定装置、鍵生成源特定方法及び鍵生成源特定プログラムに関する。
近年、機密情報の窃取を目的とする、企業や官公庁に対して行われる標的型攻撃が多発し、セキュリティ上の重大な脅威となっている。一般的な標的型攻撃は、巧妙に文面を細工したメールを攻撃対象に送信するところから開始される。このメールにはマルウェアを含んだ文書ファイルが添付されており、メール受信者が端末において同文書を開いた瞬間、その端末はマルウェアに感染してしまう。攻撃者はこのマルウェアをインターネット上の指令サーバ(C&Cサーバ:Command and Controlサーバ)から制御し、標的組織内部のネットワークから機密情報を探索し、C&Cサーバへアップロードすることで目的を達成する。このような機密情報の漏洩被害の深刻化を背景に、マルウェアに感染したパソコンやサーバ等が生成したログを解析することで、マルウェアの感染端末内での挙動を明らかにするネットワークフォレンジック技術が注目されている。
しかし昨今のマルウェアの中には、通信データを共通鍵暗号により暗号化することで、通信データを秘匿するものがある。このようなマルウェアの通信データは、暗号化された状態で記録されるため、そのままでは解析することができない。そのため、マルウェア解析者は、マルウェアが通信データの暗号化で用いている暗号アルゴリズムと、暗号化に用いる暗号鍵とを特定して、暗号化された通信を復号する作業が必要となる。この作業はマルウェアのリバースエンジニアリングが必要となるため、一般に膨大な手間と時間が必要となる。そこで、自動的にマルウェアの暗号アルゴリズムの特定を行う手法や、暗号鍵を特定する手法が研究されている。
特許文献1には、暗号化関数を内部に持ち、情報を暗号化してアップロードするマルウェアの暗号鍵を特定するために、マルウェアの実行する命令の実行トレースを記録し、演算のデータを含めて解析することによって鍵を特定する技術が開示されている。
非特許文献1には、既知暗号アルゴリズムのテンプレートを用意し、そのテンプレートと、評価対象のアルゴリズムに同一の入力を与えた際に、出力が同一であればテンプレートのアルゴリズムと同一であると判断する技術が開示されている。
特開2013−114637号公報
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. 川古谷裕平,塩治榮太朗,岩村誠,針生剛男,テイント伝搬に基づく解析対象コードの追跡方法,コンピュータセキュリティシンポジウム2012
従来の技術では、マルウェアが利用している暗号アルゴリズムが特定できても、動的に鍵を生成するマルウェアにおいては、復号対象の通信ログに対応する鍵を特定する事ができないという課題があった。ここで動的な鍵生成とは、暗号に利用する鍵がマルウェアにハードコードされずに、マルウェアが活動する環境内の情報等を元に作成し、利用することと定義する。
動的に鍵を生成するマルウェアは、例えば、感染端末上のIPアドレスを、暗号鍵を生成するシードとして用いて、暗号に利用する鍵を生成し、盗み出す機密ファイルの暗号化を行う。この場合、異なる端末では異なる鍵が生成され、暗号に利用される。そのため、被害が発生した端末の鍵(以降、被害鍵と呼ぶ)と、マルウェア解析環境での鍵(以降、解析鍵と呼ぶ)とが異なる。ここで、漏えい情報は被害環境で発生しているため、被害鍵により暗号化されている。そのため、解析環境で手に入る解析鍵では、暗号化された通信ログを復号することができない。
このように、従来の技術では、解析鍵の特定は可能であったが、被害鍵の特定はできないという課題があった。
本発明は、被害鍵を特定するために、被害鍵を生成するために必要な情報である鍵生成源の特定を目的としている。
本発明に係る鍵生成源特定装置は、
マルウェアに暗号処理を実行させ、前記暗号処理の実行状況を表す実行トレースを取得し、前記実行トレースに基づいて、前記暗号処理で用いられた暗号鍵を解析鍵として特定する鍵特定部と、
前記実行トレースから、前記解析鍵が依存する命令のリストを命令リストとして抽出する抽出部と、
前記命令リストに含まれる呼出命令により呼び出された関数が、動的に変化する動的情報を取得する動的取得関数であるか否かを判定し、前記呼出命令により呼び出された関数が前記動的取得関数である場合に、前記命令リストを、前記暗号処理において前記解析鍵を生成したプログラムの少なくとも一部である鍵生成源の候補として取得する取得部と
を備えた。
本発明に係る鍵生成源特定装置は、抽出部が、マルウェアの暗号処理の実行トレースと、暗号処理で用いられる暗号鍵とに基づいて、暗号鍵が依存する命令の命令リストを抽出する。また、取得部が、命令リストに含まれる呼出命令により呼び出された関数が、動的に変化する動的情報を取得する動的取得関数であるか否かを判定する。そして、取得部は、呼出命令により呼び出された関数が動的取得関数である場合に、命令リストを、暗号処理において暗号鍵を生成したプログラムの少なくとも一部である鍵生成源の候補として取得する。よって、本発明に係る鍵生成源特定装置によれば、マルウェアの暗号処理で用いられた暗号鍵の鍵生成源を得ることができ、マルウェアにより暗号化された暗号化ファイルを復号する手間を大きく削減することが可能となる。
マルウェアが動的に鍵を生成する例を示す図。 異なる鍵がそれぞれの端末で生成される様子を示す図。 マルウェアによる暗号通信の復号を依頼されたSOC/CSIRTエンジニアが解析鍵では暗号通信を復号できない様子を示す図。 実施の形態1に係る鍵生成源特定装置10の構成図。 実施の形態1に係る実行トレース111の具体例。 実施の形態1に係る鍵生成源特定装置10の鍵生成源特定方法510及び鍵生成源特定プログラム520の鍵生成源特定処理S100を示すフロー図。 実施の形態1に係る鍵生成源取得部130による鍵生成源取得処理S130を示すフロー図。 解析鍵特定部120からの情報を元に、実行トレース111上でどのメモリが解析鍵121であるかを特定している様子を示す図。 解析鍵121と依存関係のある情報をテイント解析により求めていく様子を示す図。 テイント解析による解析を行った結果の命令リスト311を示す図。 実施の形態1に係る関数データベース141に格納される動的取得関数411の例を示す図。 複数のアセンブルリストから鍵生成源321であるアセンブルリストを特定する例を示す図。 実施の形態1の変形例に係る鍵生成源特定装置10の構成図。 実施の形態2に係る鍵生成源特定装置10aの構成図。 鍵生成源候補322の絞り込みが必要となる理由である、テイントの誤伝搬について説明する図。 実施の形態2に係る鍵生成源特定装置10aの鍵生成源特定処理S100aを示すフロー図。 実施の形態2におけるレーベンシュタイン距離の測定を例示する図。 実施の形態3に係る鍵生成源特定装置10bの構成図。 実施の形態3に係る鍵生成源特定装置10bの鍵生成源特定処理S100bを示すフロー図。 実施の形態3に係る鍵生成プログラム151を生成する様子を示す図。 実施の形態4に係る鍵生成源特定装置10cの構成図。 実施の形態4に係る鍵生成源特定装置10cの鍵生成源特定処理S100cを示すフロー図。
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
実施の形態1.
まず、動的な鍵生成について図1から図3を用いて説明する。
図1は、マルウェアが動的に鍵を生成する例を示す図である。
この例で示すマルウェアは、感染端末上のIPアドレスを、暗号鍵を生成するシードとして用いて、暗号に利用する鍵を生成し、盗み出す機密ファイルの暗号化を行う。この場合、異なる端末では異なる鍵が生成され、暗号処理に利用される。
図2は、異なる鍵がそれぞれの被害端末で生成される様子を示す図である。被害端末Aと被害端末Bとは、同一のマルウェアに感染しているが、マルウェアの暗号処理で用いられる鍵は異なる。
図3は、マルウェアにより暗号化された暗号化ファイルの復号を依頼されたSOC(Security Operation Center)/CSIRT(Computer Security Incident Response Team)エンジニアが、解析鍵では復号できない様子を示している。図3に示すように、マルウェアを解析する場合、被害が発生した被害環境における被害鍵と、マルウェアの解析環境での解析鍵とは異なる。漏えい情報は被害環境で発生しているため、被害鍵により暗号化されている。そのため、解析環境で手に入る解析鍵では、暗号化された通信ログといった機密ファイルを復号することができない。
マルウェアにより暗号化された暗号化ファイルを復号するために、マルウェアが利用する暗号アルゴリズムと暗号鍵とを特定する必要がある。しかし、マルウェアが感染した端末の環境情報を利用して鍵を生成する場合、解析環境で得られる鍵では被害環境で発生した暗号化ファイルを復号することができない。そこで、本実施の形態では、解析環境において特定できた鍵の情報を元に、どの環境情報を鍵生成源として利用しているかを特定し、暗号通信の復号にかかる手間を削減することができる鍵生成源特定装置10について説明する。
***構成の説明***
図4を用いて、本実施の形態に係る鍵生成源特定装置10の構成について説明する。
本実施の形態において、鍵生成源特定装置10は、コンピュータである。鍵生成源特定装置10は、プロセッサ910を備えると共に、記憶装置920、入力インタフェース930、出力インタフェース940といった他のハードウェアを備える。記憶装置920は、メモリと補助記憶装置とを有する。
図1に示すように、鍵生成源特定装置10は、機能構成として、鍵特定部11と、鍵生成源取得部130と、記憶部140とを備える。鍵特定部11は、実行トレース抽出部110と、解析鍵特定部120とを備える。鍵生成源取得部130は、抽出部31と、取得部32とを備える。記憶部140には、関数データベース141が記憶されている。
以下の説明では、鍵生成源特定装置10における鍵特定部11(実行トレース抽出部110、解析鍵特定部120)と、鍵生成源取得部130(抽出部31、取得部32)との機能を、鍵生成源特定装置10の「部」の機能という。
鍵生成源特定装置10の「部」の機能は、ソフトウェアで実現される。
また、記憶部140は、記憶装置920で実現される。
プロセッサ910は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
プロセッサ910は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ910は、具体的には、CPU(Central Processing Unit)等である。
入力インタフェース930は、マウス、キーボード、タッチパネルといった入力装置と接続されるポートである。入力インタフェース930は、具体的には、USB(Universal Serial Bus)端子である。なお、入力インタフェース930は、LAN(Local Area Network)と接続されるポートであってもよい。
出力インタフェース940は、ディスプレイといった表示装置のケーブルが接続されるポートである。出力インタフェース940は、例えば、USB端子又はHDMI(登録商標)(High Definition Multimedia Interface)端子である。ディスプレイは、具体的には、LCD(Liquid Crystal Display)である。
補助記憶装置は、具体的には、ROM(Read Only Memory)、フラッシュメモリ、又は、HDD(Hard Disk Drive)である。メモリは、具体的には、RAM(Random Access Memory)である。記憶部140は、補助記憶装置により実現されてもよいし、メモリにより実現されてもよいし、メモリと補助記憶装置とにより実現されていてもよい。記憶部140の実現方法は任意である。
補助記憶装置には、「部」の機能を実現するプログラムが記憶されている。このプログラムは、メモリにロードされ、プロセッサ910に読み込まれ、プロセッサ910によって実行される。補助記憶装置には、OS(Operating System)も記憶されている。OSの少なくとも一部がメモリにロードされ、プロセッサ910はOSを実行しながら、「部」の機能を実現するプログラムを実行する。
鍵生成源特定装置10は、プロセッサ910を代替する複数のプロセッサを備えていてもよい。これらの複数のプロセッサは、「部」の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ910と同じように、プロセッシングを行うICである。
「部」の機能による処理の結果を示す情報、データ、信号値、及び、変数値は、メモリ、補助記憶装置、又は、プロセッサ910内のレジスタ又はキャッシュメモリに記憶される。なお、図4において、各部と記憶部とを結ぶ矢印は、各部が処理の結果を記憶部に記憶すること、或いは、各部が記憶部から情報を読み出すことを表している。また、各部を結ぶ矢印は、制御の流れを表している。
鍵生成源特定装置10の「部」の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disc)といった可搬記録媒体に記憶されてもよい。
なお、鍵生成源特定装置10の「部」の機能を実現するプログラムを鍵生成源特定プログラム520ともいう。また、鍵生成源特定プログラムプロダクトと称されるものは、鍵生成源特定プログラム520が記録された記憶媒体及び記憶装置であり、見た目の形式に関わらず、コンピュータ読み取り可能なプログラムをロードしているものである。
***機能構成の説明***
実行トレース抽出部110は、マルウェアを実際に動作させ、その際の動作記録である実行トレース111を取得する。この時、マルウェアには暗号処理を実行させることで、暗号処理を実行した実行トレース111を取得する。実行トレース111の取得には、例えば、IntelのPinや、QEMUといった技術を利用する。
図5は、本実施の形態に係る実行トレース111の具体例である。
実行トレース111とはプログラムの動作記録のことである。実際には、プログラムを実行した際に実行された命令のアドレス、命令(オペコード)、命令対象(オペランド)、メモリあるいはレジスタへのアクセス情報、呼び出した関数名といった情報によって構成される。
解析鍵特定部120は、実行トレース抽出部110より得られた実行トレース111を解析し、暗号処理で利用される暗号鍵を特定する。この時、解析鍵特定部120により特定される鍵は、解析環境における暗号鍵であるため、特定される暗号鍵は解析鍵121である。
鍵生成源取得部130は、解析鍵特定部120で特定した解析鍵121を起点として、実行トレース111上の命令で、解析鍵121と依存関係のある命令を遡っていく。鍵生成源取得部130は、実行トレース111に記録された全ての命令を遡り、命令列、すなわち命令リスト311を得る。鍵生成源取得部130は、得られた命令リスト311に含まれる呼出命令が、関数データベース141に含まれる関数を呼び出す呼出命令であった場合、その呼出命令を含む命令リスト311を鍵生成源321として、あるいは鍵生成源候補322として取得する。
***動作の説明***
図6を用いて、本実施の形態に係る鍵生成源特定装置10の鍵生成源特定方法510及び鍵生成源特定プログラム520の鍵生成源特定処理S100について説明する。また、図7を用いて、本実施の形態に係る鍵生成源取得部130による鍵生成源取得処理S130について説明する。
図6及び図7に示すように、鍵生成源特定処理S100は、鍵特定処理S10(実行トレース抽出処理S110及び解析鍵特定処理S120)と、鍵生成源取得処理S130(抽出処理S20及び取得処理S30)とを有する。
<鍵特定処理S10>
鍵特定処理S10において、鍵特定部11は、マルウェアに暗号処理を実行させ、暗号処理の実行状況を表す実行トレース111を取得する実行トレース抽出処理S110を実行する。ここでは、鍵特定部11は、解析環境において暗号処理を実行する。また、鍵特定部11は、実行トレース111に基づいて、解析環境において実行された暗号処理で用いられた暗号鍵を解析鍵121として特定する解析鍵特定処理S120を実行する。
鍵特定処理S10について、さらに詳しく説明する。
実行トレース抽出処理S110において、実行トレース抽出部110は、解析対象であるマルウェアを取得し、暗号処理を実行させ、実行トレース111を取得する。具体的には、実行トレース抽出部110には、ユーザにより入力インタフェース930を介して解析対象であるマルウェアが入力される。実行トレース抽出部110は、入力されたマルウェアに暗号処理を実行させることで実行トレース111を得る。
解析鍵特定処理S120において、解析鍵特定部120は、実行トレース抽出部110により得られた実行トレース111を取得する。解析鍵特定部120は、実行トレース111を解析することにより、解析鍵121を取得する。
<鍵生成源取得処理S130>
鍵生成源取得処理S130において、鍵生成源取得部130の抽出部31は、実行トレース111から、解析鍵121が依存する命令のリストを命令リスト311として抽出する抽出処理S10を実行する。また、鍵生成源取得部130の取得部32は、命令リスト311に含まれる呼出命令により呼び出された関数が、動的に変化する動的情報を取得する動的取得関数411であるか否かを判定する。取得部32は、呼出命令により呼び出された関数が動的取得関数411である場合に、命令リスト311を、暗号処理において解析鍵121を生成したプログラムの少なくとも一部である鍵生成源321の候補として取得する取得処理S20を実行する。以下、鍵生成源321の候補を鍵生成源候補322として説明する。
鍵生成源取得処理S130について、さらに詳しく説明する。
ステップS131において、抽出部31は、実行トレース111における解析鍵121の位置を取得する。具体的には、抽出部31は、解析鍵特定部120が特定した解析鍵121の情報として、解析鍵121が実行トレース111上でどこに存在しているかの情報を受け取る。
図8は、解析鍵特定部120からの情報を元に、実行トレース111上でどのメモリが解析鍵121であるかを特定している様子を示している。ここでは、解析鍵121が16進数で「AAAAA」でありmem2に格納されていた場合を考える。ここで、mem1、mem2とはメモリの領域を指している。
ここで、解析鍵121が依存する命令とは、解析鍵121と依存関係のある命令である。また、解析鍵121が依存する命令の命令リスト311とは、解析鍵121と依存関係のある命令を遡って得られた、一連の命令列である。
ステップS132において、抽出部31は、特定した解析鍵121の位置mem2から、解析鍵121が依存する命令、すなわち解析鍵121と依存関係にある命令を追跡する。具体的には、抽出部31は、テイント解析手法を用いて、解析鍵121の位置mem2から解析鍵121と依存関係のある命令を追跡していく。テイント解析については、非特許文献2のような手法を用いることで対応する。
図9に、解析鍵と依存関係のある情報をテイント解析により求めていく様子を示す。
まず、mem2はecxの値が格納されているため、ecxの値に依存している。次に、その前段でecxはeaxの値と加算した結果を格納している。更に、その前段でeaxはmem1の値を格納している。このように依存関係を辿っていくと、最終的にmem2の値はmem1の値に依存していることが分かる。
図10は、テイント解析による解析を行った結果の命令リスト311を示す図である。命令リスト311は、アセンブルリストである。
図10のアセンブルリストは、実行トレース111全体に渡ってテイント解析による解析を行った結果である。図10に示すように、アセンブルリストは複数取得される場合がある。
次に、ステップS133において、取得部32は、呼出命令であるcall命令により呼び出された関数が関数データベース141に含まれるか否かを判定する。具体的には、取得部32は、この命令リスト311、すなわちアセンブルリストにおいて、呼出命令、すなわちcall命令の行を抽出し、call命令が呼び出している関数と同一のものが関数データベース141にあるか問い合わせる。
図11は、関数データベース141に格納される動的取得関数411の例を示す図である。関数データベース141は、動的取得関数411を格納する。
動的取得関数411は、暗号処理の実行環境に応じて動的に変化する情報を動的情報(外部情報)として取得する関数である。
関数データベース141とは、Winsocketのような通信API(Application Programming Interface)や、ファイル読み込みを行うAPIといった、外部情報を取得するようなAPIが動的取得関数411として登録されているものである。関数データベース141は、外部情報参照関数データベースともいう。
外部情報は、動的情報とも称され、プログラム内のテーブルといったハードコードされた情報ではないものを指し、IPアドレスやMACアドレス、時間といった環境毎に変化する情報のことを指す。
次に、ステップS134において、取得部32は、call命令により呼び出された関数が関数データベース141に含まれる場合に、命令リストであるアセンブルリストを鍵生成源候補322として取得する。つまり、取得部32は、問い合わせた関数が関数データベース141に含まれていた場合、問い合わせた関数を呼び出しているアセンブルリストを鍵生成源候補322として取得する。なお、本実施の形態では、取得部32は、鍵生成源候補322を鍵生成源321と決定する。
図12は、複数のアセンブルリストから鍵生成源321であるアセンブルリストを特定する例を示す図である。
まず、取得部32は、複数のアセンブルリストから、判定を行う判定対象のアセンブルリストを取り出す。次に、鍵生成源取得部130は、取り出したアセンブルリストから、call命令により呼び出した関数を抽出する。この場合、gethostnameがその関数である。次に、取得部32は、gethostnameが関数データベース141に存在しているかを確認するために、gethostnameのクエリを、関数データベース141に送信する。関数データベース141では、このクエリが存在しているかを検索する。図11の関数データベース141の例であれば、gethostnameは存在するため、レスポンスとしてTrueを返す。ここで、関数データベース141に存在しないクエリを送信した場合、レスポンスとしてFalseを返す。取得部32は、Trueを受け取った時、判定対象のアセンブルリストが鍵生成源候補322であると判定する。そして、取得部32は、鍵生成源候補322であると判定したアセンブルリストを鍵生成源321として決定する。
***他の構成***
鍵生成源特定装置10は、他のネットワークと通信する通信インタフェースを有していてもよい。通信インタフェースは、レシーバとトランスミッタとを備える。具体的には、通信インタフェースは通信チップまたはNIC(Network Interface Card)である。通信インタフェースはデータを通信する通信部として機能する。レシーバはデータを受信する受信部として機能し、トランスミッタはデータを送信する送信部として機能する。
また、本実施の形態では、鍵生成源特定装置10の機能がソフトウェアで実現されるが、変形例として、鍵生成源特定装置10の機能がハードウェアで実現されてもよい。
図13は、本実施の形態の変形例に係る鍵生成源特定装置10の構成を示す図である。
図13に示すように、鍵生成源特定装置10は、処理回路909、入力インタフェース930、出力インタフェース940といったハードウェアを備える。
処理回路909は、上述した「部」の機能及び記憶部を実現する専用の電子回路である。処理回路909は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、又は、FPGA(Field−Programmable Gate Array)である。
鍵生成源特定装置10は、処理回路909を代替する複数の処理回路を備えていてもよい。これら複数の処理回路により、全体として「部」の機能が実現される。それぞれの処理回路は、処理回路909と同じように、専用の電子回路である。
別の変形例として、鍵生成源特定装置10の機能がソフトウェアとハードウェアとの組合せで実現されてもよい。すなわち、鍵生成源特定装置10において一部の機能が専用のハードウェアで実現され、残りの機能がソフトウェアで実現されてもよい。
プロセッサ910、記憶装置920、及び、処理回路909を、総称して「プロセッシングサーキットリ」という。つまり、鍵生成源特定装置10の構成が図1及び図7のいずれに示した構成であっても、「部」の機能及び記憶部は、プロセッシングサーキットリにより実現される。
「部」を「工程」又は「手順」又は「処理」に読み替えてもよい。また、「部」の機能をファームウェアで実現してもよい。
***本実施の形態の効果の説明***
以上のように、本実施の形態に係る鍵生成源特定装置10によれば、マルウェアから、被害鍵を特定するために重要な情報である鍵生成源を自動で得ることができる。よって、本実施の形態に係る鍵生成源特定装置10によれば、マルウェアによる暗号通信を復号する手間を大きく削減することができる。
実施の形態2.
本実施の形態では、主に、実施の形態1との差異について説明する。
本実施の形態において、実施の形態1で説明した構成と同様の構成には同一の符号を付し、その説明を省略する。
***構成の説明***
図14を用いて、本実施の形態に係る鍵生成源特定装置10aの構成について説明する。
鍵生成源特定装置10aは、実施の形態1の構成に加えて、鍵生成源取得部130に決定部33を備える。また、鍵生成源特定装置10aは、さらに、記憶部140にプログラムデータベース142を備える。その他の機能構成とハードウェア構成については、実施の形態1と同様である。よって、鍵生成源特定装置10aの機能構成は、鍵生成源特定装置10の機能構成に決定部33とプログラムデータベース142とが加わっている。また、鍵生成源特定装置10aの「部」の機能は、鍵生成源特定装置10の「部」の機能に決定部33の機能が加わっている。
なお、本実施の形態では、取得部32から鍵生成源候補322を受け取るものとする。
プログラムデータベース142は、プログラムのテンプレートを格納する。プログラムデータベース142は、マルウェアの暗号処理で用いられる可能性がある鍵生成プログラムのテンプレートである鍵生成プログラムテンプレートを予め格納する。
決定部33は、鍵生成源候補322と鍵生成プログラムテンプレートとの類似度412を算出し、この類似度412に基づいて、鍵生成源候補322が鍵生成プログラムテンプレートに類似するか否かを判定する。決定部33は、鍵生成源候補322が鍵生成プログラムテンプレートに類似する場合に鍵生成源候補322を鍵生成源321として決定する。言い換えると、決定部33は、取得部32により取得された鍵生成源候補322から、鍵生成源321を決定する。決定部33は、鍵生成源候補322に対して、どの鍵生成源候補322が実際に鍵生成源321であるかの絞り込みを行う。
図15を用いて、鍵生成源候補322の絞り込みが必要となる理由である、テイントの誤伝搬について説明する。
テイントの誤伝搬とは、本来依存関係がなく、追跡しないデータに対して誤ってテイントが伝搬してしまうことをいう。図15は、テイントが誤伝搬するような場合を示している。
図15のアセンブルリストにおいてテイント解析を行うと、図9と同様にmem2がmem1に依存している結果が得られる。しかし、「xor eax,eax」はeaxの値によらずeaxに0を代入する処理である。そのため、実際にはmem1とmem2の間には依存関係がない。このように、実際には依存関係がないにも関わらず、依存関係があるようにデータがテイントされることをテイントの誤伝搬という。
テイントの誤伝搬が生じることを踏まえると、正確に鍵生成源321を特定するためには、誤伝搬により誤った結果を含む鍵生成源候補322から、正しい鍵生成源321に絞り込む必要がある。
***動作の説明***
図16を用いて、本実施の形態に係る鍵生成源特定装置10aの鍵生成源特定処理S100aについて説明する。
鍵生成源特定処理S100aは、実行トレース抽出処理S110と、解析鍵特定処理S120と、鍵生成源取得処理S130と、判定処理S140を有する。実行トレース抽出処理S110と解析鍵特定処理S120と鍵生成源取得処理S130とは、実施の形態1で説明した処理と同様である。
判定処理S140において、決定部33は、鍵生成源候補322の各々を、プログラムデータベース142に登録された鍵生成プログラムテンプレートと比較し、類似している鍵生成源候補322を鍵生成源321として決定する。
ここで、プログラムデータベース142には、予め鍵を生成するプログラムのアセンブルリストを鍵生成プログラムテンプレートとして登録してある。決定部33は、鍵生成源候補322の各々が含まれるアセンブルリストを、プログラムデータベース142に登録されたアセンブルリストと比較し、類似しているかどうかを判定する。
ここで、アセンブルリスト同士の比較には、アセンブルリストにおけるオペコード列のレーベンシュタイン距離を類似度412として計算し、距離が閾値以下である場合に類似していると判定する。
レーベンシュタイン距離とは編集距離とも呼ばれる、二つの文字列の距離を測定する際に用いられる尺度である。同一の文字列とするために、文字の追加及び削除が何回必要か、その回数を距離として用いる。ここで、変更は、文字を削除した後に追加するため、2回分の操作が必要である。
図17に、本実施の形態におけるレーベンシュタイン距離の測定を例示する。
まず、比較対象であるアセンブルリスト、すなわち鍵生成源候補322のアセンブルリストと、プログラムデータベース142に登録されたアセンブルリストとの各々において、オペコードだけのリストに編集する。レーベンシュタイン距離の比較は、このオペコードリストに対して行う。
次に、比較対象であるオペコードリストが、プログラムデータベース142に登録されたアセンブルリストから得られたオペコードリストと全く同じになるには、何回の追加及び削除が必要であるかを測定する。ここで、追加及び削除はオペコード単位で行われる。この回数が、二つのオペコードリスト間の距離であり、距離が閾値より低い場合、比較対象であったアセンブルリストが鍵生成源321である、または鍵生成源321を含むと判定する。
図17の例では、4行目のオペコードが異なっている点と、6行目にオペコードが存在していない。そのため、この二つのオペコードリストの距離は「3」である。この値が閾値より低ければ、比較対象であったアセンブルリストが鍵生成源321を含むと判定する。
類似度の比較には、他にもファジーハッシュの一致を確認する方法や、機械学習により鍵生成プログラムの特徴を抽出し利用するといった方法がある。
***本実施の形態に係る効果の説明***
以上のように、本実施の形態に係る鍵生成源特定装置10aによれば、マルウェアから、被害鍵を特定するために重要な情報である鍵生成源を、精度が高い状態で、自動で得る事ができるようになり、マルウェアによる暗号通信を復号する手間を大きく削減することが可能となる。
実施の形態3.
本実施の形態では、主に、実施の形態1との差異について説明する。
本実施の形態において、実施の形態1で説明した構成と同様の構成には同一の符号を付し、その説明を省略する。
***構成の説明***
図18を用いて、本実施の形態に係る鍵生成源特定装置10bの構成について説明する。
鍵生成源特定装置10bは、実施の形態1の構成に加えて、プログラム生成部150を備える。その他の機能構成とハードウェア構成については、実施の形態1と同様である。よって、鍵生成源特定装置10bの機能構成は、鍵生成源特定装置10の機能構成にプログラム生成部150が加わっている。また、鍵生成源特定装置10bの「部」の機能は、鍵生成源特定装置10の「部」の機能にプログラム生成部150の機能が加わっている。なお、ここでは、実施の形態1に本実施の形態が加わった形態を示すが、本実施の形態は実施の形態2に対して追加しても同様に成立する。
プログラム生成部150は、鍵生成源321に基づいて、実行環境において実行される暗号処理で用いられる暗号鍵を生成する鍵生成プログラム151を生成する。鍵生成プログラム151は、被害環境における暗号鍵である被害鍵を生成するためのプログラムである。
***動作の説明***
図19を用いて、本実施の形態に係る鍵生成源特定装置10bの鍵生成源特定処理S100bについて説明する。
生成源特定処理S100bは、実行トレース抽出処理S110と、解析鍵特定処理S120と、鍵生成源取得処理S130と、プログラム生成処理S150を有する。実行トレース抽出処理S110と解析鍵特定処理S120と鍵生成源取得処理S130とは、実施の形態1で説明した処理と同様である。
プログラム生成処理S150において、プログラム生成部150は、得られた鍵生成源321から解析鍵121へと続くアセンブルリストを元に、鍵生成プログラム151を生成する。
プログラム生成処理S150は、実行トレース111に記録されたアセンブルリストをそのまま辿れば、必ず鍵生成プログラム151となることを利用している処理である。
図20は、本実施の形態に係る鍵生成プログラム151の生成を示す図である。
図20に示すように、鍵生成プログラム151は、鍵生成源321として決定されたアセンブルリストに、プロローグ処理のアセンブルリストが付加されて生成される。
まず、プログラム生成部150は、鍵生成源321として決定されたアセンブルリストを取得する。鍵生成源321として決定されたアセンブルリストによれは、実行された順にアセンブラを読むことにより鍵生成のアルゴリズムを得ることができる。
更に、プログラム生成部150は、実行トレース111からプログラム開始時点でのメモリ状態を抽出することで、プログラムの静的変数も設定することが可能となる。プログラム生成部150は、鍵生成源が呼び出すメモリに対応した静的変数を設定するプロローグ処理を行うアセンブルリストを生成する。プログラム生成部150は、鍵生成源321として決定されたアセンブルリストの前に、プロローグ処理を行うようにプログラムを作成することで、アセンブラで書かれた鍵生成プログラム151を作成することができる。
***本実施の形態に係る効果の説明***
以上のように、本実施の形態に係る鍵生成源特定装置10bによれば、マルウェアから、鍵生成源と鍵生成プログラムを自動で得る事ができる。本実施の形態に係る鍵生成源特定装置10bによれば、被害環境での環境情報を利用して鍵生成プログラムから被害鍵を生成することが可能となり、マルウェアによる暗号通信を復号する手間を大きく削減することが可能となる。
実施の形態4.
本実施の形態では、主に、実施の形態1との差異について説明する。
本実施の形態において、実施の形態1で説明した構成と同様の構成には同一の符号を付し、その説明を省略する。
***構成の説明***
図21を用いて、本実施の形態に係る鍵生成源特定装置10cの構成について説明する。
鍵生成源特定装置10cは、実施の形態1の構成に加えて、被害鍵取得部160を備える。その他の機能構成とハードウェア構成については、実施の形態1と同様である。よって、鍵生成源特定装置10cの機能構成は、鍵生成源特定装置10の機能構成に被害鍵取得部160が加わっている。また、鍵生成源特定装置10cの「部」の機能は、鍵生成源特定装置10の「部」の機能に被害鍵取得部160の機能が加わっている。なお、ここでは、実施の形態1に本実施の形態が加わった形態を示すが、本実施の形態は実施の形態2あるいは実施の形態3に対して追加しても同様に成立する。
被害鍵取得部160は、鍵生成源321と、動的取得関数411が呼び出す動的情報と、実行環境とに基づいて、暗号処理が実行された際の暗号鍵を被害鍵161として取得する。つまり、被害鍵取得部160は、動的取得関数411が呼び出す動的情報を、マルウェアに感染した被害端末の実行環境に合わせた情報としてマルウェアを実際に動作させることで、被害端末で暗号処理が実行された際の暗号鍵を被害鍵161として取得する。
なお、本実施の形態では、被害鍵取得部160は、取得部32から鍵生成源321を受け取るものとする。
***動作の説明***
図22を用いて、本実施の形態に係る鍵生成源特定装置10cの生成源特定処理S100cについて説明する。
生成源特定処理S100cは、実行トレース抽出処理S110と、解析鍵特定処理S120と、鍵生成源取得処理S130と、被害鍵取得処理S160を有する。実行トレース抽出処理S110と解析鍵特定処理S120と鍵生成源取得処理S130とは、実施の形態1で説明した処理と同様である。
被害鍵取得処理S160において、被害鍵取得部160は、特定した鍵生成源321を元に、被害端末の実行環境を示す環境情報を設定し、マルウェアを実行させることで被害鍵161を抽出する。
具体例として、鍵生成源321が呼び出す動的取得関数411が取得する動的情報が、IPアドレスである場合について説明する。被害鍵取得部160は、復号対象である暗号通信、すなわち暗号化ファイルが取得された被害環境のIPアドレスをログ等の情報から抽出しておく。次に、被害鍵取得部160は、マルウェアを実行する仮想環境上のIPアドレスを、先ほど入手した被害環境のIPアドレスに変更する。被害鍵取得部160は、この状態でマルウェアを動作させ、暗号処理の鍵を抽出すると、被害環境における被害鍵161を入手することができる。
***本実施の形態に係る効果の説明***
以上のように、本実施の形態に係る鍵生成源特定装置10cによれば、マルウェアから、被害鍵を自動で得る事ができる。本実施の形態に係る鍵生成源特定装置10cによれば、被害環境での情報を利用して被害鍵を自動で生成することが可能となり、マルウェアによる暗号通信を復号する手間を大きく削減することが可能となる。
以上、本発明の実施の形態1から4について説明したが、これらの実施の形態の説明において「部」として説明するもののうち、いずれか1つのみを採用してもよいし、いくつかの任意の組合せを採用してもよい。つまり、鍵生成源特定装置の機能ブロックは、上記の実施の形態で説明した機能を実現することができれば、任意である。鍵生成源特定装置は、これらの機能ブロックをどのように組合せて構成してもよいし、任意の機能ブロックで構成してもよい。また、鍵生成源特定装置は、1つの装置でなく、複数の装置から構成されていてもよい。
また、実施の形態1から4について説明したが、これらの実施の形態のうち、複数の実施の形態を組み合わせて実施してもよい。また、これらの実施の形態のうち、複数の部分を組み合わせて実施してもよい。或いは、これらの実施の形態のうち、1つの部分を実施しても構わない。その他、これらの実施の形態の内容を、全体として或いは部分的に、どのように組合せて実施しても構わない。
なお、上記の実施の形態は、本質的に好ましい例示であり、本発明、その適用物や用途の範囲を制限することを意図するものではなく、必要に応じて種々の変更が可能である。上記の実施の形態は、本手法の理解を助けるためのものであって、発明を限定するためのものではない。
10,10a,10b,10c 鍵生成源特定装置、11 鍵特定部、110 実行トレース抽出部、111 実行トレース、120 解析鍵特定部、121 解析鍵、130 鍵生成源取得部、31 抽出部、311 命令リスト、32 取得部、33 決定部、321 鍵生成源、322 鍵生成源候補、140 記憶部、141 関数データベース、411 動的取得関数、412 類似度、142 プログラムデータベース、150 プログラム生成部、151 鍵生成プログラム、160 被害鍵取得部、161 被害鍵、510 鍵生成源特定方法、520 鍵生成源特定プログラム、909 処理回路、910 プロセッサ、920 記憶装置、930 入力インタフェース、940 出力インタフェース、S10 鍵特定処理、S20 抽出処理、S30 取得処理、S100,S100a,S100b,S100c 鍵生成源特定処理、S110 実行トレース抽出処理、S120 解析鍵特定処理、S130 鍵生成源取得処理。

Claims (9)

  1. マルウェアに暗号処理を実行させ、前記暗号処理の実行状況を表す実行トレースを取得し、前記実行トレースに基づいて、前記暗号処理で用いられた暗号鍵を解析鍵として特定する鍵特定部と、
    前記実行トレースから、前記解析鍵が依存する命令のリストを命令リストとして抽出する抽出部と、
    前記命令リストに含まれる呼出命令により呼び出された関数が、動的に変化する動的情報を取得する動的取得関数であるか否かを判定し、前記呼出命令により呼び出された関数が前記動的取得関数である場合に、前記命令リストを、前記暗号処理において前記解析鍵を生成したプログラムの少なくとも一部である鍵生成源の候補として取得する取得部と
    を備えた鍵生成源特定装置。
  2. 前記鍵生成源特定装置は、
    前記動的取得関数を格納した関数データベースを備え、
    前記取得部は、
    前記呼出命令により呼び出された関数が前記関数データベースに含まれるか否かを判定し、前記呼出命令により呼び出された関数が前記関数データベースに含まれる場合に、前記命令リストを前記鍵生成源の候補として取得する請求項1に記載の鍵生成源特定装置。
  3. 前記鍵生成源特定装置は、
    プログラムのテンプレートを格納するプログラムデータベースと、
    前記鍵生成源の候補と前記テンプレートとの類似度を算出し、前記類似度に基づいて、前記鍵生成源の候補が前記テンプレートに類似するか否かを判定し、前記鍵生成源の候補が前記テンプレートに類似する場合に前記鍵生成源の候補を前記鍵生成源として決定する決定部と
    を備えた請求項1または2に記載の鍵生成源特定装置。
  4. 前記取得部は、
    前記鍵生成源の候補を前記鍵生成源として決定する請求項1または2に記載の鍵生成源特定装置。
  5. 前記動的取得関数は、前記暗号処理の実行環境に応じて動的に変化する情報を前記動的情報として取得する請求項1から4のいずれか1項に記載の鍵生成源特定装置。
  6. 前記鍵生成源特定装置は、
    前記鍵生成源に基づいて、前記実行環境において実行される前記暗号処理で用いられる暗号鍵を生成する鍵生成プログラムを生成するプログラム生成部を備えた請求項5に記載の鍵生成源特定装置。
  7. 前記鍵生成源特定装置は、
    前記鍵生成源と前記動的取得関数が呼び出す前記動的情報と前記実行環境とに基づいて、前記暗号処理が実行された際の暗号鍵を被害鍵として取得する被害鍵取得部を備えた請求項5または6に記載の鍵生成源特定装置。
  8. 鍵特定部が、マルウェアに暗号処理を実行させ、前記暗号処理の実行状況を表す実行トレースを取得し、前記実行トレースに基づいて、前記暗号処理で用いられた暗号鍵を解析鍵として特定し、
    抽出部が、前記実行トレースから、前記解析鍵が依存する命令のリストを命令リストとして抽出し、
    取得部が、前記命令リストに含まれる呼出命令により呼び出された関数が、動的に変化する動的情報を取得する動的取得関数であるか否かを判定し、前記呼出命令により呼び出された関数が前記動的取得関数である場合に、前記命令リストを、前記暗号処理において前記解析鍵を生成したプログラムの少なくとも一部である鍵生成源の候補として取得する鍵生成源特定方法。
  9. マルウェアに暗号処理を実行させ、前記暗号処理の実行状況を表す実行トレースを取得し、前記実行トレースに基づいて、前記暗号処理で用いられた暗号鍵を解析鍵として特定する鍵特定処理と、
    前記実行トレースから、前記解析鍵が依存する命令のリストを命令リストとして抽出する抽出処理と、
    前記命令リストに含まれる呼出命令により呼び出された関数が、動的に変化する動的情報を取得する動的取得関数であるか否かを判定し、前記呼出命令により呼び出された関数が前記動的取得関数である場合に、前記命令リストを、前記暗号処理において前記解析鍵を生成したプログラムの少なくとも一部である鍵生成源の候補として取得する取得処理と
    をコンピュータに実行させる鍵生成源特定プログラム。
JP2018523118A 2016-06-16 2016-06-16 鍵生成源特定装置、鍵生成源特定方法及び鍵生成源特定プログラム Expired - Fee Related JP6395986B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/067929 WO2017216924A1 (ja) 2016-06-16 2016-06-16 鍵生成源特定装置、鍵生成源特定方法及び鍵生成源特定プログラム

Publications (2)

Publication Number Publication Date
JP6395986B2 true JP6395986B2 (ja) 2018-09-26
JPWO2017216924A1 JPWO2017216924A1 (ja) 2018-10-11

Family

ID=60663063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018523118A Expired - Fee Related JP6395986B2 (ja) 2016-06-16 2016-06-16 鍵生成源特定装置、鍵生成源特定方法及び鍵生成源特定プログラム

Country Status (4)

Country Link
US (1) US20190121968A1 (ja)
JP (1) JP6395986B2 (ja)
CN (1) CN109313688A (ja)
WO (1) WO2017216924A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10461421B1 (en) * 2019-05-07 2019-10-29 Bao Tran Cellular system
CN110569091B (zh) * 2019-09-02 2022-12-02 深圳市丰润达科技有限公司 单片机按键处理方法、装置及计算机可读存储介质
US10694399B1 (en) * 2019-09-02 2020-06-23 Bao Tran Cellular system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009181335A (ja) * 2008-01-30 2009-08-13 Nippon Telegr & Teleph Corp <Ntt> 解析システム、解析方法および解析プログラム
WO2016030927A1 (ja) * 2014-08-28 2016-03-03 三菱電機株式会社 プロセス解析装置、プロセス解析方法、及びプロセス解析プログラム
WO2016093182A1 (ja) * 2014-12-09 2016-06-16 日本電信電話株式会社 特定装置、特定方法および特定プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009181335A (ja) * 2008-01-30 2009-08-13 Nippon Telegr & Teleph Corp <Ntt> 解析システム、解析方法および解析プログラム
WO2016030927A1 (ja) * 2014-08-28 2016-03-03 三菱電機株式会社 プロセス解析装置、プロセス解析方法、及びプロセス解析プログラム
WO2016093182A1 (ja) * 2014-12-09 2016-06-16 日本電信電話株式会社 特定装置、特定方法および特定プログラム

Also Published As

Publication number Publication date
US20190121968A1 (en) 2019-04-25
CN109313688A (zh) 2019-02-05
JPWO2017216924A1 (ja) 2018-10-11
WO2017216924A1 (ja) 2017-12-21

Similar Documents

Publication Publication Date Title
Subedi et al. Forensic analysis of ransomware families using static and dynamic analysis
US10586026B2 (en) Simple obfuscation of text data in binary files
US11314864B2 (en) Memory layout based monitoring
US8621237B1 (en) Protecting against cryptographic key exposure in source code
US9501646B2 (en) Program verification apparatus, program verification method, and computer readable medium
Suarez-Tangil et al. Stegomalware: Playing hide and seek with malicious components in smartphone apps
JP2012027710A (ja) ソフトウェア検出方法及び装置及びプログラム
JP6395986B2 (ja) 鍵生成源特定装置、鍵生成源特定方法及び鍵生成源特定プログラム
JPWO2018070404A1 (ja) マルウェア解析装置、マルウェア解析方法、及び、マルウェア解析プログラムが格納された記録媒体
US10735457B2 (en) Intrusion investigation
Ali et al. Agent-based vs agent-less sandbox for dynamic behavioral analysis
Lee et al. Classification and analysis of security techniques for the user terminal area in the internet banking service
Senanayake et al. Labelled Vulnerability Dataset on Android source code (LVDAndro) to develop AI-based code vulnerability detection models.
TW201942788A (zh) 應用程式資訊的儲存、處理方法及裝置
JP6454617B2 (ja) マルウェア動作環境推定方法、その装置およびシステム
Heid et al. Android Data Storage Locations and What App Developers Do with It from a Security and Privacy Perspective.
Albalawi et al. Memory deduplication as a protective factor in virtualized systems
US11138319B2 (en) Light-weight context tracking and repair for preventing integrity and confidentiality violations
Alghamdi et al. Detect keyloggers by using Machine Learning
TW201629767A (zh) 爲符合準則之資料決定保護性措施之技術
US20160210474A1 (en) Data processing apparatus, data processing method, and program
Ravula et al. Learning attack features from static and dynamic analysis of malware
US11263328B2 (en) Encrypted log aggregation
Vidyarthi et al. Identifying ransomware-specific properties using static analysis of executables
KR101934381B1 (ko) 해킹툴 탐지 방법 및 이를 수행하는 사용자 단말 및 서버

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180703

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180703

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180724

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180828

R150 Certificate of patent or registration of utility model

Ref document number: 6395986

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees