JP6696161B2 - Malware determination device, malware determination method, and malware determination program - Google Patents

Malware determination device, malware determination method, and malware determination program Download PDF

Info

Publication number
JP6696161B2
JP6696161B2 JP2015233468A JP2015233468A JP6696161B2 JP 6696161 B2 JP6696161 B2 JP 6696161B2 JP 2015233468 A JP2015233468 A JP 2015233468A JP 2015233468 A JP2015233468 A JP 2015233468A JP 6696161 B2 JP6696161 B2 JP 6696161B2
Authority
JP
Japan
Prior art keywords
communication
data
information
unit
encryption
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
JP2015233468A
Other languages
Japanese (ja)
Other versions
JP2017102559A (en
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2015233468A priority Critical patent/JP6696161B2/en
Publication of JP2017102559A publication Critical patent/JP2017102559A/en
Application granted granted Critical
Publication of JP6696161B2 publication Critical patent/JP6696161B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本発明は、暗号通信にて送受信するデータを解析する技術に関する。   The present invention relates to a technique for analyzing data transmitted and received by cryptographic communication.

近年、通信ネットワークに接続された、コンピュータ等の情報処理装置(以下、単に「情報通信装置」と称する場合がある)において実行される通信処理を解析する技術が求められている。   In recent years, there has been a demand for a technique of analyzing a communication process executed in an information processing device such as a computer (hereinafter, may be simply referred to as “information communication device”) connected to a communication network.

そのような通信処理の解析は、例えば、情報通信装置の開発及び運用段階における挙動の解析、あるいは、情報通信装置において実行される通信処理プログラムの挙動の解析等に用いられる。   Such analysis of communication processing is used, for example, for analysis of behavior in the development and operation stages of the information communication apparatus, or analysis of behavior of a communication processing program executed in the information communication apparatus.

特に、近年では、情報通信装置において実行されるウィルス等の不正なコンピュータ・プログラム(コンピュータ・プログラムには、各種ソフトウェア・プログラムが含まれる。以下単に「プログラム」と称する場合がある)に起因する、不正な通信処理の内容を解析する技術が求められている。   In particular, in recent years, it is caused by an illegal computer program such as a virus executed in the information communication device (the computer program includes various software programs, which may be simply referred to as “program” hereinafter), There is a demand for a technique for analyzing the contents of illegal communication processing.

係る不正なプログラム(以下「マルウェア」と称する場合がある)が、例えば、公開鍵暗号等の高度な暗号化方式を採用して各種通信処理を実行する場合には、通信記録(通信データ)の解読(復号)が極めて困難である。   When such an unauthorized program (hereinafter sometimes referred to as “malware”) executes various communication processes by adopting an advanced encryption method such as public key encryption, the communication record (communication data) Decoding (decoding) is extremely difficult.

例えば、解析対象の情報通信装置が、特定の暗号通信プロトコルを採用している場合(即ち、解析対象の情報通信装置の間で、当該特定の暗号通信プロトコルにより暗号化された通信路が確立される場合)を想定する。この場合、当該暗号通信プロトコルに関する暗号鍵及び認証情報等は、通信装置の間で安全に交換される。上記特定の暗号通信プロトコルとして、例えば、以下のような暗号通信プロトコルが用いられ得る。   For example, when the information communication device to be analyzed adopts a specific cryptographic communication protocol (that is, a communication path encrypted by the specific cryptographic communication protocol is established between the information communication devices to be analyzed. If)) is assumed. In this case, the encryption key, the authentication information, etc. relating to the encryption communication protocol are safely exchanged between the communication devices. As the specific encrypted communication protocol, for example, the following encrypted communication protocol may be used.

・SSL(Secure Sockets Layer)/TLS(Transport Layer Security)、
・IPSec(Security Architecture for Internet Protocol)におけるIKE(Internet Key Exchange)、
・SSH(Secure Shell)。
-SSL (Secure Sockets Layer) / TLS (Transport Layer Security),
IKE (Internet Key Exchange) in IPSec (Security Architecture for Internet Protocol),
-SSH (Secure Shell).

通常、このような暗号通信プロトコルに基づいて送受信される暗号化された通信データを解読することは容易ではない。このため、当該暗号通信を実行する情報通信装置(当該情報通信装置において実行される各種ソフトウェア・プログラムを含む)を解析することにより、係る暗号通信に関する情報を収集する技術が検討されている。   Usually, it is not easy to decipher the encrypted communication data transmitted / received based on such an encryption communication protocol. Therefore, a technique for collecting information about the encrypted communication by analyzing an information communication device that executes the encrypted communication (including various software programs executed in the information communication device) is being studied.

このような情報通信装置を解析する技術として、例えば、情報通信装置において特定のプログラム(例えば、マルウェア等)を実行させたまま、当該プログラムの挙動を解析する手法(以下「ライブフォレンジック手法」と称する場合がある)が知られている。係るライブフォレンジック手法は、ある装置(あるいはシステム)が稼働した状態において、当該装置に関する各種情報を収集することにより、当該装置の挙動に関する各種調査や分析を実行する。係るライブフォレンジック手法は、例えば、情報処理装置の稼働時における、揮発性の記憶装置(メモリ等)に記憶されるデータや、実行されるプログラム等を調査可能である。   As a technique for analyzing such an information communication device, for example, a method of analyzing the behavior of the program while the specific program (for example, malware) is being executed in the information communication device (hereinafter referred to as “live forensic method”) Sometimes known). The live forensic method performs various investigations and analyzes regarding the behavior of the device by collecting various information about the device while the device (or system) is operating. With such a live forensic method, for example, data stored in a volatile storage device (memory or the like), a program to be executed, or the like can be investigated when the information processing device is operating.

上記したような、通信処理を含む情報処理装置の挙動を解析する技術に関連して、例えば以下のような文献が開示されている。   For example, the following documents are disclosed in relation to the technique of analyzing the behavior of the information processing device including the communication process as described above.

即ち、特許文献1は、マルウェア解析に関する技術を開示する。特許文献1に開示された技術は、仮想マシン(バーチャルマシン)により構成された情報処理装置からの各種リクエストを、仮想マシンモニタがインターセプト(取得)し、その情報をセキュリティエージェントに転送する。セキュリティエージェントは、取得した情報に基づいて、係るリクエストを実行したプログラムがマルウェアか否かを判定する。仮想マシンモニタは、仮想マシンよりも低レイヤに存在するので、仮想マシンにおいて実行される全てのリクエストを取得可能である。   That is, Patent Literature 1 discloses a technique related to malware analysis. In the technology disclosed in Patent Document 1, a virtual machine monitor intercepts (obtains) various requests from an information processing device configured by a virtual machine (virtual machine), and transfers the information to a security agent. The security agent determines whether the program that executed the request is malware based on the acquired information. Since the virtual machine monitor exists in a lower layer than the virtual machine, it can acquire all requests executed in the virtual machine.

特許文献2は、マルウェア解析に関する技術を開示する。特許文献2に開示された技術は、マルウェアを実行した際のトレース及び実行過程において参照されるデータを解析することにより、マルウェアを実行した装置におけるメモリ空間から、マルウェアが使用する暗号鍵を抽出する。また、特許文献2に開示された技術は、当該抽出した暗号鍵を用いてマルウェアによる暗号化通信を解読する。   Patent Document 2 discloses a technique related to malware analysis. The technique disclosed in Patent Document 2 extracts an encryption key used by malware from a memory space in a device that executes malware by analyzing traces when executing malware and data referred to in an execution process. .. Further, the technique disclosed in Patent Document 2 decrypts encrypted communication by malware using the extracted encryption key.

特許文献3は、マルウェア等による暗号通信を分類する技術を開示する。特許文献3に開示された技術は、解析対象装置において実行される暗号化通信と、予め登録した承認済みの暗号化通信とを比較することにより、未承認の暗号通信を検出する。また、特許文献3に開示された技術は、未承認の暗号通信を検出した場合、係る暗号通信をブロック(停止)する。   Patent Document 3 discloses a technique for classifying encrypted communication by malware or the like. The technique disclosed in Patent Document 3 detects unapproved encrypted communication by comparing encrypted communication executed in the analysis target device with pre-registered approved encrypted communication. In addition, the technique disclosed in Patent Document 3 blocks (stops) the encrypted communication when the unapproved encrypted communication is detected.

特許文献4は、マルウェアの類似性に基づいて、マルウェアを分類及び識別する技術を開示する。特許文献4に開示された技術は、マルウェアの実行コード自体を解析するミクロ分析と、マルウェアに関連する通信を解析するマクロ分析との間の相関関係に基づいて、マルウェアを分類及び識別する。特許文献4に開示された技術は、ミクロ分析において、所定のタイミングにおいてダンプした解析対象マシンのメモリから、マルウェアの実行コードを抽出して逆アセンブルする構成を開示する。   Patent Document 4 discloses a technique for classifying and identifying malware based on the similarity of the malware. The technique disclosed in Patent Document 4 classifies and identifies malware based on a correlation between a micro analysis that analyzes the execution code of the malware itself and a macro analysis that analyzes communication related to the malware. The technique disclosed in Patent Document 4 discloses a configuration in which, in the micro analysis, the execution code of the malware is extracted from the memory of the analysis target machine dumped at a predetermined timing and disassembled.

特許文献5は、2つの通信装置の間に介在し、通信装置間の暗号通信を解析する暗号通信復号装置に関する技術を開示する。特許文献5に開示された暗号通信復号装置は、2つの通信装置間における通信データを解析し、暗号通信(IPSec)の鍵交換が実行されるタイミングにて、それぞれの通信装置との間で暗号鍵を交換する。即ち、特許文献5に開示された暗号通信復号装置は、2つの通信装置の間に中間者として介在し、一方の通信装置との間で暗号鍵を交換すると共に、他方の通信装置との間でも暗号鍵を交換する。これにより、特許文献5に開示された装置は、2つの通信装置の間で実行される暗号通信に介在し、一方の通信装置から送信される暗号通信データを復号して監視装置に送信すると共に、当該データを再度暗号化して他方の通信装置に送信する。   Patent Document 5 discloses a technique related to an encrypted communication decryption device that is interposed between two communication devices and analyzes encrypted communication between the communication devices. The encryption / decryption device disclosed in Patent Document 5 analyzes communication data between two communication devices, and encrypts the data with each communication device at a timing at which key exchange of encrypted communication (IPSec) is executed. Exchange keys. That is, the encryption / decryption device disclosed in Patent Document 5 intervenes as an intermediary between two communication devices, exchanges an encryption key with one communication device, and communicates with the other communication device. But exchange encryption keys. As a result, the device disclosed in Patent Document 5 intervenes in the encrypted communication performed between the two communication devices, decrypts the encrypted communication data transmitted from one communication device, and transmits the encrypted communication data to the monitoring device. , The data is encrypted again and transmitted to the other communication device.

特許文献6は、コンピュータにおけるリンクファイルの生成を監視することにより、マルウェアを検出する技術を開示する。特許文献6に開示された技術は、コンピュータの内外に存在する各種リソースに対するリンクを作成するプロセスに関する情報と、当該作成されたリンクの参照先の情報とを解析する。特許文献6に開示された技術は、その解析結果に基づいて、マルウェアに対する対策プロセスの実行や、リンクへのアクセスを抑制する。特許文献6に開示された技術は、作成されたリンクファイルを削除、編集、移動することが可能である。   Patent Document 6 discloses a technique for detecting malware by monitoring the generation of a link file in a computer. The technique disclosed in Patent Document 6 analyzes information on a process of creating links to various resources existing inside and outside a computer and information on a reference destination of the created link. The technology disclosed in Patent Document 6 suppresses execution of a countermeasure process against malware and access to links based on the analysis result. The technique disclosed in Patent Document 6 can delete, edit, and move the created link file.

特許文献7は、情報処理装置において実行される特定のファイルの挙動に基づいて、マルウェアを検出する技術を開示する。特許文献7に開示された技術は、特定のファイルの普及率(実際のネットワーク環境にどの程度分布しているか)に基づいて、当該ファイルの攻撃性レベルを調整する。特許文献7に開示された技術は、特定のファイルに対する攻撃性のレベルを用いて、当該ファイルの挙動がマルウェアに該当するか否かを判定する。   Patent Literature 7 discloses a technique for detecting malware based on the behavior of a specific file executed in an information processing device. The technique disclosed in Patent Document 7 adjusts the aggression level of a specific file based on the penetration rate of the specific file (how much is distributed in the actual network environment). The technique disclosed in Patent Document 7 uses a level of aggression against a specific file to determine whether or not the behavior of the file corresponds to malware.

特許文献8は、マルウェアを仮想ネットワークにアクセスさせ、当該マルウェアの動作及び通信に関する情報を取得する技術を開示する。特許文献8に開示された技術は、仮想ネットワーク部に接続されたマルウェア実行環境においてマルウェアを実行する。仮想ネットワーク部は、マルウェア実行環境からの通信を受信して通信プロトコルを解析し、当該プロトコルに応じた適切な応答を生成してマルウェア実行環境に送信する。また、特許文献8に開示された技術は、マルウェア実行環境からの通信の内容に応じて、係る通信を実際のインターネット環境に接続する。   Patent Document 8 discloses a technique for allowing malware to access a virtual network and acquiring information about the operation and communication of the malware. The technique disclosed in Patent Document 8 executes malware in a malware execution environment connected to the virtual network unit. The virtual network unit receives the communication from the malware execution environment, analyzes the communication protocol, generates an appropriate response according to the protocol, and transmits the response to the malware execution environment. Further, the technology disclosed in Patent Document 8 connects such communication to the actual Internet environment according to the content of communication from the malware execution environment.

特許文献11は、ファイアウォールからマルウェア候補サンプルを受信し、サンドボックス環境を提供する仮想マシン環境において、受信したマルウェア候補サンプルを解析するマルウェア解析システムを開示する。   Patent Literature 11 discloses a malware analysis system that receives a malware candidate sample from a firewall and analyzes the received malware candidate sample in a virtual machine environment that provides a sandbox environment.

特許文献12は、対象プログラムを解析する場合に、対象プログラムを解析するツールを格納しているツール記憶部から該ツールを抽出し、抽出した該ツールを用いて該対象プログラムを解析する技術を開示する。   Patent Document 12 discloses a technique of, when a target program is analyzed, extracting the tool from a tool storage unit that stores a tool for analyzing the target program, and analyzing the target program using the extracted tool. To do.

特許文献9は、特定のタイミングあるいは日時においてのみ活動するプログラムを解析するために、係るプログラムの実行環境における時間経過速度を調整する技術を開示する。   Patent Document 9 discloses a technique of adjusting a time lapse speed in an execution environment of a program in order to analyze a program that is active only at a specific timing or date and time.

また、暗号化されたデータを復号する技術に関連して、以下のような文献が存在する。   In addition, the following documents exist regarding the technique of decrypting encrypted data.

特許文献10は、暗号文を復号した復号データの正しさを確認する技術を開示する。特許文献10に開示された技術は、疑似乱数を用いて暗号化されたデータを復号した際に、当該復号されたデータのエントロピーと特定の基準値とを比較することにより、当該復号されたデータの正しさを判定する。   Patent Document 10 discloses a technique for confirming the correctness of decrypted data obtained by decrypting a ciphertext. The technique disclosed in Patent Document 10 compares the entropy of the decrypted data with a specific reference value when decrypting the encrypted data using a pseudo-random number, and thus the decrypted data Judge the correctness of.

特表2014−514651号公報Special table 2014-514651 gazette 特開2013−114637号公報JP, 2013-114637, A 特表2012−511847号公報Special table 2012-511847 gazette 特開2009−037545号公報JP, 2009-037545, A 特開2006−279938号公報JP, 2006-279938, A 特表2013−508823号公報Japanese Patent Publication No. 2013-508823 特表2013−507722号公報Japanese Patent Publication No. 2013-507722 特開2011−154727号公報JP, 2011-154727, A 特開2013−105366号公報JP, 2013-105366, A 特開2007−116752号公報JP, 2007-116752, A 特表2014−519113号公報Japanese Patent Publication No. 2014-519113 国際公開第2013/073504号International Publication No. 2013/073504

しかし、特許文献11、特許文献12等の文献に開示されている技術を用いたとしても、マルウェアを正確に解析し、その解析結果に基づいてマルウェアである可能性が高いソフトウェアを検知できるとは限らない。この理由について説明する。   However, even if the technology disclosed in documents such as Patent Document 11 and Patent Document 12 is used, it is possible to accurately analyze malware and detect software that is likely to be malware based on the analysis result. Not exclusively. The reason for this will be described.

たとえば、マルウェアが、サンドボックスに設定されたことを検知している場合もあり、この場合に、マルウェアは、サンドボックスに設定されたことを検知することによって、ふるまい(該マルウェアにおける処理)を変えてしまう。この場合には、特許文献11に開示された技術では、マルウェア候補サンプルを、正確に解析することができない。   For example, the malware may have detected that it has been set in the sandbox, and in this case, the malware changes the behavior (process in the malware) by detecting that it has been set in the sandbox. Will end up. In this case, the technique disclosed in Patent Document 11 cannot accurately analyze the malware candidate sample.

また、マルウェアによっては、デバッガー等の解析ツールを検知している場合もあり、この場合に、マルウェアは、解析ツールを検知することによって、ふるまい(該マルウェアにおける処理)を変えてしまう。この場合には、特許文献12に開示された技術では、マルウェア候補サンプルを、正確に解析することができない。   In addition, some malware may detect an analysis tool such as a debugger. In this case, the malware changes the behavior (processing in the malware) by detecting the analysis tool. In this case, the technique disclosed in Patent Document 12 cannot accurately analyze the malware candidate sample.

そこで、本発明の主たる目的は、通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを正確に判定することができるマルウェア判定装置等を提供することである。   Therefore, a main object of the present invention is to provide a malware determination device or the like that can accurately determine whether or not the device that has transmitted the communication message includes software that is likely to be malware.

前述の目的を達成するために、本発明の一態様において、マルウェア判定装置は、
通信方式に従った通信接続を確立しようとする際に送受信された第1通信メッセージから、前記通信接続にて用いる暗号化方式を識別可能な暗号化方式情報を抽出する暗号化方式特定手段と、
抽出した前記暗号化方式情報が表す暗号化方式に応じた復号方式に従い、確立された前記通信接続にて送受信された第2通信メッセージを、暗号鍵情報を用いて復号処理することによって、前記第2通信メッセージが復号処理された結果を表す結果情報を作成する結果情報作成手段と、
前記結果情報が、前記通信方式に従った通信処理を実現している符号情報を含んでいるか否かを判定し、前記データが前記符号情報を含んでいない場合には、第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含むと判定する判定手段と
を備える。
In order to achieve the above-mentioned object, in one aspect of the present invention, a malware determination device is
An encryption method specifying unit for extracting encryption method information capable of identifying an encryption method used in the communication connection from a first communication message transmitted / received when an attempt is made to establish a communication connection according to the communication method,
According to the decryption method corresponding to the encryption method represented by the extracted encryption method information, the second communication message transmitted / received through the established communication connection is decrypted by using the encryption key information to obtain the second communication message. 2 result information creating means for creating result information representing the result of decoding processing of the communication message,
It is determined whether or not the result information includes code information that realizes a communication process according to the communication method, and if the data does not include the code information, a second communication message is transmitted. And a determining unit that determines that the device includes software that is likely to be malware.

また、本発明の他の見地として、マルウェア判定方法は、
通信方式に従った通信接続を確立しようとする際に送受信された第1通信メッセージから、前記通信接続にて用いる暗号化方式を識別可能な暗号化方式情報を抽出し、
抽出した前記暗号化方式情報が表す暗号化方式に応じた復号方式に従い、確立された前記通信接続にて送受信された第2通信メッセージを、暗号鍵情報を用いて復号処理することによって、前記第2通信メッセージが復号処理された結果を表す結果情報を作成し、
前記結果情報に含まれているデータがばらついている度合いを表すばらつき度合いを算出し、算出した前記ばらつき度合いが所定の基準を満たす場合には、前記第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいると判定する。
Further, as another aspect of the present invention, the malware determination method is
From the first communication message transmitted and received when attempting to establish a communication connection according to the communication method, extract encryption method information that can identify the encryption method used in the communication connection,
According to the decryption method corresponding to the encryption method represented by the extracted encryption method information, the second communication message transmitted / received through the established communication connection is decrypted by using the encryption key information to obtain the second communication message. 2 Create result information indicating the result of decryption processing of the communication message,
A variation degree indicating the degree of variation in the data included in the result information is calculated, and when the calculated variation degree satisfies a predetermined criterion, the device that transmitted the second communication message is malware. It is determined that the software that has a high possibility is included.

また、本発明の他の見地として、マルウェア判定プログラムは、
通信方式に従った通信接続を確立しようとする際に送受信された第1通信メッセージから、前記通信接続にて用いる暗号化方式を識別可能な暗号化方式情報を抽出する暗号化方式特定機能と、
抽出した前記暗号化方式情報が表す暗号化方式に応じた復号方式に従い、確立された前記通信接続にて送受信された第2通信メッセージを、暗号鍵情報を用いて復号処理することによって、前記第2通信メッセージが復号処理された結果を表す結果情報を作成する結果情報作成機能と、
前記結果情報に含まれているデータがばらついている度合いを表すばらつき度合いを算出し、算出した前記ばらつき度合いが所定の基準を満たす場合には、前記第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいると判定する判定機能と
をコンピュータに実現させる。
Further, as another aspect of the present invention, the malware determination program is
An encryption method specifying function for extracting encryption method information capable of identifying an encryption method used in the communication connection from a first communication message transmitted / received when an attempt is made to establish a communication connection according to the communication method,
According to the decryption method corresponding to the encryption method represented by the extracted encryption method information, the second communication message transmitted / received through the established communication connection is decrypted by using the encryption key information to obtain the second communication message. 2 A result information creation function for creating result information representing the result of decryption processing of a communication message,
A variation degree indicating the degree of variation in the data included in the result information is calculated, and when the calculated variation degree satisfies a predetermined criterion, the device that transmitted the second communication message is malware. The computer is made to realize the determination function of determining that the software that has a high possibility is included.

さらに、同目的は、係るマルウェア判定プログラムを記録するコンピュータが読み取り可能な記録媒体によっても実現される。   Furthermore, the same object is also realized by a computer-readable recording medium that records the malware determination program.

本発明に係るマルウェア判定装置等によれば、通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを正確に判定することができる。   According to the malware determination apparatus and the like according to the present invention, it is possible to accurately determine whether or not the apparatus that has transmitted the communication message includes software that is likely to be malware.

本願発明の第1の実施形態における解析システム及び解析対象装置等の機能的な構成を例示するブロック図である。It is a block diagram which illustrates the functional composition of an analysis system, an analysis object device, etc. in a 1st embodiment of the present invention. 本願発明の第1の実施形態における解析対象装置及びデータ取得部を実現可能な第1の構成例を例示する図である。It is a figure which illustrates the 1st structural example which can implement | achieve the analysis object apparatus and data acquisition part in the 1st Embodiment of this invention. 本願発明の第1の実施形態における解析対象装置及びデータ取得部を実現可能な第2の構成例を例示する図である。It is a figure which illustrates the 2nd structural example which can implement | achieve the analysis object apparatus and data acquisition part in the 1st Embodiment of this invention. 本願発明の第1の実施形態における鍵データ取得ポリシの具体例を示す図である。It is a figure which shows the specific example of the key data acquisition policy in the 1st Embodiment of this invention. 本願発明の第1の実施形態における通信データ記録ポリシの具体例を示す図である。It is a figure which shows the specific example of the communication data recording policy in the 1st Embodiment of this invention. 本願発明の第1の実施形態における通信データ保持部の具体例を説明する図である。It is a figure explaining the specific example of the communication data holding part in the 1st Embodiment of this invention. 本願発明の第1の実施形態における鍵候補判定情報の具体例を示す図である。It is a figure which shows the specific example of the key candidate determination information in the 1st Embodiment of this invention. 本願発明の第1の実施形態における鍵候補保持部の具体例を説明する図である。It is a figure explaining the specific example of the key candidate holding part in the 1st Embodiment of this invention. 本願発明の第1の実施形態における解析結果判定情報の具体例を示す図である。It is a figure which shows the specific example of the analysis result determination information in the 1st Embodiment of this invention. 本願発明の第1の実施形態における解析結果保持部の具体例を説明する図である。It is a figure explaining the specific example of the analysis result holding part in the 1st Embodiment of this invention. 本願発明の第1の実施形態における解析システムの動作の概要を例示する、フローチャートである。It is a flow chart which illustrates an outline of operation of an analysis system in a 1st embodiment of the present invention. 本願発明の第1の実施形態において、解析対象装置と通信ネットワークとの間で実行される暗号通信に用いられる暗号鍵を取得する動作を例示するフローチャートである。6 is a flowchart illustrating an operation of acquiring an encryption key used for encrypted communication performed between an analysis target device and a communication network in the first embodiment of the present invention. 本願発明の第1の実施形態において、解析対象装置と通信ネットワークとの間で実行される暗号通信に用いられる暗号鍵を取得する動作を例示するフローチャートである。6 is a flowchart illustrating an operation of acquiring an encryption key used for encrypted communication performed between an analysis target device and a communication network in the first embodiment of the present invention. SSLプロトコルにおける、暗号鍵の共有手順を例示するシーケンス図である。It is a sequence diagram which illustrates the procedure of sharing an encryption key in the SSL protocol. 本願発明の第1の実施形態における通信処理部(特には、通信データ記録部)の動作を例示するフローチャートである。3 is a flowchart illustrating an operation of a communication processing unit (specifically, a communication data recording unit) according to the first embodiment of the present invention. 本願発明の第1の実施形態における暗号解析部(特には、鍵候補抽出部)の動作を例示するフローチャートである。6 is a flowchart illustrating an operation of a cryptographic analysis unit (specifically, a key candidate extraction unit) according to the first embodiment of the present invention. 本願発明の第1の実施形態における暗号解析部(特には、暗号解読部)の動作を例示するフローチャートである。6 is a flowchart illustrating an operation of a cryptographic analysis unit (specifically, a decryption unit) in the first exemplary embodiment of the present invention. 本願発明の第2の実施形態における解析システム及び解析対象装置等の機能的な構成を例示するブロック図である。It is a block diagram which illustrates the functional composition of an analysis system, an analysis object device, etc. in a 2nd embodiment of the invention in this application. 本願発明の各実施形態における、解析システム、当該解析システム、または、マルウェア判定装置の構成要素を実現可能な情報処理装置のハードウェア構成を例示したブロック図である。FIG. 1 is a block diagram illustrating a hardware configuration of an analysis system, an information processing apparatus capable of realizing the components of the analysis system, or a malware determination apparatus in each embodiment of the present invention. 本発明の第3の実施形態に係るマルウェア判定装置が有する構成を示すブロック図である。It is a block diagram which shows the structure which the malware determination apparatus which concerns on the 3rd Embodiment of this invention has. 第3の実施形態に係るマルウェア判定装置における処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process in the malware determination apparatus which concerns on 3rd Embodiment. 通信方式情報の一例を概念的に表す図である。It is a figure which represents an example of communication system information notionally. 暗号情報の一例を概念的に表す図である。It is a figure which represents an example of encryption information notionally. 本発明の第4の実施形態に係るマルウェア判定装置が有する構成を示すブロック図である。It is a block diagram which shows the structure which the malware determination apparatus which concerns on the 4th Embodiment of this invention has. 第4の実施形態に係るマルウェア判定装置における処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process in the malware determination apparatus which concerns on 4th Embodiment. 本発明の第5の実施形態に係るマルウェア判定装置が有する構成を示すブロック図である。It is a block diagram which shows the structure which the malware determination apparatus which concerns on the 5th Embodiment of this invention has. 第5の実施形態に係るマルウェア判定装置における処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process in the malware determination apparatus which concerns on 5th Embodiment.

次に、本発明を実施する形態について図面を参照して詳細に説明する。以下の実施の形態に記載されている構成は単なる例示であり、本願発明の技術範囲はそれらには限定されない。   Next, embodiments of the present invention will be described in detail with reference to the drawings. The configurations described in the following embodiments are merely examples, and the technical scope of the present invention is not limited thereto.

なお、各実施形態において説明する解析システムは、当該システムの1以上の構成要素が複数の物理的あるいは論理的に離間した装置(物理的な情報処理装置や、仮想的な情報処理装置等)を用いて実現されたシステムとして構成されてもよい。この場合、係る複数の装置の間は、有線又は無線又はそれらを組み合わせた任意の通信ネットワークを用いて通信可能に接続されてもよい。また、係る複数の装置が仮想的な情報処理装置等により構成される場合、上記通信ネットワークは、仮想的な通信ネットワークであってもよい。   It should be noted that the analysis system described in each of the embodiments includes a device (a physical information processing device, a virtual information processing device, etc.) in which one or more constituent elements of the system are physically or logically separated. It may be configured as a system realized by using. In this case, the plurality of devices may be communicatively connected to each other using a wired or wireless device or an arbitrary communication network combining them. Further, when the plurality of devices are configured by virtual information processing devices or the like, the communication network may be a virtual communication network.

また、各実施形態において説明する解析システムは、当該システムの全ての構成要素が1つの装置(物理的な情報処理装置や、仮想的な情報処理装置等)を用いて実現されたシステムとして構成されてもよい。   Further, the analysis system described in each embodiment is configured as a system in which all the constituent elements of the system are realized by using one device (physical information processing device, virtual information processing device, etc.). May be.

<第1の実施形態>
以下、本発明の第1の実施形態について説明する。まず、図1乃至図3を参照して、本実施形態における解析システムについて説明する。図1は、本実施形態における解析システム100の機能的な構成を例示するブロック図である。図2及び図3は、本実施形態における解析対象装置101及びデータ取得部102を実現可能な構成例を例示する図である。
<First Embodiment>
Hereinafter, the first embodiment of the present invention will be described. First, an analysis system according to this embodiment will be described with reference to FIGS. 1 to 3. FIG. 1 is a block diagram illustrating a functional configuration of an analysis system 100 according to this embodiment. 2 and 3 are diagrams exemplifying a configuration example in which the analysis target device 101 and the data acquisition unit 102 according to the present embodiment can be realized.

まず、解析対象装置101について説明する。解析対象装置101は、本実施形態における解析システム100により解析される解析対象の装置である。   First, the analysis target device 101 will be described. The analysis target device 101 is a device to be analyzed which is analyzed by the analysis system 100 according to the present embodiment.

図1に例示するように、本実施形態における解析対象装置101は、少なくとも演算部101a及びメモリ101bを有し、通信路106を介して通信ネットワーク105と通信可能に接続された、任意の情報通信装置である。   As illustrated in FIG. 1, the analysis target device 101 according to the present embodiment includes at least a calculation unit 101a and a memory 101b, and is connected to a communication network 105 via a communication path 106 so as to communicate with any information communication. It is a device.

解析対象装置101は、例えば、物理的なハードウェアにより構成されたコンピュータ等の情報通信装置であってもよい。また、解析対象装置101は、情報処理装置等の各種ハードウェアを仮想化可能な所定の仮想化基盤において提供される、仮想的なコンピュータ(VM:Virtual Machine)等であってもよい。   The analysis target device 101 may be, for example, an information communication device such as a computer configured by physical hardware. The analysis target device 101 may be a virtual computer (VM: Virtual Machine) or the like provided on a predetermined virtualization platform capable of virtualizing various hardware such as an information processing device.

係る仮想化基盤は、例えば、通信ネットワークにより相互に接続された複数の情報処理装置により構築された環境(クラウドコンピューティング環境等)において提供されてもよく、1台の情報処理装置により構築された環境において提供されてもよい。   The virtualization platform may be provided in, for example, an environment (cloud computing environment, etc.) constructed by a plurality of information processing apparatuses connected to each other by a communication network, and may be constructed by one information processing apparatus. May be provided in the environment.

係る仮想化基盤は、例えば、特定のホストOS(Operating System)において実行されるソフトウェア・プログラムとして提供されてもよく、情報処理装置のハードウェアと、OSとの間に介在するソフトウェア・プログラムとして提供されてもよい。   The virtualization platform may be provided as, for example, a software program executed in a specific host OS (Operating System), or as a software program interposed between the hardware of the information processing device and the OS. May be done.

また、係る仮想化基盤は、物理的なハードウェアデバイスの機能を用いて提供されてもよく、ハードウェアデバイスの機能(例えば、CPU(Central Processing Unit)における各種仮想化支援機能等)と、ソフトウェア・プログラムとの組合せを用いて提供されてもよい。   The virtualization platform may be provided by using the functions of a physical hardware device, and the functions of the hardware device (for example, various virtualization support functions in a CPU (Central Processing Unit)) and software. -It may be provided using a combination with a program.

例えば、係る仮想化基盤としてMicrosoft(登録商標)社製のHyper−Vを採用することが可能であるが、係る仮想化基盤は、これには限定されない。   For example, Hyper-V manufactured by Microsoft (registered trademark) can be adopted as the virtualization platform, but the virtualization platform is not limited to this.

なお、解析対象装置101は、各種コンピュータ等に限定されず、例えば、携帯電話(スマートフォンを含む)、PDA(Personal Digital Assistant)、ゲーム機器、タブレット型情報機器、プリンタ、デジタル複合機、各種ネットワーク機器(スイッチ、ルータ、アクセスポイント)等、通信ネットワークに接続可能な任意の機器であってもよい。   Note that the analysis target device 101 is not limited to various computers and the like, and for example, mobile phones (including smartphones), PDAs (Personal Digital Assistants), game devices, tablet information devices, printers, digital multi-function peripherals, various network devices. It may be any device that can be connected to the communication network, such as (switch, router, access point).

演算部101aは、例えば、メモリ101bに記憶された各種データ及びプログラム(コンピュータ・プログラム)を読み出して、当該プログラムに実装された各種演算処理を実行するCPU(Central Processing Unit)や、MPU(Microprocessing Unit)等の演算装置である。演算部101aは、特定のハードウェア(集積回路)を用いて構成される、物理的な演算装置であってもよい。演算部101aは、また、図3に例示するように、当該ハードウェアを仮想化した仮想化基盤における、仮想的な演算装置(仮想CPU)であってもよい。   The arithmetic unit 101a reads, for example, various data and programs (computer programs) stored in the memory 101b and executes various arithmetic processes implemented in the programs, and a CPU (Central Processing Unit) and an MPU (Microprocessing Unit). ) And the like. The arithmetic unit 101a may be a physical arithmetic device configured by using specific hardware (integrated circuit). The computing unit 101a may also be a virtual computing device (virtual CPU) in a virtualization platform that virtualizes the hardware, as illustrated in FIG.

メモリ101bは、例えば、解析対象装置101におけるメインメモリとして機能し、演算部101aにおいて処理される各種プログラム及びデータ等を保持する。係るメモリ101bは、特定のハードウェア(集積回路等)により構成された物理的なメモリ装置(例えば、DIMM(Dual Inline Memory Module)により構成されたDRAM(Dynamic Random Access Memory))であってもよい。また、メモリ101bは、上記した所定の仮想化基盤において提供される、仮想的なメモリ装置であってもよい。   The memory 101b functions, for example, as a main memory in the analysis target device 101, and holds various programs and data processed by the calculation unit 101a. The memory 101b may be a physical memory device configured by specific hardware (an integrated circuit or the like) (for example, a DRAM (Dynamic Random Access Memory) configured by a DIMM (Dual Inline Memory Module)). .. Further, the memory 101b may be a virtual memory device provided on the above-mentioned predetermined virtualization platform.

本実施形態におけるメモリ101bについては、当該メモリ101bに保持(記憶)される記憶データ(以下、「メモリ領域データ」と称する場合がある)を、メモリ101bの外部から取得(ダンプ)することができる。メモリをダンプする具体的な方法は、周知の技術を適宜選択してよい。例えば、係る方法として、OS(Operating System)の休止状態(ハイバネーション)機能を用いて不揮発性記憶装置に保存されたメモリ領域データを取得する方法や、OSが提供する仮想記憶においてページアウトされたメモリ領域データを取得する方法が採用されてもよい。   With respect to the memory 101b in the present embodiment, stored data (hereinafter sometimes referred to as “memory area data”) retained (stored) in the memory 101b can be acquired (dumped) from outside the memory 101b. .. A well-known technique may be appropriately selected as a specific method of dumping the memory. For example, as such a method, a method of obtaining memory area data stored in a nonvolatile storage device by using a hibernation function of an OS (Operating System), or a paged-out memory in virtual storage provided by the OS A method of acquiring area data may be adopted.

メモリ領域データは、メモリに格納されている全てのデータ、または、メモリに格納されているデータのうち、図7を参照しながら後述するような、鍵候補判定基準等に従って特定される記憶領域に格納されているデータを含む一部のデータ等を表す。   The memory area data is all the data stored in the memory, or the storage area specified in accordance with the key candidate determination criteria, which will be described later with reference to FIG. 7, among the data stored in the memory. Represents some data including stored data.

上記に限らず、例えば、メモリ101bを物理的なハードウェアにより構成した場合、メモリ領域データは、上記演算部101aと、メモリ101bとを接続する通信バス等において送受信されるデータを取得することにより取得されてもよい。また、メモリ領域データは、特定のタイミングにおいて、メモリ101bの記憶領域を全て出力(メモリダンプ)することにより取得されてもよい。この場合、例えば、メモリ101bに対するデータの読み込み、書き込み、アクセス等を制御するメモリコントローラ(不図示)の機能を用いて、メモリ領域データを取得することが可能である。   Not limited to the above, for example, when the memory 101b is configured by physical hardware, the memory area data is obtained by acquiring the data transmitted / received in the communication bus or the like connecting the arithmetic unit 101a and the memory 101b. It may be acquired. The memory area data may be acquired by outputting (memory dumping) all the storage areas of the memory 101b at a specific timing. In this case, for example, the memory area data can be acquired by using the function of a memory controller (not shown) that controls reading, writing, access, and the like of data with respect to the memory 101b.

メモリ101bを仮想的なメモリ装置として構成した場合、仮想化基盤が提供する機能(例えば、特定のAPI(Application Programming Interface)等)や、仮想化基盤が提供するデータ(例えば、仮想的なメモリに記憶されたデータの保存領域を特定可能な情報等)を介して、当該メモリ101bに記憶されるデータを取得可能である。係る処理の具体的な実現方法は、仮想化基盤の具体的な構成に応じて周知の技術を適宜採用してよいので、詳細な説明は省略する。   When the memory 101b is configured as a virtual memory device, a function provided by the virtualization platform (for example, a specific application programming interface (API)) or data provided by the virtualization platform (for example, a virtual memory It is possible to acquire the data stored in the memory 101b via information (for example, information that can specify the storage area of the stored data). A well-known technique may be appropriately adopted as a specific method of realizing the processing according to the specific configuration of the virtualization infrastructure, and thus detailed description thereof will be omitted.

本実施形態における解析対象装置101は、通信路106を介して、通信ネットワーク105との間で、暗号通信を実行する。より具体的には、解析対象装置101は、通信ネットワーク105を介して通信可能に接続された他の情報通信装置107との間で、暗号通信を実行する。   The analysis target device 101 according to the present embodiment executes encrypted communication with the communication network 105 via the communication path 106. More specifically, the analysis target device 101 executes cryptographic communication with another information communication device 107 communicatively connected via the communication network 105.

この場合、解析対象装置101において実行されるプログラムが、他の情報通信装置107との間で暗号通信を実現してもよい。係るプログラムは、解析対象装置101において実行される正規のプログラムに限られない。係るプログラムには、上記説明したマルウェアが含まれ得る。   In this case, the program executed in the analysis target device 101 may realize encrypted communication with another information communication device 107. The program is not limited to the regular program executed in the analysis target device 101. Such a program may include the malware described above.

解析対象装置101と、通信ネットワーク105(他の情報通信装置107)との間の通信路を暗号化する暗号通信プロトコルとしては、例えば、SSL、SSH、あるいはIPSec等の暗号通信プロトコル等が採用可能である。本実施形態を含め、以下に説明する各実施形態においては、係る暗号通信プロトコルとしてSSLが用いられる場合の具体例を説明する。なお、本実施形態における解析システム100は、SSLに限定されず、他の暗号通信プロトコルにも適用可能である。   As a cryptographic communication protocol for encrypting the communication path between the analysis target device 101 and the communication network 105 (other information communication device 107), for example, a cryptographic communication protocol such as SSL, SSH, or IPSec can be adopted. Is. In each of the embodiments described below, including this embodiment, a specific example in which SSL is used as the encryption communication protocol will be described. The analysis system 100 according to the present embodiment is not limited to SSL and can be applied to other cryptographic communication protocols.

通信ネットワーク105は、有線、無線、又はこれらの任意の組合せにより構成され、任意の通信プロトコルを用いて通信路を確立可能な通信ネットワークである。係る通信ネットワーク105は、例えばInternet等の広域通信網であってもよく、LAN(Local Area Network)等の構内通信網であってもよく、これらの組合せであってもよい。   The communication network 105 is a communication network configured by wire, wireless, or any combination thereof, and capable of establishing a communication path using any communication protocol. The communication network 105 may be a wide area communication network such as Internet, a local area communication network such as LAN (Local Area Network), or a combination thereof.

また、通信ネットワーク105において用いられる通信プロトコルは、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)等の周知の通信プロトコルであってよい。また、当該通信ネットワーク105は、例えば、上記説明した各種暗号通信プロトコルにより暗号化された通信路を、解析対象装置101に対して提供可能である。このような通信ネットワーク105は、周知の技術あるいはその組合せにより構成可能であるので、詳細な説明は省略する。   The communication protocol used in the communication network 105 may be a well-known communication protocol such as TCP / IP (Transmission Control Protocol / Internet Protocol). Further, the communication network 105 can provide, for example, a communication path encrypted by the above-described various encrypted communication protocols to the analysis target device 101. Since such a communication network 105 can be configured by a well-known technique or a combination thereof, detailed description thereof will be omitted.

他の情報通信装置107は、通信ネットワーク105を介して、解析対象装置101と通信可能に接続される。他の情報通信装置107は、例えば、物理的なハードウェアにより構成されたコンピュータ等の情報通信装置であってもよい。また、他の情報通信装置107は、所定の仮想化基盤において提供される、仮想的なコンピュータ等であってもよい。   The other information communication device 107 is communicatively connected to the analysis target device 101 via the communication network 105. The other information communication device 107 may be, for example, an information communication device such as a computer configured by physical hardware. Further, the other information communication device 107 may be a virtual computer or the like provided on a predetermined virtualization platform.

他の情報通信装置107は、例えば、各種コンピュータ等に限定されず、携帯電話(スマートフォンを含む)、PDA、ゲーム機器、タブレット型情報機器、プリンタ、デジタル複合機、各種ネットワーク機器、通信ネットワークに接続可能な任意の機器であってもよい。   The other information communication device 107 is not limited to, for example, various computers, and is connected to mobile phones (including smartphones), PDAs, game devices, tablet information devices, printers, digital multi-function peripherals, various network devices, and communication networks. It may be any possible device.

他の情報通信装置107は、例えば、上述した説明において例示したような暗号通信プロトコルを用いて、解析対象装置101との間で暗号通信を実行する。このような他の情報通信装置107は、周知の技術あるいはその組合せにより構成可能であるので、詳細な説明は省略する。   The other information communication device 107 executes encrypted communication with the analysis target device 101, for example, using the encrypted communication protocol exemplified in the above description. Since such other information communication device 107 can be configured by a well-known technique or a combination thereof, detailed description thereof will be omitted.

(解析システム100の構成)
次に、本実施形態における解析システム100の構成要素について説明する。
(Configuration of analysis system 100)
Next, the components of the analysis system 100 in this embodiment will be described.

本実施形態における解析システム100は、データ取得部102、暗号解析部104、及び、通信処理部103を主たる構成要素として備える(以下、データ取得部102、暗号解析部104、通信処理部103、及びそれらを構成する構成要素を、単に「解析システム100の構成要素」と称する場合がある)。   The analysis system 100 according to the present embodiment includes a data acquisition unit 102, a cipher analysis unit 104, and a communication processing unit 103 as main components (hereinafter, the data acquisition unit 102, the cipher analysis unit 104, the communication processing unit 103, and The constituent elements that configure them may be simply referred to as "the constituent elements of the analysis system 100".

本実施形態における解析システム100は、これらの構成要素を用いて、解析対象装置101と、通信ネットワーク105を介して接続された他の情報通信装置107との間で実行される暗号通信を解析する。そして、本実施形態における解析システム100は、当該解析結果に基づいて、特定の処理を実行する。   The analysis system 100 according to the present embodiment uses these components to analyze cryptographic communication executed between the analysis target device 101 and another information communication device 107 connected via the communication network 105. .. Then, the analysis system 100 in this embodiment executes a specific process based on the analysis result.

解析システム100の各構成要素は、それぞれ物理的なコンピュータ等の情報処理装置を用いて実現されてもよく、あるいは、仮想化基盤において提供されるVMを用いて実現されてもよい。解析システム100の各構成要素の間は、無線、有線、あるいはそれらを組み合わせた任意の通信回線により、通信可能に接続されている。係る通信回線は、周知の技術を採用してよいので、詳細な説明は省略する。以下、解析システム100の各構成要素について説明する。   Each component of the analysis system 100 may be realized using an information processing device such as a physical computer, or may be realized using a VM provided in a virtualization platform. The components of the analysis system 100 are communicatively connected to each other by wireless, wired, or any communication line combining them. A well-known technique may be adopted for the communication line, and thus detailed description thereof will be omitted. Hereinafter, each component of the analysis system 100 will be described.

なお、以下において説明する、データ取得部102、及び、通信処理部103が、本実施形態を具体例として説明した場合の、本発明に関する主要な構成要素である。   Note that the data acquisition unit 102 and the communication processing unit 103, which will be described below, are main constituent elements related to the present invention when the present embodiment is described as a specific example.

(データ取得部102の構成)
まず、本実施形態におけるデータ取得部102について説明する。本実施形態におけるデータ取得部102は、解析対象装置101と通信可能に接続される。データ取得部102は、解析対象装置101のメモリ101bに保持されているメモリ領域データを取得する。データ取得部102は、取得したメモリ領域データを保持するメモリダンプ保持部102aを有する。
(Configuration of data acquisition unit 102)
First, the data acquisition unit 102 in this embodiment will be described. The data acquisition unit 102 in the present embodiment is communicatively connected to the analysis target device 101. The data acquisition unit 102 acquires the memory area data held in the memory 101b of the analysis target device 101. The data acquisition unit 102 has a memory dump holding unit 102a that holds the acquired memory area data.

解析対象装置101を物理的なコンピュータ等の情報通信装置により実現する場合、データ取得部102は、例えば、図2に例示するように、メモリ101bに各種通信バス等を介して接続される拡張ハードウェア装置として実現されてもよい。また、データ取得部102は、メモリ101bに対するデータの読み込み、書き込み、アクセス等を制御するメモリコントローラ(不図示)に接続されてもよい。この場合、データ取得部102は、例えば、メモリ101bに対するデータの読み書きを制御するメモリコントローラ(不図示)を介して、メモリ101bに保持されているデータを取得してもよい。なお、PCI(Peripheral Components Interconnect)バスに接続した拡張ハードウェアにより、コンピュータに実装されたメモリ装置(SDRAM:Synchronous Dynamic Random Access Memory)の内容を取得する技術が、下記参考文献1に開示されている。   When the analysis target device 101 is realized by an information communication device such as a physical computer, the data acquisition unit 102 uses, for example, extended hardware connected to the memory 101b via various communication buses as illustrated in FIG. It may be realized as a wear device. Further, the data acquisition unit 102 may be connected to a memory controller (not shown) that controls reading, writing, access, etc. of data with respect to the memory 101b. In this case, the data acquisition unit 102 may acquire the data held in the memory 101b via, for example, a memory controller (not shown) that controls reading and writing of data from and to the memory 101b. A technique for acquiring the contents of a memory device (SDRAM: Synchronous Random Access Memory) installed in a computer by expansion hardware connected to a PCI (Peripheral Components Interconnect) bus is disclosed in Reference Document 1 below. ..

(参考文献1)
Brian D. Carrier、Joe Grand、「A_hardware−based_memory_acquisition_procedure_for_digital_investigations」、Digital Investigation Volume 1、 Issue 1、 February 2004、p.p.50−60
解析対象装置101が仮想化基盤により提供されるVM等を用いて実現される場合を想定する。この場合、データ取得部102は、例えば、図3に例示するように、仮想化基盤において提供される、VMの動作を制御可能なソフトウェアであるVMM(Virtual Machine Monitor)300の機能を用いて実現されてもよい。より具体的には、データ取得部102は、VMM300の機能を利用したソフトウェア(ソフトウェア・プログラム)あるいは仮想的なデバイスにより実現されてもよい。
(Reference 1)
Brian D. Carrier, Joe Grand, "A_hardware-based_memory_acquisition_procedure_for_digital_investations", Digital Investigation Volume 1, Issue 1, 200, February. p. 50-60
It is assumed that the analysis target device 101 is realized by using a VM or the like provided by a virtualization platform. In this case, the data acquisition unit 102 is realized by using a function of a VMM (Virtual Machine Monitor) 300, which is software provided in a virtualization platform and capable of controlling the operation of the VM, as illustrated in FIG. 3, for example. May be done. More specifically, the data acquisition unit 102 may be realized by software (software program) using the function of the VMM 300 or a virtual device.

この場合、データ取得部102は、上記したように、VMMが提供する機能(例えば、特定のAPI等)や、データ(例えば、仮想的なメモリ101bに記憶されたデータの保存領域を特定可能な情報等)を介して、当該メモリ101bに記憶されるデータを取得(ダンプ)可能である。なお、メモリ領域データを取得する具体的な方法は、メモリ101bの構成等に応じて周知の技術を適宜採用してよい。   In this case, the data acquisition unit 102 can specify the function provided by the VMM (for example, a specific API or the like) or the storage area of the data (for example, the data stored in the virtual memory 101b) as described above. It is possible to acquire (dump) the data stored in the memory 101b via the information). As a specific method of acquiring the memory area data, a well-known technique may be appropriately adopted according to the configuration of the memory 101b and the like.

また、図2及び図3に限らず、データ取得部102は、例えば、解析対象装置101自体にハードウェアもしくはソフトウェアもしくはハードウェアとソフトウェアの組合せによるメモリダンプ機能を組み込むことにより、実現されてもよい。この場合、データ取得部102は、例えば、解析対象装置において実行される任意のソフトウェアとして実現されてもよい。なお、データ取得部102自身はマルウェアあるいはマルウェアによる通信の解析処理を実行しないことから、マルウェアにより検知される危険性は比較的低い。   Further, the data acquisition unit 102 is not limited to FIGS. 2 and 3, and may be realized by, for example, incorporating a memory dump function by hardware or software or a combination of hardware and software in the analysis target device 101 itself. .. In this case, the data acquisition unit 102 may be realized as, for example, arbitrary software executed in the analysis target device. Since the data acquisition unit 102 itself does not perform analysis processing of malware or communication by malware, the risk of being detected by malware is relatively low.

データ取得部102は、例えば、後述する通信処理部103(特には、暗号通信検査部103b)から、メモリ101bに保持されたメモリ領域データ(データ)の取得を指示するダンプ指示を受け付ける。データ取得部102は、当該ダンプ指示を受け付けたタイミングにおいて、メモリ101bに保持されていたメモリ領域データをダンプする。   The data acquisition unit 102 receives, for example, a dump instruction instructing acquisition of the memory area data (data) held in the memory 101b from the communication processing unit 103 (specifically, the encrypted communication inspection unit 103b) described later. The data acquisition unit 102 dumps the memory area data held in the memory 101b at the timing when the dump instruction is accepted.

データ取得部102は、メモリ101bに保持された全てのメモリ領域データ(即ち、メモリ101bの全メモリ領域に保持されたデータ)をダンプしてもよい。また、データ取得部102は、メモリ101bに保持されたデータの内、少なくとも一部のメモリ領域データをダンプしてもよい。   The data acquisition unit 102 may dump all the memory area data held in the memory 101b (that is, the data held in all the memory areas of the memory 101b). Further, the data acquisition unit 102 may dump at least a part of the memory area data among the data held in the memory 101b.

データ取得部102は、ダンプしたメモリ領域データを、後述するメモリダンプ保持部102aに保存(登録)する。   The data acquisition unit 102 saves (registers) the dumped memory area data in the memory dump holding unit 102a described later.

データ取得部102は、メモリ101bからメモリ領域データをダンプする処理が完了した際、後述する通信処理部103(特には、暗号通信検査部103b)に、当該処理の完了を通知してもよい。   When the process of dumping the memory area data from the memory 101b is completed, the data acquisition unit 102 may notify the communication processing unit 103 (specifically, the encrypted communication inspection unit 103b) described later that the process is completed.

メモリダンプ保持部102aは、データ取得部102が取得したメモリ領域データを保持する。なお、メモリダンプ保持部102aは、メモリ101bから取得したメモリ領域データと、当該メモリ領域データを取得したタイミングを表す情報とを、関連付けて保持してもよい。   The memory dump holding unit 102a holds the memory area data acquired by the data acquisition unit 102. The memory dump holding unit 102a may hold the memory area data acquired from the memory 101b and the information indicating the timing at which the memory area data is acquired, in association with each other.

(通信処理部103の構成)
次に、本実施形態における通信処理部103について説明する。まず、本実施形態における通信処理部103の概要について説明する。
(Configuration of communication processing unit 103)
Next, the communication processing unit 103 in this embodiment will be described. First, the outline of the communication processing unit 103 in this embodiment will be described.

通信処理部103は、解析対象装置101と、通信ネットワーク105との間に介在し、通信路106を介してそれぞれと通信可能に接続される。通信処理部103は、解析対象装置101と、通信ネットワーク105との間で送受信される通信データを解析した結果に基づいて、解析対象装置101と、通信ネットワーク105との間で通信データを中継する。特に、本実施形態における通信処理部103は、解析対象装置101と、通信ネットワーク105との間で実行される所定の暗号通信プロトコルを用いた暗号通信に関する通信データを中継可能である。   The communication processing unit 103 is interposed between the analysis target device 101 and the communication network 105, and is communicably connected to each of them via a communication path 106. The communication processing unit 103 relays communication data between the analysis target device 101 and the communication network 105 based on a result of analysis of communication data transmitted and received between the analysis target device 101 and the communication network 105. .. In particular, the communication processing unit 103 in the present embodiment can relay communication data relating to encrypted communication using a predetermined encrypted communication protocol executed between the analysis target device 101 and the communication network 105.

また、通信処理部103は、上記通信データを解析した結果に基づいて、データ取得部102に対して、解析対象装置101のメモリ101bに保存されたメモリ領域データの取得(データ)を指示する。この際、通信処理部103は、解析対象装置101と、通信ネットワーク105との間の通信の一時的な停止及び再開を制御してもよい。   Further, the communication processing unit 103 instructs the data acquisition unit 102 to acquire (data) the memory area data stored in the memory 101b of the analysis target device 101 based on the result of analyzing the communication data. At this time, the communication processing unit 103 may control temporary suspension and resumption of communication between the analysis target device 101 and the communication network 105.

また、通信処理部103は、上記通信データを解析した結果に基づいて、当該通信データを保存する。   In addition, the communication processing unit 103 stores the communication data based on the result of analyzing the communication data.

通信処理部103は、例えば、複数の通信路106に接続された通信インタフェースを有するルータ、スイッチ、又は、アクセスポイント等のネットワーク機器であってもよい。また、通信処理部103は、それらの機能を実現可能なコンピュータ等の情報処理装置であってもよい。なお、係る通信処理部103は、物理的な装置としてのネットワーク機器や情報処理装置として実現されてもよい。また、係る通信処理部103は、特定の仮想化基盤においてネットワーク機器や情報処理装置を仮想化した仮想デバイスとして実現されてもよい。   The communication processing unit 103 may be, for example, a router, a switch, or a network device such as an access point having a communication interface connected to the plurality of communication paths 106. Further, the communication processing unit 103 may be an information processing device such as a computer that can realize those functions. Note that the communication processing unit 103 may be realized as a network device as a physical device or an information processing device. Further, the communication processing unit 103 may be realized as a virtual device obtained by virtualizing a network device or an information processing device on a specific virtualization platform.

以下、通信処理部103の具体的な構成について説明する。   Hereinafter, a specific configuration of the communication processing unit 103 will be described.

通信処理部103は、図1に例示するように、通信制御部103a、暗号通信検査部103bを有する。通信処理部103は、通信データ記録部103dを有してもよい。なお、通信制御部103aと、暗号通信検査部103bと、通信データ記録部103dとの間は、それぞれ通信可能に接続されている。   As illustrated in FIG. 1, the communication processing unit 103 includes a communication control unit 103a and an encrypted communication inspection unit 103b. The communication processing unit 103 may include a communication data recording unit 103d. The communication control unit 103a, the encrypted communication inspection unit 103b, and the communication data recording unit 103d are communicably connected to each other.

以下、通信処理部103の各構成要素について説明する。   Hereinafter, each component of the communication processing unit 103 will be described.

通信制御部103aは、上述したように、解析対象装置101と、通信ネットワーク105との間の通信を中継する。より具体的には、通信制御部103aは、解析対象装置101と、通信ネットワーク105を介して接続された他の情報通信装置107との間の通信を中継する。以下、解析対象装置101と、通信ネットワーク105との間の通信は、解析対象装置101と、通信ネットワーク105を介して接続された他の情報通信装置107との間の通信を含むことを想定する。解析対象装置101と、通信ネットワーク105との間の通信は、特定の暗号通信プロトコル(例えば、SSL等)により暗号化されていてもよい。   As described above, the communication control unit 103a relays communication between the analysis target device 101 and the communication network 105. More specifically, the communication control unit 103a relays communication between the analysis target device 101 and another information communication device 107 connected via the communication network 105. Hereinafter, it is assumed that communication between the analysis target device 101 and the communication network 105 includes communication between the analysis target device 101 and another information communication device 107 connected via the communication network 105. .. The communication between the analysis target device 101 and the communication network 105 may be encrypted by a specific cryptographic communication protocol (for example, SSL or the like).

通信制御部103aは、解析対象装置101から送信される通信データをキャプチャして、その通信データが表す通信内容(宛先情報、あるいは、通信プロトコルに関する情報等)を解析する。また、通信制御部103aは、通信ネットワーク105から受信した通信データをキャプチャしてその内容(宛先情報、あるいは、通信プロトコルに関する情報等)を解析する。通信制御部103aは、それらを解析した結果に基づいて、各通信データを、通信ネットワーク105と、解析対象装置101との間で転送する。   The communication control unit 103a captures the communication data transmitted from the analysis target device 101 and analyzes the communication content represented by the communication data (destination information, communication protocol-related information, or the like). Further, the communication control unit 103a captures the communication data received from the communication network 105 and analyzes the content (destination information or information regarding the communication protocol). The communication control unit 103a transfers each communication data between the communication network 105 and the analysis target device 101 based on the result of analyzing them.

例えば、通信ネットワーク105がインターネット等のIP(Internet Protocol)プロトコルを採用したネットワーク(IPネットワーク)である場合を想定する。この場合、通信制御部103aは、通信データを構成するIPパケットを解析することにより、当該通信データを、通信ネットワーク105と、解析対象装置101との間で転送可能である。なお、係る通信データの転送制御は、例えば、ルータやスイッチ等の周知のネットワーク機器と同様の技術を採用してよいので、詳細な説明は省略する。   For example, it is assumed that the communication network 105 is a network (IP network) adopting an IP (Internet Protocol) protocol such as the Internet. In this case, the communication control unit 103a can transfer the communication data between the communication network 105 and the analysis target device 101 by analyzing the IP packet forming the communication data. The communication data transfer control may employ the same technology as that of a well-known network device such as a router or a switch, and thus detailed description thereof will be omitted.

通信制御部103aは、解析対象装置101と、通信ネットワーク105との間の通信を一時停止し、また、停止した当該通信を再開可能である。より具体的には、通信制御部103aは、解析対象装置101と、通信ネットワーク105を介して接続された他の情報通信装置107との間の通信の停止及び再開を制御可能である。   The communication control unit 103a can temporarily stop the communication between the analysis target device 101 and the communication network 105, and can restart the stopped communication. More specifically, the communication control unit 103a can control stop and restart of communication between the analysis target device 101 and another information communication device 107 connected via the communication network 105.

通信制御部103aは、例えば、通信ネットワーク105又は解析対象装置101との間の通信路106が接続された図示しないネットワークインタフェースに対する通信データの書き込み(又は読み込み)の停止、あるいは、再開を制御する。これにより、通信制御部103aは、解析対象装置101と、通信ネットワーク105との間の通信を制御可能である。ネットワークインタフェースに対する通信データの書き込み(又は読み込み)の制御は、当該ネットワークインタフェースあるいは通信処理部103の具体的構成に応じて周知の技術を適宜採用してよいので、詳細な説明は省略する。   The communication control unit 103a controls, for example, stopping or resuming writing (or reading) of communication data to a network interface (not shown) to which the communication path 106 between the communication network 105 or the analysis target device 101 is connected. Accordingly, the communication control unit 103a can control communication between the analysis target device 101 and the communication network 105. Control of writing (or reading) of communication data with respect to the network interface may employ a well-known technique depending on the specific configuration of the network interface or the communication processing unit 103, and thus detailed description thereof will be omitted.

通信制御部103aは、後述する暗号通信検査部103bからの要求に基づいて、解析対象装置101と、通信ネットワーク105との間の通信を一時停止してもよい。同様に、通信制御部103aは、後述する暗号通信検査部103bからの要求に基づいて、当該停止した通信を再開してもよい。   The communication control unit 103a may suspend the communication between the analysis target device 101 and the communication network 105 based on a request from the encrypted communication inspection unit 103b described later. Similarly, the communication control unit 103a may restart the stopped communication based on a request from the encrypted communication inspection unit 103b described later.

通信制御部103aは、上記キャプチャした通信データを、後述する暗号通信検査部103bに伝達(受け渡し)する。同様に、通信制御部103aは、上記キャプチャした通信データを、後述する通信データ記録部103dに伝達(受け渡し)してもよい。   The communication control unit 103a transmits (passes) the captured communication data to the encrypted communication inspection unit 103b described later. Similarly, the communication control unit 103a may transmit (pass) the captured communication data to the communication data recording unit 103d described later.

次に、暗号通信検査部103bについて説明する。   Next, the cryptographic communication inspection unit 103b will be described.

暗号通信検査部103bは、上記通信制御部103aから受け付けた通信データを解析する。暗号通信検査部103bは、当該解析結果と、後述する鍵データ取得ポリシ103cとに基づいて、上記暗号通信プロトコルにおける通信路の暗号化に用いられる秘密情報を含むデータが、解析対象装置101におけるメモリ101bに存在するタイミングを判定する。   The encrypted communication inspection unit 103b analyzes the communication data received from the communication control unit 103a. Based on the analysis result and a key data acquisition policy 103c, which will be described later, the encrypted communication inspection unit 103b determines that data including secret information used for encryption of a communication path in the encrypted communication protocol is stored in the memory of the analysis target device 101. The timing existing in 101b is determined.

係る秘密情報を含むデータは、一般的に、通信路の暗号化に用いられる鍵(以下、「暗号鍵」と称する場合がある)を含むデータ(以下「鍵データ」と称する場合がある)である。係る暗号鍵は、暗号化された通信路において送受信される通信データを暗号化、あるいは、復号(解読)可能な鍵である。   The data including the secret information is generally data (hereinafter, also referred to as “key data”) including a key used for encryption of a communication path (hereinafter, sometimes referred to as “encryption key”). is there. The encryption key is a key capable of encrypting or decrypting (deciphering) communication data transmitted and received on the encrypted communication path.

換言すると、暗号通信検査部103bは、特定の暗号通信プロトコルに基づいて送受信される通信データを解析することにより、暗号鍵を含む鍵データが解析対象装置101のメモリ101bに存在するか否かを判定する。より具体的には、暗号通信検査部103bは、上記通信データを解析することにより、上記鍵データが、解析対象装置101におけるメモリ101bに存在するタイミングを判定してもよい。   In other words, the cryptographic communication inspection unit 103b analyzes whether or not the key data including the cryptographic key exists in the memory 101b of the analysis target device 101 by analyzing the communication data transmitted and received based on the specific cryptographic communication protocol. judge. More specifically, the encrypted communication inspection unit 103b may analyze the communication data to determine the timing at which the key data exists in the memory 101b of the analysis target device 101.

例えば、SSL/TLS等の暗号通信プロトコルにおいて、通信路の暗号化に用いる暗号鍵を交換する処理手順の進行状況は、通信データを解析することにより確認可能である。   For example, in a cryptographic communication protocol such as SSL / TLS, the progress status of a processing procedure for exchanging an encryption key used for encryption of a communication path can be confirmed by analyzing communication data.

具体的には、SSL/TLS等の暗号通信プロトコルにおいて、2以上の通信端末において交換される暗号鍵自体(あるいは暗号鍵を導出可能な情報自体)は、PKI(public key infrastructure)等の技術を用いて保護(暗号化)される。このため、第三者が、暗号鍵自体(あるいは暗号鍵を導出可能な情報自体)を、通信路を介して取得することは困難である。   Specifically, in a cryptographic communication protocol such as SSL / TLS, the cryptographic key itself (or the information itself from which the cryptographic key can be derived) exchanged between two or more communication terminals uses a technology such as PKI (public key infrastructure). Protected (encrypted). Therefore, it is difficult for a third party to obtain the encryption key itself (or the information itself from which the encryption key can be derived) via the communication path.

しかし、暗号通信検査部103bは、通信データにおいて暗号化されていない部分を解析することにより、当該暗号通信プロトコルにおける暗号鍵の交換手順の進行状況を表す情報を確認可能である。例えば、暗号通信プロトコルがSSLであることを想定すると、通信データにおいて、Recordプロトコルのヘッダ(Recordヘッダ)、及び、handshakeプロトコルにおける一部のメッセージは暗号化されていない。このため、暗号通信検査部103bは、例えば、通信データにおける当該部分を解析することにより、SSLプロトコルにおける暗号鍵を交換する処理手順の進行状況を確認可能である。   However, the encrypted communication inspection unit 103b can confirm the information indicating the progress status of the encryption key exchange procedure in the encrypted communication protocol by analyzing the unencrypted part of the communication data. For example, assuming that the encrypted communication protocol is SSL, in the communication data, the header of the Record protocol (Record header) and some messages in the handshake protocol are not encrypted. Therefore, the encrypted communication inspection unit 103b can confirm the progress status of the processing procedure for exchanging the encryption key in the SSL protocol by, for example, analyzing the relevant part in the communication data.

例えば、SSLプロトコルにおいては、所定の手順が実行された際(具体的には、ChangeCipherSpecメッセージが送受信された際)、通信路を暗号化する暗号鍵が、2つの通信端末において共有される。即ち、係る暗号鍵が共有されたタイミングにおいて、当該通信端末(例えば、解析対象装置101)のメモリには、係る暗号鍵を含む鍵データが保持されている可能性が高い。以上より、暗号通信検査部103bは、特定の暗号通信プロトコルに基づいて送受信される通信データを解析することにより、暗号鍵を含む鍵データが解析対象装置101のメモリ101bに存在するタイミングを判定可能である。   For example, in the SSL protocol, when a predetermined procedure is executed (specifically, when a ChangeCipherSpec message is transmitted / received), an encryption key for encrypting a communication path is shared by two communication terminals. That is, at the timing when the encryption key is shared, there is a high possibility that key data including the encryption key is held in the memory of the communication terminal (for example, the analysis target device 101). As described above, the cryptographic communication inspection unit 103b can determine the timing at which the key data including the cryptographic key exists in the memory 101b of the analysis target device 101 by analyzing the communication data transmitted / received based on the specific cryptographic communication protocol. Is.

また、暗号通信検査部103bは、通信ネットワークを介した通信接続を確立するハンドシェーク処理にて送受信される通信メッセージから、該通信にて用いられる暗号化処理に関する情報(以下「暗号スイート」と称する場合がある)を抽出してもよい。例えば、通信メッセージは、通信接続を確立した場合に送受信される対象情報を暗号化する暗号アルゴリズム、暗号鍵の鍵長、暗号利用モード(後述)、通信データに対するメッセージ認証方式等を表す情報を含む。暗号通信プロトコルがSSLプロトコルである場合に、暗号通信検査部103bは、たとえば、ハンドシェーク処理にて送受信されたClientHelloメッセージ及びServerHelloメッセージ等の通信メッセージから、対象情報を暗号化する暗号アルゴリズム等を抽出する。   In addition, the encrypted communication inspection unit 103b uses the communication message transmitted / received in the handshake process for establishing a communication connection via the communication network, to obtain information on the encryption process used in the communication (hereinafter referred to as “cipher suite”). May be extracted). For example, the communication message includes information indicating an encryption algorithm for encrypting target information transmitted / received when a communication connection is established, a key length of an encryption key, an encryption use mode (described later), a message authentication method for communication data, and the like. .. When the cryptographic communication protocol is the SSL protocol, the cryptographic communication inspection unit 103b extracts, for example, the cryptographic algorithm for encrypting the target information from the communication messages such as the ClientHello message and the ServerHello message transmitted and received in the handshake process. ..

通信データを解析することにより、上記暗号通信プロトコルにおける通信路の暗号化処理に用いられる各種情報(以下「暗号スイート」と称する場合がある)を取得してもよい。係る暗号スイートには、例えば、暗号アルゴリズム、暗号鍵の鍵長、暗号利用モード(後述)、通信データに対するメッセージ認証方式等を表す情報が含まれる。例えば、上記暗号通信プロトコルがSSLプロトコルである場合に、暗号通信検査部103bは、ClientHelloメッセージ及びServerHelloメッセージを解析することにより、通信路の暗号化に用いられる暗号アルゴリズム等を特定可能である。   By analyzing the communication data, various information used in the encryption processing of the communication path in the above encryption communication protocol (hereinafter sometimes referred to as “cipher suite”) may be acquired. The cipher suite includes, for example, information indicating a cipher algorithm, a key length of a cipher key, a cipher use mode (described later), a message authentication method for communication data, and the like. For example, when the encrypted communication protocol is the SSL protocol, the encrypted communication inspection unit 103b can specify the encryption algorithm or the like used to encrypt the communication path by analyzing the ClientHello message and the ServerHello message.

なお、SSLプロトコルにおいて用いられるRecordプロトコル、handshakeプロトコル、及び、各種メッセージ等は、周知の技術であることから、詳細な説明は省略する。   The Record protocol, the handshake protocol, and various messages used in the SSL protocol are well-known techniques, and thus detailed description thereof will be omitted.

暗号通信検査部103bは、上記したように、解析対象装置101と、他の情報通信装置107との間で暗号鍵を交換する処理手順の進行状況を確認する。これにより、暗号通信検査部103bは、当該暗号鍵を含む鍵データが解析対象装置101のメモリ101bに存在するタイミングを判定する。より具体的には、暗号通信検査部103bは、鍵データ取得ポリシ103cに設定された情報を用いて、暗号鍵を含む鍵データが解析対象装置101のメモリ101bに存在するタイミングを判定する。   As described above, the encrypted communication inspection unit 103b confirms the progress status of the processing procedure for exchanging the encryption key between the analysis target device 101 and the other information communication device 107. As a result, the encrypted communication inspection unit 103b determines the timing when the key data including the encryption key exists in the memory 101b of the analysis target device 101. More specifically, the cryptographic communication inspection unit 103b uses the information set in the key data acquisition policy 103c to determine the timing at which the key data including the cryptographic key exists in the memory 101b of the analysis target device 101.

鍵データ取得ポリシ103cには、図4に例示するように、特定の暗号通信プロトコル(図4における401)の種別と、鍵データ取得基準(図4における402)とが含まれる。なお、暗号通信プロトコル401に対して、鍵データ取得基準402が関連付けられる。上記鍵データ取得基準402は、少なくとも上記鍵データが解析対象装置101のメモリ101bに存在するタイミングを判定可能な基準を表す情報である。   As illustrated in FIG. 4, the key data acquisition policy 103c includes a type of a specific encrypted communication protocol (401 in FIG. 4) and a key data acquisition standard (402 in FIG. 4). The key data acquisition standard 402 is associated with the encrypted communication protocol 401. The key data acquisition standard 402 is information representing a standard by which at least the timing at which the key data exists in the memory 101b of the analysis target device 101 can be determined.

また、鍵データ取得ポリシ103cには、更に、暗号通信検査部103bが実行する処理の内容(図4における403)が、含まれてもよい。処理内容403は、暗号通信プロトコル401に関連付けられる。処理内容403は、鍵データ取得基準402に基づいて上記鍵データが解析対象装置101のメモリ101bに存在すると判定された場合に、暗号通信検査部103bが実行する処理の内容を表す情報である。   Further, the key data acquisition policy 103c may further include the content of the process executed by the encrypted communication inspection unit 103b (403 in FIG. 4). The processing content 403 is associated with the cryptographic communication protocol 401. The processing content 403 is information representing the content of the processing executed by the encrypted communication inspection unit 103b when it is determined that the key data exists in the memory 101b of the analysis target device 101 based on the key data acquisition reference 402.

暗号通信プロトコル401には、例えば、具体的な暗号通信プロトコルごとに、当該暗号通信プロトコルを識別可能な識別符号(ID:Identifier)が設定されてもよい。   In the encrypted communication protocol 401, for example, an identification code (ID: Identifier) capable of identifying the encrypted communication protocol may be set for each specific encrypted communication protocol.

鍵データ取得基準402には、例えば、情報処理装置(コンピュータ)等による機械解釈が可能な任意の形式(書式)に基づいて表現された、上記特定のタイミングを判定可能な情報が登録されてもよい。なお、機械解釈可能な形式は任意に定めてよく、例えば、特定の符号の組合せや、構造化言語による表現等であってもよい。   In the key data acquisition reference 402, for example, even if information that can be determined for the specific timing is registered, which is expressed based on an arbitrary format (format) that can be machine-interpreted by an information processing apparatus (computer) or the like. Good. The machine-interpretable format may be set arbitrarily, and may be a combination of specific codes or an expression in a structured language, for example.

処理内容403には、例えば、機械解釈が可能な任意の形式(書式)に基づいて表現された、暗号通信検査部103bが実行する処理の内容を表す情報が登録されてもよい。   In the processing content 403, for example, information representing the content of the processing executed by the encrypted communication inspection unit 103b, which is expressed based on an arbitrary format (format) capable of machine interpretation, may be registered.

例えば、図4に例示するように、暗号通信プロトコルが「SSL/TLS」である場合、鍵データ取得基準402に、「(SSL/TLSサーバからChangeCipherSpecが送信された後)」というタイミングに関する情報が設定される。暗号通信検査部103bは、通信データを解析した結果、上記鍵データ取得基準402を満たすと判定した場合には、処理内容403に登録された処理を実行する。   For example, as illustrated in FIG. 4, when the encryption communication protocol is “SSL / TLS”, the key data acquisition reference 402 includes information on the timing “(after the ChangeCipherSpec is transmitted from the SSL / TLS server)”. Is set. As a result of analyzing the communication data, the cryptographic communication inspection unit 103b executes the process registered in the process content 403 when it is determined that the key data acquisition criterion 402 is satisfied.

「ChangeCipherSpec」は、暗号化方式(暗号通信プロトコル401)に従った暗号通信を開始することを表すメッセージである。「SSH2_MSG_NEWKEY」は、たとえば、鍵データに関する通信が終了したことを表すメッセージである。また、暗号通信プロトコルが「SSL/TLS」である場合に、上述した鍵データ取得基準402は、(SSL/TLSサーバからChangeCipherSpecが送信された後)乃至(Application Dataの送受信が開始する前)の期間内であればよく上述した例に限定されない。   “ChangeCipherSpec” is a message indicating that encrypted communication according to the encryption method (encrypted communication protocol 401) is started. “SSH2_MSG_NEWKEY” is, for example, a message indicating that the communication regarding the key data has ended. Further, when the encryption communication protocol is “SSL / TLS”, the above-mentioned key data acquisition criterion 402 is (after the ChangeCipherSpec is transmitted from the SSL / TLS server) to (before the transmission / reception of Application Data is started). The period is not limited to the above example as long as it is within the period.

鍵データ取得基準402には、例えば、暗号通信プロトコルにおいて、暗号鍵に関する特定の条件が成立するタイミングに関する情報が設定されてもよい。より具体的には、鍵データ取得基準402には、特定の暗号通信プロトコル401において、解析対象装置101と、他の情報通信装置107との間で暗号鍵が共有されるタイミングに関する情報が設定されてもよい。また、鍵データ取得基準402には、特定の暗号通信プロトコル401において、解析対象装置101と、他の情報通信装置107との間で、暗号鍵の共有に関する特定の手順が実行されたタイミングに関する情報が設定されてもよい。   In the key data acquisition standard 402, for example, in the cryptographic communication protocol, information regarding the timing when a specific condition regarding the cryptographic key is established may be set. More specifically, the key data acquisition reference 402 is set with information on the timing at which the encryption key is shared between the analysis target device 101 and the other information communication device 107 in the specific encrypted communication protocol 401. May be. In addition, the key data acquisition criterion 402 includes information regarding the timing when a specific procedure for sharing an encryption key is executed between the analysis target device 101 and the other information communication device 107 in the specific encryption communication protocol 401. May be set.

上記説明した鍵データ取得ポリシ103cは、任意の手法により暗号通信検査部103bに予め設定されていてもよい。   The key data acquisition policy 103c described above may be preset in the encrypted communication inspection unit 103b by any method.

暗号通信検査部103bは、鍵データ取得ポリシ103c(特に、鍵データ取得基準402)を参照して、解析対象装置101のメモリ101bに暗号鍵を含む鍵データが存在するか否かを判定する。暗号通信検査部103bは、メモリ101bに暗号鍵を含む鍵データが存在すると判定した場合には、上記説明したデータ取得部102に対して、メモリ領域データの取得を指示することができる。   The encrypted communication inspection unit 103b refers to the key data acquisition policy 103c (particularly, the key data acquisition standard 402) and determines whether or not there is key data including the encryption key in the memory 101b of the analysis target device 101. When it is determined that the key data including the encryption key exists in the memory 101b, the encrypted communication inspection unit 103b can instruct the data acquisition unit 102 described above to acquire the memory area data.

即ち、暗号通信検査部103bは、通信データを解析し、鍵データ取得ポリシ103cに基づいて、解析対象装置101のメモリ101bに暗号鍵を含む鍵データが存在するタイミングを判定する。当該タイミングにおいて、暗号鍵がメモリ101bに存在する可能性が高い。このため、暗号通信検査部103bは、当該タイミングにおいて、データ取得部102に対してメモリ領域データの取得を指示する。この場合、データ取得部102が取得したメモリ領域データには、当該暗号鍵が含まれる可能性が高い。   That is, the encrypted communication inspection unit 103b analyzes the communication data and determines the timing at which the key data including the encryption key exists in the memory 101b of the analysis target device 101 based on the key data acquisition policy 103c. At this timing, the encryption key is likely to exist in the memory 101b. Therefore, the encrypted communication inspection unit 103b instructs the data acquisition unit 102 to acquire memory area data at the timing. In this case, the memory area data acquired by the data acquisition unit 102 is likely to include the encryption key.

また、暗号通信検査部103bは、解析対象装置101のメモリ101bに上記鍵データが存在すると判定した場合には、上記説明した通信制御部103aに対して、解析対象装置101と、通信ネットワーク105との間の通信を(少なくとも一時的に)停止するよう指示することが可能である。   When the encrypted communication inspection unit 103b determines that the key data exists in the memory 101b of the analysis target device 101, the analysis target device 101, the communication network 105, and the analysis target device 101 are transmitted to the communication control unit 103a described above. It is possible to instruct (at least temporarily) to stop the communication between.

仮に解析対象装置101と、通信ネットワーク105との間の通信が停止されずに続行された場合を想定する。この場合、上記鍵データが解析対象装置101のメモリ101bから失われてしまう可能性がある。また、当該通信が停止されずに続行された場合、通信プロトコルによっては、通信路の暗号化に用いられる暗号鍵が変更されてしまう可能性がある。   It is assumed that the communication between the analysis target device 101 and the communication network 105 is continued without being stopped. In this case, the key data may be lost from the memory 101b of the analysis target device 101. Further, if the communication is continued without being stopped, the encryption key used for encrypting the communication path may be changed depending on the communication protocol.

このため、暗号通信検査部103bは、メモリ101bに上記鍵データが存在すると判定したタイミングにおいて、解析対象装置101と、通信ネットワーク105との間の通信の一時停止を通信制御部103aに指示する。上記通信が停止されている間、メモリ101bに上記暗号鍵が保持されていることが期待される。よって、データ取得部102がこの間に取得したメモリ領域データには、上記鍵データが含まれることが期待される。   Therefore, the encrypted communication inspection unit 103b instructs the communication control unit 103a to suspend the communication between the analysis target device 101 and the communication network 105 at the timing when it is determined that the key data exists in the memory 101b. It is expected that the encryption key is held in the memory 101b while the communication is stopped. Therefore, it is expected that the memory area data acquired by the data acquisition unit 102 during this period includes the key data.

換言すると、暗号通信検査部103bは、上記暗号鍵がメモリ101bに保持される期間(時間)を延長する目的のために、係る通信を一時停止してもよい。メモリ101bに上記鍵データが存在するタイミングにおいて、解析対象装置101と、通信ネットワーク105との間の通信を一時停止してからメモリ領域データを取得することにより、上記鍵データが含まれる可能性が高いメモリ領域データを取得することが可能である。   In other words, the encrypted communication inspection unit 103b may suspend such communication for the purpose of extending the period (time) in which the encryption key is held in the memory 101b. At the timing when the key data exists in the memory 101b, the key data may be included by temporarily stopping the communication between the analysis target device 101 and the communication network 105 and then acquiring the memory area data. It is possible to acquire high memory area data.

暗号通信検査部103bは、データ取得部102からメモリ領域データを取得する処理の完了を通知された際、解析対象装置101と、通信ネットワーク105との間の通信が停止している場合には、当該通信を再開するよう上記通信制御部103aに指示してもよい。   When the encrypted communication inspection unit 103b is notified by the data acquisition unit 102 of the completion of the process of acquiring the memory area data, if the communication between the analysis target device 101 and the communication network 105 is stopped, The communication control unit 103a may be instructed to restart the communication.

なお、暗号通信検査部103bは、解析対象装置101と、通信ネットワーク105との間の通信を再開するタイミングを適宜選択してよい。即ち、暗号通信検査部103bは、データ取得部102から、メモリ領域データの取得完了を通知された際、上記通信を再開してもよい。また、暗号通信検査部103bは、例えば、通信データの解読完了を暗号解析部104(後述)から通知された際に、上記通信を再開してもよい。暗号通信検査部103bは、上記のように通信の再開タイミングを制御することにより、上記通信が停止される時間(期間)を必要最小限度に留めることが可能である。   The cryptographic communication inspection unit 103b may appropriately select the timing at which communication between the analysis target device 101 and the communication network 105 is restarted. That is, the cryptographic communication inspection unit 103b may restart the communication when notified by the data acquisition unit 102 that the acquisition of the memory area data has been completed. Further, the encrypted communication inspection unit 103b may restart the communication, for example, when the encryption analysis unit 104 (described later) notifies that the decryption of the communication data is completed. By controlling the communication restart timing as described above, the encrypted communication inspection unit 103b can keep the time (period) during which the communication is stopped to the necessary minimum.

例えば、上記通信が停止される期間が長引いた場合には、解析対象装置において通信処理を実行するプログラムにおいて通信エラー等として扱われ、係るプログラムによる処理が異常終了してしまう可能性がある。特に、係るプログラムがマルウェアである場合には、当該マルウェアによる処理が終了してしまうと、その挙動を解析することが困難になる。これに対して、上記通信が停止される時間(期間)を必要最小限度に留めることで、例えばマルウェアによる処理を続行させつつ、その挙動を解析することが可能である。   For example, if the period in which the communication is stopped is prolonged, it may be treated as a communication error in a program that executes communication processing in the analysis target device, and the processing by the program may end abnormally. In particular, when the program is malware, it becomes difficult to analyze its behavior when the processing by the malware ends. On the other hand, by keeping the time (period) during which the communication is stopped to the minimum necessary, it is possible to analyze the behavior while continuing the processing by the malware, for example.

暗号通信検査部103bは、上記通信制御部103aに対して解析対象装置101と、通信ネットワーク105との間の通信の停止を指示してから特定の時間(例えば30秒等)が経過した際に、解析対象装置101と、通信ネットワーク105との間の通信の再開を指示してもよい。暗号通信検査部103bは、上記特定の時間として適切な値を適宜選択してよい。例えば、データ取得部102がメモリ101bからメモリ領域データを取得するのに必要な時間を、事前実験や模擬実験を通じて予め算出することにより、暗号通信検査部103bは、上記特定の時間として必要最小限の値を選択可能である。   The cryptographic communication inspection unit 103b instructs the communication control unit 103a to stop communication between the analysis target device 101 and the communication network 105 when a specific time (for example, 30 seconds) elapses. Alternatively, an instruction may be given to restart communication between the analysis target device 101 and the communication network 105. The encrypted communication inspection unit 103b may appropriately select an appropriate value as the specific time. For example, by calculating in advance the time required for the data acquisition unit 102 to acquire the memory area data from the memory 101b through a preliminary experiment or a simulated experiment, the encrypted communication inspection unit 103b sets the minimum required time as the specific time. The value of can be selected.

更に、暗号通信検査部103bは、データ取得部102からメモリ領域データを取得する処理の完了を通知された際、後述する暗号解析部104に対して、後述する通信データ記録部103dにより保存された通信データの解読を指示してもよい。また、その際、暗号通信検査部103bは、上記暗号通信プロトコルにおいて用いられる暗号アルゴリズムに関する情報を暗号解析部104に通知してもよい。通信データの解読に関する詳細な処理については、後述する。   Further, when the encrypted communication inspection unit 103b is notified by the data acquisition unit 102 of the completion of the process of acquiring the memory area data, the encrypted communication inspection unit 103b saves it in the encrypted analysis unit 104 described later by the communication data recording unit 103d described later. You may instruct the decoding of communication data. At that time, the cryptographic communication inspection unit 103b may notify the cryptographic analysis unit 104 of information regarding the cryptographic algorithm used in the cryptographic communication protocol. Detailed processing regarding decoding of communication data will be described later.

暗号通信検査部103bは、後述する暗号解析部104(特には暗号解読部104d)から、通信データの解読処理が完了したことを表す通知を受け付けてもよい。その際、暗号通信検査部103bは、解析対象装置101と、通信ネットワーク105との間の通信が停止している場合には、当該通信を再開するよう上記通信制御部103aに指示してもよい。   The encrypted communication inspection unit 103b may receive a notification from the encryption analysis unit 104 (in particular, the decryption unit 104d), which will be described later, indicating that the decryption processing of the communication data has been completed. At that time, the cryptographic communication inspection unit 103b may instruct the communication control unit 103a to restart the communication when the communication between the analysis target device 101 and the communication network 105 is stopped. ..

暗号通信検査部103bは、暗号解析部104により解読された通信データを検査(解析)し、当該解析の結果に基づいて、特定の処理を実行する。暗号通信検査部103bは、係る特定の処理を適宜選択してよい。   The encrypted communication inspection unit 103b inspects (analyzes) the communication data decrypted by the encryption analysis unit 104, and executes a specific process based on the result of the analysis. The encrypted communication inspection unit 103b may appropriately select the specific process.

暗号通信検査部103bは、例えば、係る特定の処理として、解析対象装置101と通信ネットワーク105との間の通信の停止を通信制御部103aに指示してもよい。また、暗号通信検査部103bは、例えば、係る特定の処理として、解析対象装置101と通信ネットワーク105との間で送受信されるデータを改変してもよい。また、暗号通信検査部103bは、例えば、マルウェア等に感知されないように、解析対象装置101と通信ネットワーク105との間の通信をそのまま続行させてもよい。なお、係る特定の処理は、解読された通信データに応じて、予め定められていてもよい。   The encrypted communication inspection unit 103b may instruct the communication control unit 103a to stop the communication between the analysis target device 101 and the communication network 105, for example, as the specific process. Further, the cryptographic communication inspection unit 103b may modify the data transmitted and received between the analysis target device 101 and the communication network 105, for example, as the specific processing. Further, the cryptographic communication inspection unit 103b may continue the communication between the analysis target device 101 and the communication network 105 as it is so as not to be detected by malware or the like. The specific process may be predetermined according to the decrypted communication data.

次に、通信データ記録部103dについて説明する。   Next, the communication data recording unit 103d will be described.

通信データ記録部103dは、通信制御部103aにおいてキャプチャされた上記通信データを、通信データ記録ポリシ103eに基づいて、通信データ保持部103fに保存(登録)する。   The communication data recording unit 103d stores (registers) the communication data captured by the communication control unit 103a in the communication data holding unit 103f based on the communication data recording policy 103e.

通信データ記録ポリシ103eは、通信制御部103aにおいてキャプチャされた通信データの保存要否の判定に用いられる情報である。   The communication data recording policy 103e is information used by the communication control unit 103a to determine whether to save the communication data captured.

より具体的には、通信データ記録ポリシ103eには、図5に例示するように、特定の暗号通信プロトコル(図5における501)の種別と、通信データ記録基準(図5における502)とが含まれる。なお、暗号通信プロトコル501に対して、通信データ記録基準502が関連付けられる。通信データ記録基準502は、暗号通信プロトコル501を用いて送受信される通信データの保存(記録)の要否を判定可能な基準(情報)である。   More specifically, as illustrated in FIG. 5, the communication data recording policy 103e includes a type of a specific encrypted communication protocol (501 in FIG. 5) and a communication data recording standard (502 in FIG. 5). Be done. The communication data recording standard 502 is associated with the encrypted communication protocol 501. The communication data recording standard 502 is a standard (information) by which it is possible to determine whether or not to save (record) communication data transmitted and received using the encrypted communication protocol 501.

また、通信データ記録ポリシ103eには、更に、通信データ記録部103dが実行する処理の内容(図5における503)が含まれてもよい。係る処理内容503は、暗号通信プロトコル501に対して関連付けされる。処理内容503は、上記通信データ記録基準502を満たすと判定された場合に、通信データ記録部103dが実行する処理の内容を表す情報である。   Further, the communication data recording policy 103e may further include the content of the process executed by the communication data recording unit 103d (503 in FIG. 5). The processing content 503 is associated with the cryptographic communication protocol 501. The processing content 503 is information indicating the content of the processing executed by the communication data recording unit 103d when it is determined that the communication data recording standard 502 is satisfied.

暗号通信プロトコル501には、例えば、具体的な暗号通信プロトコルごとに、当該暗号通信プロトコルを識別可能な識別符号(ID)が設定されてもよい。   In the encrypted communication protocol 501, for example, an identification code (ID) that can identify the encrypted communication protocol may be set for each specific encrypted communication protocol.

通信データ記録基準502には、例えば、機械解釈が可能な任意の形式(書式)に基づいて表現された、通信データの保存(記録)の要否を判定可能な情報が登録されてもよい。より具体的には、通信データ記録基準502には、例えば、通信データを保存する条件の成否、あるいは、通信データを保存するタイミングを判定可能な情報が登録されてもよい。   In the communication data recording standard 502, for example, information that is expressed based on an arbitrary format (format) that can be machine-interpreted and that can determine whether or not to save (record) communication data may be registered. More specifically, for example, the communication data recording standard 502 may be registered with information capable of determining whether or not a condition for saving communication data is satisfied or a timing for saving communication data.

処理内容503には、例えば、機械解釈が可能な任意の形式(書式)に基づいて表現された、通信データ記録部103dが実行する処理の内容を表す情報が登録されてもよい。   In the processing content 503, for example, information representing the content of processing executed by the communication data recording unit 103d, which is expressed based on an arbitrary format (form) capable of machine interpretation, may be registered.

例えば、図5に例示するように、暗号通信プロトコルが「SSL/TLS」である場合、通信データ記録基準502には「(Application Dataの送受信が開始された後)」という情報が設定される。通信データ記録部103dは、通信データを解析した結果、上記通信データ記録基準502を満たすと判定した場合には、処理内容503に登録された処理を実行する。   For example, as illustrated in FIG. 5, when the encryption communication protocol is “SSL / TLS”, the communication data recording standard 502 is set with the information “(after transmission / reception of Application Data is started)”. As a result of analyzing the communication data, when the communication data recording unit 103d determines that the communication data recording criterion 502 is satisfied, the communication data recording unit 103d executes the process registered in the process content 503.

なお、通信データ記録基準502には、例えば、暗号通信プロトコル501によって暗号化された通信路において最初の(暗号化された)通信データが送受信されるタイミング以降のデータを記録することを表す条件が設定されてもよい。   The communication data recording standard 502 includes a condition indicating that data after the timing at which the first (encrypted) communication data is transmitted / received in the communication path encrypted by the encrypted communication protocol 501 is recorded, for example. It may be set.

上記したように、暗号通信プロトコルによっては、通信路の暗号化に用いる上記暗号鍵が所定のタイミングで変更される可能性がある。即ち、暗号化された通信路において最初の通信データと、2回目以降の通信データとでは、通信路を暗号化する暗号鍵が異なる可能性がある。また、通信路が暗号化された後、最初の通信データにおいて機密度が高い情報(重要度が高い情報)が送受信される可能性がある。このため、後述する暗号解析部104が全ての暗号通信のデータを解読できるように、通信路が暗号化された際、最初の通信データが送受信されるタイミングで当該通信データを保存することが有効である。   As described above, the encryption key used for encryption of the communication path may be changed at a predetermined timing depending on the encryption communication protocol. That is, the encryption key for encrypting the communication path may be different between the first communication data and the second and subsequent communication data in the encrypted communication path. In addition, after the communication channel is encrypted, highly sensitive information (information having high importance) may be transmitted / received in the first communication data. Therefore, it is effective to save the communication data at the timing when the first communication data is transmitted and received when the communication channel is encrypted so that the cipher analysis unit 104 described later can decrypt all the encrypted communication data. Is.

なお、通信データ記録基準502には、上記に限定されず、任意のタイミングを判断可能な情報が設定されてもよい。   It should be noted that the communication data recording standard 502 is not limited to the above, and information that can determine any timing may be set.

上記説明した通信データ記録ポリシ103eは、任意の手法により通信データ記録部103dに予め設定されていてもよい。   The communication data recording policy 103e described above may be preset in the communication data recording unit 103d by an arbitrary method.

通信データ記録部103dは、上記説明した上記通信データ記録基準502を満たすと判定した通信データを、通信データ保持部103fに登録する。   The communication data recording unit 103d registers the communication data determined to satisfy the above-described communication data recording standard 502 in the communication data holding unit 103f.

通信データ保持部103fは、例えば、図6に例示するように、各通信データについて、当該通信データの発信元に関する情報(図6の601)、暗号通信プロトコルを表す識別情報(図6の602)、及び、記録される通信データを表す記録データ(図6の603)を関連付けて保持する。なお、記録データ603には、当該通信データをキャプチャした時刻等のタイミングを表す情報と、当該通信データの内容とが登録されてもよい。   For example, as illustrated in FIG. 6, the communication data holding unit 103f, for each communication data, information regarding the transmission source of the communication data (601 in FIG. 6) and identification information indicating the encrypted communication protocol (602 in FIG. 6). , And record data (603 in FIG. 6) representing communication data to be recorded are held in association with each other. Information indicating the timing of capturing the communication data and the content of the communication data may be registered in the recording data 603.

(暗号解析部104の構成)
次に、本実施形態における暗号解析部104について説明する。まず、本実施形態における暗号解析部104の概要について説明する。
(Structure of encryption analysis unit 104)
Next, the cipher analysis unit 104 in this embodiment will be described. First, the outline of the cipher analysis unit 104 in this embodiment will be described.

暗号解析部104は、上記データ取得部102が取得したメモリ領域データを解析し、鍵データの特徴を表す情報(後述)に基づいて、当該メモリ領域データに含まれる上記暗号鍵の候補を抽出する。   The cipher analysis unit 104 analyzes the memory area data acquired by the data acquisition unit 102, and extracts the encryption key candidates included in the memory area data based on information (described later) indicating the characteristics of the key data. ..

暗号解析部104は、上記通信データ記録部103dにより保存された暗号化された通信データを、上記抽出した暗号鍵の候補を用いて復号した結果に基づいて、当該暗号鍵の候補の中から、正しい暗号鍵を抽出する。この場合、正しい暗号鍵は、暗号化された通信データを正しく復号可能な鍵である。なお、この際、暗号解析部104は、上記暗号通信プロトコルにおいて用いられる暗号化方式(暗号アルゴリズム)を特定してもよい。   The cryptographic analysis unit 104, based on the result of decrypting the encrypted communication data stored by the communication data recording unit 103d using the extracted encryption key candidate, from among the encryption key candidates, Extract the correct encryption key. In this case, the correct encryption key is a key that can correctly decrypt the encrypted communication data. At this time, the cipher analysis unit 104 may specify the encryption method (encryption algorithm) used in the encryption communication protocol.

以下、暗号解析部104の具体的な構成について説明する。   Hereinafter, a specific configuration of the cipher analysis unit 104 will be described.

暗号解析部104は、鍵候補抽出部104a、及び、暗号解読部104dを有する。暗号解析部104を構成している構成要素の間は、それぞれ通信可能に接続されている。   The cipher analysis unit 104 includes a key candidate extraction unit 104a and a cipher decryption unit 104d. The constituent elements of the cryptographic analysis unit 104 are communicably connected to each other.

まず、本実施形態における鍵候補抽出部104aについて説明する。鍵候補抽出部104aは、鍵候補判定情報104bと、鍵候補保持部104cとを有する。   First, the key candidate extraction unit 104a in this embodiment will be described. The key candidate extraction unit 104a has key candidate determination information 104b and a key candidate holding unit 104c.

鍵候補抽出部104aは、メモリダンプ保持部102aに登録されたメモリ領域データを参照し、鍵候補判定情報104bに基づいて、当該メモリ領域データから上記暗号鍵の候補を抽出する。即ち、鍵候補抽出部104aは、鍵候補判定情報104bに基づいて、メモリ領域データから、解析対象装置101と、通信ネットワーク105との間の暗号通信に用いられる暗号鍵の候補を含む鍵データの候補を抽出する。以下、係る鍵データの候補を、「鍵データ候補」と称する場合がある。なお、鍵候補抽出部104aは、鍵データ候補を抽出した際、当該処理の完了を、後述する暗号解読部104dに通知してもよい。   The key candidate extraction unit 104a refers to the memory area data registered in the memory dump holding unit 102a, and extracts the encryption key candidates from the memory area data based on the key candidate determination information 104b. That is, the key candidate extraction unit 104a extracts the key data including the candidate of the encryption key used for the encrypted communication between the analysis target device 101 and the communication network 105 from the memory area data based on the key candidate determination information 104b. Extract candidates. Hereinafter, such key data candidates may be referred to as “key data candidates”. The key candidate extraction unit 104a may notify the decryption unit 104d, which will be described later, of the completion of the process when the key data candidates are extracted.

まず、鍵候補抽出部104aによる、上記メモリ領域データにおける上記暗号鍵の探索について説明する。   First, the search for the encryption key in the memory area data by the key candidate extraction unit 104a will be described.

上記したように、メモリ領域データは、特定のタイミングにおいて解析対象装置101のメモリ101bに保持されているデータである。即ち、データ取得部102がメモリ101bから上記メモリ領域データを取得するタイミングにより、メモリ領域データの内容は変わる。このため、当該メモリ領域データの中で上記暗号鍵を含む鍵データを予め特定することは困難である。   As described above, the memory area data is the data held in the memory 101b of the analysis target device 101 at a specific timing. That is, the content of the memory area data changes depending on the timing at which the data acquisition unit 102 acquires the memory area data from the memory 101b. Therefore, it is difficult to specify in advance the key data including the encryption key in the memory area data.

また、解析対象装置101におけるメモリ101bの記憶容量(メモリ空間のサイズ)が大きい場合、メモリ領域データも大きくなる。即ち、鍵候補抽出部104aは、巨大なサイズのデータの中から、暗号鍵を探索する必要がある。仮に、1GB(単位:GigaBytes)のメモリ領域データから、128ビット(単位:bit)の暗号鍵を全探索する場合、その候補の数が膨大になることから、鍵データ候補を抽出する効率的な手法が必要とされる。   Further, when the storage capacity (size of memory space) of the memory 101b in the analysis target device 101 is large, the memory area data also becomes large. That is, the key candidate extraction unit 104a needs to search for the encryption key from the huge size of data. If all 128-bit (unit: bit) encryption keys are searched for from 1 GB (unit: GigaBytes) memory area data, the number of candidates becomes enormous, so it is efficient to extract key data candidates. A method is needed.

上記暗号鍵を含む鍵データは、上記メモリ領域データに含まれるデータの中で、特有の特徴を示すことが多い。係る鍵データの特徴は、例えば、鍵データ自体の属性(例えば、データ自体のランダム性等)、あるいは、係る鍵データの上記メモリ領域データにおける配置パターン(配置される位置や、配置されるデータの並び)等を表す。   The key data including the encryption key often exhibits unique characteristics among the data included in the memory area data. The characteristic of the key data is, for example, the attribute of the key data itself (for example, the randomness of the data itself), or the arrangement pattern of the key data in the memory area data (the arrangement position, the arrangement data List) etc.

上記鍵データの特徴は、暗号通信の実行に関する各種条件に応じて異なる。係る条件には、例えば、上記暗号通信プロトコルにおいて用いられる暗号化方式(暗号アルゴリズム)、当該暗号化方式に用いられる暗号パラメータ(後述)、あるいは、解析対象装置101における当該暗号化方式に関する処理の実行環境(後述)等が含まれる。具体例として、特定の暗号アルゴリズムにおいて用いられる暗号鍵の鍵長が異なる場合には、上記鍵データの特徴が異なるときがある。また、例えば、各暗号アルゴリズムにおいて用いられる暗号利用モードによって、上記暗号鍵を含む暗号化処理に必要な情報が異なることから、上記鍵データの特徴が異なる場合がある。なお、暗号利用モードは、暗号アルゴリズムとしてブロック暗号を採用した場合に、ブロック長よりも長い平文を暗号化する際の処理方法である。   The characteristics of the key data differ according to various conditions regarding execution of encrypted communication. The conditions include, for example, an encryption method (encryption algorithm) used in the encryption communication protocol, an encryption parameter used in the encryption method (described later), or execution of a process related to the encryption method in the analysis target device 101. Environment (described later) etc. are included. As a specific example, when the key lengths of the encryption keys used in a specific encryption algorithm are different, the characteristics of the key data may be different. Further, for example, since the information necessary for the encryption process including the encryption key is different depending on the encryption use mode used in each encryption algorithm, the characteristics of the key data may be different. The cipher usage mode is a processing method for encrypting a plaintext longer than the block length when the block cipher is adopted as the cipher algorithm.

鍵候補抽出部104aは、上記メモリ領域データから、特定の鍵データの特徴に合致するデータを鍵データ候補として抽出する。これにより、鍵候補抽出部104aは、上記暗号鍵の候補を抽出可能である。   The key candidate extracting unit 104a extracts, from the memory area data, data that matches the characteristics of specific key data as a key data candidate. As a result, the key candidate extraction unit 104a can extract the encryption key candidates.

例えば、暗号アルゴリズムに関する事前知識、あるいは、事前実験等に基づいて、上記各種条件の組合せごとに、予め上記鍵データの特徴を表す情報(データ)を収集することが可能である。そして、当該収集した上記鍵データの特徴を表すデータをパターン化することにより、メモリ領域データの中から上記鍵データ候補を抽出可能な判定情報を設けることが可能である。   For example, it is possible to collect information (data) representing the characteristics of the key data in advance for each combination of the various conditions based on prior knowledge about the cryptographic algorithm or prior experiments. Then, by patterning the collected data representing the characteristics of the key data, it is possible to provide determination information capable of extracting the key data candidate from the memory area data.

上記鍵データの特徴を表すデータを収集する具体的な方法は、適宜選択可能である。例えば、解析システムのユーザ、開発者、あるいは管理者等(以下、「ユーザ等」と称する)が、解析対象装置101において、暗号鍵を出力可能な実験用の暗号通信プログラムを実行する。そして、当該ユーザ等は、例えば、データ取得部102を用いて、当該実験用の通信プログラムが実行されている特定のタイミングにおいて、解析対象装置101のメモリ領域データを取得する。当該ユーザ等は、当該取得したメモリ領域データにおいて、実験プログラムから出力された(正しい)暗号鍵を探索する。このような実験を繰り返すことにより、暗号鍵が配置された領域に共通する特徴を抽出することが可能である。また、当該ユーザ等は、例えば、暗号化方式に関する一般的な事前知識(例えば、暗号鍵の鍵長や、暗号鍵のランダム性等)に基づいて、記鍵データに特有の特徴を抽出することが可能である。   A specific method of collecting data representing the characteristics of the key data can be selected as appropriate. For example, a user of the analysis system, a developer, an administrator, or the like (hereinafter, referred to as “user or the like”) executes an experimental encrypted communication program capable of outputting an encryption key in the analysis target device 101. Then, for example, the user or the like uses the data acquisition unit 102 to acquire the memory area data of the analysis target device 101 at a specific timing when the experimental communication program is executed. The user or the like searches the acquired memory area data for the (correct) encryption key output from the experimental program. By repeating such an experiment, it is possible to extract the features common to the area where the encryption key is arranged. In addition, the user or the like should extract the characteristic features of the key data based on, for example, general prior knowledge about the encryption method (for example, the key length of the encryption key or the randomness of the encryption key). Is possible.

また、例えば、当該ユーザ等は、解析対象装置101において上記実験プログラムを実行した際に、解析対象装置101における暗号通信に用いられるAPIをフックしてもよい。当該ユーザ等は、フックしたAPIに渡される引数を解析することにより、暗号鍵を入手し、当該暗号鍵を表す鍵データの特徴を解析する。また、当該暗号鍵を表すデータが、解析対象装置におけるメモリ101bのどこに配置されているかを調査する。当該ユーザ等は、このような処理によって得られた調査結果を、上記鍵データの特徴を表すデータとして収集する。なお、APIをフックする方法は、周知の技術であることから、詳細な説明を省略する。   Further, for example, the user or the like may hook the API used for encrypted communication in the analysis target device 101 when the experiment program is executed in the analysis target device 101. The user or the like obtains the encryption key by analyzing the argument passed to the hooked API, and analyzes the characteristics of the key data representing the encryption key. Further, it is investigated where the data representing the encryption key is arranged in the memory 101b of the analysis target device. The user or the like collects the survey results obtained by such processing as data representing the characteristics of the key data. Since the method of hooking the API is a well-known technique, detailed description will be omitted.

なお、上記鍵データの特徴を表すデータを収集する方法は、上記具体例に限定されず、任意の方法を採用してよい。   The method of collecting the data representing the characteristics of the key data is not limited to the above specific example, and any method may be adopted.

上記説明したように、上記各種条件に応じて、鍵データの特徴を表すデータを予め収集してパターン化することにより、メモリ領域データの中から上記鍵データ候補を抽出可能な判定情報を設けることが可能である。係る判定情報には、例えば、メモリ領域データにおいて鍵データ候補を探索(抽出)する位置(場所)や、特定のデータが鍵データか否かを判定可能な判定基準等が設定されてもよい。   As described above, the determination information capable of extracting the key data candidate from the memory area data is provided by previously collecting and patterning the data representing the characteristics of the key data according to the various conditions. Is possible. For example, a position (place) where a key data candidate is searched (extracted) in the memory area data, a determination criterion that can determine whether the specific data is the key data, or the like may be set in the determination information.

本実施形態における鍵候補抽出部104aは、係る判定情報を用いてメモリ領域データから上記暗号鍵を含む鍵データ候補を抽出する。より具体的には、鍵候補抽出部104aは、上記暗号鍵を含む鍵データ候補を抽出可能な判定情報を有する鍵候補判定情報104bを用いて、鍵データ候補を抽出する。   The key candidate extraction unit 104a in the present embodiment extracts key data candidates including the encryption key from the memory area data using the determination information. More specifically, the key candidate extraction unit 104a extracts the key data candidate by using the key candidate determination information 104b having the determination information capable of extracting the key data candidate including the encryption key.

鍵候補判定情報104bは、図7に例示するように、暗号化方式(暗号アルゴリズム)の種別を表す情報(図7における701)と、鍵候補判定基準(図7における704)とを有する。鍵候補判定基準704は、暗号アルゴリズム701に関連付けられる。係る鍵候補判定基準704は、メモリ領域データに含まれる特定のデータが、上記暗号鍵を含む鍵データに該当するか否かを判定可能な基準を表す情報である。換言すると、鍵候補判定基準704は、鍵データの特徴を表すデータに基づいて、メモリ領域データに含まれる特定のデータが、上記暗号鍵を含む鍵データに該当するか否かを判定可能な基準である。   As illustrated in FIG. 7, the key candidate determination information 104b has information (701 in FIG. 7) representing the type of encryption method (encryption algorithm) and a key candidate determination standard (704 in FIG. 7). The key candidate determination criterion 704 is associated with the cryptographic algorithm 701. The key candidate determination criterion 704 is information indicating a criterion with which it is possible to determine whether or not the specific data included in the memory area data corresponds to the key data including the encryption key. In other words, the key candidate determination criterion 704 is a criterion that can determine whether or not the specific data included in the memory area data corresponds to the key data including the encryption key, based on the data representing the characteristics of the key data. Is.

また、鍵候補判定情報104bは、暗号アルゴリズム701に関連付けられた、当該暗号アルゴリズムに関する暗号パラメータ(図7の702)と、解析対象装置101において暗号アルゴリズム701に関する暗号処理の実行環境を表す情報(図7の703)と、を更に含んでもよい。   Further, the key candidate determination information 104b includes the cryptographic parameter (702 in FIG. 7) associated with the cryptographic algorithm 701 and the information indicating the execution environment of the cryptographic process regarding the cryptographic algorithm 701 in the analysis target device 101 (FIG. 7 of 703), and may further be included.

暗号アルゴリズム701には、例えば、具体的な暗号アルゴリズムを識別可能な識別符号(ID)が設定されてもよい。   An identification code (ID) that can identify a specific encryption algorithm may be set in the encryption algorithm 701, for example.

鍵候補判定基準704には、例えば、機械解釈が可能な任意の形式(書式)に基づいて表現された情報が登録されてもよい。   In the key candidate determination standard 704, for example, information expressed based on an arbitrary format (format) capable of machine interpretation may be registered.

暗号パラメータ702は、図7に例示するように、暗号アルゴリズム701において用いられる鍵の長さ(鍵長)と、暗号利用モードに関する情報とを含んでもよい。暗号利用モードは、上記したように、暗号アルゴリズム701としてブロック暗号を採用した場合に、ブロック長よりも長い平文を暗号化する際の処理方法である。係る暗号モードとして、例えば、CBC(Cipher Block Chaining)モードや、GCM(Galois/Counter Mode)等が知られている。   As illustrated in FIG. 7, the cryptographic parameter 702 may include a key length (key length) used in the cryptographic algorithm 701 and information on the cryptographic usage mode. As described above, the cipher use mode is a processing method for encrypting plaintext longer than the block length when the block cipher is adopted as the cipher algorithm 701. As such an encryption mode, for example, a CBC (Cipher Block Chaining) mode, a GCM (Galois / Counter Mode), etc. are known.

実行環境情報703は、例えば、解析対象装置101において、暗号アルゴリズム701に関する処理が実装されたライブラリに関する情報、及び、解析対象装置101の実行環境に関する情報等が設定される。より具体的には、実行環境情報703は、例えば、解析対象装置101のOS(例えば、Windows(登録商標)、Linux(登録商標)等)、及び、暗号処理実装(CGN(Cryptography Next Generation)API、OpenSSL等)を特定可能な情報であってもよい。   As the execution environment information 703, for example, in the analysis target device 101, information regarding a library in which a process related to the cryptographic algorithm 701 is implemented, information regarding the execution environment of the analysis target device 101, and the like are set. More specifically, the execution environment information 703 is, for example, the OS (for example, Windows (registered trademark), Linux (registered trademark), etc.) of the analysis target device 101, and the cryptographic processing implementation (CGN (Cryptography Next Generation) API). , OpenSSL, etc.) can be specified.

上記説明した鍵候補判定情報104bは、任意の手法により鍵候補抽出部104aに予め設定されていてもよい。   The key candidate determination information 104b described above may be preset in the key candidate extraction unit 104a by any method.

上記のような鍵候補判定情報104b(特には鍵候補判定基準704)に基づいて、鍵候補抽出部104aは、メモリ領域データに含まれる特定のデータ領域を、鍵候補として抽出するか否かを判定する。   Based on the above-described key candidate determination information 104b (particularly, the key candidate determination standard 704), the key candidate extraction unit 104a determines whether to extract a specific data area included in the memory area data as a key candidate. judge.

以下、鍵候補抽出部104aによる、上記鍵データ候補の抽出処理について、図7に示す具体例を用いて説明する。   Hereinafter, the extraction processing of the key data candidates by the key candidate extraction unit 104a will be described using a specific example shown in FIG.

例えば、図7に例示するように、暗号アルゴリズム701が「AES」、暗号パラメータ702の鍵長が「128ビット」又は「256ビット」、暗号利用モードが「CBC」の場合を仮定する。   For example, as illustrated in FIG. 7, it is assumed that the encryption algorithm 701 is “AES”, the key length of the encryption parameter 702 is “128 bits” or “256 bits”, and the encryption use mode is “CBC”.

この場合、鍵候補抽出部104aは、上記暗号アルゴリズム701及び暗号パラメータ702に関連付けされた鍵候補判定基準704を参照する。そして、鍵候補抽出部104aは、メモリダンプ保持部102aに保持されたメモリ領域データから、エントロピーが特定の基準値以上である連続した16バイト又は32バイトのデータ領域を抽出する。   In this case, the key candidate extraction unit 104a refers to the key candidate determination standard 704 associated with the encryption algorithm 701 and the encryption parameter 702. Then, the key candidate extracting unit 104a extracts a continuous 16-byte or 32-byte data region whose entropy is equal to or greater than a specific reference value from the memory region data held in the memory dump holding unit 102a.

一般的に、あるデータ領域に含まれるデータが表す値のエントロピー(以下、「データのエントロピー」と称する場合がある)が大きいほど、そのデータ領域に含まれるデータが表す値のばらつきが大きい。また、暗号鍵は(規則性を見いだせない)乱数値であることが多いことから、暗号鍵を含む鍵データの値は、ばらつきが大きいと想定される。このため、図7に例示するような判定基準に基づいて、鍵候補抽出部104aは、ばらつきが大きい値を有するデータを含むデータ領域を、鍵データ候補として抽出可能である。   Generally, the greater the entropy of the value represented by the data included in a certain data area (hereinafter, may be referred to as “data entropy”), the greater the variation in the value represented by the data included in the data area. Further, since the encryption key is often a random value (which cannot find regularity), the value of the key data including the encryption key is assumed to have large variations. Therefore, the key candidate extracting unit 104a can extract a data area including data having a large variation as a key data candidate based on the determination criteria illustrated in FIG.

なお、係るバラつきの大きさは、既知の種々の計算方法を用いて算出可能である。具体的な一例として、鍵候補抽出部104aは、例えば、鍵データ候補の標準偏差(又は分散)を係るバラつきの大きさとして算出してもよい。標準偏差(又は分散)の算出方法は、周知の技術であることから、詳細な説明を省略する。   The magnitude of such variation can be calculated using various known calculation methods. As a specific example, the key candidate extracting unit 104a may calculate, for example, the standard deviation (or variance) of the key data candidates as the magnitude of the variation. Since the method of calculating the standard deviation (or variance) is a well-known technique, detailed description thereof will be omitted.

また、例えば、図7に例示するように、暗号アルゴリズム701が「AES」、暗号パラメータ702の鍵長が「128ビット(単位:bit)」、暗号利用モードが「GCM」の場合を仮定する。   Further, for example, as illustrated in FIG. 7, it is assumed that the encryption algorithm 701 is “AES”, the key length of the encryption parameter 702 is “128 bits (unit: bit)”, and the encryption use mode is “GCM”.

この場合、鍵候補抽出部104aは、上記暗号アルゴリズム701及び暗号パラメータ702に関連付けされた鍵候補判定基準704を参照し、メモリ領域データから、「0x30、0x02、0x00、0x00、0x4b、0x53、0x53、0x4Dから開始する連続した560バイト(単位:byte)のデータ」に該当すると判定したデータを抽出する。例えば、解析対象装置101における特定の実行環境において、暗号鍵を含む鍵データは、特定の配置パターンを有する場合がある。図7に例示するように、このような配置パターンを鍵候補判定基準704として登録することにより、鍵候補抽出部104aは、係る配置パターンに合致するデータを、鍵データ候補として抽出可能である。   In this case, the key candidate extraction unit 104a refers to the key candidate determination criteria 704 associated with the encryption algorithm 701 and the encryption parameter 702, and reads "0x30, 0x02, 0x00, 0x00, 0x4b, 0x53, 0x53 from the memory area data. , Continuous 560-byte (unit: byte) data starting from 0x4D ”is extracted. For example, in the specific execution environment of the analysis target device 101, the key data including the encryption key may have a specific arrangement pattern. As illustrated in FIG. 7, by registering such an arrangement pattern as the key candidate determination criterion 704, the key candidate extraction unit 104a can extract data that matches the arrangement pattern as a key data candidate.

鍵候補抽出部104aは、例えば、メモリ領域データの特定の位置(例えば先頭)から、順次特定のサイズ(例えば1バイト)ずつシフトしながら、特定のサイズのデータを抽出し、鍵候補判定基準704に基づいて、当該データが鍵候補に該当するか否かを判定してもよい。   The key candidate extraction unit 104a extracts data of a specific size while sequentially shifting a specific size (for example, 1 byte) from a specific position (for example, the head) of the memory area data, and determines a key candidate determination criterion 704. Based on the above, it may be determined whether or not the data corresponds to a key candidate.

暗号通信検査部103bが、ある暗号通信に関する通信データを解析した結果から、暗号スイートに関する情報を取得可能である場合を想定する。この場合、当該暗号通信に関する暗号アルゴリズム701及び暗号パラメータ702の情報は、通信データから判明する既知の情報として扱うことができる。また、解析対象装置101に関する実行環境情報703は、暗号解析部104に予め設定する等の方法により、既知の情報として扱うことができる。   It is assumed that the cryptographic communication inspection unit 103b can acquire the information on the cipher suite from the result of analyzing the communication data on a certain cryptographic communication. In this case, the information of the cryptographic algorithm 701 and the cryptographic parameter 702 related to the cryptographic communication can be treated as known information that is known from the communication data. Further, the execution environment information 703 related to the analysis target device 101 can be treated as known information by a method such as presetting in the cryptographic analysis unit 104.

なお、暗号アルゴリズム701及び暗号パラメータ702が不明である場合、鍵候補抽出部104aは、鍵候補判定情報104bに登録された全ての鍵候補判定基準704を用いて、それぞれの基準に適合する鍵データ候補を抽出してもよい。この場合、後述する暗号解読部104dが、暗号化された通信データを、上記抽出した鍵データ候補を用いて解読した結果に基づいて、当該通信データの暗号化に用いられる暗号鍵を含む鍵データ、暗号アルゴリズム、及び、暗号パラメータを特定することが可能である。   When the cryptographic algorithm 701 and the cryptographic parameter 702 are unknown, the key candidate extraction unit 104a uses all the key candidate determination criteria 704 registered in the key candidate determination information 104b, and uses the key data matching each criterion. You may extract a candidate. In this case, the key data including the encryption key used to encrypt the communication data is decrypted by the decryption unit 104d described later based on the result of decrypting the encrypted communication data using the extracted key data candidate. , Cryptographic algorithm, and cryptographic parameters can be specified.

また、鍵候補抽出部104aは、鍵データ候補を抽出すると共に、特定の暗号通信プロトコルにおいて通信データを暗号化あるいは復号する処理に用いられるその他の必要な情報(以下、「暗号処理データ」と称する場合がある)を取得してもよい。   Further, the key candidate extraction unit 104a extracts key data candidates and also uses other necessary information (hereinafter referred to as “encryption processing data”) used for processing of encrypting or decrypting communication data in a specific encrypted communication protocol. May be obtained).

係る暗号処理データには、例えば、以下のようなデータが含まれてもよい。即ち、係る暗号処理データには、暗号アルゴリズムとしてブロック暗号が用いられる場合の初期化ベクタ(IV:Initialization Vector)が含まれてもよい。また、係る暗号処理データには、特定の暗号利用モードにおいて用いられる各種パラメータ(例えば、カウンタモードにおけるカウンタ、nonce(number used once:一度のみ使用される使い捨ての値)等)が含まれてもよい。また、係る暗号処理データには、暗号化された通信データに付与される認証情報等が含まれてもよい。なお、係る暗号処理データには、上記に限定されず、暗号アルゴリズムや暗号パラメータ等に応じて必要となる任意のデータが含まれてもよい。   The cryptographic processing data may include the following data, for example. That is, the cryptographic processing data may include an initialization vector (IV) when a block cipher is used as a cryptographic algorithm. In addition, the cryptographic processing data may include various parameters used in a specific cryptographic usage mode (for example, a counter in a counter mode, a nonce (number used once: a disposable value used only once), and the like). . Further, the encryption processing data may include authentication information and the like added to the encrypted communication data. The cryptographic processing data is not limited to the above, and may include any data required according to the cryptographic algorithm, the cryptographic parameter, and the like.

鍵候補抽出部104aは、例えば、暗号通信検査部103bあるいは通信制御部103aから通信データを取得し、当該通信データを解析することにより、係る暗号処理データを取得してもよい。また、鍵候補抽出部104aは、例えば、上記鍵データ候補と同様、特定の判断基準に基づいて、メモリダンプ保持部102aに保持されたメモリ領域データの中から、暗号処理データを取得してもよい。   The key candidate extraction unit 104a may acquire the encryption processing data by acquiring communication data from the encrypted communication inspection unit 103b or the communication control unit 103a and analyzing the communication data. Further, for example, the key candidate extraction unit 104a may obtain the cryptographic process data from the memory area data held in the memory dump holding unit 102a based on a specific determination criterion, like the key data candidate. Good.

鍵候補抽出部104aは、メモリ領域データから抽出した鍵データ候補を、鍵候補保持部104cに保存(登録)する。また、鍵候補抽出部104aは、当該鍵データ候補に関連する暗号処理データを、鍵候補保持部104cに保存(登録)してもよい。   The key candidate extracting unit 104a stores (registers) the key data candidates extracted from the memory area data in the key candidate holding unit 104c. Further, the key candidate extracting unit 104a may store (register) the cryptographic processing data related to the key data candidate in the key candidate holding unit 104c.

鍵候補保持部104cは、図8に例示するように、暗号アルゴリズム801ごとに、抽出した鍵データ候補803を関連付けて保持する。なお、鍵候補保持部104cは、暗号アルゴリズム801ごとに、当該暗号アルゴリズムにおいて用いられる暗号パラメータ802を関連付けて保持してもよい。また、鍵候補保持部104cは、鍵データ候補803の一部に、上記暗号処理データを併せて保持してもよい。なお、上記に限らず、鍵候補保持部104cは、鍵データ候補803とは別の、図示しない領域に、上記暗号処理データを保持してもよい。   As illustrated in FIG. 8, the key candidate holding unit 104c holds the extracted key data candidates 803 in association with each encryption algorithm 801. Note that the key candidate holding unit 104c may hold, for each cryptographic algorithm 801, the cryptographic parameter 802 used in the cryptographic algorithm in association with each other. Further, the key candidate holding unit 104c may hold the above cryptographic processing data in a part of the key data candidate 803. Not limited to the above, the key candidate holding unit 104c may hold the cryptographic processing data in an area (not shown) different from the key data candidate 803.

鍵候補保持部104cは、図8に例示するように、特定の暗号アルゴリズム(例えば「AES」)に関する鍵データ候補を、複数保持してもよい。なお、図8に例示された構成は1つの具体例であり、本実施形態における鍵候補保持部104cはこの構成には限定されない。   As illustrated in FIG. 8, the key candidate holding unit 104c may hold a plurality of key data candidates related to a specific encryption algorithm (for example, “AES”). The configuration illustrated in FIG. 8 is one specific example, and the key candidate holding unit 104c in the present embodiment is not limited to this configuration.

次に、本実施形態における暗号解読部104dについて説明する。   Next, the decryption unit 104d in this embodiment will be described.

暗号解読部104dは、図1に例示するように、解析結果判定情報104e、及び、解析結果保持部104fを有する。   As illustrated in FIG. 1, the decryption unit 104d has analysis result determination information 104e and analysis result holding unit 104f.

暗号解読部104dは、鍵候補抽出部104aにおいて鍵データ候補が抽出された際、当該鍵データ候補を用いて、通信データ保持部103fに保存された(暗号化された)通信データを解読(復号)する。   When the key data candidate is extracted by the key candidate extraction unit 104a, the decryption unit 104d uses the key data candidate to decrypt (decrypt) the communication data stored (encrypted) in the communication data storage unit 103f. ) Do.

暗号解読部104dは、通信データ保持部103fに保存された(暗号化された)通信データを参照し、鍵候補保持部104cに保存された鍵データ候補を用いて、当該暗号化された通信データを解読(復号)する。即ち、暗号解読部104dは、鍵候補保持部104cに保存された鍵データ候補を用いて、解析対象装置101と、通信ネットワーク105との間の暗号通信において送受信される通信データを解読(復号)する。なお、暗号解読部104dは、必要に応じて、鍵データ候補と、鍵候補抽出部104aが取得した暗号処理データとを用いて、通信データを解読(復号)してもよい。以下においては、解読(復号)された通信データを、「解読済み通信データ」と称する場合がある。   The decryption unit 104d refers to the (encrypted) communication data stored in the communication data storage unit 103f, and uses the key data candidates stored in the key candidate storage unit 104c to generate the encrypted communication data. To decrypt (decrypt). That is, the decryption unit 104d decrypts (decrypts) the communication data transmitted and received in the encrypted communication between the analysis target device 101 and the communication network 105 using the key data candidates stored in the key candidate holding unit 104c. To do. Note that the decryption unit 104d may decrypt (decrypt) the communication data using the key data candidate and the encryption processing data acquired by the key candidate extraction unit 104a, if necessary. In the following, the decrypted (decoded) communication data may be referred to as “decoded communication data”.

暗号解読部104dは、解読済み通信データの特徴を表すデータに基づいて、当該解読済み通信データが正しく解読(復号)されたか否かを判定する。係る解読済み通信データの特徴を表すデータは、例えば、当該解読済み通信データ自体の属性(例えば、データ自体のランダム性)、あるいは、当該解読済み通信データのデータフォーマット等を表す。   The decryption unit 104d determines whether or not the decrypted communication data has been correctly decrypted (decoded) based on the data representing the characteristics of the decrypted communication data. The data representing the characteristics of the decrypted communication data represents, for example, the attribute of the decrypted communication data itself (for example, the randomness of the data itself) or the data format of the decrypted communication data.

具体的には、暗号解読部104dは、解析結果判定情報104eに基づいて、特定の鍵データ候補による通信データの解読結果の成否を判定する。そして、暗号解読部104dは、通信データの解読に成功した場合、当該解読に用いた鍵データを、解析結果保持部104fに保存(登録)する。また、暗号解読部104dは、当該鍵データと共に、解読に使用した暗号処理データを解析結果保持部104fに保存(登録)してもよい。   Specifically, the decryption unit 104d determines the success or failure of the decryption result of the communication data by the specific key data candidate based on the analysis result determination information 104e. If the decryption of the communication data is successful, the decryption unit 104d stores (registers) the key data used for the decryption in the analysis result storage unit 104f. Further, the decryption unit 104d may store (register) the encryption process data used for the decryption in the analysis result holding unit 104f together with the key data.

なお、以下においては、解析結果判定情報104eに基づいて、通信データの解読に成功したと判定された鍵データを、「正しい鍵データ」と称する場合がある。   In the following, the key data determined to be successful in decrypting the communication data based on the analysis result determination information 104e may be referred to as "correct key data".

解析結果判定情報104eは、図9に示すように、解析結果判定基準901と、判定結果902とを含む。   As shown in FIG. 9, the analysis result determination information 104e includes an analysis result determination standard 901 and a determination result 902.

解析結果判定基準901には、解読済み通信データの特徴を表すデータに基づいて、当該解読済み通信データが正しく解読(復号)されたか否かを判定可能な基準を表す情報が設定される。この場合、解析結果判定基準901に設定される情報は、例えば、機械解釈が可能な任意の形式(書式)に基づいて表現されてもよい。   The analysis result determination standard 901 is set with information representing a standard by which it can be determined whether or not the decrypted communication data is correctly decrypted (decoded) based on the data representing the characteristics of the decrypted communication data. In this case, the information set in the analysis result determination standard 901 may be expressed based on, for example, an arbitrary format (format) capable of machine interpretation.

判定結果902には、暗号解読部104dが特定の通信データを解読した結果が、解析結果判定基準901を満たした場合の判定結果(解読成功か否か)が設定される。この場合、判定結果902には、係る判定結果を表す符号等が登録されてもよい。   In the determination result 902, a determination result (whether the decryption is successful or not) is set when the decryption unit 104d decrypts the specific communication data and the analysis result determination criterion 901 is satisfied. In this case, the determination result 902 may include a code or the like indicating the determination result.

上記のような解析結果判定基準901に基づいて、暗号解読部104dは、通信データの復号が成功したか否かを判定する。以下、暗号解読部104dによる通信データの解読成否の判定について、図9に示す具体例を用いて説明する。   Based on the analysis result determination standard 901 as described above, the decryption unit 104d determines whether or not the communication data has been successfully decrypted. Hereinafter, the determination of success or failure of decryption of communication data by the decryption unit 104d will be described using a specific example shown in FIG.

図9に示す具体例においては、暗号解読部104dは、例えば、解読済み通信データのエントロピーが特定の基準値以下である場合に、当該解読済み通信データが正しく復号されたと判定する。   In the specific example shown in FIG. 9, the decryption unit 104d determines that the decrypted communication data is correctly decrypted, for example, when the entropy of the decrypted communication data is equal to or less than a specific reference value.

また、上記とは逆に、例えば、解読済み通信データのエントロピーが特定の基準値より大きい場合、暗号解読部104dは、当該通信データの解読に失敗したと判定する。   Conversely, for example, when the entropy of the decrypted communication data is larger than the specific reference value, the decryption unit 104d determines that the decryption of the communication data has failed.

一般的にデータのエントロピーが大きいほど、データ領域に含まれるデータが表す値のばらつきが大きい。即ち、解読済み通信データのエントロピーが特定の基準値以下の場合には、解読済み通信データに含まれるデータが表す値のばらつきがある程度小さいことから、解読に成功した可能性が高い。逆に、解読済み通信データのエントロピーが特定の基準値よりも大きい場合には、解読済み通信データに含まれるデータが表す値のばらつきが大きい(即ち、ランダム性が高い)ことから、解読に失敗した可能性が高い。なぜならば、暗号化されたデータ(通信データ)は、(規則性を見いだせない)乱数値であることが多く、そのようなデータが表す値は、ばらつきが大きいからである。   Generally, the greater the entropy of data, the greater the variation in the value represented by the data included in the data area. That is, when the entropy of the decrypted communication data is equal to or less than the specific reference value, the variation in the value represented by the data included in the decrypted communication data is small to some extent, so that the decryption is likely to be successful. On the other hand, if the entropy of the decrypted communication data is greater than the specified reference value, the data contained in the decrypted communication data has a large variation (that is, high randomness), and the decryption fails. It is likely that you did. This is because the encrypted data (communication data) is often a random value (cannot find regularity), and the value represented by such data has a large variation.

なお、上記説明した、データのばらつき程度(エントロピー)の大小を判定する特定の基準値は、通信データ自体の一般的な特性(ランダム性)に関する知識、あるいは、事前実験等により適宜選択してよい。   It should be noted that the specific reference value for determining the magnitude of the data dispersion degree (entropy) described above may be appropriately selected by knowledge about general characteristics (randomness) of the communication data itself, or by prior experiments or the like. .

例えば、係るデータのばらつき度合いを表す基準として、標準偏差σ(ただし、σは正の実数を表す)を用いることが可能である。データのばらつきが正規分布に従うと仮定すると、データの平均値を「m」(ただし、mは実数を表す)として「m±σ」の範囲に全体の約68.2%、「m±2σ」の範囲に、全体の約95.4%のデータが含まれる。即ち、このσの値が大きい場合、解読済み通信データは、極めてばらつきが大きい(ランダム性が高い)。この場合、暗号解読部104dは、解読済み通信データのばらつきがある程度小さい場合に解読が成功したと判定するよう、係るσの値を適宜選択してよい。   For example, the standard deviation σ (where σ represents a positive real number) can be used as a reference representing the degree of variation in the data. Assuming that the variation of the data follows a normal distribution, the average value of the data is “m” (where m represents a real number), and within the range of “m ± σ”, about 68.2% of the total, “m ± 2σ” The range includes about 95.4% of the total data. That is, when the value of σ is large, the decrypted communication data has extremely large variation (high randomness). In this case, the decryption unit 104d may appropriately select the value of σ so that the decryption is successful when the variation in the decrypted communication data is small to some extent.

また、例えば、図9に例示するように、解読済み通信データが特定のデータを含むか否かを、当該解読済み通信データの解読の成否を判定する基準としてもよい。解読済み通信データが既知のデータや、特定のパターンを含む場合、当該解読済み通信データは正しく解読されている可能性が高いからである。   Further, for example, as illustrated in FIG. 9, whether or not the decrypted communication data includes specific data may be used as a criterion for determining whether or not the decryption of the decrypted communication data is successful. This is because if the decrypted communication data includes known data or a specific pattern, the decrypted communication data is likely to be correctly decrypted.

また、上記以外にも、例えば、解読済み通信データが特定のデータフォーマット(各種データを表現可能な表現形式)に適合するか否かを、当該解読済み通信データの解読の成否を判定する基準としてもよい。係るデータフォーマットは、例えば、各種の音声、静止画像、動画、ドキュメント(文書)等を表すデータフォーマットであってもよい。また、係るデータフォーマットは、例えば、特定のファイルシステムにおけるファイルフォーマットであってもよい。なお、図9に示す具体例は一つの例示であり、本実施形態はこれには限定されない。   In addition to the above, for example, whether or not the decrypted communication data conforms to a specific data format (expression format capable of expressing various data) is used as a criterion for determining the success or failure of the decryption of the decrypted communication data. Good. The data format may be, for example, a data format representing various sounds, still images, moving images, documents (documents), or the like. The data format may be a file format in a specific file system, for example. Note that the specific example shown in FIG. 9 is merely an example, and the present embodiment is not limited to this.

上記説明した解析結果判定情報104eは、任意の手法により暗号解読部104dに予め設定されていてもよい。   The analysis result determination information 104e described above may be preset in the decryption unit 104d by an arbitrary method.

暗号解読部104dは、例えば、鍵候補保持部104cに保存された全ての鍵データ候補を用いて通信データの解読処理を行い、その結果を上記解析結果判定情報104eに基づいて判定する。これにより、暗号解読部104dは、正しい鍵データを抽出可能である。暗号解読部104dは、通信データ保持部103fに保存されている全ての通信データに対して、上記説明した暗号解読処理を実行してもよい。   The decryption unit 104d performs a decryption process of communication data using, for example, all the key data candidates stored in the key candidate holding unit 104c, and determines the result based on the analysis result determination information 104e. As a result, the decryption unit 104d can extract correct key data. The decryption unit 104d may execute the above-described decryption process on all the communication data stored in the communication data holding unit 103f.

暗号解読部104dは、解析結果判定情報104eに基づいて通信データを解読した結果から、正しい鍵データと、当該正しい鍵データにより解読された解読済み通信データとを、解析結果保持部104fに保存(登録)する。なお、暗号解読部104dは、暗号通信検査部103bに、上記説明した通信データの解読処理の完了を通知してもよい。   The decryption unit 104d stores the correct key data and the decrypted communication data decrypted by the correct key data in the analysis result holding unit 104f based on the result of decrypting the communication data based on the analysis result determination information 104e ( register. The decryption unit 104d may notify the encrypted communication inspection unit 103b of the completion of the above-described decryption process of communication data.

解析結果保持部104fは、図10に例示するように、暗号アルゴリズムを特定可能な情報(図10の暗号アルゴリズム1001)と、正しい鍵データ(図10の鍵データ1002)と、解読済み通信データ(図10の解読結果1003)とを関連付けて保持する。なお、図10に例示された構成は1つの具体例であり、本実施形態における解析結果保持部104fは、これには限定されない。例えば、解析結果保持部104fは、正しい鍵データのみ、あるいは、解読済み通信データのみを保持してもよく、これらを別々に保持してもよい。また、解析結果保持部104fは、鍵データ1002の一部として、上記正しい鍵データと共に通信データの解読に用いた暗号処理データを保持してもよい。なお、解析結果保持部104fは、鍵データ1002とは別の図示しない領域に、当該暗号処理データを保持してもよい。   As illustrated in FIG. 10, the analysis result holding unit 104f has information that can identify the encryption algorithm (encryption algorithm 1001 in FIG. 10), correct key data (key data 1002 in FIG. 10), and decrypted communication data ( The decryption result 1003) of FIG. 10 is associated and held. The configuration illustrated in FIG. 10 is one specific example, and the analysis result holding unit 104f in the present embodiment is not limited to this. For example, the analysis result holding unit 104f may hold only correct key data or only decrypted communication data, or may hold these separately. Further, the analysis result holding unit 104f may hold, as a part of the key data 1002, the correct key data and the cryptographic processing data used for decrypting the communication data. The analysis result holding unit 104f may hold the encryption processing data in an area (not shown) different from the key data 1002.

(解析システム100の動作)
次に、上記のように構成された解析システム100の動作について説明する。なお、以下の説明においては、具体例として、解析対象装置101と、通信ネットワーク105との間の暗号通信プロトコルが、SSLであることを想定する。
(Operation of the analysis system 100)
Next, the operation of the analysis system 100 configured as above will be described. In the following description, as a specific example, it is assumed that the encryption communication protocol between the analysis target device 101 and the communication network 105 is SSL.

図11を参照して、解析システム100の動作の概要について説明する。   An outline of the operation of the analysis system 100 will be described with reference to FIG. 11.

まず、通信処理部103は、解析対象装置101と、通信ネットワーク105との間で送受信される通信データをキャプチャする(ステップS1101)。   First, the communication processing unit 103 captures communication data transmitted and received between the analysis target device 101 and the communication network 105 (step S1101).

次に、通信処理部103が、上記キャプチャした通信データを解析し、鍵データが解析対象装置101におけるメモリ101bに存在するタイミングを判定する(ステップS1102)。   Next, the communication processing unit 103 analyzes the captured communication data and determines the timing when the key data exists in the memory 101b of the analysis target device 101 (step S1102).

ステップS1102において、当該タイミングが到来したと判定された場合(ステップS1103においてYES)、データ取得部102は、解析対象装置101におけるメモリ101bが保持するメモリ領域データを取得する(ステップS1104)。なお、ステップS1103における判定結果がNOの場合、ステップS1101に戻って、通信処理部103が処理を続行する。   When it is determined in step S1102 that the timing has arrived (YES in step S1103), the data acquisition unit 102 acquires memory area data held by the memory 101b in the analysis target device 101 (step S1104). If the determination result in step S1103 is NO, the process returns to step S1101 and the communication processing unit 103 continues the process.

次に、暗号解析部104が、ステップS1104において取得されたメモリ領域データを特定の基準に基づいて解析し、鍵データ候補を抽出する(ステップS1105)。   Next, the cryptographic analysis unit 104 analyzes the memory area data acquired in step S1104 based on a specific reference, and extracts key data candidates (step S1105).

次に、暗号解析部104が、ステップS1105において抽出した鍵データ候補を用いて通信データを解読した結果に基づいて、正しい鍵データ及び解読された通信データを得る(ステップS1106)。   Next, the cryptographic analysis unit 104 obtains correct key data and decrypted communication data based on the result of decrypting the communication data using the key data candidate extracted in step S1105 (step S1106).

次に、通信処理部103(特には暗号通信検査部103b)は、ステップS1106にておいて得られた、解読済み通信データの内容を解析し、特定の処理を実行する(ステップS1107)。通信処理部103(特には暗号通信検査部103b)は、上記説明したように、係る特定の処理を適宜選択してよい。   Next, the communication processing unit 103 (in particular, the encrypted communication inspection unit 103b) analyzes the content of the decrypted communication data obtained in step S1106 and executes a specific process (step S1107). The communication processing unit 103 (in particular, the encrypted communication inspection unit 103b) may appropriately select the specific processing as described above.

なお、ステップS1101において通信データをキャプチャした通信処理部103は、当該通信データの保存要否を判定し、当該判定結果に基づいて通信データを保存する(ステップS1108)。ステップS1108における処理は、ステップS1102乃至ステップS1105における処理と並行して実行されてもよい。   The communication processing unit 103 that captured the communication data in step S1101 determines whether or not the communication data needs to be stored, and stores the communication data based on the determination result (step S1108). The processing in step S1108 may be executed in parallel with the processing in steps S1102 to S1105.

次に、上記説明した解析システム100の動作の詳細について説明する。   Next, details of the operation of the above-described analysis system 100 will be described.

まず、図12A及び図12Bに例示するフローチャートを参照して、データ取得部102、及び、通信処理部103の動作について説明する。以下、図12Aに例示するフローチャートについて説明する。図12Bは、後述するステップS1209B及びステップS1210Bを除いて、図12Aと同様のフローチャートであるため、相違点のみ説明する。なお、以下のステップS1201乃至S1208に例示する処理は、図11に例示するステップS1101乃至S1105に相当する。   First, operations of the data acquisition unit 102 and the communication processing unit 103 will be described with reference to the flowcharts illustrated in FIGS. 12A and 12B. The flowchart illustrated in FIG. 12A will be described below. FIG. 12B is a flowchart similar to FIG. 12A, except for step S1209B and step S1210B, which will be described later, so only the differences will be described. The processing illustrated in steps S1201 to S1208 below corresponds to steps S1101 to S1105 illustrated in FIG. 11.

まず、通信制御部103aは、解析対象装置101と、通信ネットワーク105との間で送受信される通信データをキャプチャする(ステップS1201)。   First, the communication control unit 103a captures communication data transmitted and received between the analysis target device 101 and the communication network 105 (step S1201).

この場合、上記説明したように、通信制御部103aは、解析対象装置101から通信ネットワーク105に向けて送信される通信データ、及び、通信ネットワーク105から解析対象装置101宛てに送信された通信データの両方をキャプチャ可能である。   In this case, as described above, the communication control unit 103a detects the communication data transmitted from the analysis target device 101 to the communication network 105 and the communication data transmitted from the communication network 105 to the analysis target device 101. Both can be captured.

次に、暗号通信検査部103bが、上記ステップS1201においてキャプチャした通信データを解析し、鍵データ取得ポリシ103cに基づいて、メモリ101bに記憶されているメモリ領域データを取得するか否かを判定する(ステップS1202)。   Next, the encrypted communication inspection unit 103b analyzes the communication data captured in step S1201 and determines whether to acquire the memory area data stored in the memory 101b based on the key data acquisition policy 103c. (Step S1202).

より具体的には、暗号通信検査部103bは、鍵データ取得ポリシ103cを参照して、解析対象装置101のメモリ101bに鍵データが存在するタイミングを判定する。   More specifically, the cryptographic communication inspection unit 103b refers to the key data acquisition policy 103c to determine the timing at which the key data exists in the memory 101b of the analysis target device 101.

暗号通信プロトコルとしてSSLが採用されている場合、暗号通信検査部103bは、例えば、図13に示すSSLプロトコルの処理シーケンスにおいて、解析対象装置101が、SSLサーバ側(他の情報通信装置107側)からChangeCipherSpecメッセージを受信した際(図13に例示する「停止タイミングT1」)、係るタイミングが到来したと判定してもよい。   When SSL is adopted as the cryptographic communication protocol, the cryptographic communication inspection unit 103b determines that the analysis target device 101 has the SSL server side (the other information communication device 107 side) in the processing sequence of the SSL protocol shown in FIG. When the ChangeCipherSpec message is received from (“Stop timing T1” illustrated in FIG. 13), it may be determined that the timing has arrived.

なお、暗号通信検査部103bは、解析対象装置101が、SSLサーバ側(他の情報通信装置107側)からFinishedメッセージを受信した際(図13に例示する「停止タイミングT2」)、係るタイミングが到来したと判定してもよい。   When the analysis target device 101 receives the Finished message from the SSL server side (the other information communication device 107 side) (“stop timing T2” illustrated in FIG. 13), the encrypted communication inspection unit 103b determines that the timing is It may be determined that it has arrived.

上記ステップS1202において、暗号通信検査部103bが、当該タイミングが到来したと判定した場合(ステップS1203においてYES)、暗号通信検査部103bは、通信制御部103aに対して、解析対象装置101と、通信ネットワーク105との間の通信を停止するよう指示する(ステップS1204)。   When the cryptographic communication inspection unit 103b determines in step S1202 that the timing has arrived (YES in step S1203), the cryptographic communication inspection unit 103b causes the communication control unit 103a to communicate with the analysis target device 101. It is instructed to stop the communication with the network 105 (step S1204).

この場合、当該指示を受け付けた通信制御部103aは、解析対象装置101と、通信ネットワーク105との間の通信を一時停止する。係る通信を停止する具体的な方法は、適宜選択してよい。   In this case, the communication control unit 103a that has received the instruction suspends communication between the analysis target device 101 and the communication network 105. A specific method of stopping the communication may be selected as appropriate.

なお、上記ステップS1203においてNOの場合、ステップS1201に戻って、通信制御部103aが処理を続行する。   If NO in step S1203, the process returns to step S1201 and the communication control unit 103a continues the process.

次に、暗号通信検査部103bは、データ取得部102に対して、解析対象装置101のメモリ101bに記憶(保持)されたメモリ領域データの取得を指示する(ステップS1205)。   Next, the cryptographic communication inspection unit 103b instructs the data acquisition unit 102 to acquire the memory area data stored (held) in the memory 101b of the analysis target device 101 (step S1205).

係る指示を受け付けたデータ取得部102は、解析対象装置101のメモリ101bに記憶(保持)されたメモリ領域データをダンプする(ステップS1206)。メモリ101bに保持されたデータの具体的なダンプ方法は、上記説明した通り、解析対象装置101の構成に応じて適宜選択してよい。   The data acquisition unit 102 that has received the instruction dumps the memory area data stored (held) in the memory 101b of the analysis target device 101 (step S1206). As described above, the specific dumping method of the data held in the memory 101b may be appropriately selected according to the configuration of the analysis target device 101.

次に、データ取得部102は、上記取得したメモリ領域データを、メモリダンプ保持部102aに保存(登録)する(ステップS1207)。   Next, the data acquisition unit 102 stores (registers) the acquired memory area data in the memory dump holding unit 102a (step S1207).

次に、データ取得部102は、暗号通信検査部103bに対して、メモリ領域データの取得が完了したことを通知する(ステップS1208)。   Next, the data acquisition unit 102 notifies the encrypted communication inspection unit 103b that the acquisition of the memory area data has been completed (step S1208).

次に、上記ステップS1208における通知を受け付けた暗号通信検査部103bは、通信制御部103aに対して、一時停止している通信の再開を指示する。そして、通信制御部103aが、当該通信を再開する(ステップS1209)。   Next, the encrypted communication inspection unit 103b, which has received the notification in step S1208, instructs the communication control unit 103a to restart the communication that has been suspended. Then, the communication control unit 103a restarts the communication (step S1209).

なお、上記ステップS1208が実行されない場合、暗号通信検査部103bは、上記ステップS1204において通信の停止を指示してから特定の時間が経過した際に、通信制御部103aに対して、一時停止している通信の再開を指示してもよい。   If step S1208 is not executed, the cryptographic communication inspection unit 103b temporarily suspends the communication control unit 103a when a specific time has elapsed since the communication stop instruction was issued in step S1204. The communication may be restarted.

上記ステップS1209における処理の後、暗号通信検査部103bは、暗号解析部104に対して、通信データ記録部103dにより保存された通信データの解読と、暗号鍵の抽出とを指示してもよい(ステップS1210)。この際、通信データを解析した結果から、暗号通信プロトコルにおいて用いられる暗号アルゴリズム等が判明している場合、暗号通信検査部103bは、暗号解析部104に対して、当該暗号アルゴリズムに関する情報を提供してもよい。   After the processing in step S1209, the cryptographic communication inspection unit 103b may instruct the cryptographic analysis unit 104 to decrypt the communication data stored by the communication data recording unit 103d and extract the encryption key ( Step S1210). At this time, if the cryptographic algorithm used in the cryptographic communication protocol is known from the analysis result of the communication data, the cryptographic communication inspection unit 103b provides the cryptographic analysis unit 104 with information regarding the cryptographic algorithm. May be.

なお、上記説明した図12AにおけるステップS1209、及びステップS1210の処理順序は逆であってもよい。即ち、図12Bに例示するように、上記ステップS1208における通知を受け付けた暗号通信検査部103bは、暗号解析部104に対して、通信データ記録部103dにより保存された通信データの解読と、暗号鍵の抽出とを指示してもよい(ステップS1209B)。そして、暗号通信検査部103bは、暗号解析部104から、通信データの解読処理の完了を通知された際に、通信制御部103aに対して、一時停止している通信の再開を指示してもよい(ステップS1210B)。   Note that the processing order of steps S1209 and S1210 in FIG. 12A described above may be reversed. That is, as illustrated in FIG. 12B, the cryptographic communication inspection unit 103b that has received the notification in step S1208 causes the cryptographic analysis unit 104 to decipher the communication data stored by the communication data recording unit 103d and to decrypt the cryptographic key. May be instructed (step S1209B). Then, when the cryptographic communication inspection unit 103b is notified by the cryptographic analysis unit 104 of the completion of the decryption processing of the communication data, the cryptographic communication inspection unit 103b may instruct the communication control unit 103a to restart the communication that has been suspended. Good (step S1210B).

次に、通信処理部103(特には、通信データ記録部103d)の処理について、図14に例示するフローチャートを参照して説明する。なお、以下のステップS1401乃至ステップS1404は、上記図11に例示したステップS1108に相当する。   Next, the processing of the communication processing unit 103 (particularly, the communication data recording unit 103d) will be described with reference to the flowchart illustrated in FIG. The following steps S1401 to S1404 correspond to step S1108 illustrated in FIG.

まず、図14に示すステップS1201において、通信制御部103aが、通信データをキャプチャする。係る処理は、図12A及び図12Bに例示するステップS1201と同様としてよい。   First, in step S1201 shown in FIG. 14, the communication control unit 103a captures communication data. The process may be similar to step S1201 illustrated in FIGS. 12A and 12B.

次に、通信制御部103aは、キャプチャした通信データを、通信データ記録部103dに伝達(通知)する(ステップS1401)。   Next, the communication control unit 103a transmits (notifies) the captured communication data to the communication data recording unit 103d (step S1401).

通信データ記録部103dは、通信データ記録ポリシ103eに基づいて、ステップS1201においてキャプチャされた通信データを保存するか否かを判定する(ステップS1402)。   The communication data recording unit 103d determines whether to save the communication data captured in step S1201 based on the communication data recording policy 103e (step S1402).

通信プロトコルとしてSSLが採用された場合、通信データ記録ポリシ103e(特には通信データ記録基準502)には、例えば、図13に例示する最初のApplicationDataメッセージが送信されるタイミングである「T3」以降の通信データを保存(記録)することを表す条件が設定されてもよい。なお、通信データ記録ポリシ103e(特には通信データ記録基準502)には、例えば、図13に例示する「停止タイミングT1」、あるいは、「停止タイミングT2」以降の通信データを保存(記録)することを表す条件が設定されてもよい。   When SSL is adopted as the communication protocol, the communication data recording policy 103e (particularly, the communication data recording standard 502) includes, for example, "T3" and thereafter, which is the timing at which the first ApplicationData message illustrated in FIG. 13 is transmitted. A condition indicating that communication data is stored (recorded) may be set. Note that the communication data recording policy 103e (particularly the communication data recording standard 502) stores (records) communication data after the "stop timing T1" or the "stop timing T2" illustrated in FIG. 13, for example. May be set.

ステップS1402における判定の結果、通信データを保存する場合(ステップS1403においてYES)、通信データ記録部103dは、当該通信データを通信データ保持部103fに登録(保存)する(ステップS1404)。   If the result of determination in step S1402 is that communication data is to be saved (YES in step S1403), communication data recording unit 103d registers (saves) the communication data in communication data holding unit 103f (step S1404).

なお、ステップS1403においてNOの場合、通信データ記録部103dは、当該通信データを保存しなくともよい。   If NO in step S1403, the communication data recording unit 103d does not have to save the communication data.

上記ステップS1401乃至S1404の処理によって、通信データが必要に応じて通信データ保持部103fに保存される。   Through the processes of steps S1401 to S1404, the communication data is stored in the communication data holding unit 103f as needed.

次に、暗号解析部104の処理について、図15及び図16に例示するフローチャートを参照して説明する。なお、図15及び図16に例示するフローチャートは、図11におけるステップS1105乃至S1106に相当する。   Next, the processing of the cipher analysis unit 104 will be described with reference to the flowcharts illustrated in FIGS. The flowchart illustrated in FIGS. 15 and 16 corresponds to steps S1105 to S1106 in FIG.

まず、図15に例示するフローチャートを参照して、鍵候補抽出部104aの動作について説明する。   First, the operation of the key candidate extracting unit 104a will be described with reference to the flowchart illustrated in FIG.

上記したように、例えば、暗号通信検査部103bからの指示(ステップS1210)に応じて、暗号解析部104は、暗号化された通信データの解読処理を開始する。   As described above, for example, in response to the instruction from the encrypted communication inspection unit 103b (step S1210), the encryption analysis unit 104 starts the decryption processing of the encrypted communication data.

まず、鍵候補抽出部104aは、メモリダンプ保持部102aに登録(保存)されたメモリ領域データを参照する(ステップS1501)。この場合、鍵候補抽出部104aは、メモリダンプ保持部102aから、当該メモリ領域データを取得してもよい。   First, the key candidate extracting unit 104a refers to the memory area data registered (saved) in the memory dump holding unit 102a (step S1501). In this case, the key candidate extracting unit 104a may acquire the memory area data from the memory dump holding unit 102a.

次に、鍵候補抽出部104aは、鍵候補判定情報104bに基づいて、ステップS1501において参照(取得)したメモリ領域データから暗号鍵の候補を抽出する(ステップS1502)。   Next, the key candidate extracting unit 104a extracts encryption key candidates from the memory area data referred (acquired) in step S1501 based on the key candidate determination information 104b (step S1502).

上記説明したように、暗号通信検査部103bから、暗号アルゴリズムに関する情報が提供された場合、鍵候補抽出部104aは、当該暗号アルゴリズムに関連付けされた鍵候補判定基準704を用いて、メモリ領域データから鍵データ候補を抽出する。   As described above, when the cryptographic communication inspection unit 103b provides the information about the cryptographic algorithm, the key candidate extraction unit 104a uses the key candidate determination criterion 704 associated with the cryptographic algorithm to extract the data from the memory area data. Extract key data candidates.

暗号アルゴリズムが不明である場合には、鍵候補判定情報104bに登録された全ての暗号アルゴリズム701について、鍵候補判定基準704に基づいて鍵データ候補を抽出する。   If the encryption algorithm is unknown, key data candidates are extracted based on the key candidate determination standard 704 for all the encryption algorithms 701 registered in the key candidate determination information 104b.

また、この際、鍵候補抽出部104aは、鍵データ候補に関連付けされた暗号アルゴリズムに関する情報(例えば、暗号アルゴリズム701、及び、暗号パラメータ702)を抽出してもよい。   In addition, at this time, the key candidate extraction unit 104a may extract information regarding the cryptographic algorithm associated with the key data candidate (for example, the cryptographic algorithm 701 and the cryptographic parameter 702).

次に、鍵候補抽出部104aは、ステップS1502において抽出した鍵候補、及び、暗号アルゴリズムに関する情報を、鍵候補保持部104cに登録(保存)する(ステップS1503)。   Next, the key candidate extracting unit 104a registers (stores) the key candidate extracted in step S1502 and the information regarding the encryption algorithm in the key candidate holding unit 104c (step S1503).

ステップS1503の後、鍵候補抽出部104aは、暗号解読部104dに対して鍵候補の抽出処理が完了したことを通知してもよい(ステップS1504)。   After step S1503, the key candidate extraction unit 104a may notify the decryption unit 104d that the key candidate extraction processing has been completed (step S1504).

次に、暗号解読部104dは、上記ステップS1501乃至S1503において抽出された鍵データ候補を用いて、暗号化された通信データを解読する処理を実行する(ステップS1505)。   Next, the decryption unit 104d executes a process of decrypting the encrypted communication data using the key data candidates extracted in steps S1501 to S1503 (step S1505).

以下、ステップS1505における処理の詳細について、図16に例示するフローチャートを参照して説明する。   Hereinafter, details of the processing in step S1505 will be described with reference to the flowchart illustrated in FIG.

まず、暗号解読部104dは、鍵候補保持部104cに登録された鍵データ候補(図8の803)を取得する(ステップS1601)。なお、この際、暗号解読部104dは、当該鍵候補と関連付けされた暗号アルゴリズムに関する情報(図8の801及び802)を取得してもよい。また、暗号解読部104dは、当該鍵候補に関連付けされた暗号処理データを取得してもよい。   First, the decryption unit 104d acquires the key data candidate (803 in FIG. 8) registered in the key candidate holding unit 104c (step S1601). At this time, the decryption unit 104d may obtain information (801 and 802 in FIG. 8) regarding the encryption algorithm associated with the key candidate. Further, the decryption unit 104d may acquire the cryptographic processing data associated with the key candidate.

次に暗号解読部104dは、通信データ保持部103fに登録(保存)された、暗号化された通信データを参照する。この場合、暗号解読部104dは、当該通信データを、通信データ保持部103fから取得してもよい。   Next, the decryption unit 104d refers to the encrypted communication data registered (saved) in the communication data holding unit 103f. In this case, the decryption unit 104d may acquire the communication data from the communication data holding unit 103f.

そして、暗号解読部104dは、上記ステップS1601において参照(取得)した鍵データ候補及び暗号アルゴリズムに関する情報を用いて、当該取得した通信データを解読(復号)する(ステップS1602)。   Then, the decryption unit 104d decrypts (decrypts) the acquired communication data by using the information about the key data candidate and the encryption algorithm referred (acquired) in step S1601 (step S1602).

次に、暗号解読部104dは、ステップS1602において通信データを解読(復号)した結果である解読済通信データが、正しく解読(復号)されたか否かを、解析結果判定情報104eに基づいて判定する(ステップS1603)。   Next, the decryption unit 104d determines, based on the analysis result determination information 104e, whether or not the decrypted communication data, which is the result of decrypting (decoding) the communication data in step S1602, has been correctly decrypted (decrypted). (Step S1603).

上記説明したように、暗号解読部104dは、例えば、解読済み通信データのエントロピーの値、あるいは、解読済み通信データが特定のデータフォーマットに合致するか否か、等に基づいて、解読済み通信データが、正しく解読されたか否かを判定してもよい。   As described above, the decryption unit 104d uses the entropy value of the decrypted communication data, whether the decrypted communication data matches a specific data format, or the like. However, it may be determined whether or not it has been correctly decoded.

解読済み通信データが正しく解読されたと判定した場合(ステップS1604においてYES)、暗号解読部104dは、正しい鍵データと、解読済み通信データとを、解析結果保持部104fに登録する(ステップS1606)。   When it is determined that the decrypted communication data is properly decrypted (YES in step S1604), the decryption unit 104d registers the correct key data and the decrypted communication data in the analysis result holding unit 104f (step S1606).

解読済み通信データが正しく解読されなかったと判定した場合(ステップS1604においてNO)、暗号解読部104dは、鍵候補保持部104cに他の鍵データ候補が登録されているかを確認する(ステップS1605)。   When it is determined that the decrypted communication data has not been correctly decrypted (NO in step S1604), the decryption unit 104d confirms whether another key data candidate is registered in the key candidate holding unit 104c (step S1605).

他の鍵データ候補が登録されている場合(ステップS1607においてYES)、暗号解読部104dは、ステップS1601から処理を続行し、当該他の鍵データ候補を鍵候補保持部104cから取り出す。   If another key data candidate is registered (YES in step S1607), the decryption unit 104d continues the process from step S1601 and extracts the other key data candidate from the key candidate holding unit 104c.

ステップS1601乃至S1607の処理により、通信データを解読可能な暗号鍵を含む鍵データと、解読された通信データとが得られる。   By the processes of steps S1601 to S1607, key data including an encryption key capable of decrypting communication data and decrypted communication data are obtained.

なお、暗号解読部104dは、上記説明した通信データの解読処理の完了を、暗号通信検査部103bに通知してもよい(ステップS1608)。   The decryption unit 104d may notify the encrypted communication inspection unit 103b of the completion of the above-described decryption processing of communication data (step S1608).

上記ステップS1608における通知を受け付けた暗号通信検査部103bは、上記説明したステップS1107から処理を続行する。この場合、暗号通信検査部103bは、解読された通信データを解析した結果に基づいて、特定の処理を実行可能である。   The cryptographic communication inspection unit 103b that has received the notification in step S1608 continues the process from step S1107 described above. In this case, the encrypted communication inspection unit 103b can execute a specific process based on the result of analyzing the decrypted communication data.

以上のように構成された本実施形態における解析システム100においては、まず、通信処理部103が、解析対象装置101と、通信ネットワーク105との間で特定の暗号通信プロトコルに基づいて送受信される通信データを解析する。そして、通信処理部103は、係る解析の結果に基づいて、解析対象装置101と、通信ネットワーク105との間の通信路を暗号化する暗号鍵が、解析対象装置101のメモリ101bに存在するタイミングを特定する。   In the analysis system 100 according to the present embodiment configured as described above, first, the communication processing unit 103 performs communication that is transmitted / received between the analysis target device 101 and the communication network 105 based on a specific cryptographic communication protocol. Analyze the data. Then, the communication processing unit 103 determines, based on the result of the analysis, the timing at which the encryption key for encrypting the communication path between the analysis target device 101 and the communication network 105 exists in the memory 101b of the analysis target device 101. Specify.

通信処理部103は、当該タイミングにおいて、メモリ101bに記憶されたメモリ領域データの取得を、データ取得部102に対して指示する。   The communication processing unit 103 instructs the data acquisition unit 102 to acquire the memory area data stored in the memory 101b at the timing.

以上より、本実施形態における解析システム100によれば、データ取得部102は、解析対象装置101と、通信ネットワーク105との間の通信路を暗号化する暗号鍵を含むメモリ領域データを、解析対象装置101のメモリ101bから取得可能である。   As described above, according to the analysis system 100 of the present embodiment, the data acquisition unit 102 analyzes the memory area data including the encryption key for encrypting the communication path between the analysis target device 101 and the communication network 105 as the analysis target. It can be obtained from the memory 101b of the device 101.

また、通信処理部103(特には暗号通信検査部103b)は、上記特定のタイミングにおいて、通信制御部103aに対して、解析対象装置101と、通信ネットワーク105との間の通信を一時的に停止するよう指示可能である。これにより、本実施形態における通信処理部103は、上記暗号鍵がメモリ101bに保持される期間を延長することが可能である。なぜならば、解析対象装置101と、通信ネットワーク105との間の通信が一時停止されることにより、通信処理の進行に伴う暗号鍵の消失や変更等が発生せず、メモリ101bに上記暗号鍵が保持されていることが期待されるからである。このため、本実施形態における解析システム100によれば、当該暗号鍵を含む可能性が高いメモリ領域データを取得することが可能である。   In addition, the communication processing unit 103 (in particular, the encrypted communication inspection unit 103b) temporarily stops the communication between the analysis target device 101 and the communication network 105 with respect to the communication control unit 103a at the specific timing. Can be instructed to do so. As a result, the communication processing unit 103 in this embodiment can extend the period in which the encryption key is held in the memory 101b. Because the communication between the analysis target device 101 and the communication network 105 is temporarily stopped, the encryption key is not lost or changed due to the progress of the communication process, and the encryption key is stored in the memory 101b. It is expected to be held. Therefore, according to the analysis system 100 in the present embodiment, it is possible to acquire the memory area data that is highly likely to include the encryption key.

以上より、本実施形態によれば、解析対象装置101と通信ネットワーク105との間で暗号通信プロトコルに基づいて送受信される通信データを解析した結果に基づいて、当該暗号通信プロトコルにおける暗号処理に用いられる暗号鍵を含むデータを、情報通信装置のメモリ空間から取得可能である。   As described above, according to the present embodiment, based on the result of analyzing the communication data transmitted and received between the analysis target device 101 and the communication network 105 based on the cryptographic communication protocol, it is used for the cryptographic processing in the cryptographic communication protocol. The data including the encryption key to be used can be acquired from the memory space of the information communication device.

より具体的には、本実施形態によれば、上記暗号通信により送受信される通信データを解析することにより、上記暗号通信において用いられる暗号鍵が解析対象装置101のメモリ101bに存在するか否かを判定し、当該判定結果に基づいて、メモリ101bに保持されるデータを取得可能である。   More specifically, according to the present embodiment, by analyzing the communication data transmitted and received by the encrypted communication, it is determined whether or not the encryption key used in the encrypted communication exists in the memory 101b of the analysis target device 101. It is possible to obtain the data held in the memory 101b based on the determination result.

また、本実施形態における解析システム100は、上記に加えて、以下のような効果を奏する。   In addition to the above, the analysis system 100 in the present embodiment has the following effects.

本実施形態における解析システム100においては、暗号解析部104が、上記取得したメモリ領域データの中から、暗号鍵を含む鍵データの特徴を表すデータ(鍵候補判定情報104b)に基づいて、暗号鍵の候補(鍵データ候補)を抽出する。そして、暗号解析部104は、解析結果判定情報104eに基づいて、上記抽出した鍵データ候補を用いて通信データを解読(復号)した結果の成否を判定する。暗号解析部104は、係る判定結果に基づいて、正しい暗号鍵を含む鍵データと、解読された通信データを取得可能である。   In the analysis system 100 according to the present embodiment, the cryptographic analysis unit 104 uses the cryptographic key based on the data (key candidate determination information 104b) representing the characteristics of the key data including the cryptographic key from the acquired memory area data. (Key data candidate) is extracted. Then, the cryptographic analysis unit 104 determines whether or not the result of decrypting (decoding) communication data using the extracted key data candidate is successful, based on the analysis result determination information 104e. The cryptographic analysis unit 104 can acquire the key data including the correct cryptographic key and the decrypted communication data based on the determination result.

以上より、本実施形態における解析システム100は、メモリ領域データの中から、効率よく鍵データ候補を抽出可能である。なぜならば、暗号解析部104が、メモリ領域データの中から鍵データの特徴を表すデータ(鍵候補判定情報104b)に基づいて鍵データ候補を抽出することから、鍵データの特徴に合致しないデータを、鍵データ候補から排除可能であるからである。また、複数の鍵データ候補の中に含まれる正しい鍵データを判定可能であることから、本実施形態における解析システム100は、メモリ領域データから、正しい鍵データを、効率的に探索可能である。   As described above, the analysis system 100 according to the present embodiment can efficiently extract key data candidates from the memory area data. This is because the cryptographic analysis unit 104 extracts key data candidates from the memory area data based on the data (key candidate determination information 104b) representing the characteristics of the key data, so that data that does not match the characteristics of the key data is extracted. , Because it can be excluded from the key data candidates. Further, since the correct key data included in the plurality of key data candidates can be determined, the analysis system 100 in the present embodiment can efficiently search the memory area data for the correct key data.

また、本実施形態における解析システム100においては、上記抽出した正しい鍵データを用いて、暗号解析部104が、暗号化された通信データを解読可能である。   Further, in the analysis system 100 according to the present embodiment, the cipher analysis unit 104 can decipher the encrypted communication data using the extracted correct key data.

また、本実施形態における解析システム100によれば、通信処理部103は、暗号解析部104により解読された通信データを用いて、解析対象装置101と、通信ネットワーク105との間で送受信される通信データの内容を解析可能である。通信処理部103は、当該解析結果に応じて、例えば、上記説明したような特定の処理を実行することが可能である。   Further, according to the analysis system 100 in the present embodiment, the communication processing unit 103 uses the communication data decrypted by the cryptographic analysis unit 104 to perform communication that is transmitted and received between the analysis target device 101 and the communication network 105. The content of data can be analyzed. The communication processing unit 103 can execute, for example, the specific processing described above according to the analysis result.

以上より、本実施形態における解析システム100は、解析対象装置101と、通信ネットワーク105との間で送受信される暗号化された通信データの少なくとも一部を解析可能である。また、本実施形態における解析システム100は、上記解析の結果に応じて、特定の処理を実行することが可能である。具体的には、本実施形態における解析システム100は、例えば、解析対象装置101において実行されるマルウェア等の任意のソフトウェア・プログラムによる暗号通信の内容を解析可能である。特に、本実施形態における解析システム100は、当該ソフトウェア・プログラムや、解析対象装置101に対して非侵襲的な手法により、暗号通信の内容を解析可能であり、当該解析結果に基づいて、任意の処理を実行可能である。   As described above, the analysis system 100 according to the present embodiment can analyze at least a part of encrypted communication data transmitted and received between the analysis target device 101 and the communication network 105. In addition, the analysis system 100 according to the present embodiment can execute a specific process according to the result of the above analysis. Specifically, the analysis system 100 according to the present embodiment can analyze the content of encrypted communication by an arbitrary software program such as malware executed in the analysis target device 101, for example. In particular, the analysis system 100 according to the present embodiment can analyze the content of the encrypted communication by a non-invasive method with respect to the software program and the analysis target device 101, and based on the analysis result, an arbitrary Processing can be executed.

<第1の実施形態の変形例>
以下、上記説明した第1の実施形態の変形例について説明する。
<Modification of First Embodiment>
Hereinafter, a modified example of the above-described first embodiment will be described.

上記第1の実施形態においては、鍵候補抽出部104aは、データ取得部102において取得されたメモリ領域データから、鍵候補判定情報104bに基づいて、鍵データ候補を抽出する。   In the first embodiment, the key candidate extraction unit 104a extracts key data candidates from the memory area data acquired by the data acquisition unit 102 based on the key candidate determination information 104b.

本変形例における鍵候補抽出部104aは、上記説明した暗号処理データの候補と、上記暗号鍵を生成する基になるデータである鍵素材データの候補との少なくとも一方を、メモリ領域データから抽出するよう、上記第1の実施形態における鍵候補抽出部104aを拡張する。係る鍵素材データの候補は、例えば、SSLにおけるpre_master_secretや、master_secret等であってもよい。   The key candidate extraction unit 104a in the present modification extracts at least one of the above-described encryption processing data candidate and the key material data candidate that is the data from which the encryption key is generated from the memory area data. As described above, the key candidate extracting unit 104a in the first embodiment is expanded. The candidate of the key material data may be, for example, pre_master_secret or master_secret in SSL.

係る暗号処理データ、及び、鍵素材データは、上記説明した鍵データと同様に、上記メモリ領域データに含まれるデータの中で、特有の特徴を示す場合がある。これらのデータの特徴は、例えば、係るデータ自体の属性(例えば、データ自体のランダム性等)、あるいは、係るデータの上記メモリ領域データにおける配置パターン(配置される位置や、配置されるデータの並び)等を表す。   Similar to the above-described key data, the encrypted data and the key material data may show unique characteristics among the data included in the memory area data. The characteristics of these data are, for example, the attributes of the data itself (for example, the randomness of the data itself), or the arrangement pattern of the data in the memory area data (arrangement position, arrangement of the arranged data). ) Etc.

また、暗号処理データ、及び、鍵素材データの特徴は、上記鍵データの特徴と同様に、暗号通信の実行に関する各種条件に応じて異なる場合がある。具体的には、例えば、上記暗号通信プロトコルにおいて用いられる暗号アルゴリズム、あるいは、解析対象装置101における当該暗号化方式に関する処理の実行環境等に応じて、係るデータの特徴が異なる場合がある。   Further, the characteristics of the cryptographic processing data and the key material data may differ depending on various conditions regarding execution of the cryptographic communication, like the characteristics of the key data. Specifically, the characteristics of the data may differ depending on, for example, the encryption algorithm used in the encryption communication protocol or the execution environment of the process related to the encryption method in the analysis target device 101.

例えば、特定の暗号アルゴリズムが暗号利用モードとしてGCMが採用された場合と、CBCモードが採用された場合とでは、暗号処理データとして必要となるデータの種類が異なり、そのデータ自体の特性も異なる。例えば、ランダム性が高いデータもあれば、所定の値に設定されるデータもある。また、解析対象装置101における、暗号処理の実行環境に応じて、メモリ領域データにおける暗号処理データの配置位置が異なる場合がある。   For example, when GCM is adopted as a cipher use mode for a specific cryptographic algorithm, and when CBC mode is adopted, the type of data required as cryptographic processing data is different, and the characteristics of the data itself are also different. For example, some data has high randomness, and some data is set to a predetermined value. Further, the location of the cryptographic processing data in the memory area data may differ depending on the execution environment of the cryptographic processing in the analysis target device 101.

上記鍵データの特徴と同様、これらのデータの特徴を表すデータを予め収集してパターン化することにより、メモリ領域データの中からこれらのデータの候補を抽出可能な判定基準を設けることが可能である。本変形例における鍵候補抽出部104aは、当該判定基準に基づいて、メモリ領域データからこれらのデータ候補を抽出する。当該判定基準には、例えば、これらのデータの候補を探索(抽出)する位置(場所)が設定されていてもよい。あるいは、当該判定基準には、例えば、特定のデータがこれらのデータに該当するか否かを判定するための判定方法等が設定されていてもよい。   Similar to the characteristics of the key data described above, it is possible to provide a criterion for extracting candidates of these data from the memory area data by collecting and patterning the data representing the characteristics of these data in advance. is there. The key candidate extraction unit 104a in the present modification extracts these data candidates from the memory area data based on the determination standard. For example, a position (place) for searching (extracting) these data candidates may be set as the determination criterion. Alternatively, for example, a determination method for determining whether or not specific data corresponds to these data may be set in the determination criteria.

なお、係る判定基準は、上記第1の実施形態における鍵候補判定情報104bに追加されてもよい。また、係る判定基準は、新たな構成要素(不図示)として、鍵候補抽出部104aに追加されてもよい。   Note that the determination criterion may be added to the key candidate determination information 104b in the first embodiment. Further, the determination criterion may be added to the key candidate extraction unit 104a as a new component (not shown).

本変形例における暗号解読部104dは、上記鍵素材データの候補を抽出した場合には、当該鍵素材データの候補から、上記鍵データ候補を生成してもよい。一般的に、鍵素材データから、暗号鍵を生成する方法は、暗号通信プロトコル(あるいは、当該暗号通信プロトコルにおいて用いられる暗号アルゴリズム)ごとに規定されている。例えば、SSLプロトコルの場合、pre_master_secretから、master_secretを生成する方法、及び、master_secretから暗号通信に用いる鍵等を生成する方法は、SSLプロトコルの仕様として規定されている。   When the key material data candidate is extracted, the decryption unit 104d in the present modification may generate the key data candidate from the key material data candidate. Generally, a method for generating an encryption key from key material data is specified for each encryption communication protocol (or an encryption algorithm used in the encryption communication protocol). For example, in the case of the SSL protocol, a method of generating a master_secret from pre_master_secret and a method of generating a key and the like used for encrypted communication from the master_secret are defined as the specifications of the SSL protocol.

本変形例における暗号解読部104dは、第1の実施形態と同様、鍵データ候補と、暗号処理データの候補とを用いて通信データを解読する。本変形例における暗号解読部104dは、上記第1の実施形態と同様、解析結果判定情報104eに基づいて当該解読結果の成否を判定する。   As in the first embodiment, the decryption unit 104d in the present variation decrypts communication data using key data candidates and encryption processing data candidates. The decryption unit 104d in the present modification determines the success or failure of the decryption result based on the analysis result determination information 104e, as in the first embodiment.

本変形例における暗号解読部104dは、通信データの解読が成功した場合に、正しい鍵データと、解読済み通信データと、暗号処理データとを、解析結果保持部104fに保存(登録)してもよい。   When the decryption of the communication data is successful, the decryption unit 104d according to the present modification saves (registers) the correct key data, the decrypted communication data, and the encrypted data in the analysis result storage unit 104f. Good.

上記のように構成された本変形例における解析システム100は、所定の判定基準に基づいて、暗号処理データの候補、及び、鍵素材データの候補の少なくとも何れかを抽出可能である。また、本変形例における解析システム100は、上記第1の実施形態と同様、それらのデータを用いて通信データを解読した結果に基づいて、正しい鍵データと、解読済み通信データとを取得可能である。   The analysis system 100 according to the present modification configured as described above can extract at least one of a candidate for cryptographic processing data and a candidate for key material data based on a predetermined determination criterion. Further, the analysis system 100 in the present modification can acquire correct key data and decrypted communication data based on the result of decrypting the communication data using those data, as in the first embodiment. is there.

また、本実施形態における解析システム100は、上記第1の実施形態における解析システム100と同様の構成を含むので、第1の実施形態と同様の効果を奏する。   In addition, the analysis system 100 according to the present embodiment includes the same configuration as the analysis system 100 according to the first embodiment described above, and thus has the same effect as that of the first embodiment.

<第2の実施形態>
次に、本発明における第2の実施形態について、図17を参照して説明する。図17は、本実施形態における解析システム1700の機能的な構成を例示するブロック図である。
<Second Embodiment>
Next, a second embodiment of the present invention will be described with reference to FIG. FIG. 17 is a block diagram illustrating a functional configuration of the analysis system 1700 according to this embodiment.

本実施形態における解析システム1700は、情報通信装置1701と、通信ネットワーク1705との間で実行される暗号通信を解析する。そして、本実施形態における解析システム1700は、当該解析結果に基づいて、特定の処理を実行する。   The analysis system 1700 in the present embodiment analyzes encrypted communication executed between the information communication device 1701 and the communication network 1705. Then, the analysis system 1700 in this embodiment executes a specific process based on the analysis result.

情報通信装置1701は、少なくとも演算部1701a及びメモリ1701bを有し、通信ネットワーク1705に対して通信可能に接続された、任意の情報通信装置である。   The information communication device 1701 is an arbitrary information communication device that includes at least a calculation unit 1701a and a memory 1701b and is communicably connected to a communication network 1705.

係る情報通信装置1701は、例えば、物理的なハードウェアにより構成されたコンピュータ等の情報通信装置であってもよい。また、情報通信装置1701は、情報処理装置等の各種ハードウェアを仮想化可能な所定の仮想化基盤において提供される、仮想的なコンピュータ(VM)であってもよい。   The information communication device 1701 may be, for example, an information communication device such as a computer configured by physical hardware. Further, the information communication device 1701 may be a virtual computer (VM) provided on a predetermined virtualization platform capable of virtualizing various hardware such as an information processing device.

情報通信装置1701における演算部1701aは、上記各実施形態における演算部101aと同様、メモリ1701bに記憶された各種データ及びプログラムを読み出して、当該プログラムに実装された各種演算処理を実行するCPUや、MPU等の演算装置である。   The arithmetic unit 1701a in the information communication device 1701 reads out various data and programs stored in the memory 1701b and executes various arithmetic processes implemented in the programs, as in the arithmetic unit 101a in each of the above-described embodiments. It is an arithmetic unit such as an MPU.

情報通信装置1701におけるメモリ1701bは、上記各実施形態におけるメモリ101bと同様、情報通信装置1701におけるメインメモリとして機能し、演算部1701aにおいて処理される各種プログラムやデータを保持する。また、メモリ1701bに保持(記憶)されたデータは、外部から取得(ダンプ)可能である。   The memory 1701b in the information communication device 1701 functions as a main memory in the information communication device 1701 like the memory 101b in each of the above-described embodiments, and holds various programs and data processed by the calculation unit 1701a. The data held (stored) in the memory 1701b can be acquired (dumped) from the outside.

このような情報通信装置1701は、上記説明した各実施形態における解析対象装置101と同様としてよい。   Such an information communication device 1701 may be the same as the analysis target device 101 in each of the embodiments described above.

通信ネットワーク1705は、有線、無線、又はこれらの任意の組合せにより構成され、任意の通信プロトコルを用いて通信路を確立可能な通信ネットワークである。また、通信ネットワーク1705は、例えば、上記各実施形態において説明した各種暗号通信プロトコルにより暗号化された通信路を、情報通信装置1701に対して提供可能である。係る通信ネットワーク1705は、上記各実施形態における通信ネットワーク105と同様としてよいので、詳細な説明は省略する。   The communication network 1705 is a wired, wireless, or any combination thereof, and is a communication network capable of establishing a communication path using an arbitrary communication protocol. Further, the communication network 1705 can provide the information communication device 1701 with a communication path encrypted by the various encrypted communication protocols described in the above embodiments. The communication network 1705 concerned may be the same as the communication network 105 in each of the above-described embodiments, and thus detailed description thereof will be omitted.

次に、解析システム1700の構成について説明する。   Next, the configuration of the analysis system 1700 will be described.

本実施形態における解析システム1700は、データ取得部1702と、通信処理部1703とを備える。   The analysis system 1700 according to this embodiment includes a data acquisition unit 1702 and a communication processing unit 1703.

なお、解析システム1700の各構成要素は、それぞれ物理的なコンピュータ等の情報処理装置を用いて実現されてもよく、あるいは、仮想化基盤において提供されるVMを用いて実現されてもよい。また、解析システム1700の各構成要素の間は、無線、有線、あるいはそれらを組み合わせた任意の通信回線により、通信可能に接続されている。係る通信回線は、周知の技術を採用してよいので、詳細な説明は省略する。以下、解析システム1700の各構成要素について説明する。   Each component of the analysis system 1700 may be realized by using an information processing device such as a physical computer, or may be realized by using a VM provided in the virtualization platform. Further, the respective constituent elements of the analysis system 1700 are communicably connected to each other by a wireless communication, a wired communication, or an arbitrary communication line combining them. A well-known technique may be adopted for the communication line, and thus detailed description thereof will be omitted. Hereinafter, each component of the analysis system 1700 will be described.

データ取得部1702は、上記情報通信装置1701から、メモリ1701bに保持されたデータの少なくとも一部を取得可能である。メモリ1701bに保持(記憶)されたデータを取得する具体的な方法は、情報通信装置1701の具体的な構成に応じて適宜選択可能である。係るデータ取得部1702は、例えば、上記各実施形態におけるデータ取得部102と同様としてもよい。   The data acquisition unit 1702 can acquire at least a part of the data held in the memory 1701b from the information communication device 1701. A specific method of acquiring the data held (stored) in the memory 1701b can be appropriately selected according to the specific configuration of the information communication device 1701. The data acquisition unit 1702 may be the same as the data acquisition unit 102 in each of the above embodiments, for example.

通信処理部1703は、情報通信装置1701と、通信ネットワーク1705との間で特定の暗号通信プロトコルに従って送受信される通信データに基づいて、当該暗号通信プロトコルにおける暗号処理に用いられる暗号鍵を含む鍵データがメモリ1701bに保持されているか否かを判定する。通信処理部1703は、当該判定した結果に基づいて、上記データ取得部に対して上記メモリに保持されたデータの取得を指示する。係る通信処理部1703は、例えば、上記各実施形態における通信処理部103と同様としてもよい。   The communication processing unit 1703, based on communication data transmitted and received between the information communication device 1701 and the communication network 1705 according to a specific encryption communication protocol, includes key data including an encryption key used for encryption processing in the encryption communication protocol. Is stored in the memory 1701b. The communication processing unit 1703 instructs the data acquisition unit to acquire the data held in the memory based on the determined result. The communication processing unit 1703 may be the same as the communication processing unit 103 in each of the above embodiments, for example.

通信処理部1703は、例えば、通信データを解析することにより、特定の暗号通信プロトコルにおいて上記暗号鍵に関する特定の条件が成立したタイミング(例えば、暗号鍵の交換が成立したタイミング等)を判定してもよい。そして、通信処理部1703は、当該タイミングにおいて、データ取得部1702に対して、メモリ1701bに保持されたデータの取得を指示してもよい。   The communication processing unit 1703 determines, for example, by analyzing the communication data, the timing when a specific condition regarding the encryption key is satisfied in a specific encryption communication protocol (for example, the timing when the encryption key exchange is established). Good. Then, the communication processing unit 1703 may instruct the data acquisition unit 1702 to acquire the data held in the memory 1701b at the timing.

以上のように構成された解析システム1700(特にはデータ取得部1702)は、情報通信装置1701と、通信ネットワーク1705との間の通信路を暗号化する暗号鍵を含むメモリ領域データを、情報通信装置1701のメモリ1701bから取得可能である。なぜならば、通信処理部1703が、当該暗号鍵を含む鍵データがメモリ1701bに保持されていると判定した場合に、データ取得部1702に対してメモリ1701bに保持されたデータの取得を指示するからである。   The analysis system 1700 (particularly the data acquisition unit 1702) configured as described above transfers the memory area data including the encryption key for encrypting the communication path between the information communication device 1701 and the communication network 1705 to the information communication. It can be obtained from the memory 1701b of the device 1701. This is because, when the communication processing unit 1703 determines that the key data including the encryption key is stored in the memory 1701b, it instructs the data acquisition unit 1702 to acquire the data stored in the memory 1701b. Is.

以上より、本実施形態における解析システム1700によれば、情報通信装置1701と、通信ネットワーク1705との間で実行される暗号通信において用いられる暗号鍵を含むデータを、情報通信装置1701のメモリ1701bから取得可能である。   As described above, according to the analysis system 1700 of this embodiment, the data including the encryption key used in the encrypted communication executed between the information communication device 1701 and the communication network 1705 is transferred from the memory 1701b of the information communication device 1701. Can be obtained.

より具体的には、本実施形態によれば、解析システム1700は、上記暗号通信データを解析することにより、上記暗号通信において用いられる暗号鍵が当該情報通信装置1701のメモリ1701bに存在するか否かを判定する。そして、解析システム1700は、当該判定結果に基づいて、当該メモリ1701bに保持されるデータを取得可能である。   More specifically, according to this embodiment, the analysis system 1700 analyzes the encrypted communication data to determine whether the encryption key used in the encrypted communication exists in the memory 1701b of the information communication device 1701. To determine. Then, the analysis system 1700 can acquire the data held in the memory 1701b based on the determination result.

<第3の実施形態>
次に、暗号鍵(たとえば、各実施形態に示されている解析システム等によって取得される暗号鍵)を用いて、通信装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを判定可能なマルウェア判定装置について説明する。図19を参照しながら、本発明の第3の実施形態に係るマルウェア判定装置431が有する構成について説明する。図19は、本発明の第3の実施形態に係るマルウェア判定装置431が有する構成を示すブロック図である。
<Third Embodiment>
Next, using the encryption key (for example, the encryption key acquired by the analysis system shown in each embodiment), it is possible to determine whether or not the communication device includes software that is likely to be malware. A detailed malware determination device will be described. The configuration of the malware determination device 431 according to the third exemplary embodiment of the present invention will be described with reference to FIG. FIG. 19: is a block diagram which shows the structure which the malware determination apparatus 431 which concerns on the 3rd Embodiment of this invention has.

本発明の第3の実施形態に係るマルウェア判定装置431は、暗号化方式特定部432と、結果情報作成部433と、判定部434とを有する。   The malware determination device 431 according to the third exemplary embodiment of the present invention includes an encryption method identification unit 432, a result information creation unit 433, and a determination unit 434.

マルウェア判定装置431は、通信方式情報435(図21に例示)、及び、暗号情報436(図22に例示)を送受信することができる。   The malware determination device 431 can send and receive the communication method information 435 (illustrated in FIG. 21) and the encryption information 436 (illustrated in FIG. 22).

図21を参照しながら、通信方式情報435について説明する。図21は、通信方式情報435の一例を概念的に表す図である。   The communication method information 435 will be described with reference to FIG. FIG. 21 is a diagram conceptually showing an example of the communication method information 435.

通信方式情報435は、通信方式と、該通信方式に従い通信する場合に用いられる符号を表す符号情報とが関連付けされた情報である。たとえば、図21に例示された符号情報においては、通信方式「https」と、符号情報「GET,POST,・・・」とが関連付けされている。これは、通信方式「https」に従い通信する場合に、符号情報「GET,POST,・・・」に含まれている「GET」、「POST」等の符号を用いて該該通信方式に従った通信処理を実現可能であることを表す。尚、通信方式情報435は、通信方式と、符号情報とを含んでいればよく、上述した例に限定されない。   The communication method information 435 is information in which a communication method and code information representing a code used when communicating according to the communication method are associated with each other. For example, in the code information illustrated in FIG. 21, the communication scheme “https” is associated with the code information “GET, POST, ...”. This is in accordance with the communication method using codes such as “GET” and “POST” included in the code information “GET, POST, ...” When communicating according to the communication method “https”. Indicates that communication processing can be realized. The communication method information 435 is not limited to the above example as long as it includes the communication method and the code information.

次に、図22を参照しながら、暗号情報436について説明する。図22は、暗号情報436の一例を概念的に表す図である。   Next, the cryptographic information 436 will be described with reference to FIG. FIG. 22 is a diagram conceptually showing an example of the encryption information 436.

暗号情報436は、暗号化方式を一意に識別可能な名称と、該暗号化方式に従った処理手順(暗号化処理手順、復号処理手順)とが関連付けされた情報である。たとえば、図22に例示された暗号情報436においては、名称「AES」と、処理手順「処理手順1」とが関連付けされている。これは、名称「AES」が表す暗号化方式に従い処理を実行する場合に、処理手順「処理手順1」に従って暗号化処理(または、復号処理)を実行可能であることを表す。尚、暗号化方式情報は、暗号化方式を識別可能な名称と、該暗号化方式に従った処理手順とを含んでいればよく、上述した例に限定されない。   The encryption information 436 is information in which a name that can uniquely identify an encryption method and a processing procedure (encryption processing procedure, decryption processing procedure) according to the encryption method are associated with each other. For example, in the encryption information 436 illustrated in FIG. 22, the name “AES” and the processing procedure “processing procedure 1” are associated with each other. This means that when the process is executed according to the encryption method represented by the name “AES”, the encryption process (or the decryption process) can be executed according to the process procedure “process procedure 1”. The encryption method information is not limited to the above example, as long as the encryption method information includes a name that can identify the encryption method and a processing procedure according to the encryption method.

次に、図20を参照しながら、第3の実施形態に係るマルウェア判定装置431における処理について説明する。図20は、第3の実施形態に係るマルウェア判定装置431における処理の流れを示すフローチャートである。   Next, with reference to FIG. 20, processing in the malware determination device 431 according to the third exemplary embodiment will be described. FIG. 20 is a flowchart showing the flow of processing in the malware determination device 431 according to the third embodiment.

マルウェア判定装置431は、たとえば、本発明の各実施形態に示した解析システムがメモリから取得する対象であるデータを入力する。各実施形態に示したように、解析システムは、たとえば、通信の際に用いられる暗号鍵に関する鍵データをメモリが格納していると判定した場合に、該メモリが格納しているデータを取得することができる。該データは、たとえば、暗号鍵を表す鍵データである。   The malware determination device 431 inputs, for example, data to be acquired from the memory by the analysis system shown in each embodiment of the present invention. As shown in each of the embodiments, for example, when the analysis system determines that the memory stores the key data related to the encryption key used in the communication, the analysis system acquires the data stored in the memory. be able to. The data is, for example, key data representing an encryption key.

暗号化方式特定部432は、通信方式(通信プロトコル)に従った通信接続を確立する場合に送受信される第1通信メッセージから、該通信方式において用いる暗号化方式を識別可能な暗号化方式情報を抽出する(ステップS431)。図13を参照しながら上述したように、たとえば、通信プロトコルがSSLプロトコルである場合に、暗号化方式に従った通信接続を確立する処理は、ハンドシェーク処理とも呼ばれる(図13における「Handshake:Client_Hello」乃至タイミング停止T2に至る処理)。ハンドシェーク処理にて送受信されたClientHelloメッセージ及びServerHelloメッセージ等の通信メッセージは、通信した際に用いられる暗号化処理に関する情報を表す暗号スイート(たとえば、図13における「ChangeCipherSpec」等)を含んでいる。暗号化方式特定部432は、たとえば、これらの通信メッセージから、該暗号スイートに含まれている暗号化方式を識別可能な暗号化方式情報(たとえば、暗号化方式の名称)を抽出する。   The encryption method identifying unit 432 provides the encryption method information that can identify the encryption method used in the communication method from the first communication message transmitted and received when establishing the communication connection according to the communication method (communication protocol). It is extracted (step S431). As described above with reference to FIG. 13, for example, when the communication protocol is the SSL protocol, the process of establishing a communication connection according to the encryption method is also called a handshake process (“Handshake: Client_Hello” in FIG. 13). Through processing to timing stop T2). Communication messages such as the ClientHello message and the ServerHello message transmitted / received in the handshake process include a cipher suite (for example, “ChangeCipherSpec” in FIG. 13) that represents information related to the encryption process used at the time of communication. The encryption method identifying unit 432 extracts, for example, encryption method information (for example, the name of the encryption method) that can identify the encryption method included in the encryption suite from these communication messages.

該ハンドシェーク処理の後に通信接続が確立され、確立された通信接続を介して、第2通信メッセージが装置間にて送受信される(図13に示された「T3」以降に示す処理)。   A communication connection is established after the handshake process, and the second communication message is transmitted and received between the devices via the established communication connection (processes after “T3” shown in FIG. 13).

結果情報作成部433は、該通信接続を介して送受信される第2通信メッセージを読み取る。第2通信メッセージは、該通信接続を確立する際に送受信された暗号スイートに従い暗号化することができる。以降の説明においては、第2通信メッセージは、該暗号スイートに従い暗号化されているとする。   The result information creation unit 433 reads the second communication message transmitted / received via the communication connection. The second communication message can be encrypted according to the cipher suite transmitted and received when establishing the communication connection. In the following description, it is assumed that the second communication message is encrypted according to the cipher suite.

結果情報作成部433は、入力したデータ(すなわち、メモリに記憶されていたデータ、たとえば、鍵データ)を用いて、第2通信メッセージを復号する復号処理を実行する(ステップS432)。この処理によって、結果情報作成部433は、該復号処理の結果を表す結果情報を作成する。結果情報は、たとえば、入力したデータを用いて復号された第2通信メッセージである。   The result information creation unit 433 uses the input data (that is, the data stored in the memory, for example, the key data) to execute the decryption process of decrypting the second communication message (step S432). Through this process, the result information creation unit 433 creates result information indicating the result of the decoding process. The result information is, for example, the second communication message decrypted using the input data.

次に、判定部434は、図21に例示されているような通信方式情報435に基づき、該通信方式情報435に関連付けされた符号情報を特定する。判定部434は、特定した該符号情報を該結果情報が含んでいるか否かを判定する(ステップS433)。判定部434は、特定した該符号情報を該結果情報が含んでいると判定する場合に(ステップS433にてYES)、該第2通信メッセージを送信した装置(たとえば、図13に示すクライアント)がマルウェアである可能性が高いソフトウェアを含んでいないと判定する。これに対して、判定部434は、特定した該符号情報を該結果情報が含んでいないと判定する場合に(ステップS433にてNO)、該第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいないと判定する(ステップS435)。   Next, the determination unit 434 identifies the code information associated with the communication method information 435 based on the communication method information 435 as illustrated in FIG. The determination unit 434 determines whether or not the result information includes the specified code information (step S433). When determining unit 434 determines that the result information includes the specified code information (YES in step S433), the device (for example, the client illustrated in FIG. 13) that has transmitted the second communication message determines Judge that it does not include software that is likely to be malware. On the other hand, when the determination unit 434 determines that the identified code information is not included in the result information (NO in step S433), the device that transmitted the second communication message may be malware. It is determined that it does not include highly probable software (step S435).

たとえば、図21に例示された通信方式情報435の場合に、判定部434は、通信プロトコル「https」に関連付けされた符号情報「GET,POST」を特定する。該通信プロトコル「https」に従い送受信する通信メッセージは、符号情報「GET」、または、符号情報「POST」等を含んでいる。この例において、判定部434は、第2通信メッセージに符号情報「GET」、または、符号情報「POST」等が含まれているか否かを判定し、いずれの符号情報も第2通信メッセージに含まれていない場合に、第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいると判定する(ステップS434)。   For example, in the case of the communication method information 435 illustrated in FIG. 21, the determination unit 434 identifies the code information “GET, POST” associated with the communication protocol “https”. The communication message transmitted / received according to the communication protocol “https” includes code information “GET”, code information “POST”, or the like. In this example, the determination unit 434 determines whether or not the second communication message includes code information “GET”, code information “POST”, or the like, and any code information is included in the second communication message. If not, it is determined that the device that has transmitted the second communication message includes software that is likely to be malware (step S434).

図20に示された処理によって、マルウェアである可能性が高いソフトウェアを含んでいるか否かを判定することができる理由について説明する。ある通信方式に従って確立された通信接続において、該通信接続を介して送受信される第2通信メッセージは、ハンドシェーク処理にて決定された暗号化方式に従って暗号化されていることが多い。該第2通信メッセージを復号することによって作成される結果情報は、第2通信メッセージに関する符号情報(たとえば、命令)を含んでいる。該結果情報が該符号情報を含んでいない場合、該結果情報の基である第2通信メッセージは、該通信方式に従っていない通信メッセージである。本願発明者は、このような場合に、該第2通信メッセージを送受信する情報処理装置(たとえば、図13に示すクライアント)がマルウェアである可能性が高いソフトウェアを含んでいる可能性が高い規則性を見出した。言い換えれば、該マルウェア判定装置431は、該規則性に従い処理を実行するので、装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを判定することができる。   The reason why the process shown in FIG. 20 can determine whether or not software that is likely to be malware is included will be described. In a communication connection established according to a certain communication method, the second communication message transmitted / received through the communication connection is often encrypted according to the encryption method determined by the handshake process. The result information created by decoding the second communication message includes code information (e.g., a command) for the second communication message. When the result information does not include the code information, the second communication message which is the basis of the result information is a communication message which does not comply with the communication method. In such a case, the inventor of the present application has a high regularity that the information processing device (for example, the client shown in FIG. 13) that transmits and receives the second communication message includes software that is likely to be malware. Found. In other words, since the malware determination device 431 executes processing according to the regularity, it is possible to determine whether or not the device includes software that is highly likely to be malware.

したがって、本実施形態に係るマルウェア判定装置431によれば、通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを、正確に判定することができる。   Therefore, the malware determination device 431 according to the present embodiment can accurately determine whether or not the device that has transmitted the communication message includes software that is likely to be malware.

さらに、マルウェア判定装置431は、ソフトウェアを解析するツール、または、サンドボックス等を有していない。したがって、特許文献11、または、特許文献12に開示されているような技術を用いた場合に検知できないようなマルウェア(たとえば、サンドボックス、または、該ツールを検知することで処理が変わるマルウェア)に対しても、本実施形態に係るマルウェア判定装置431によれば検知することができる。   Furthermore, the malware determination device 431 does not have a tool for analyzing software, a sandbox, or the like. Therefore, the malware cannot be detected when the technology disclosed in Patent Document 11 or Patent Document 12 is used (for example, a sandbox or malware whose processing is changed by detecting the tool). On the other hand, the malware determination device 431 according to the present embodiment can detect the malware.

説明の便宜上、第3の実施形態において、マルウェア判定装置431は、通信メッセージ(第1通信メッセージ、または、第2通信メッセージ)を受信した場合に、図20に示されたような処理を実行するとした。しかし、マルウェア判定装置431は、図6に例示されているような通信データ保持部103fに格納されている通信データから通信メッセージ(たとえば、列「記録データ603」に示すデータ)を読み取ることによって、図20に示された処理を実行してもよい。以降に示す本発明の各実施形態においても同様に、記録データ603等に格納されている通信メッセージに対して処理が実行されてもよい。   For convenience of explanation, in the third embodiment, when the malware determination device 431 receives the communication message (the first communication message or the second communication message), it executes the process shown in FIG. did. However, the malware determination device 431 reads the communication message (for example, the data shown in the column “record data 603”) from the communication data stored in the communication data holding unit 103f as illustrated in FIG. You may perform the process shown by FIG. Similarly, in each of the embodiments of the present invention described below, the processing may be performed on the communication message stored in the record data 603 or the like.

<第4の実施形態>
次に、上述した第3の実施形態を基本とする本発明の第4の実施形態について説明する。
<Fourth Embodiment>
Next, a fourth embodiment of the present invention based on the above-described third embodiment will be described.

以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第3の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。   In the following description, the characteristic part according to the present embodiment will be mainly described, and the same configurations as those of the third embodiment described above will be denoted by the same reference numerals to omit redundant description. To do.

図23を参照しながら、本発明の第4の実施形態に係るマルウェア判定装置441が有する構成について詳細に説明する。図23は、本発明の第4の実施形態に係るマルウェア判定装置441が有する構成を示すブロック図である。   The configuration of the malware determination device 441 according to the fourth exemplary embodiment of the present invention will be described in detail with reference to FIG. FIG. 23 is a block diagram showing the configuration of the malware determination device 441 according to the fourth embodiment of the present invention.

本発明の第4の実施形態に係るマルウェア判定装置441は、暗号化方式特定部432と、結果情報作成部433と、判定部444とを有する。   The malware determination device 441 according to the fourth exemplary embodiment of the present invention includes an encryption method identification unit 432, a result information creation unit 433, and a determination unit 444.

マルウェア判定装置441は、通信方式情報435(図21に例示)、及び、暗号情報436(図22に例示)を送受信することができる。   The malware determination device 441 can send and receive the communication method information 435 (illustrated in FIG. 21) and the encryption information 436 (illustrated in FIG. 22).

次に、図24を参照しながら、第4の実施形態に係るマルウェア判定装置441における処理について説明する。図24は、第4の実施形態に係るマルウェア判定装置441における処理の流れを示すフローチャートである。   Next, with reference to FIG. 24, processing in the malware determination device 441 according to the fourth exemplary embodiment will be described. FIG. 24 is a flowchart showing the flow of processing in the malware determination device 441 according to the fourth embodiment.

暗号化方式特定部432は、図20のステップS431に示した処理と同様の処理を実行することによって、暗号化方式を抽出する。結果情報作成部433は、図20のステップS432に示した処理と同様の処理を実行することによって、結果情報を作成する。   The encryption method identifying unit 432 extracts the encryption method by performing the same processing as the processing shown in step S431 of FIG. The result information creation unit 433 creates result information by executing the same processing as the processing shown in step S432 of FIG.

判定部444は、結果情報に含まれているデータがばらついている度合いを表すばらつき度合いを算出する(ステップS443)。ばらつき度合いは、たとえば、ある文字が結果情報に出現する頻度を算出し、算出した頻度の分散を算出することによって算出することができる。あるいは、ばらつき度合いは、ある文字が結果情報に出現する頻度を算出し、算出した頻度のエントロピーを算出することによって算出することができる。尚、ばらつき度合いは、上述した例に限定されない。   The determination unit 444 calculates a variation degree indicating the degree of variation in the data included in the result information (step S443). The variation degree can be calculated, for example, by calculating the frequency of appearance of a character in the result information and calculating the variance of the calculated frequencies. Alternatively, the degree of variation can be calculated by calculating the frequency with which a character appears in the result information and calculating the entropy of the calculated frequency. The degree of variation is not limited to the above example.

次に、判定部444は、算出したばらつき度合いが所定の基準を満たしているか否かを判定する(ステップS444)。判定部444は、たとえば、ばらつき度合いが、所定の閾値以上であるか否かを判定することによって、所定の基準を満たしているか否かを判定する。判定部444は、ばらつき度合いが所定の閾値よりも大きな値である(すなわち、ばらつき度合いが基準を満たす)場合に(ステップS444にてYES)、第2通信メッセージを送信した装置が、マルウェアである可能性が高いソフトウェアを含んでいると判定する(ステップS434)。判定部444は、ばらつき度合いが所定の閾値未満である(すなわち、ばらつき度合いが基準を満たさない)場合に(ステップS444にてNO)、第2通信メッセージを送信した装置が、マルウェアである可能性が高いソフトウェアを含んでいないと判定する(ステップS435)。   Next, the determination unit 444 determines whether or not the calculated degree of variation satisfies a predetermined standard (step S444). The determining unit 444 determines whether or not the degree of variation satisfies a predetermined criterion, for example, by determining whether or not the degree of variation is equal to or greater than a predetermined threshold. If the variation degree is a value larger than the predetermined threshold value (that is, the variation degree satisfies the criterion) (YES in step S444), the determination unit 444 transmits the second communication message to the device as malware. It is determined that the software that has a high possibility is included (step S434). If the variation degree is less than the predetermined threshold value (that is, the variation degree does not satisfy the criterion) (NO in step S444), the determination unit 444 may determine that the device that has transmitted the second communication message is malware. Is not included in the high software (step S435).

図24に示された処理によって、マルウェアである可能性が高いソフトウェアを含んでいるか否かを判定することができる理由について説明する。ある通信方式に従って確立された通信接続において、該通信接続を介して送受信される第2通信メッセージは、ハンドシェーク処理にて決定された暗号化方式に従って暗号化されていることが多い。該第2通信メッセージに対して復号処理することによって作成される結果情報は、図21に示したような符号情報が含まれていることが多い。この場合には、結果情報が特定の符号情報を含んでいるので、該結果情報のばらつき度合いが小さくなることが多い。しかし、本願発明者は、該結果情報に関するばらつき度合いが大きい場合には、たとえば、結果情報が暗号化されている(すなわち、2重に暗号化されている)可能性が高く、さらに、このときには、該結果情報の基である第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいる可能性が高い規則性を見出した。言い換えれば、該マルウェア判定装置441は、該規則性に従い処理を実行するので、装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを判定することができる。   The reason why the processing shown in FIG. 24 can determine whether or not software that is likely to be malware is included will be described. In a communication connection established according to a certain communication method, the second communication message transmitted / received through the communication connection is often encrypted according to the encryption method determined by the handshake process. The result information created by decoding the second communication message often includes code information as shown in FIG. In this case, since the result information includes specific code information, the degree of variation in the result information is often small. However, the inventor of the present application has a high possibility that, for example, the result information is encrypted (that is, doubly encrypted) when the degree of variation in the result information is large. , And found that there is a high possibility that the device that transmitted the second communication message, which is the basis of the result information, includes software that is highly likely to be malware. In other words, since the malware determination device 441 executes processing according to the regularity, it is possible to determine whether or not the device includes software that is highly likely to be malware.

したがって、本実施形態に係るマルウェア判定装置441によれば、通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを、正確に判定することができる。   Therefore, the malware determination device 441 according to the present embodiment can accurately determine whether or not the device that has transmitted the communication message includes software that is likely to be malware.

<第5の実施形態>
次に、上述した第3の実施形態を基本とする本発明の第5の実施形態について説明する。
<Fifth Embodiment>
Next, a fifth embodiment of the present invention based on the above-described third embodiment will be described.

以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第4の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。   In the following description, the characteristic part according to the present embodiment will be mainly described, and the same configurations as those in the above-described fourth embodiment will be denoted by the same reference numerals, and redundant description will be omitted. To do.

図25を参照しながら、本発明の第5の実施形態に係るマルウェア判定装置451が有する構成について詳細に説明する。図25は、本発明の第5の実施形態に係るマルウェア判定装置451が有する構成を示すブロック図である。   The configuration of the malware determination device 451 according to the fifth exemplary embodiment of the present invention will be described in detail with reference to FIG. FIG. 25: is a block diagram which shows the structure which the malware determination apparatus 451 which concerns on the 5th Embodiment of this invention has.

本発明の第5の実施形態に係るマルウェア判定装置451は、暗号化方式特定部432と、結果情報作成部433と、判定部454とを有する。   The malware determination device 451 according to the fifth exemplary embodiment of the present invention includes an encryption method identification unit 432, a result information creation unit 433, and a determination unit 454.

マルウェア判定装置451は、通信方式情報435(図21に例示)、及び、暗号情報436(図22に例示)を送受信することができる。   The malware determination device 451 can send and receive the communication method information 435 (illustrated in FIG. 21) and the encryption information 436 (illustrated in FIG. 22).

次に、図26を参照しながら、第5の実施形態に係るマルウェア判定装置451における処理について説明する。図26は、第5の実施形態に係るマルウェア判定装置451における処理の流れを示すフローチャートである。   Next, the processing in the malware determination device 451 according to the fifth embodiment will be described with reference to FIG. FIG. 26 is a flowchart showing the flow of processing in the malware determination device 451 according to the fifth embodiment.

暗号化方式特定部432は、図20のステップS431に示した処理と同様の処理を実行することによって、暗号化方式を抽出する。結果情報作成部433は、図20のステップS431に示した処理と同様の処理を実行することによって、結果情報を作成する。   The encryption method identifying unit 432 extracts the encryption method by performing the same processing as the processing shown in step S431 of FIG. The result information creation unit 433 creates result information by executing the same processing as the processing shown in step S431 of FIG.

判定部454は、結果情報に含まれているデータがばらついている度合いを表すばらつき度合いを算出する(ステップS443)。判定部454は、算出したばらつき度合いが所定の基準を満たしているか否かを判定する(ステップS444)。判定部454は、ばらつき度合いが基準を満たしている場合に(ステップS444にてYES)、第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいると判定する(ステップS434)。判定部454は、ばらつき度合いが基準を満たしていない場合に(ステップS444にてNO)、図21に例示されているような通信方式情報435に基づき、該通信接続の通信方式に関連付けされた符号情報を特定する。   The determination unit 454 calculates the degree of variation indicating the degree of variation in the data included in the result information (step S443). The determination unit 454 determines whether or not the calculated degree of variation satisfies a predetermined standard (step S444). When the degree of variation satisfies the criterion (YES in step S444), the determination unit 454 determines that the device that has transmitted the second communication message contains software that is likely to be malware (step S434). ). When the degree of variation does not satisfy the criterion (NO in step S444), the determination unit 454 determines the code associated with the communication method of the communication connection based on the communication method information 435 illustrated in FIG. Identify the information.

判定部454は、ステップS432にて算出した結果情報が該符号情報を含んでいるか否かを判定する(ステップS455)。ステップS455に関する具体的な処理は、図20におけるステップS433に関する処理と同様の処理であるので、ここでは詳細な説明を省略する。   The determination unit 454 determines whether the result information calculated in step S432 includes the code information (step S455). The specific processing regarding step S455 is the same as the processing regarding step S433 in FIG. 20, and thus detailed description thereof is omitted here.

判定部454は、該結果情報が該符号情報を含んでいると判定する場合に(ステップS455にてYES)、該第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいないと判定する(ステップS435)。これに対して、判定部454は、特定した該符号情報を該結果情報が含んでいないと判定する場合に(ステップS455にてNO)、該第2通信メッセージである可能性が高いソフトウェアを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいないと判定する(ステップS434)。   When the determination unit 454 determines that the result information includes the code information (YES in step S455), the determination unit 454 includes software that has a high possibility that the device that transmitted the second communication message is malware. It is determined that there is not (step S435). On the other hand, when the determining unit 454 determines that the specified code information is not included in the result information (NO in step S455), the determination unit 454 transmits software that is likely to be the second communication message. The determined device does not include software that is likely to be malware (step S434).

次に、第5の実施形態に係るマルウェア判定装置451に関する効果について説明する。   Next, effects of the malware determination device 451 according to the fifth embodiment will be described.

第5の実施形態に係るマルウェア判定装置451によれば、第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを、正確に判定することができる。この理由は、第5の実施形態に係るマルウェア判定装置451が、第4の実施形態に係るマルウェア判定装置441を含んでいるからである。   The malware determination device 451 according to the fifth embodiment can accurately determine whether or not the device that has transmitted the second communication message includes software that is highly likely to be malware. The reason is that the malware determination device 451 according to the fifth embodiment includes the malware determination device 441 according to the fourth embodiment.

第5の実施形態に係るマルウェア判定装置451によれば、通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを、より一層、正確に判定することができる。この理由は、判定部454が、ばらつき度合いに関する判定結果、及び、符号情報に関する判定結果なる2つの判定結果に基づいて、第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを判定しているからである。   According to the malware determination apparatus 451 according to the fifth embodiment, it is possible to determine more accurately whether or not the apparatus that has transmitted the communication message includes software that is likely to be malware. The reason is that the determination unit 454 includes software that has a high possibility that the device that has transmitted the second communication message is malware based on the two determination results that are the determination result regarding the variation degree and the determination result regarding the code information. This is because it is determined whether or not

<ハードウェア及びソフトウェア・プログラム(コンピュータ・プログラム)の構成>
以下、上記説明した各実施形態を実現可能なハードウェア構成について説明する。
<Structure of hardware and software program (computer program)>
Hereinafter, a hardware configuration capable of realizing each of the above-described embodiments will be described.

以下の説明において、上記各実施形態において説明した解析システム(符号100、符号1700)をまとめて、単に「解析システム」と称する場合がある。また、当該解析システムの各構成要素(例えば、データ取得部(符号102、符号1702)、通信処理部(符号103、符号1703)、暗号解析部(符号104)をまとめて、単に「解析システムの構成要素」と称する場合がある。   In the following description, the analysis system (reference numeral 100, reference numeral 1700) described in each of the above-mentioned embodiments may be collectively referred to simply as “analysis system”. In addition, each component of the analysis system (for example, the data acquisition unit (reference numeral 102, reference numeral 1702), the communication processing unit (reference numeral 103, reference numeral 1703), and the cryptographic analysis unit (reference numeral 104) is collectively referred to simply as “the analysis system It may be referred to as a “component”.

上記したように、上記各実施形態において説明した解析システム、または、マルウェア判定装置は、単体の装置(例えば、物理的な情報処理装置や、仮想的な情報処理装置等)により実現されてもよい。また、上記各実施形態において説明した解析システム、または、マルウェア判定装置は、物理的あるいは論理的に離間した複数の装置(物理的な情報処理装置や、仮想的な情報処理装置)等を組み合わせることにより実現されてもよい。   As described above, the analysis system or the malware determination device described in each of the above embodiments may be realized by a single device (for example, a physical information processing device or a virtual information processing device). .. In addition, the analysis system or the malware determination device described in each of the above embodiments is a combination of a plurality of devices (physical information processing device or virtual information processing device) that are physically or logically separated from each other. May be realized by

より具体的には、上記各実施形態において説明した解析システム、または、マルウェア判定装置は、専用のハードウェア装置を用いて構成されてもよい。その場合、上記各図に示した各構成要素は、一部又は全部を統合したハードウェア(処理ロジックを実装した集積回路等)として実現されてもよい。   More specifically, the analysis system or the malware determination device described in each of the above embodiments may be configured using a dedicated hardware device. In that case, each component shown in each of the above drawings may be realized as hardware in which a part or all of the components are integrated (an integrated circuit in which a processing logic is mounted).

例えば、各構成要素をハードウェアにより実現する場合、各構成要素は、それぞれの機能を提供可能な集積回路をSoC(System−on−a−chip)等により実装されてもよい。この場合、例えば、各構成要素が保持するデータは、SoCとして統合されたRAM領域やフラッシュメモリ領域に記憶されてもよい。   For example, when each component is realized by hardware, each component may be implemented by an SoC (System-on-a-chip) or the like that is an integrated circuit capable of providing each function. In this case, for example, the data held by each component may be stored in the RAM area or flash memory area integrated as the SoC.

また、この場合、各構成要素を接続する通信回線としては、周知の通信バスを採用してもよい。また、各構成要素を接続する通信回線はバス接続に限らず、それぞれの構成要素間をピアツーピアで接続してもよい。   Further, in this case, a well-known communication bus may be adopted as the communication line connecting the respective constituent elements. Further, the communication line connecting each component is not limited to the bus connection, and each component may be connected peer-to-peer.

また、上述した解析システム、あるいは、当解析システムの構成要素は、図18に例示するようなハードウェアと、係るハードウェアによって実行される各種ソフトウェア・プログラム(コンピュータ・プログラム)とによって構成されてもよい。   Further, the above-described analysis system or the components of this analysis system may be configured by hardware as illustrated in FIG. 18 and various software programs (computer programs) executed by the hardware. Good.

図18における演算装置1801は、汎用のCPUやマイクロプロセッサ等の演算処理装置である。演算装置1801は、例えば後述する不揮発性記憶装置1803に記憶された各種ソフトウェア・プログラムを記憶装置1802に読み出し、係るソフトウェア・プログラムに従って処理を実行してもよい。   The arithmetic unit 1801 in FIG. 18 is an arithmetic processing unit such as a general-purpose CPU or a microprocessor. The arithmetic device 1801 may read various software programs stored in, for example, a nonvolatile storage device 1803, which will be described later, into the storage device 1802, and execute processing according to the software programs.

記憶装置1802は、演算装置1801から参照可能な、RAM(Random Access Memory)等のメモリ装置であり、ソフトウェア・プログラムや各種データ等を記憶する。なお、記憶装置1802は、揮発性のメモリ装置であってもよい。   The storage device 1802 is a memory device such as a RAM (Random Access Memory) that can be referred to by the arithmetic device 1801 and stores software programs, various data, and the like. The storage device 1802 may be a volatile memory device.

不揮発性記憶装置1803は、例えば磁気ディスクドライブや、フラッシュメモリによる半導体記憶装置のような、不揮発性の記憶装置である。不揮発性記憶装置1803は、各種ソフトウェア・プログラムやデータ等を記憶可能である。   The non-volatile storage device 1803 is a non-volatile storage device such as a magnetic disk drive or a semiconductor storage device using a flash memory. The non-volatile storage device 1803 can store various software programs, data, and the like.

ネットワークインタフェース1806は、通信ネットワークに接続するインタフェース装置であり、例えば有線及び無線のLAN(Local Area Network)接続用インタフェース装置等を採用してもよい。   The network interface 1806 is an interface device that connects to a communication network, and may be, for example, a wired and wireless LAN (Local Area Network) connection interface device.

例えば、上記各実施形態における解析システム、解析システムの構成要素、または、マルウェア判定装置は、解析対象装置101、情報通信装置1701、及び、通信ネットワーク(105、1705)と、当該ネットワークインタフェース1806を用いて、通信可能に接続されている。   For example, the analysis system, the components of the analysis system, or the malware determination device in each of the above-described embodiments uses the analysis target device 101, the information communication device 1701, the communication network (105, 1705), and the network interface 1806. Connected so that they can communicate.

なお、上記各実施形態における解析システムあるいは解析システムの構成要素(特に、通信処理部(103、1703))は、ネットワークインタフェース1806を複数備えてもよい。この場合、例えば、特定のネットワークインタフェース1806が解析対象装置101、あるいは情報通信装置1701と接続され、他のネットワークインタフェース1806が通信ネットワーク(105、1705)と接続されてもよい。   The analysis system or the components of the analysis system (in particular, the communication processing units (103, 1703)) in each of the above embodiments may include a plurality of network interfaces 1806. In this case, for example, a specific network interface 1806 may be connected to the analysis target device 101 or the information communication device 1701, and another network interface 1806 may be connected to the communication network (105, 1705).

ドライブ装置1804は、例えば、後述する記録媒体1805に対するデータの読み込みや書き込みを処理する装置である。   The drive device 1804 is, for example, a device that processes reading and writing of data with respect to a recording medium 1805 described later.

記録媒体1805は、例えば光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。   The recording medium 1805 is any recording medium capable of recording data, such as an optical disc, a magneto-optical disc, and a semiconductor flash memory.

入出力インタフェース1807は、外部装置との間の入出力を制御する装置である。例えば、解析システムのユーザあるいは管理者は、当該入出力インタフェースを介して接続された各種入出力装置(例えば、キーボード、マウス、ディスプレイ装置、プリンタ等)を用いて、解析システムに対して各種操作の指示等を入力してもよい。   The input / output interface 1807 is a device that controls input / output with an external device. For example, a user or administrator of the analysis system can perform various operations on the analysis system by using various input / output devices (for example, keyboard, mouse, display device, printer, etc.) connected through the input / output interface. You may input instructions etc.

上述した各実施形態を例に説明した本発明においては、例えば、図18に例示したハードウェア装置により解析システム又はその構成要素が構成されてもよい。そして、本発明においては、係るハードウェア装置に対して、上記各実施形態において説明した機能を実現可能なソフトウェア・プログラムが供給されてもよい。この場合、係る装置に対して供給したソフトウェア・プログラムを、演算装置1801が実行することによって、本願発明が実現されてもよい。   In the present invention described by taking the above-described respective embodiments as examples, for example, the analysis system or the constituent elements thereof may be configured by the hardware device illustrated in FIG. 18. Further, in the present invention, a software program capable of realizing the functions described in the above embodiments may be supplied to the hardware device. In this case, the invention of the present application may be realized by the arithmetic device 1801 executing the software program supplied to the device.

上述した各実施形態において、上記各図(例えば、図1、図17、図19、図23、図25等)に示した各部は、上述したハードウェアにより実行されるソフトウェア・プログラムの機能(処理)単位である、ソフトウェアモジュールとして実現することができる。但し、これらの図面に示した各ソフトウェアモジュールの区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。   In each of the above-described embodiments, each unit illustrated in each of the above-described drawings (for example, FIG. 1, FIG. 17, FIG. 19, FIG. 23, FIG. 25, etc.) is a function (processing ) Unit, which can be realized as a software module. However, the division of each software module shown in these drawings is a configuration for convenience of description, and various configurations can be assumed when mounting.

例えば、図1、及び、図17に例示した各部をソフトウェアモジュールとして実現する場合、これらのソフトウェアモジュールを不揮発性記憶装置1803に記憶しておき、演算装置1801がそれぞれの処理を実行する際に、これらのソフトウェアモジュールを記憶装置1802に読み出すよう構成してもよい。   For example, when each unit illustrated in FIG. 1 and FIG. 17 is implemented as a software module, these software modules are stored in the non-volatile storage device 1803, and when the arithmetic device 1801 executes each processing, These software modules may be read into the storage device 1802.

また、これらのソフトウェアモジュール間は、共有メモリやプロセス間通信等の適宜の方法により、相互に各種データを伝達できるように構成してもよい。このような構成により、これらのソフトウェアモジュール間は、相互に通信可能に接続可能である。   Also, between these software modules, various data may be mutually transmitted by an appropriate method such as shared memory or inter-process communication. With such a configuration, these software modules can be connected to be able to communicate with each other.

更に、上記各ソフトウェア・プログラムは記録媒体1805に記録されてもよい。この場合、上記通信装置等の出荷段階、あるいは運用段階等において、適宜ドライブ装置1804を通じて当該ソフトウェア・プログラムが不揮発性記憶装置1803に格納されるよう構成されてもよい。   Further, each of the above software programs may be recorded in the recording medium 1805. In this case, the software program may be appropriately stored in the non-volatile storage device 1803 through the drive device 1804 at the shipping stage or the operation stage of the communication device or the like.

また、上記解析システムの構成要素をソフトウェア・プログラムとして実現する場合、上記各実施形態において説明した、以下の各構成要素に関する各種データは、適切なファイルシステムや、データベース等を用いて、不揮発性記憶装置1803に記憶されてもよい。係る構成要素には、メモリダンプ保持部102a、鍵データ取得ポリシ103c、通信データ記録ポリシ103e、通信データ保持部103f、鍵候補判定情報104b、鍵候補保持部104c、解析結果判定情報104e、解析結果保持部104f等が含まれる。   Further, when the constituent elements of the analysis system are realized as a software program, various data relating to the following respective constituent elements described in the above embodiments are stored in a nonvolatile memory by using an appropriate file system, a database, or the like. It may be stored in the device 1803. The constituent elements include the memory dump holding unit 102a, the key data acquisition policy 103c, the communication data recording policy 103e, the communication data holding unit 103f, the key candidate determination information 104b, the key candidate holding unit 104c, the analysis result determination information 104e, and the analysis result. The holding unit 104f and the like are included.

なお、上記の場合において、上記解析システムへの各種ソフトウェア・プログラムの供給方法は、出荷前の製造段階、あるいは出荷後のメンテナンス段階等において、適当な治具を利用して当該装置内にインストールする方法を採用してもよい。また、各種ソフトウェア・プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等のように、現在では一般的な手順を採用してもよい。   In the above case, the method of supplying various software programs to the analysis system is installed in the apparatus by using an appropriate jig at the manufacturing stage before shipment or the maintenance stage after shipment. A method may be adopted. Further, as a method of supplying various software programs, a general procedure may be adopted at present, such as a method of downloading from the outside through a communication line such as the Internet.

そして、このような場合において、本発明は、係るソフトウェア・プログラムを構成するコード、あるいは係るコードが記録されたところの、コンピュータ読み取り可能な記録媒体によって構成されると捉えることができる。   Then, in such a case, the present invention can be considered to be configured by a code configuring the software program or a computer-readable recording medium in which the code is recorded.

また、上述した解析システム、当解析システム、または、マルウェア判定装置の構成要素は、図18に例示するハードウェア装置を仮想化した仮想化環境と、当該仮想化環境において実行される各種ソフトウェア・プログラム(コンピュータ・プログラム)とによって構成されてもよい。この場合、図18に例示するハードウェア装置の構成要素は、当該仮想化環境における仮想デバイスとして提供される。なお、この場合も、図18に例示するハードウェア装置を物理的な装置として構成した場合と同様の構成にて、本発明を実現可能である。   The components of the analysis system, the analysis system, or the malware determination device described above are a virtual environment in which the hardware device illustrated in FIG. 18 is virtualized, and various software programs executed in the virtualized environment. (Computer program). In this case, the components of the hardware device illustrated in FIG. 18 are provided as virtual devices in the virtualization environment. Also in this case, the present invention can be realized with the same configuration as that when the hardware device illustrated in FIG. 18 is configured as a physical device.

以上、本発明を、上述した模範的な実施形態に適用した例として説明した。しかし、本発明の技術的範囲は、上述した各実施形態に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。また、係る実施形態の組み合わせも、本発明の技術的範囲に含まれる。そしてこのことは、請求の範囲に記載した事項から明らかである。   The present invention has been described above as an example applied to the exemplary embodiment described above. However, the technical scope of the present invention is not limited to the scope described in each of the above-described embodiments. It is obvious to those skilled in the art that various changes or improvements can be added to the embodiment. That is, the present invention can apply various aspects that can be understood by those skilled in the art within the scope of the present invention. In such a case, new embodiments with such changes or improvements may be included in the technical scope of the present invention. A combination of such embodiments is also included in the technical scope of the present invention. And this is clear from the matters described in the claims.

本発明は、例えば、情報通信装置の開発及び運用段階における通信処理の解析や、情報通信装置において実行される各種プログラムの通信処理の解析等に適用可能である。より具体的には、本発明は、例えば、情報通信装置において各種プログラムが実行する不正な通信処理を検査し、通信処理の内容に応じて適切な処理を実行する、検査システム等に適用可能である。   INDUSTRIAL APPLICABILITY The present invention is applicable to, for example, analysis of communication processing in the development and operation stages of an information communication apparatus, analysis of communication processing of various programs executed in the information communication apparatus, and the like. More specifically, the present invention is applicable to, for example, an inspection system that inspects an unauthorized communication process executed by various programs in an information communication device, and executes an appropriate process according to the content of the communication process. is there.

100 解析システム
101 解析対象装置
102 データ取得部
103 通信処理部
104 暗号解析部
105 通信ネットワーク
106 通信路
107 他の情報通信装置
1700 解析システム
1701 情報通信装置
1702 データ取得部
1703 通信処理部
1705 通信ネットワーク
1801 演算装置
1802 記憶装置
1803 不揮発性記憶装置
1804 ドライブ装置
1805 記録媒体
1806 ネットワークインタフェース
1807 入出力インタフェース
431 マルウェア判定装置
432 暗号化方式特定部
433 結果情報作成部
434 判定部
435 通信方式情報
436 暗号情報
444 判定部
454 判定部
441 マルウェア判定装置
451 マルウェア判定装置
100 analysis system 101 analysis target device 102 data acquisition unit 103 communication processing unit 104 encryption analysis unit 105 communication network 106 communication path 107 other information communication device 1700 analysis system 1701 information communication device 1702 data acquisition unit 1703 communication processing unit 1705 communication network 1801 Arithmetic device 1802 Storage device 1803 Nonvolatile storage device 1804 Drive device 1805 Recording medium 1806 Network interface 1807 Input / output interface 431 Malware determination device 432 Encryption method identification unit 433 Result information creation unit 434 Determination unit 435 Communication method information 436 Encryption information 444 Determination Part 454 Judgment Unit 441 Malware Judging Device 451 Malware Judgment Device

Claims (10)

通信方式に従った通信接続を確立しようとする際に送受信された第1通信メッセージから、前記通信接続にて用いる暗号化方式を識別可能な暗号化方式情報を抽出する暗号化方式特定手段と、
抽出した前記暗号化方式情報が表す暗号化方式に応じた復号方式に従い、確立された前記通信接続にて送受信された第2通信メッセージを、暗号鍵情報を用いて復号処理することによって、前記第2通信メッセージが復号処理された結果を表す結果情報を作成する結果情報作成手段と、
前記結果情報が、前記通信方式に従った通信処理を実現している符号情報を含んでいるか否かに応じて第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを判定する判定手段と
を備えるマルウェア判定装置。
An encryption method specifying unit for extracting encryption method information capable of identifying an encryption method used in the communication connection from a first communication message transmitted / received when an attempt is made to establish a communication connection according to the communication method,
According to the decryption method corresponding to the encryption method represented by the extracted encryption method information, the second communication message transmitted / received through the established communication connection is decrypted by using the encryption key information to obtain the second communication message. 2 result information creating means for creating result information representing the result of decoding processing of the communication message,
Whether the device that has transmitted the second communication message contains software that is likely to be malware depending on whether or not the result information includes code information that realizes communication processing according to the communication method A malware determination device comprising: a determination unit that determines whether or not the malware is determined.
通信方式に従った通信接続を確立しようとする際に送受信された第1通信メッセージから、前記通信接続にて用いる暗号化方式を識別可能な暗号化方式情報を抽出する暗号化方式特定手段と、
抽出した前記暗号化方式情報が表す暗号化方式に応じた復号方式に従い、確立された前記通信接続にて送受信された第2通信メッセージを、暗号鍵情報を用いて復号処理することによって、前記第2通信メッセージが復号処理された結果を表す結果情報を作成する結果情報作成手段と、
前記結果情報に含まれているデータがばらついている度合いを表すばらつき度合いを算出し、算出した前記ばらつき度合いが所定の基準を満たすか否かに応じて、前記第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを判定し、前記ソフトウェアを含んでいないと判定する場合に、さらに、抽出した前記暗号化方式情報に関連付けされた符号情報を、前記結果情報が含んでいるか否かに応じて、前記第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを判定する判定手段と
を備えるマルウェア判定装置。
An encryption method specifying unit for extracting encryption method information capable of identifying an encryption method used in the communication connection from a first communication message transmitted / received when an attempt is made to establish a communication connection according to the communication method,
According to the decryption method corresponding to the encryption method represented by the extracted encryption method information, the second communication message transmitted / received through the established communication connection is decrypted by using the encryption key information to obtain the second communication message. 2 result information creating means for creating result information representing the result of decoding processing of the communication message,
A device that transmits the second communication message calculates a degree of variation representing a degree of variation of the data included in the result information, and determines whether the calculated degree of variation satisfies a predetermined criterion. When it is determined whether or not software that is likely to be malware is included, and when it is determined that the software is not included, the code information associated with the extracted encryption method information is added to the result. A malware determination device, which determines whether or not the device that has transmitted the second communication message includes software that is likely to be malware, depending on whether or not the information includes the information .
送受信された前記第1通信メッセージが、前記装置の通信対象である対象装置が有するメモリに格納されている期間内に、前記暗号鍵情報が前記メモリに格納されているか否かを判定し、前記暗号鍵情報が前記メモリに格納されていると判定した場合に、前記メモリから少なくとも前記暗号鍵情報を含むデータを取得する取得指示を前記対象装置に送信する通信処理手段
をさらに備え、
前記結果情報作成手段は、前記取得指示に応じて取得された前記データ内の前記暗号鍵情報に基づき、前記結果情報を作成する
請求項1または請求項2に記載のマルウェア判定装置。
The first communication message transmitted and received determines whether or not the encryption key information is stored in the memory within a period in which the target device that is a communication target of the device has stored in the memory, Further comprising communication processing means for transmitting, to the target device, an acquisition instruction for acquiring data including at least the encryption key information from the memory when it is determined that the encryption key information is stored in the memory,
The result information creating means creates the result information based on the encryption key information in the data acquired in response to the acquisition instruction.
The malware determination device according to claim 1 or 2 .
前記通信処理手段は、前記暗号鍵情報が前記メモリに格納されていると判定した場合に、前記第1通信メッセージを送受信する通信を停止する停止指示を、前記装置と、前記対象装置との間における通信を制御している通信制御装置に送信し、その後、前記取得指示を送信し、前記暗号鍵情報を含むデータを前記対象装置から取得した後に、停止していた前記通信を再開する再開指示を前記通信制御装置に送信し、
前記結果情報作成手段は、前記通信処理手段が取得した前記暗号鍵情報を含むデータに基づき、前記結果情報を作成する
請求項3に記載のマルウェア判定装置。
When the communication processing unit determines that the encryption key information is stored in the memory, the communication processing unit issues a stop instruction to stop communication for transmitting and receiving the first communication message between the device and the target device. To the communication control device that controls the communication in step 1, then transmits the acquisition instruction, acquires data including the encryption key information from the target device, and then restarts the communication that has been stopped. To the communication control device,
The result information creating means creates the result information based on the data including the encryption key information acquired by the communication processing means.
The malware determination device according to claim 3 .
前記通信処理手段は、前記第1通信メッセージが、前記通信方式における前記暗号鍵情報に関する通信が終了したことを表すメッセージ、及び、暗号通信を開始することを表すメッセージのうち少なくとも一方である場合に、前記暗号鍵情報が前記メモリに格納されていると判定する
請求項3または請求項4に記載のマルウェア判定装置。
The communication processing means, when the first communication message is at least one of a message indicating that communication regarding the encryption key information in the communication method has ended and a message indicating that encrypted communication is started. , Determine that the encryption key information is stored in the memory
The malware determination device according to claim 3 or 4 .
前記通信処理手段は、前記第1通信メッセージが、前記暗号化方式に従った通信を開始することを表すメッセージである場合に、前記暗号鍵情報が前記メモリに格納されていると判定する
請求項3または請求項4に記載のマルウェア判定装置。
The communication processing means determines that the encryption key information is stored in the memory when the first communication message is a message indicating that communication according to the encryption method is started.
The malware determination device according to claim 3 or 4 .
通信方式に従った通信接続を確立しようとする際に送受信された第1通信メッセージから、前記通信接続にて用いる暗号化方式を識別可能な暗号化方式情報を抽出し、
抽出した前記暗号化方式情報が表す暗号化方式に応じた復号方式に従い、確立された前記通信接続にて送受信された第2通信メッセージを、暗号鍵情報を用いて復号処理することによって、前記第2通信メッセージが復号処理された結果を表す結果情報を作成し、
前記結果情報が、前記通信方式に従った通信処理を実現している符号情報を含んでいるか否かに応じて第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを判定するマルウェア判定方法。
From the first communication message transmitted and received when attempting to establish a communication connection according to the communication method, extract encryption method information that can identify the encryption method used in the communication connection,
According to the decryption method corresponding to the encryption method represented by the extracted encryption method information, the second communication message transmitted / received through the established communication connection is decrypted by using the encryption key information to obtain the second communication message. 2 Create result information indicating the result of decryption processing of the communication message,
Whether the device that has transmitted the second communication message contains software that is likely to be malware depending on whether or not the result information includes code information that realizes communication processing according to the communication method Malware determination method to determine whether or not .
通信方式に従った通信接続を確立しようとする際に送受信された第1通信メッセージから、前記通信接続にて用いる暗号化方式を識別可能な暗号化方式情報を抽出し、
抽出した前記暗号化方式情報が表す暗号化方式に応じた復号方式に従い、確立された前記通信接続にて送受信された第2通信メッセージを、暗号鍵情報を用いて復号処理することによって、前記第2通信メッセージが復号処理された結果を表す結果情報を作成し、
前記結果情報に含まれているデータがばらついている度合いを表すばらつき度合いを算出し、算出した前記ばらつき度合いが所定の基準を満たすか否かに応じて、前記第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを判定し、前記ソフトウェアを含んでいないと判定する場合に、さらに、抽出した前記暗号化方式情報に関連付けされた符号情報を、前記結果情報が含んでいるか否かに応じて、前記第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを判定するマルウェア判定方法。
From the first communication message transmitted and received when attempting to establish a communication connection according to the communication method, extract encryption method information that can identify the encryption method used in the communication connection,
According to the decryption method corresponding to the encryption method represented by the extracted encryption method information, the second communication message transmitted / received through the established communication connection is decrypted by using the encryption key information to obtain the second communication message. 2 Create result information indicating the result of decryption processing of the communication message,
A device that transmits the second communication message calculates a degree of variation representing a degree of variation of the data included in the result information, and determines whether the calculated degree of variation satisfies a predetermined criterion. When it is determined whether or not software that is likely to be malware is included, and when it is determined that the software is not included, the code information associated with the extracted encryption method information is added to the result. A malware determination method of determining whether or not the device that has transmitted the second communication message includes software that is highly likely to be malware, depending on whether or not the information includes the information .
通信方式に従った通信接続を確立しようとする際に送受信された第1通信メッセージから、前記通信接続にて用いる暗号化方式を識別可能な暗号化方式情報を抽出する暗号化方式特定機能と、
抽出した前記暗号化方式情報が表す暗号化方式に応じた復号方式に従い、確立された前記通信接続にて送受信された第2通信メッセージを、暗号鍵情報を用いて復号処理することによって、前記第2通信メッセージが復号処理された結果を表す結果情報を作成する結果情報作成機能と、
前記結果情報が、前記通信方式に従った通信処理を実現している符号情報を含んでいるか否かに応じて第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを判定する判定機能と
をコンピュータに実現させるマルウェア判定プログラム。
An encryption method specifying function for extracting encryption method information capable of identifying an encryption method used in the communication connection from a first communication message transmitted / received when an attempt is made to establish a communication connection according to the communication method,
According to the decryption method corresponding to the encryption method represented by the extracted encryption method information, the second communication message transmitted / received through the established communication connection is decrypted by using the encryption key information to obtain the second communication message. 2 A result information creation function for creating result information representing the result of decryption processing of a communication message,
Whether the device that has transmitted the second communication message contains software that is likely to be malware depending on whether or not the result information includes code information that realizes communication processing according to the communication method A malware determination program that allows a computer to implement a determination function to determine whether or not .
通信方式に従った通信接続を確立しようとする際に送受信された第1通信メッセージから、前記通信接続にて用いる暗号化方式を識別可能な暗号化方式情報を抽出する暗号化方式特定機能と、
抽出した前記暗号化方式情報が表す暗号化方式に応じた復号方式に従い、確立された前記通信接続にて送受信された第2通信メッセージを、暗号鍵情報を用いて復号処理することによって、前記第2通信メッセージが復号処理された結果を表す結果情報を作成する結果情報作成機能と、
前記結果情報に含まれているデータがばらついている度合いを表すばらつき度合いを算出し、算出した前記ばらつき度合いが所定の基準を満たすか否かに応じて、前記第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを判定し、前記ソフトウェアを含んでいないと判定する場合に、さらに、抽出した前記暗号化方式情報に関連付けされた符号情報を、前記結果情報が含んでいるか否かに応じて、前記第2通信メッセージを送信した装置がマルウェアである可能性が高いソフトウェアを含んでいるか否かを判定する判定機能と
をコンピュータに実現させるマルウェア判定プログラム。
An encryption method specifying function for extracting encryption method information capable of identifying an encryption method used in the communication connection from a first communication message transmitted / received when an attempt is made to establish a communication connection according to the communication method,
According to the decryption method corresponding to the encryption method represented by the extracted encryption method information, the second communication message transmitted / received through the established communication connection is decrypted by using the encryption key information to obtain the second communication message. 2 A result information creation function for creating result information representing the result of decoding processing of a communication message,
A device that transmits the second communication message calculates a degree of variation representing a degree of variation of the data included in the result information, and determines whether the calculated degree of variation satisfies a predetermined criterion. When it is determined whether or not software that is likely to be malware is included, and when it is determined that the software is not included, the code information associated with the extracted encryption method information is added to the result. A malware determination program that causes a computer to implement a determination function of determining whether or not the device that has transmitted the second communication message includes software that is likely to be malware, depending on whether or not the information includes the information .
JP2015233468A 2015-11-30 2015-11-30 Malware determination device, malware determination method, and malware determination program Active JP6696161B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015233468A JP6696161B2 (en) 2015-11-30 2015-11-30 Malware determination device, malware determination method, and malware determination program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015233468A JP6696161B2 (en) 2015-11-30 2015-11-30 Malware determination device, malware determination method, and malware determination program

Publications (2)

Publication Number Publication Date
JP2017102559A JP2017102559A (en) 2017-06-08
JP6696161B2 true JP6696161B2 (en) 2020-05-20

Family

ID=59015451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015233468A Active JP6696161B2 (en) 2015-11-30 2015-11-30 Malware determination device, malware determination method, and malware determination program

Country Status (1)

Country Link
JP (1) JP6696161B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10536268B2 (en) * 2017-08-31 2020-01-14 Cisco Technology, Inc. Passive decryption on encrypted traffic to generate more accurate machine learning training data

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4702944B2 (en) * 2005-12-16 2011-06-15 キヤノン株式会社 COMMUNICATION DEVICE, ITS CONTROL METHOD, AND COMMUNICATION SYSTEM
US8417677B2 (en) * 2006-06-02 2013-04-09 Duaxes Corporation Communication management system, communication management method and communication control device
US8069484B2 (en) * 2007-01-25 2011-11-29 Mandiant Corporation System and method for determining data entropy to identify malware

Also Published As

Publication number Publication date
JP2017102559A (en) 2017-06-08

Similar Documents

Publication Publication Date Title
JP6229800B2 (en) Analysis system, analysis method, and analysis program
JP6319369B2 (en) PROCESS CONTROL DEVICE, PROCESS CONTROL METHOD, AND PROCESS CONTROL PROGRAM
US11489666B2 (en) Monitoring encrypted network traffic flows in a virtual environment using dynamic session key acquisition techniques
US20210314160A1 (en) Method for securing the rendezvous connection in a cloud service using routing tokens
KR20180120157A (en) Data set extraction based pattern matching
CN109818910B (en) Data transmission method, device and medium
JP6369554B2 (en) Analysis system, analysis method, and analysis program
JP6696161B2 (en) Malware determination device, malware determination method, and malware determination program
JP6369553B2 (en) Analysis system, analysis method, and analysis program
JP2023083259A (en) Hybrid cloud-based security service method and apparatus for confidential data security
CN114915503A (en) Data stream splitting processing encryption method based on security chip and security chip device
KR101653956B1 (en) Method for monitoring encoded traffic and apparatus using the same
JP2022510392A (en) Secure transmission of data in a data stream
KR20210090635A (en) private key cloud storage
CN113630367B (en) Anonymous flow identification method and device and electronic equipment
US20230261858A1 (en) Encrypted Packet Inspection Method and Protection Device
US20240267216A1 (en) System and method for secure key management for encrypted core dump
KR100927010B1 (en) Apparatus for data processing based on sca with security module and method for the same
JP2019176273A (en) Communication controller, client device, communication control method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181015

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190910

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191003

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200406

R150 Certificate of patent or registration of utility model

Ref document number: 6696161

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150