WO2015137235A1 - 特定装置、特定方法および特定プログラム - Google Patents

特定装置、特定方法および特定プログラム Download PDF

Info

Publication number
WO2015137235A1
WO2015137235A1 PCT/JP2015/056536 JP2015056536W WO2015137235A1 WO 2015137235 A1 WO2015137235 A1 WO 2015137235A1 JP 2015056536 W JP2015056536 W JP 2015056536W WO 2015137235 A1 WO2015137235 A1 WO 2015137235A1
Authority
WO
WIPO (PCT)
Prior art keywords
tag
data
malware
communication destination
destination information
Prior art date
Application number
PCT/JP2015/056536
Other languages
English (en)
French (fr)
Inventor
知範 幾世
一史 青木
剛男 針生
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to CN201580012526.4A priority Critical patent/CN106133742B/zh
Priority to US15/120,668 priority patent/US10382455B2/en
Priority to JP2016507487A priority patent/JP5989936B2/ja
Priority to EP15761649.1A priority patent/EP3091466B1/en
Publication of WO2015137235A1 publication Critical patent/WO2015137235A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/146Tracing the source of attacks

Definitions

  • the identification method is an identification method executed by the identification device, and a tag that can uniquely identify communication destination information of a transmission source of the data is attached to the data received by the malware when the malware is executed.
  • a tracking step for tracking the propagation of data to which the tag is attached, a monitoring step for obtaining a tag of data referenced by a branch instruction executed by malware among the data tracked by the tracking step, and the monitoring A specifying step of specifying communication destination information of a command server that issues a command to the malware based on the communication destination information of the transmission source corresponding to the tag acquired in the step.
  • FIG. 1 is a configuration diagram showing an overview of the command server specifying device according to the first embodiment.
  • FIG. 2 is a block diagram showing a configuration of a virtual machine and a data propagation tracking unit in the command server specifying device according to the first embodiment.
  • FIG. 3 is a diagram illustrating an example of a table stored in the communication destination information DB.
  • FIG. 4 is a diagram for explaining a branch instruction to be monitored.
  • FIG. 5 is a diagram illustrating processing for specifying a command server with a branch instruction.
  • FIG. 6 is a flowchart showing a flow of tag propagation processing by the command server specifying device according to the first embodiment.
  • FIG. 7 is a flowchart illustrating a flow of a tag forcible propagation process by the command server specifying device according to the first embodiment.
  • FIG. 8 is a flowchart showing the flow of the command server specifying process by the command server specifying device according to the first embodiment.
  • FIG. 9 is a diagram illustrating a process for detecting a communication with the command server and performing a malware countermeasure.
  • FIG. 10 is a diagram illustrating a computer that executes a specific program.
  • the command server specifying unit 14 acquires the communication destination that has affected the branch instruction by acquiring the communication destination corresponding to the tag from the communication destination information DB 13, and the communication destination that is common between the branch destinations. Is determined to be a command server.
  • the tag assignment unit 110b of the data propagation tracking unit 110 sets a tag that can uniquely identify the transmission source for the received data, transfers the tag to the communication destination information DB 13, and then stores the tag in the memory tag storage area 110d.
  • the timing for setting the tag may be the timing at which data is copied from the virtual NIC 112 to the virtual memory 115, or may be set when the malware 11a reads received data by issuing an API call or system call.
  • the tag set in the data is propagated by the tag propagation unit 110c (tag propagation unit A) in accordance with the data propagation.
  • FIG. 5 is a diagram illustrating processing for specifying a command server with a branch instruction.
  • the command server identification device 10 obtains, as a log, an API call and system call issuance executed at the time of execution of malware, a branch instruction and a call stack at the time of instruction execution (see (1) in FIG. 5). ). Then, the command server identification device 10 acquires a tag propagation log of received data by taint analysis (see (2) in FIG. 5).
  • FIG. 6 is a flowchart showing a flow of tag propagation processing by the command server specifying device according to the first embodiment.
  • FIG. 7 is a flowchart illustrating a flow of a tag forcible propagation process by the command server specifying device according to the first embodiment.
  • FIG. 8 is a flowchart showing the flow of the command server specifying process by the command server specifying device according to the first embodiment.
  • the tag propagation unit 110e determines whether or not it is an instruction to move data (step S101). As a result, if the tag propagation unit 110e is an instruction to move data (Yes at Step S101), the tag propagation unit 110e checks the tag of the data to be moved (Step S102), and the tag exists. In this case (Yes at step S103), a tag is set in the tag storage area corresponding to the data movement destination (step S104). If the tag for the source data does not exist (No at Step S103), the tag propagation unit 110e deletes the information in the tag storage area corresponding to the data destination (Step S105).
  • the tag propagation unit 110e determines whether or not the communication destinations associated with the tags are different (Step S110). As a result, when the communication destinations associated with the tags are different (Yes at step S110), the tag propagation unit 110e adds a new tag indicating that the data is generated under the influence of a plurality of communication destinations. The communication destination associated with the generated tag and the tag related to the generation of the tag is recorded in the communication destination information DB 13 (step S112).
  • the tag propagation unit 110e determines whether or not the executed instruction is a call instruction (step S201). If the executed instruction is a call instruction (Yes in step S201), After updating the call stack to identify the function (step S202), the forced propagation flag in the current call stack is set to OFF (step S203).
  • the tag propagation unit 110e determines whether the executed instruction is a Ret instruction (Step S204). When the executed instruction is a Ret instruction (Yes at Step S204), the tag propagation unit 110e sets the forced propagation flag in the current call stack to OFF because the function is finished (Step S205). The call stack is updated (step S206).
  • the tag propagation unit 110e determines whether the executed instruction is an instruction for writing (Step S210). . As a result, when an instruction to perform writing is executed (Yes at Step S210), the tag propagation unit 110e determines whether or not the forced propagation flag in the current call stack is ON (Step S211). As a result, if the forced propagation flag in the current call stack is ON (Yes at step S211), the tag propagation unit 110e propagates the tag held at the write destination (step S212).
  • the command server specifying unit 14 reads the information held in the execution log DB 12 and the information held in the communication destination information DB 13 and has affected a branch instruction for switching API call or system call issue executed by the malware 11a.
  • the data transmission source is determined as the command server.
  • the instruction server specifying unit 14 identifies all branch instructions recorded during the execution of the malware in consideration of the background of the call based on the call stack, and confirms whether or not the following conditions are satisfied.
  • the instruction server specifying unit 14 checks whether or not a plurality of branch destinations have been executed (step S301). When the instruction server specifying unit 14 determines that a plurality of branch destinations have been executed (Yes in step S301), the following processing is performed on all branch destination sets for the branch instruction for which the plurality of branch destinations have been executed. Specify the command server.
  • the command server specifying device 10 assigns a tag that can uniquely specify the communication destination information of the transmission source of the data to the data received by the malware 11a when the malware 11a is executed. Track the propagation of tagged data. And the instruction
  • specification apparatus 10 specifies the communication destination information of the instruction
  • the command server specifying device 10 is suitable for specifying the command server when receiving a command specifying only the program code executed by the malware, and the command when the communication content of the malware is obfuscated / encrypted. It is possible to automatically identify the server.
  • FIG. 10 is a diagram illustrating a computer 1000 that executes a specific program.
  • the computer 1000 includes, for example, a memory 1010, a CPU 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.
  • the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the specific program is stored in, for example, the hard disk drive 1090 as a program module in which a command executed by the computer 1000 is described.
  • Command server specifying device 11 Malware execution environment unit 11a Malware 11b Guest OS 11c Virtual computer 110 Data propagation tracking unit 110a Disk tag storage area 110b Tag assigning unit 110c Tag propagation unit A 110d Memory tag storage area 110e Tag propagation part B 110f Register tag storage area 111 Instruction monitoring unit 112 Virtual NIC 113 Virtual Disk 114 Virtual HW Controller 115 Virtual Memory 116 Virtual CPU 116b Virtual register 12 Execution log DB 13 Communication destination information DB 14 Command server identification part

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 指令サーバ特定装置(10)は、マルウェア(11a)の実行時に、該マルウェア(11a)が受信したデータに対して、該データの送信元の通信先情報を一意に特定できるタグを付与し、該タグが付与されたデータの伝搬を追跡する。そして、指令サーバ特定装置(10)は、追跡されたデータのうち、マルウェア(11a)が実行した分岐命令により参照されたデータのタグを取得する。そして、指令サーバ特定装置(10)は、取得されたタグに対応する送信元の通信先情報に基づいて、マルウェア(11a)に指令を発する指令サーバの通信先情報を特定する。

Description

特定装置、特定方法および特定プログラム
 本発明は、特定装置、特定方法および特定プログラムに関する。
 近年、情報漏えいやDDoS(Distributed Denial of Service)攻撃といったサイバー攻撃による被害が後を絶たない。サイバー攻撃ではマルウェアが利用されており、マルウェアに感染した端末によって被害が引き起こされている。実際に金銭的な損害が発生していることから、マルウェア対策の必要性が高まっている。
 マルウェア対策を行う場合、端末がマルウェアに感染するのを防ぐことが理想である。しかしながら、マルウェアに感染させる手法は高度化・多様化の一途を辿っており、全てのマルウェア感染を未然に防ぐことは困難な状況にある。そのため、マルウェアに感染することを前提とした対策が不可欠となっている。
 端末に感染したマルウェアは、攻撃の過程で攻撃者が用意した悪性なサーバや正規サイトと通信を行う。悪性なサーバには、指令サーバとダウンロードサイト、情報漏えい先がある。指令サーバは指令によってマルウェアの動作を決定し、ダウンロードサイトは追加モジュールやマルウェア本体を配布する。また、情報漏えい先は漏えい情報を受け取る役割を担う。
 このような悪性なサーバのIPアドレスやFQDN、URLをあらかじめブラックリスト化しておくことができれば、悪性なサーバとの通信の検知に基づいた感染端末の発見・隔離や通信遮断等の対策によって、マルウェア感染に起因する被害を最小限に抑制できる。ただし、情報漏えい先やダウンロードサイトは指令サーバからの指令によって指定される可能性がある。また、ボットなどのマルウェアの場合、指令サーバからの指令がその後の攻撃の起因となる。したがって、悪性なサーバの中でも特に指令サーバをブラックリスト化しておくことが重要である。
 指令サーバのブラックリストは、一般にマルウェア解析によって作成される。マルウェアを解析することで、マルウェアの通信先の取得が可能である。ただし、その中には攻撃や解析妨害を目的とした通信の通信先として正規サイトが含まれている。正規サイトを誤ってブラックリストに掲載してしまうと対策運用時の負荷につながる。そのため、解析で取得した複数の通信先の中から指令サーバのみを特定することが課題となっている。
 従来、動的解析時に発生した通信内容に基づいて通信先が指令サーバであるか否かの判定が行われてきた(例えば、非特許文献1参照)。しかし、通信内容に対する難読化・暗号化の適用が進むにつれて、通信内容だけでは指令サーバを特定することが困難となってきている。 
 指令サーバは通信データによってマルウェアの動作を制御する通信先である。したがって、受信データがマルウェアの動作を決定したか否かを解析できれば、通信内容が難読化・暗号化されていても受信データの送信元を指令サーバであると判定できる。
 このため、マルウェア内部での受信データの利用方法の解析に基づいた指令サーバの検出が注目されている。指令サーバがマルウェアを制御する方法は大きく分けて2つある。1つは、マルウェアが実行するプログラムコードに加えてシステムコールやAPIの引数を指定する方法、もう1つは、実行するプログラムコードのみを指定する方法である。例えば、非特許文献2では、送受信データに関連して発行されたシステムコール間のデータの受け渡し関係に基づいて指令サーバを特定しており、システムコールやAPIの引数が指定される場合に指令サーバを特定することができる。
P.Wurzinger, L.Bilge, T.Holz, J.Goebel, C.Kruegel, and E.Kirda,「Automatically Generating Models for Botnet Detection」In Proceedings of the 14th European Conference on Research in Computer Security G.Jacob, R.Hund, C.Kruegel, and T.Holz,「JACKSTRAWS: Picking Command and Control Connections from Bot Traffic」In Proceedings of the 20th USENIX Conference on Security
 しかしながら、上記した従来の技術では、今日のマルウェアは、通信内容の難読化・暗号化を行っており、通信内容だけで指令サーバを特定することは困難になっている場合がある。このため、マルウェアの受信データの利用方法を解析し、受信データに関連して発行されたシステムコール間のデータの受け渡し関係に基づいて指令サーバを特定する方法が提案されているが、マルウェアが実行する機能を切り替えるだけの指令を検出できない場合があるという課題があった。例えば、指令サーバが、実行するプログラムコードのみを指定する制御方法においては、受信データは分岐命令にのみ影響を与え、システムコールやAPIの引数として利用されないため、マルウェアが実行する機能を切り替えるだけの指令サーバの指令を検出できない場合がある。
 そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、実行するプログラムコードを切り替える指令のみの場合であっても、指令サーバを特定することを目的とする。
 上述した課題を解決し、目的を達成するため、特定装置は、マルウェアの実行時に、該マルウェアが受信したデータに対して、該データの送信元の通信先情報を一意に特定できるタグを付与し、該タグが付与されたデータの伝搬を追跡する追跡部と、前記追跡部によって追跡されたデータのうち、マルウェアが実行した分岐命令により参照されたデータのタグを取得する監視部と、前記監視部によって取得されたタグに対応する送信元の通信先情報に基づいて、前記マルウェアに指令を発する指令サーバの通信先情報を特定する特定部と、を備えることを特徴とする。
 また、特定方法は、特定装置が実行する特定方法であって、マルウェアの実行時に、該マルウェアが受信したデータに対して、該データの送信元の通信先情報を一意に特定できるタグを付与し、該タグが付与されたデータの伝搬を追跡する追跡工程と、前記追跡工程によって追跡されたデータのうち、マルウェアが実行した分岐命令により参照されたデータのタグを取得する監視工程と、前記監視工程によって取得されたタグに対応する送信元の通信先情報に基づいて、前記マルウェアに指令を発する指令サーバの通信先情報を特定する特定工程と、を含んだことを特徴とする。
 また、特定プログラムは、マルウェアの実行時に、該マルウェアが受信したデータに対して、該データの送信元の通信先情報を一意に特定できるタグを付与し、該タグが付与されたデータの伝搬を追跡する追跡ステップと、前記追跡ステップによって追跡されたデータのうち、マルウェアが実行した分岐命令により参照されたデータのタグを取得する監視ステップと、前記監視ステップによって取得されたタグに対応する送信元の通信先情報に基づいて、前記マルウェアに指令を発する指令サーバの通信先情報を特定する特定ステップと、をコンピュータに実行させることを特徴とする。
 本願に開示する特定装置、特定方法および特定プログラムは、実行するプログラムコードを切り替える指令のみの場合であっても、指令サーバを特定することが可能であるという効果を奏する。
図1は、第一の実施の形態に係る指令サーバ特定装置の概要を示す構成図である。 図2は、第一の実施の形態に係る指令サーバ特定装置における仮想計算機およびデータ伝搬追跡部の構成を示すブロック図である。 図3は、通信先情報DBに記憶されるテーブルの一例を示す図である。 図4は、監視対象の分岐命令について説明する図である。 図5は、分岐命令で指令サーバを特定する処理について説明する図である。 図6は、第一の実施の形態に係る指令サーバ特定装置によるタグの伝搬処理の流れを示すフローチャートである。 図7は、第一の実施の形態に係る指令サーバ特定装置によるタグの強制的な伝搬処理の流れを示すフローチャートである。 図8は、第一の実施の形態に係る指令サーバ特定装置による指令サーバの特定処理の流れを示すフローチャートである。 図9は、指令サーバとの通信を検知してマルウェア対策を行う処理について説明する図である。 図10は、特定プログラムを実行するコンピュータを示す図である。
 以下に、本願に係る特定装置、特定方法および特定プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る特定装置、特定方法および特定プログラムが限定されるものではない。
[第一の実施の形態]
 以下の実施の形態では、第一の実施の形態に係る指令サーバ特定装置の構成および処理の流れを順に説明し、その後、最後に第一の実施の形態による効果を説明する。
[指令サーバ特定装置の構成]
 まず、図1を用いて、指令サーバ特定装置10の構成を説明する。図1は、第一の実施の形態に係る指令サーバ特定装置の概要を示す構成図である。図1に示すように、この指令サーバ特定装置10は、マルウェア実行環境部11、実行ログDB(Data Base)12、通信先情報DB13および指令サーバ特定部14を有する。以下にこれらの各部の処理を説明する。
 マルウェア実行環境部11は、ゲストOS(Operating System)11bと仮想計算機11cとから構成される。ゲストOS11bは、マルウェア11aを動的解析するための環境である。また、マルウェア11aは、情報漏洩や不正アクセス等の脅威をもたらす不正プログラムであり、解析対象のプログラムとして、ゲストOS11b上で実行される。
 仮想計算機11cは、データ伝搬追跡部110と命令監視部111によって構成される。データ伝搬追跡部110は、マルウェア11aの実行時に、該マルウェア11aが受信したデータに対して、該データの送信元の通信先情報を一意に特定できるタグを付与し、該タグが付与されたデータの伝搬を追跡する。具体的には、データ伝搬追跡部110は、マルウェア11aが受信したデータに対して送信元を一意に特定できるタグを設定し、IPアドレスやFQDN、URLといった通信先情報と対応するタグを通信先情報DB13に転送した上で、仮想計算機11c上でのデータの伝搬の追跡を行う。
 また、データ伝搬追跡部110は、複数の送信元からデータを受信して新たなデータが生成された場合には、複数の送信元の通信先情報を一意に特定できる新たなタグを生成してデータに付与し、該タグが付与されたデータの伝搬を追跡する。また、データ伝搬追跡部110は、関数内で受信データが参照された場合には、関数の戻り値に対してタグを付与し、該タグが付与されたデータの伝搬を追跡する。
 命令監視部111は、データ伝搬追跡部110によって追跡されたデータのうち、マルウェア11aが実行した分岐命令により参照されたデータのタグを取得する。具体的には、命令監視部111は、マルウェア11aが実行したAPI呼び出しやシステムコールの発行、jmp系命令やcall命令といった分岐命令、命令実行時のコールスタック、分岐命令が参照したデータのタグを取得し、実行ログDB12に転送する。
 実行ログDB12は、命令監視部111によって取得されたログを記憶する。具体的には、実行ログDB12は、マルウェア11aが実行したAPI呼び出しやシステムコールの発行、jmp系命令やcall命令といった分岐命令、命令実行時のコールスタック、分岐命令が参照したデータのタグを記憶する。また、実行ログDB12は、マルウェア11aが実行したAPI呼び出しやシステムコールの発行、分岐命令およびコールスタックのログ情報を記憶する。
 通信先情報DB13は、データ伝搬追跡部110によって設定されたタグを、IPアドレスやFQDN、URLといった通信先情報に対応付けて記憶する。ここで、図3を用いて、通信先情報DB13における通信先とタグの対応付け方法の一例について説明する。図3は、通信先情報DBに記憶されるテーブルの一例を示す図である。図3に示すように、通信先情報DB13は、マルウェ11aが受信したデータの送信元の通信先情報である「通信先」と、マルウェアが受信したデータに付与された「タグ」とを対応付けて記憶する。
 例えば、図3に例示するように、IPアドレス「192.168.2.150」に対応するタグは「0x001」であり、IPアドレス「192.168.5.140」に対応するタグは「0x002」である。なお、これらのタグの付いたデータの演算が行われる場合、新たにタグが生成され、通信先情報DB13に生成に関わったタグに紐づく通信先が保存される。図3の例では、IPアドレス「192.168.2.150」に対応するタグ「0x001」とIPアドレス「192.168.5.140」に対応するタグ「0x002」がついたデータ同士の演算が行われたことで、IPアドレス「192.168.2.150」とIPアドレス「192.168.5.140」の両方から影響を受けていることを表すタグ「0x003」が新たに生成された結果を表している。
 指令サーバ特定部14は、命令監視部111によって取得されたタグに対応する送信元の通信先情報に基づいて、マルウェア11aに指令を発する指令サーバの通信先情報を特定する。具体的には、指令サーバ特定部14は、複数の分岐先でAPI呼び出しまたはシステムコール発行が行われた分岐命令について、分岐する際に参照されたデータのタグに対応する通信先情報が複数の分岐先において共通する場合には、該通信先情報を指令サーバの通信先情報として特定する。
 例えば、指令サーバ特定部14は、実行ログDB12が保持するマルウェア11aが実行したAPI呼び出しやシステムコールの発行、分岐命令およびコールスタックの情報を分析することで、複数の分岐先でAPI呼び出しやシステムコールの発行が行われた分岐命令を抽出し、API呼び出しやシステムコールの発行が行われた分岐先に分岐する際に参照したデータのタグを実行ログDB12から取得する。
 さらに、指令サーバ特定部14は、通信先情報DB13からタグに対応する通信先を取得することで分岐命令に影響を与えた通信先を分岐先ごとに取得し、分岐先間に共通する通信先を指令サーバと判定する。
 次に、図2を用いて、仮想計算機11cの構成例について説明する。図2は、第一の実施の形態に係る指令サーバ特定装置における仮想計算機およびデータ伝搬追跡部の構成を示すブロック図である。仮想計算機11cは、ゲストOS11bに対して仮想的なハードウェアを提供するソフトウェアである。また、仮想計算機11cは、仮想NIC112や仮想ディスク113、仮想HWコントローラ114、仮想メモリ115、仮想CPU116などから構成される。
 データ伝搬追跡部110は、データに対してタグを設定してデータの伝搬追跡を行うために、仮想ディスク113上のデータに対応するタグを保存するためのディスクタグ保存領域110a、仮想メモリ115上のデータに対応するタグを保存するためのメモリタグ保存領域110d、仮想レジスタ116b上のデータに対応するタグを保存するためのレジスタタグ保存領域110fを具備する。
 データ伝搬追跡部110のタグ付与部110bは、受信データに対して送信元を一意に特定できるタグを設定し、通信先情報DB13に転送した上で、タグをメモリタグ保存領域110dに保存する。タグを設定するタイミングは、仮想NIC112から仮想メモリ115に対してデータがコピーされるタイミングでもよいし、マルウェア11aがAPI呼び出しやシステムコールの発行によって受信データを読み込む際に設定してもよい。データに設定されたタグは、タグ伝搬部110c(タグ伝搬部A)によってデータの伝搬に合わせて伝搬される。
 タグ伝搬部110cは、ディスクタグ保存領域110aとメモリタグ保存領域110dの間のタグの伝搬を行う。また、タグ伝搬部110e(タグ伝搬部B)は、メモリタグ保存領域110dとレジスタタグ保存領域110fとの間やレジスタタグ保存領域110f間のタグの伝搬に加え、データの演算時のタグ生成と伝搬、および受信データを表すタグを読み込んだ関数の戻り値に対してのタグの伝搬を行う。
 また、命令監視部111は、マルウェア11aが実行する命令を監視し、マルウェア11aが実行したAPI呼び出しやシステムコールの発行、分岐命令、分岐命令が参照したタグ、命令実行時のコールスタックを収集する。マルウェア11aが実行する命令を監視するに当たり、ゲストOS11b上で動作するマルウェア11aのプロセスやスレッドを特定する方法はプロセスIDやスレッドIDでもよいし、解析対象のマルウェア11aや外部から取得したプログラムに対して解析対象であることを表すタグを設定することで特定してもよい。
 ここで、図4を用いて、監視対象の分岐命令について説明する。図4は、監視対象の分岐命令について説明する図である。第一の実施の形態に係る指令サーバ特定装置10では、実行された命令のログからタグの監視場所となる分岐命令を抽出する。例えば、図4の例では、指令サーバ特定装置10は、処理Aと処理B/Cの分け目となっている分岐命令を監視対象としている。
 つまり、指令サーバ特定装置10では、監視対象である分岐命令で受信データが参照され、実行されるプログラムコードの決定に関わった通信先を解析することによって指令サーバの通信先情報を特定する。ここで、実行されるプログラムコードの決定に関わったか否かを判定するために、同じ通信先から受け取ったデータによって各パスが実行されたことを把握できる必要がある。
 次に、図5を用いて、分岐命令で指令サーバを特定する処理の一例について説明する。図5は、分岐命令で指令サーバを特定する処理について説明する図である。図5に示すように、指令サーバ特定装置10では、マルウェアの実行時に実行されたAPI呼び出しとシステムコール発行、分岐命令と命令実行時のコールスタックをログとして取得する(図5の(1)参照)。そして、指令サーバ特定装置10では、テイント解析によって受信データのタグ伝播ログを取得する(図5の(2)参照)。
 そして、指令サーバ特定装置10は、実行トレースに基づきタグの監視場所を分岐命令に設定し、実行された命令のログからタグの監視場所となる分岐命令を抽出する(図5の(3)参照)。ここで、監視場所となる分岐命令は、分岐先にシステムコールやAPIの呼び出しが存在するものとする。
 指令サーバ特定装置10は、監視場所で参照されたデータを確認する(図5の(4)参照)。その後、指令サーバ特定装置10は、データに付加されたタグに対応する通信先情報を指令サーバと判定し、該通信先の情報を指令サーバブラックリストに登録する(図5の(5)参照)。このように、指令サーバ特定装置10では、監視場所となる分岐命令で参照されたデータのタグに対応する通信先情報を指令サーバの通信先情報として特定するので、実行する機能を切り替える指令のみであっても、指令サーバを特定することが可能である。
 また、指令サーバブラックリストとは、既知の悪性なIPアドレスやURL等を掲載したリストである。指令サーバのIPアドレス等の通信先情報をブラックリストに登録することで、指令サーバとの通信を遮断したり、感染端末の発見・隔離を行うことが可能である。
 このように、指令サーバ特定装置10は、マルウェア実行時の受信データにタグを付与して追跡し、分岐命令を監視し、受信データが分岐命令に与えた影響を解析することで、指令サーバを特定する。これにより、指令サーバ特定装置10は、実行する機能を切り換える指令のみをマルウェアが受信した場合であっても、指令サーバの通信先情報を特定することが可能となる。
[指令サーバ特定装置による処理]
 次に、図6~図8を用いて、第一の実施形態に係る指令サーバ特定装置10による処理を説明する。図6は、第一の実施の形態に係る指令サーバ特定装置によるタグの伝搬処理の流れを示すフローチャートである。図7は、第一の実施の形態に係る指令サーバ特定装置によるタグの強制的な伝搬処理の流れを示すフローチャートである。図8は、第一の実施の形態に係る指令サーバ特定装置による指令サーバの特定処理の流れを示すフローチャートである。
 まず、図6を用いて、第一の実施の形態に係る指令サーバ特定装置10のタグ伝搬部110eによるタグの伝搬処理の流れについて説明する。ここでの処理では、タグを伝搬させるか否かをCPUの1命令ごとに判断して伝搬処理を行う。
 図6に示すように、タグ伝搬部110eは、データを移動する命令であるか否かを判定する(ステップS101)。この結果、タグ伝搬部110eは、データを移動する命令である場合には(ステップS101肯定)、タグ伝搬部110eは、移動するデータのタグを確認し(ステップS102)、タグが存在していた場合には(ステップS103肯定)、データの移動先に対応するタグ保存領域にタグを設定する(ステップS104)。また、タグ伝搬部110eは、移動元のデータに対するタグが存在していなかった場合には(ステップS103否定)、データの移動先に対応するタグ保存領域の情報を削除する(ステップS105)。
 一方、タグ伝搬部110eは、データを移動する命令でない場合には(ステップS101否定)、データの演算をする命令であるか否かを判定する(ステップS106)。この結果、タグ伝搬部110eは、データの演算をする命令である場合には(ステップS106肯定)、オペランドに対応するタグを取得する(ステップS107)。
 そして、タグ伝搬部110eは、取得結果に応じてタグを新たに生成するか否かの判断を行う。具体的には、タグ伝搬部110eは、タグのついたオペランドが存在するか判定し(ステップS108)、タグのついたオペランドが存在する場合には(ステップS108肯定)、タグのついたオペランドが複数存在するか否かを判定する(ステップS109)。
 そして、タグ伝搬部110eは、タグのついたオペランドが複数存在する場合には(ステップS109肯定)、タグに紐づく通信先が違うか否かを判定する(ステップS110)。この結果、タグ伝搬部110eは、タグに紐づく通信先が異なっていた場合に(ステップS110肯定)、複数の通信先からの影響を受けて生成されたデータであることを示す新たなタグを生成し(ステップS111)、生成したタグとタグの生成に関わったタグに紐づいていた通信先を通信先情報DB13に記録する(ステップS112)。
 その後、タグ伝搬部110eは、演算結果の保存先に対応するタグ保存領域に生成したタグを設定する(ステップS113)。一方、タグのついたオペランドが1つしか存在しない場合(ステップS109否定)、または、タグのついたオペランドが複数存在していても紐づく通信先が同じであった場合には(ステップS110否定)、新たにタグを生成することなく演算結果の保存先に対応するタグ保存領域にタグを設定(伝搬)する(ステップS114)。
 次に、図7を用いて、第一の実施の形態に係る指令サーバ特定装置によるタグの強制的な伝搬処理の流れについて説明する。この処理では、CPU命令を監視し、データの移動や演算が行われていない場合においてもタグの伝搬を行う。
 図7に示すように、タグ伝搬部110eは、実行された命令がcall命令であるか否かを判定し(ステップS201)、実行された命令がcall命令であった場合(ステップS201肯定)、関数を識別するためにコールスタックを更新した後(ステップS202)、現在のコールスタックにおける強制伝搬フラグをOFFに設定する(ステップS203)。
 また、タグ伝搬部110eは、実行された命令がcall命令でない場合(ステップS201否定)、実行された命令がRet命令であるか否かを判定する(ステップS204)。そして、タグ伝搬部110eは、実行された命令がRet命令である場合には(ステップS204肯定)、関数の終了であるため、現在のコールスタックにおける強制伝搬フラグをOFFに設定し(ステップS205)、コールスタックの更新を行う(ステップS206)。
 また、タグ伝搬部110eは、実行された命令がRet命令でない場合には(ステップS204否定)、実行された関数の中の命令が受信データを参照する命令であるか否かを判定する(ステップS207)。この結果、タグ伝搬部110eは、受信データを参照する命令である場合には(ステップS207肯定)、現在のコールスタックにおける強制伝搬フラグをONに設定し(ステップS208)、参照した受信データの送信元を表すタグを保持する(ステップS209)。
 また、タグ伝搬部110eは、実行された命令が受信データを参照する命令でない場合には(ステップS207否定)、実行された命令が書き込みを行う命令であるか否かを判定する(ステップS210)。この結果、タグ伝搬部110eは、書き込みを行う命令が実行された場合には(ステップS210肯定)、現在のコールスタックにおける強制伝搬フラグがONであるか否かを判定する(ステップS211)。この結果、タグ伝搬部110eは、現在のコールスタックにおける強制伝搬フラグがONである状態であった場合(ステップS211肯定)、書き込み先に保持しておいたタグを伝搬させる(ステップS212)。
 なお、上記の方法以外にも、x86アーキテクチャのEAXレジスタのように特定のアーキテクチャにおいて戻り値格納に利用されるレジスタを戻り値とし、関数から呼び元に戻る際に受信データの影響を受けたことを表すタグを設定してもよいし、既知の関数についてはあらかじめ特定のレジスタやメモリのアドレスを戻り値とし、関数から呼び元に戻る際に受信データの影響を受けたことを表すタグを設定してもよい。このような方法でタグを強制的に伝搬させることで、関数内でデータの置き換えなどによってタグが伝搬しなくなったとしても、受信データの影響を受けていることを伝搬させることを可能とする。
 次に、図8を用いて、第一の実施の形態に係る指令サーバ特定装置10による指令サーバの特定処理の流れについて説明する。この処理では、指令サーバ特定部14は、実行ログDB12が保持する情報と通信先情報DB13が保持する情報を読み込み、マルウェア11aが実行するAPI呼び出しやシステムコール発行を切り換える分岐命令に影響を与えたデータの送信元を指令サーバと判定する。指令サーバ特定部14では、マルウェア実行時に記録された全分岐命令について、コールスタックに基づいて呼び出しの経緯も考慮して識別し、次の条件に当てはまるか否かをそれぞれ確認する。
 図8に示すように、最初に、指令サーバ特定部14では、複数の分岐先が実行されたか否かを確認する(ステップS301)。そして、指令サーバ特定部14では、複数の分岐先が実行されたと判定すると(ステップS301肯定)、複数の分岐先が実行された分岐命令について、全ての分岐先の組について以下の処理を行うことで指令サーバを特定する。
 具体的には、指令サーバ特定部14は、分岐先に合流点が存在するか否かを判定する(ステップS302)、この結果、指令サーバ特定部14は、分岐先に合流点が存在する場合には(ステップS302肯定)、分岐点と合流点の間のAPI呼び出しとシステムコール発行ログを取得する(ステップS303)。また、指令サーバ特定部14は、分岐先に合流点が存在しない場合には(ステップS302否定)、分岐点の終端までのAPI呼び出しとシステムコール発行ログを取得する(ステップS304)。なお、確認するAPI呼び出しやシステムコール発行は、APIやシステムコールが操作する計算資源に応じて制限してもよいし、事前に解析したマルウェアが呼び出したAPIやシステムコールによって制限してもよい。
 そして、指令サーバ特定部14は、各分岐先でAPI呼び出しやシステムコール発行が行われているか否かを判定する(ステップS305)。この結果、指令サーバ特定部14は、各分岐先でAPI呼び出しやシステムコール発行が行われていない場合には(ステップS305否定)、ステップS309の処理に移行する。また、指令サーバ特定部14は、各分岐先でAPI呼び出しやシステムコール発行が行われていた場合には(ステップS305肯定)、分岐する際に参照されたデータのタグを実行ログDB12から取得し(ステップS306)、タグに紐づいた通信先を通信先情報DB13から取得して(ステップS307)、分岐命令に影響を与えた通信先を分岐先ごとに取得する。
 そして、どちらの分岐先に分岐する場合においても共通している通信先を指令サーバと判定する(ステップS308)。これにより、分岐先を制御することでマルウェアが実行するプログラムコードを決定したことを根拠に、通信先を指令サーバと判定することを可能とする。
 その後、指令サーバ特定部14は、全ての分岐先の組についてステップS302~ステップS308の処理を行ったか否かを判定し(ステップS309)、全ての分岐先の組について処理を行っていない場合には(ステップS309否定)、ステップS302に戻る。また、全ての分岐先の組について処理を行った場合には(ステップS309肯定)、全分岐命令についてステップS301~ステップS309の処理を行ったか否かを判定する(ステップS310)。この結果、指令サーバ特定部14は、全分岐命令について処理を行っていない場合には(ステップS310否定)、ステップS301に戻る。また、全分岐命令について処理を行った場合には(ステップS310肯定)、そのまま処理を終了する。
[第一の実施の形態の効果]
 上述してきたように、指令サーバ特定装置10は、マルウェア11aの実行時に、該マルウェア11aが受信したデータに対して、該データの送信元の通信先情報を一意に特定できるタグを付与し、該タグが付与されたデータの伝搬を追跡する。そして、指令サーバ特定装置10は、追跡されたデータのうち、マルウェア11aが実行した分岐命令により参照されたデータのタグを取得する。そして、指令サーバ特定装置10は、取得されたタグに対応する送信元の通信先情報に基づいて、マルウェア11aに指令を発する指令サーバの通信先情報を特定する。このように、指令サーバ特定装置10では、分岐命令で指令サーバを特定するので、実行する機能を切り替える指令のみであっても、指令サーバを特定することが可能である。指令サーバ特定装置10は、マルウェアが実行するプログラムコードのみを指定する指令を受け取った際に指令サーバを特定するのに適しており、マルウェアの通信内容が難読化・暗号化されている場合において指令サーバを自動で特定することが可能である。
 また、例えば、指令サーバ特定装置10は、指令サーバのIPアドレス等の通信先情報をブラックリストに登録することで、指令サーバとの通信を遮断したり、感染端末の発見・隔離を行うことが可能である。つまり、図9に例示するように、サイバー攻撃として、指令サーバとマルウェアに感染された感染端末とが通信を行うことで、感染端末が指令サーバの指令を取得して情報漏えい先に情報を漏えいしたり、感染端末がダウンロードサイトからプログラムを取得して正規サイトを攻撃するDoS攻撃を行ったりすることが知られている。このようなサイバー攻撃について、指令サーバのIPアドレス等の通信先情報が登録されたブラックリストを用いることで、感染端末と指令サーバとの通信を検知し、指令サーバとの通信を遮断したり、感染端末の発見・隔離を行ったりすることができる結果、情報漏えいやDoS攻撃を防止することが可能となる。
[システム構成等]
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 また、上記実施形態において説明した指令サーバ特定装置10が実行する処理について、コンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、第一の実施形態に係る指令サーバ特定装置10が実行する処理について、コンピュータが実行可能な言語で記述した特定プログラムを作成することもできる。この場合、コンピュータが特定プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる特定プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録され特定プログラムをコンピュータに読み込ませて実行することにより上記第一の実施形態と同様の処理を実現してもよい。以下に、図1に示した指令サーバ特定装置10と同様の機能を実現する特定プログラムを実行するコンピュータの一例を説明する。
 図10は、特定プログラムを実行するコンピュータ1000を示す図である。図10に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
 メモリ1010は、図10に例示するように、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図10に例示するように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、図10に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェース1050は、図10に例示するように、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、図10に例示するように、例えばディスプレイ1130に接続される。
 ここで、図10に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の特定プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。
 また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、取得手順、比較手順、振分制御手順を実行する。
 なお、特定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、特定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 10 指令サーバ特定装置
 11 マルウェア実行環境部
 11a マルウェア
 11b ゲストOS
 11c 仮想計算機
 110 データ伝搬追跡部
 110a ディスクタグ保存領域
 110b タグ付与部
 110c タグ伝搬部A
 110d メモリタグ保存領域
 110e タグ伝搬部B
 110f レジスタタグ保存領域
 111 命令監視部
 112 仮想NIC
 113 仮想ディスク
 114 仮想HWコントローラ
 115 仮想メモリ
 116 仮想CPU
 116b 仮想レジスタ
 12 実行ログDB
 13 通信先情報DB
 14 指令サーバ特定部

Claims (7)

  1.  マルウェアの実行時に、該マルウェアが受信したデータに対して、該データの送信元の通信先情報を一意に特定できるタグを付与し、該タグが付与されたデータの伝搬を追跡する追跡部と、
     前記追跡部によって追跡されたデータのうち、マルウェアが実行した分岐命令により参照されたデータのタグを取得する監視部と、
     前記監視部によって取得されたタグに対応する送信元の通信先情報に基づいて、前記マルウェアに指令を発する指令サーバの通信先情報を特定する特定部と、
     を備えることを特徴とする特定装置。
  2.  前記追跡部は、複数の送信元からデータを受信して新たなデータが生成された場合には、複数の送信元の通信先情報を一意に特定できる新たなタグを生成して前記データに付与し、該タグが付与されたデータの伝搬を追跡することを特徴とする請求項1に記載の特定装置。
  3.  前記追跡部は、関数内で受信データが参照された場合には、関数の戻り値に対してタグを付与し、該タグが付与されたデータの伝搬を追跡することを特徴とする請求項1または2に記載の特定装置。
  4.  前記監視部は、前記分岐命令により参照されたデータのタグを取得するとともに、マルウェアが実行したAPI呼び出しやシステムコールの発行を記録し、
     前記特定部は、複数の分岐先でAPI呼び出しまたはシステムコール発行が行われた分岐命令について、分岐する際に参照されたデータのタグに対応する通信先情報が複数の分岐先において共通する場合には、該通信先情報を前記指令サーバの通信先情報として特定することを特徴とする請求項1または2に記載の特定装置。
  5.  前記監視部は、前記分岐命令により参照されたデータのタグを取得するとともに、マルウェアが実行したAPI呼び出しやシステムコールの発行を記録し、
     前記特定部は、複数の分岐先でAPI呼び出しまたはシステムコール発行が行われた分岐命令について、分岐する際に参照されたデータのタグに対応する通信先情報が複数の分岐先において共通する場合には、該通信先情報を前記指令サーバの通信先情報として特定することを特徴とする請求項3に記載の特定装置。
  6.  特定装置が実行する特定方法であって、
     マルウェアの実行時に、該マルウェアが受信したデータに対して、該データの送信元の通信先情報を一意に特定できるタグを付与し、該タグが付与されたデータの伝搬を追跡する追跡工程と、
     前記追跡工程によって追跡されたデータのうち、マルウェアが実行した分岐命令により参照されたデータのタグを取得する監視工程と、
     前記監視工程によって取得されたタグに対応する送信元の通信先情報に基づいて、前記マルウェアに指令を発する指令サーバの通信先情報を特定する特定工程と、
     を含んだことを特徴とする特定方法。
  7.  マルウェアの実行時に、該マルウェアが受信したデータに対して、該データの送信元の通信先情報を一意に特定できるタグを付与し、該タグが付与されたデータの伝搬を追跡する追跡ステップと、
     前記追跡ステップによって追跡されたデータのうち、マルウェアが実行した分岐命令により参照されたデータのタグを取得する監視ステップと、
     前記監視ステップによって取得されたタグに対応する送信元の通信先情報に基づいて、前記マルウェアに指令を発する指令サーバの通信先情報を特定する特定ステップと、
     をコンピュータに実行させるための特定プログラム。
PCT/JP2015/056536 2014-03-13 2015-03-05 特定装置、特定方法および特定プログラム WO2015137235A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201580012526.4A CN106133742B (zh) 2014-03-13 2015-03-05 确定装置、确定方法以及确定程序
US15/120,668 US10382455B2 (en) 2014-03-13 2015-03-05 Identifying apparatus, identifying method, and identifying program
JP2016507487A JP5989936B2 (ja) 2014-03-13 2015-03-05 特定装置、特定方法および特定プログラム
EP15761649.1A EP3091466B1 (en) 2014-03-13 2015-03-05 Identification device, identification method, and identification program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014050135 2014-03-13
JP2014-050135 2014-03-13

Publications (1)

Publication Number Publication Date
WO2015137235A1 true WO2015137235A1 (ja) 2015-09-17

Family

ID=54071681

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/056536 WO2015137235A1 (ja) 2014-03-13 2015-03-05 特定装置、特定方法および特定プログラム

Country Status (5)

Country Link
US (1) US10382455B2 (ja)
EP (1) EP3091466B1 (ja)
JP (1) JP5989936B2 (ja)
CN (1) CN106133742B (ja)
WO (1) WO2015137235A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016093182A1 (ja) * 2014-12-09 2016-06-16 日本電信電話株式会社 特定装置、特定方法および特定プログラム
JP2018142927A (ja) * 2017-02-28 2018-09-13 沖電気工業株式会社 マルウェア不正通信対処システム及び方法
CN108647516A (zh) * 2018-05-07 2018-10-12 北京顶象技术有限公司 一种防御漏洞非法提权方法及装置
JP2019152912A (ja) * 2018-02-28 2019-09-12 沖電気工業株式会社 不正通信対処システム及び方法
US11429728B2 (en) * 2019-10-21 2022-08-30 Yazaki Corporation Vulnerability evaluation apparatus

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6095839B1 (ja) * 2016-09-27 2017-03-15 株式会社野村総合研究所 セキュリティ対策プログラム、ファイル追跡方法、情報処理装置、配信装置、及び管理装置
US10671725B2 (en) 2018-03-20 2020-06-02 Didi Research America, Llc Malicious process tracking
US10887327B2 (en) 2018-03-23 2021-01-05 Juniper Networks, Inc. Enforcing threat policy actions based on network addresses of host threats
US10862912B2 (en) 2018-03-23 2020-12-08 Juniper Networks, Inc. Tracking host threats in a network and enforcing threat policy actions for the host threats
US20210344690A1 (en) * 2020-05-01 2021-11-04 Amazon Technologies, Inc. Distributed threat sensor analysis and correlation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870610B1 (en) * 2007-03-16 2011-01-11 The Board Of Directors Of The Leland Stanford Junior University Detection of malicious programs
US9519782B2 (en) * 2012-02-24 2016-12-13 Fireeye, Inc. Detecting malicious network content
JP5766650B2 (ja) 2012-04-27 2015-08-19 日本電信電話株式会社 情報処理装置、監視方法および監視プログラム
RU2531861C1 (ru) * 2013-04-26 2014-10-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса
CN103269341B (zh) 2013-05-08 2016-02-17 腾讯科技(深圳)有限公司 一种间谍程序的分析方法和计算机系统
US9195826B1 (en) * 2013-05-30 2015-11-24 Emc Corporation Graph-based method to detect malware command-and-control infrastructure
US9237161B2 (en) * 2013-12-16 2016-01-12 Morphick, Inc. Malware detection and identification

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YUHEI KAWAKOYA: "Tracing Malicious Code with Taint Propagation", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN (JOURNAL, vol. 54, no. 8, 15 August 2013 (2013-08-15), pages 2079 - 2089, XP055370788 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016093182A1 (ja) * 2014-12-09 2016-06-16 日本電信電話株式会社 特定装置、特定方法および特定プログラム
JPWO2016093182A1 (ja) * 2014-12-09 2017-04-27 日本電信電話株式会社 特定装置、特定方法および特定プログラム
US10853483B2 (en) 2014-12-09 2020-12-01 Nippon Telegraph And Telephone Corporation Identification device, identification method, and identification program
JP2018142927A (ja) * 2017-02-28 2018-09-13 沖電気工業株式会社 マルウェア不正通信対処システム及び方法
JP2019152912A (ja) * 2018-02-28 2019-09-12 沖電気工業株式会社 不正通信対処システム及び方法
JP7102780B2 (ja) 2018-02-28 2022-07-20 沖電気工業株式会社 不正通信対処システム及び方法
CN108647516A (zh) * 2018-05-07 2018-10-12 北京顶象技术有限公司 一种防御漏洞非法提权方法及装置
CN108647516B (zh) * 2018-05-07 2020-08-14 北京顶象技术有限公司 一种防御漏洞非法提权方法及装置
US11429728B2 (en) * 2019-10-21 2022-08-30 Yazaki Corporation Vulnerability evaluation apparatus

Also Published As

Publication number Publication date
EP3091466A1 (en) 2016-11-09
EP3091466A4 (en) 2017-08-23
JPWO2015137235A1 (ja) 2017-04-06
US20170019418A1 (en) 2017-01-19
CN106133742A (zh) 2016-11-16
CN106133742B (zh) 2019-05-07
EP3091466B1 (en) 2018-05-02
US10382455B2 (en) 2019-08-13
JP5989936B2 (ja) 2016-09-07

Similar Documents

Publication Publication Date Title
JP5989936B2 (ja) 特定装置、特定方法および特定プログラム
US20200366694A1 (en) Methods and systems for malware host correlation
US8204984B1 (en) Systems and methods for detecting encrypted bot command and control communication channels
US9443075B2 (en) Interception and policy application for malicious communications
US8539582B1 (en) Malware containment and security analysis on connection
JP6122562B2 (ja) 特定装置、特定方法および特定プログラム
US8566946B1 (en) Malware containment on connection
US8561177B1 (en) Systems and methods for detecting communication channels of bots
US8782791B2 (en) Computer virus detection systems and methods
US8079030B1 (en) Detecting stealth network communications
TW201703486A (zh) 於分佈式網路實現安全功能
US11171985B1 (en) System and method to detect lateral movement of ransomware by deploying a security appliance over a shared network to implement a default gateway with point-to-point links between endpoints
US20120240235A1 (en) Methods and systems for providing a framework to test the security of computing system over a network
US9202054B1 (en) Detecting a heap spray attack
US9584550B2 (en) Exploit detection based on heap spray detection
JP6096389B2 (ja) 検知装置、検知方法及び検知プログラム
Liu et al. An integrated architecture for IoT malware analysis and detection
JP5980968B2 (ja) 情報処理装置、情報処理方法及びプログラム
US11190433B2 (en) Systems and methods for identifying infected network nodes based on anomalous behavior model
JPWO2015178002A1 (ja) 情報処理装置、情報処理システム及び通信履歴解析方法
JPWO2014181476A1 (ja) データ変換方法及び装置
Boudhir et al. New generic approach based on cross compilation for securing IoT communications
Brunner et al. Integrated honeypot based malware collection and analysis
CN114363006A (zh) 基于WinRM服务的防护方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15761649

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016507487

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2015761649

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015761649

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15120668

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE