CN107004088B - 确定装置、确定方法及记录介质 - Google Patents

确定装置、确定方法及记录介质 Download PDF

Info

Publication number
CN107004088B
CN107004088B CN201580066814.8A CN201580066814A CN107004088B CN 107004088 B CN107004088 B CN 107004088B CN 201580066814 A CN201580066814 A CN 201580066814A CN 107004088 B CN107004088 B CN 107004088B
Authority
CN
China
Prior art keywords
malware
branch
command
executed
data
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
CN201580066814.8A
Other languages
English (en)
Other versions
CN107004088A (zh
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of CN107004088A publication Critical patent/CN107004088A/zh
Application granted granted Critical
Publication of CN107004088B publication Critical patent/CN107004088B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/128Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware

Landscapes

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

Abstract

指令服务器确定装置(10)在执行恶意软件(11a)时,对恶意软件(11a)所接收到的数据赋予能够唯一地确定数据的发送源的识别信息的标签,并追踪赋予了标签的数据的传播。另外,指令服务器确定装置(10)取得追踪的数据中的、由恶意软件(11a)执行的分支命令所参照的数据的标签。另外,指令服务器确定装置(10)对与在分支命令之后恶意软件(11a)未执行的分支目的地的命令相关的信息进行分析。并且,指令服务器确定装置(10)根据分析结果,从与取得的标签对应的发送源的识别信息确定对恶意软件(11a)发出指令的指令服务器的识别信息。

Description

确定装置、确定方法及记录介质
技术领域
本发明涉及确定装置、确定方法及记录介质。
背景技术
近年来,信息泄露、非法访问这样的带来威胁的恶意软件来势凶猛。在对这样的恶意软件采取对策时,理想的是防止感染本身。但是,被恶意软件感染的手法日益被先进化、多样化,想要将所有恶意软件的感染防患于未然是比较困难的。因此,不仅需要防止被恶意软件感染的对策,并且还需要将被感染后的损坏控制为最低限度的对策。
以对这样的被感染后的对策的需求为背景,采用使用了黑名单的感染终端检测、通信切断等对策。例如,多数恶意软件具有在被感染后与发送攻击者的命令来决定恶意软件的动作的指令服务器进行通信的特征,根据来自指令服务器的命令而进行信息泄露、进一步的病毒感染活动。因此,如果能够预先对指令服务器进行黑名单化,则能够通过检测与指令服务器的通信而发现病感染终端,并通过切断与指令服务器的通信而实现感染终端的无害化。但是,该对策必须预先生成黑名单。
一般,通过对恶意软件进行分析来提取应刊登于黑名单的通信目的地,因此通过恶意软件的分析而生成黑名单。但是,恶意软件不仅与指令服务器进行通信,而且为了分析干扰等的目的而与正规网站也进行通信,因此需要从包括正规网站的多个通信目的地中仅提取指令服务器。因此,进行了如非专利文献1、非专利文献2那样关注于指令服务器控制恶意软件的方法的手法的研究。
在此,指令服务器控制恶意软件的方法大致分为两种。一种是除了恶意软件执行的程序代码以外,还指定***调用、API(Application Programming Interface:应用程序接口)的自变量的方法。另一种是仅指定恶意软件所执行的程序代码的方法。
因此,在非专利文献1中,关注于恶意软件的程序代码内的分支命令和在分支目的地所执行的API调用串,在通过来自同一个通信目的地的接收数据而在各分支目的地调用了规定的API的情况下,将上述通信目的地确定为指令服务器。另外,在非专利文献2中,关注于与恶意软件的收发数据关联地发行的***调用之间的数据的交换关系,在指定了***调用、API的自变量的情况下,确定指令服务器。
【非专利文献】
【非专利文献1】几世知范、青木一史、针生刚男“基于控制流和通信的相关性分析的C&C服务器确定手法的提案”通信学会技术报(幾世知範,青木一史,針生剛男「制御フローと通信の関連性解析に基づくC&Cサーバ特定手法の提案」信学技報ICSS2013-81)
【非专利文献2】G.Jacob,R.Hund,C.Kruegel,andT.Holz,「Jackstraws:PickingCommandand Control Connections from Bot Traffic,」In Proceedings of the 20thUSENIX Conference on Security
发明内容
发明要解决的课题
但是,在上述的以往的技术中存在如下课题:通过仅接收一种指定恶意软件所执行的程序代码的命令等仅对分支命令带来影响的指令,则难以确定指令服务器。
例如,在仅指定所执行的程序代码的控制方法中,从指令服务器接收的数据仅对分支命令带来影响,未作为***调用、API的自变量而被利用。因此,在非专利文献2记载的方法中,在仅指定了恶意软件所执行的程序代码的情况下,有可能看漏指令服务器。另一方面,在非专利文献1记载的方法中,由于关注于分支命令,因此不管为哪一控制方法均能够应对,但有时正规网站也会对分支命令带来影响,因此为了高精度地检测指令服务器,需要接收两种以上的仅对分支命令带来影响的指令。
本发明是为了解决上述的以往技术的课题而研发的,本发明的目的在于提供一种即便在仅接收到一种仅对分支命令带来影响的指令的情况下,也能够确定指令服务器的确定装置、确定方法及确定程序。
用于解决课题的手段
为了解决上述课题,达到目的,确定装置的特征在于,其具备:追踪部,其在执行恶意软件时,对该恶意软件接收到的数据赋予标签,追踪被赋予了该标签的数据的传播,该标签能够唯一地确定识别该数据的发送源的识别信息;监视部,其取得所述追踪部追踪到的数据中的、由恶意软件执行的分支命令所参照的数据的标签;分析部,其对与在所述分支命令之后所述恶意软件未执行的分支目的地的命令相关的信息进行分析;及确定部,其根据所述分析部的分析结果,从与所述监视部取得的标签对应的发送源的识别信息中确定对所述恶意软件发出指令的指令服务器的识别信息。
另外,由确定装置执行的确定方法的特征在于,包括:追踪工序,在执行恶意软件时,对该恶意软件接收到的数据赋予标签,并追踪被赋予了该标签的数据的传播,该标签能够唯一地确定该数据的发送源的识别信息;监视工序,取得通过所述追踪工序追踪到的数据中的、由恶意软件执行的分支命令所参照的数据的标签;分析工序,对与在所述分支命令之后所述恶意软件未执行的分支目的地的命令相关的信息进行分析;及确定工序,根据所述分析工序的分析结果,从与通过所述监视工序取得的标签对应的发送源的识别信息中确定对所述恶意软件发出指令的指令服务器的识别信息。
另外,确定程序的特征在于,其用于使计算机执行如下步骤:追踪步骤,在执行恶意软件时,对该恶意软件接收到的数据赋予能够唯一地确定该数据的发送源的识别信息的标签,并追踪被赋予该标签的数据的传播;监视步骤,取得通过所述追踪步骤追踪的数据中的、由恶意软件执行的分支命令所参照的数据的标签;分析步骤,对与在所述分支命令之后所述恶意软件未执行的分支目的地的命令相关的信息进行分析;及确定步骤,根据所述分析步骤的分析结果,从与通过所述监视步骤取得的标签对应的发送源的识别信息中确定对所述恶意软件发出指令的指令服务器的识别信息。
发明效果
本申请中公开的确定装置、确定方法及确定程序即便在仅接收到一种仅对分支命令带来影响的指令的情况下,也能够确定指令服务器。
附图说明
图1是表示第一实施方式的指令服务器确定装置的概要的结构图。
图2是表示第一实施方式的识别信息DB所保持的信息的一例的图。
图3是表示第一实施方式的执行跟踪DB所保持的信息的一例的图。
图4是表示第一实施方式的存储器转储DB所保持的信息的一例的图。
图5是表示第一实施方式的未执行区域分析部所分析的控制结构的一例的图。
图6是表示通过第一实施方式的指令服务器确定装置对未执行区域进行静态分析的处理的流程的流程图。
图7是表示通过第一实施方式的指令服务器确定装置进行的指令服务器的确定处理的流程的流程图。
图8是表示第二实施方式的指令服务器确定装置的概要的结构图。
图9是表示第二实施方式的执行时状态DB所保持的信息的一例的图。
图10是表示通过第二实施方式的指令服务器确定装置对未执行区域进行动态分析的处理的流程的流程图。
图11是表示执行确定程序的计算机的图。
具体实施方式
在以下的实施方式中,在对第一实施方式的指令服务器确定装置的结构及处理的流程依次进行说明之后,最后对第一实施方式的效果进行说明。
[第一实施方式]
首先,使用图1,对指令服务器确定装置10的结构进行说明。图1是表示第一实施方式的指令服务器确定装置的概要的结构图。如图1所示,指令服务器确定装置10具备恶意软件执行环境部11、识别信息DB(Data Base:数据库)12、执行跟踪DB13、存储器转储DB14、未执行区域分析部15、及指令服务器确定部16。下面,对这些各部的处理进行说明。
恶意软件执行环境部11由恶意软件11a、客户端OS(Operating System:操作***)11b、虚拟机监视器11c构成,使恶意软件实际地进行动作而进行分析。恶意软件11a是带来信息泄漏、非法访问等威胁的非法程序,作为分析对象的程序而在客户端OS11b上执行。客户端OS11b是用于对恶意软件11a进行动态分析的环境。
虚拟机监视器11c由存储器转储取得部110、数据传播追踪部111及命令监视部112构成,对执行恶意软件时的动作进行监视。例如,虚拟机监视器11c在客户端OS11b上构建具备虚拟CPU(Central Processing Unit:中央处理器)、虚拟存储器等的虚拟机,使虚拟机执行恶意软件11a,并监视其动作。
存储器转储取得部110监视恶意软件11a的动作,因此取得存储器转储而登记到存储器转储DB14。例如,存储器转储取得部110取得虚拟机执行恶意软件11a时虚拟机所具备的虚拟存储器的内容,并将所取得的内容记录到存储器转储DB14。
数据传播追踪部111对恶意软件11a接收到的数据设定能够唯一地确定发送源及是第几个接收数据的标签,并通过污点分析而追踪执行恶意软件11a时的数据的传播。
在此,污点分析技术是指,作为将数据流分析自动化的手法之一,对数据设定标签,按照传播规则而传播标签,从而追踪分析***内的数据的传播的技术。另外,标签是指,对数据赋予的属性信息,设定数据的来源、种类。另外,传播规则是指,传播标签的条件,一般将数据的复制、运算作为传播的条件而设定。
例如,在分析接收数据的利用用途的情况下,数据传播追踪部111对接收数据设定能够唯一地确定取得源的标签,与数据的复制、运算对应地传播标签。其结果,指令服务器确定装置10通过确认对作为API的自变量而传递的数据设定有标签,从而可分析出接收数据是作为API的自变量而利用的数据。另外,在污点分析技术中,一般利用虚拟计算机技术而实现,将标签和数据对应地保持在与数据不同的专用的记录区域。
对数据传播追踪部111执行的处理的一例说明如下:数据传播追踪部111对恶意软件11a接收到的数据设定能够唯一地确定发送源的标签,将与IP(Internet Protocol:互联网协议)地址、FQDN(Fully Qualified Domain Name:完全合格的域名)、URL(UniformResource Locator:统一资源***)这样的表示数据的发送源的识别信息对应的标签记录到识别信息DB12,然后追踪虚拟机监视器11c上的数据的传播。另外,在从多个发送源接收数据而生成新的数据的情况下,数据传播追踪部111生成能够唯一地确定多个发送源的识别信息的新的标签而赋予给数据,并追踪赋予了该标签的数据的传播。另外,数据传播追踪部111在函数内参照了接收数据的情况下,对函数的返回值赋予标签,并追踪赋予了该标签的数据的传播。
命令监视部112将在执行了恶意软件11a的程序代码的分支命令中的、参照赋予了表示恶意软件11a接收到的数据的标签的数据的分支命令、API调用、及调用这些时的调用堆栈等作为日志而记录到执行跟踪DB13。具体地,命令监视部112取得恶意软件11a所执行的API调用、***调用的发行、jmp命令、jcc命令、call命令、ret命令等的分支命令、执行命令时的调用堆栈、分支命令所参照的数据的标签,并记录到执行跟踪DB13。即,命令监视部112取得通过由恶意软件11a执行的分支命令所参照的数据的标签,并记录到执行跟踪DB13。
识别信息DB12将在执行恶意软件时所发生的通信的识别信息和对来自该识别信息所表示的通信目的地的接收数据设定的标签对应地进行存储。例如,图2是表示第一实施方式的识别信息DB所保持的信息的一例的图。如图2所示,识别信息DB12将识别信息和对从识别信息所表示的通信目的地接收到的接收数据赋予的标签对应地进行存储。
例如,在图2所示的例子中,与作为识别信息的IP地址“192.168.2.150”对应的标签是“1”,与作为识别信息的IP地址“192.168.5.140”对应的标签是“2”。这样,识别信息DB12将通信目的地和标签关联地进行存储,从而通过确认对数据设定的标签而掌握取得源。
另外,登记到识别信息DB12的标签例如通过数据传播追踪部111而被设定,但关于设定相关的标签的粒径,可根据最终想要确定的指令服务器的识别信息的粒径而任意地设定。例如,数据传播追踪部111既可对每个FQDN、URL而变更与接收数据对应的标签,也可以在考虑端口编号的基础上对每个部分变更标签。但是,如图2的例子所示,数据传播追踪部111设定能够唯一地确定通信目的地的标签。
返回到图1,执行跟踪DB13存储通过命令监视部112而取得的日志。例如,图3是表示第一实施方式的执行跟踪DB所保持的信息的一例的图。在执行跟踪DB13中记录有用于确定日志的ID(Identifier:标识符)、恶意软件在分析中所执行的分支命令、分支命令所执行的执行地址、执行时的调用堆栈、执行的分支目的地、未执行的分支目的地、对分支目的地的决定带来影响的标签、API名。在此,API名是在分支目的地为API的情况下所记录的信息。另外,对分支目的地的决定带来影响的标签、及未执行的分支目的地是仅在存在这些的情况下所记录的信息。
返回到图1,存储器转储DB14记录在存储器转储取得部110执行恶意软件11a时所取得的存储器转储。例如,图4是表示第一实施方式的存储器转储DB所保持的信息的一例的图。在图4所示的例子中,存储器转储DB14将用于确定存储器转储的ID、执行日志ID、及转储内容对应地进行记录。在此,执行日志ID是指,作为表示取得存储器转储的场所的信息而登记到执行跟踪DB13的日志的ID。另外,转储内容是指,存储器转储取得部110所取得的存储器转储。从而,存储器转储DB14中可确定在分析未执行区域时成为分析的对象的存储器转储。
返回到图1,未执行区域分析部15对与在恶意软件11a所执行的分支命令之后,恶意软件11a未执行的分支目的地的命令相关的信息进行分析。具体地,未执行区域分析部15根据存储于识别信息DB12、执行跟踪DB13、存储器转储DB14的信息,对恶意软件11a未执行的分支目的地的程序代码进行静态分析。另外,未执行区域分析部15对恶意软件11a未执行的分支目的地中的命令、处理的结构即控制结构进行分析,从而确定恶意软件11a所执行的分支目的地与恶意软件11a未执行的分支目的地之间的汇合点。
在此,图5是表示第一实施方式的未执行区域分析部15所分析的控制结构的一例的图。在图5所示的例子中,表示通过由从外部的服务器接收到的数据而改变分支目的地的分支命令,恶意软件11a所执行的处理分支成分支目的地A和分支目的地B之后,各个分支在汇合点C汇合的情况下的控制结构。在图5所示的情况下,在动态分析恶意软件时仅执行分支目的地A的情况下,未执行区域分析部15通过确定通过恶意软件11a而未执行的分支目的地B与分支目的地A的汇合点C,从而确定通过恶意软件11a而执行的分支目的地B的范围。
接着,对未执行区域分析部15所执行的处理进行具体说明。例如,未执行区域分析部15参照执行跟踪DB13确定接收数据对分支目的地的决定带来影响的分支命令,并判断恶意软件11a是否执行所确定的分支命令的各个分支目的地。此时,考虑调用堆栈和执行地址的值(命令指示器寄存器的值)而识别各个分支命令。并且,在未执行区域分析部15对于从执行跟踪DB13确定的分支命令能够确定在执行各个分支目的地时的日志即执行日志的情况下,视为未执行区域不存在,结束对所确定的分支命令的处理。
另外,在存在未执行的分支目的地的情况下,未执行区域分析部15利用在执行恶意软件11a时所记录的存储器转储,对在未执行的分支目的地调用的API及分支目的地的控制结构进行静态分析。例如,未执行区域分析部15进行对存储器转储的数据进行分解的静态分析。在此,作为分解的具体的算法,可利用公知的线性扫描算法、递归算法。
另外,未执行区域分析部15通过核对恶意软件11a所执行的分支目的地的动态分析中所加载的组件及其导出地址表格、调用目的地的地址、分析对象的导入地址表格的信息而确定在未执行的分支目的地所调用的API。另外,未执行区域分析部15也可利用应用污点分析而具备对分析干扰的耐性的公知的API读出监视手法而监视未执行区域。之后,未执行区域分析部15作为分析结果而向指令服务器确定部16通知所确定的API、控制结构。
另外,在本方式中,由于未执行区域分析部15利用静态分析,因此在动态地决定调用目的地的地址的情况等不能确定调用目的地的情况下,仅将能够确定的API调用作为在分支目的地所执行的API而确定,并通知给指令服务器确定部16。另外,未执行区域分析部15对于对控制结构分支目的地不明确的命令不予考虑。
指令服务器确定部16根据未执行区域分析部15的分析结果、存储在执行跟踪DB13及识别信息DB12的信息而确定指令服务器。具体地,指令服务器确定部16根据未执行区域分析部15的分析结果而从与命令监视部112取得的标签对应的发送源的识别信息确定对恶意软件11a发出指令的指令服务器的识别信息。
例如,指令服务器确定部16从未执行区域分析部15接收恶意软件11a利用未执行的分支目的地即未执行区域调用的API及未执行区域的控制结构。另外,指令服务器确定部16读入执行跟踪DB13所保持的执行日志和识别信息DB12所保持的信息。之后,指令服务器确定部16对于通过接收数据而分支目的地的决定受到影响的全分支命令确认是否应用下一个条件。即,指令服务器确定部16在分支命令的各分支的末端存在汇合点的情况下,确定在分支点与汇合点之间调用的API,在分支命令的各分支的末端不存在汇合点的情况下,确定在分支点与终点之间调用的API,并判断所确定的API中是否包括规定的API或规定的API串。
另外,在确定的API中包括规定的API或规定的API串的情况下,指令服务器确定部16从执行跟踪DB13取得分支时所参照的数据的标签,然后从识别信息DB12取得在标签所附带的通信目的地,从而确定指令服务器。即,指令服务器确定部16在某一分支命令的分支目的地中的、在恶意软件11a未执行的分支目的地调用规定的API或API串的情况下,将对相关的分支命令带来影响的数据的发送源判断为指令服务器。
另外,上述的规定的API是指,一般恶意软件喜欢调用等,在恶意软件的分析中应关注的API,作为另外的列表而准备,通过与列表核对而确定是否为规定的API。另外,规定的API串是指,恶意软件在接收到来自指令服务器的指令之后执行的,在恶意软件的分析中应关注的API的顺序。
在此,在规定的API串中,例如假设从指令服务器发出文件读出命令的情况,设定有打开终端内的文件的API、读入文件内数据的API、将读入的数据发送到外部服务器的API这样的顺序的API串。另外,在规定的API串中,例如假设从指令服务器发出文件写入命令的情况,设定有打开终端内的文件的API、检索文件内数据的API、向文件内写入数据的API、关闭文件的API这样的顺序的API串。
这样的规定的API及API串是通过预先的恶意软件分析而调查并列表化的。另外,关于所确认的API及API串,既可根据API所操作的计算资源而限制,也可由预先分析的恶意软件11a所调用的API来限制。另外,为了提高检测精度,可仅将在判断为指令服务器时进行动态分析的情况下所调用的API及API调用串作为检测的对象。
另外,在未执行区域中调用的***调用中包括规定的***调用的情况下、以规定的顺序调用规定的***调用的情况下,指令服务器确定部16将与分支命令所参照的数据的标签对应的发送源判断为指令服务器。另外,指令服务器确定部16根据调用的API和***调用这两者而进行指令服务器的判断。
另外,指令服务器确定部16在上述的处理的基础上,还根据在恶意软件11a执行的分支目的地调用的API、***调用等而进行指令服务器的确定。例如,指令服务器确定部16对于在多个分支目的地进行API调用或***调用的发行的分支命令,在与分支时所参照的数据的标签对应的识别信息在多个分支目的地中共用的情况下,将该识别信息确定为指令服务器的识别信息。
例如,指令服务器确定部16通过分析执行跟踪DB13所保持的恶意软件11a执行的API调用、***调用的发行、分支命令及调用堆栈的信息,从而在多个分支目的地提取进行了API调用、***调用的发行的分支命令,从执行跟踪DB13取得分支到进行了API调用、***调用的发行的分支目的地时参照的数据的标签。
进而,指令服务器确定部16从识别信息DB12取得与标签对应的通信目的地,从而在每个分支目的地取得对分支命令带来影响的通信目的地,将在分支目的地之间共用的通信目的地判断为指令服务器。即,指令服务器确定部16通过进行恶意软件11a的动态分析,从而确定指令服务器,并且对各个分支命令而静态分析恶意软件11a未执行的分支目的地,在静态分析的结果,在调用规定的API、API串的情况下,将对成为处理对象的分支命令带来影响的数据的发送源判断为指令服务器。
另外,通过对未执行区域进行分析,分支的汇合点变得清楚,其结果,可考虑仅在动态分析中执行的一侧调用规定的API串的情况。在相关的情况下,指令服务器确定部16根据恶意软件11a所调用的API串而确定指令服务器。
另外,指令服务器确定部16可从恶意软件11a所执行的分支目的地,利用其他的公知的手法而进行指令服务器的确定。例如,在恶意软件11a所执行的分支目的地调用规定的API或***调用的情况等下,指令服务器确定部16将对成为处理对象的分支命令带来影响的数据的发送源判断为指令服务器。
这样,指令服务器确定装置10在对执行恶意软件11a时的接收数据赋予标签的基础上追踪传播,监视并取得对恶意软件11a所执行的API调用、分支命令、执行命令时的调用堆栈及通过分支命令所参照的数据设定的标签。并且,指令服务器确定装置10根据在通过接收数据而决定分支目的地的分支命令中,通过恶意软件11a而未执行的分支目的地中调用的API或API串及控制结构来确定指令服务器。
在此,在由指令服务器控制恶意软件11a的情况下,在除了程序代码之外还指定***调用、API的自变量的方法和仅指定所执行的程序代码方法的任一的指令中,均进行通过对分支命令带来影响而执行的程序代码的指定。因此,指令服务器确定装置10通过确认调用的API或API串等,从而能够判断实际上通信目的地是否能够操作恶意软件,因此能够确定通信目的地为指令服务器。
另外,指令服务器确定装置10通过关注对分支命令带来影响的接收数据和其取得源及在分支目的地调用的API或API串而能够确定指令服务器,并通过在多个分支目的地中确认该API串而提高其准确性。就是说,指令服务器确定装置10还对未执行区域的分支目的地进行分析,因此在仅发送过来一种仅指示所执行的程序代码的切换的指令的情况下,也可确定指令服务器。
另外,通过指令服务器确定装置10而确定的指令服务器被登记到刊登了已知的悪性IP地址、URL等的指令服务器的黑名单。通过将指令服务器的IP地址等的识别信息登记到黑名单,从而可切断与指令服务器之间的通信或发现感染终端并隔离。
[通过指令服务器确定装置而进行的处理]
接着,使用图6、图7,对第一实施方式的指令服务器确定装置10的处理进行说明。图6是表示通过第一实施方式的指令服务器确定装置而对未执行区域进行静态分析的处理的流程的流程图。图7是表示通过第一实施方式的指令服务器确定装置而进行的指令服务器的确定处理的流程的流程图。
首先,使用图6,对通过第一实施方式的指令服务器确定装置10的未执行区域分析部15而对未执行区域进行分析处理的流程进行说明。如图6所示,未执行区域分析部15从执行跟踪DB13取得接收数据对分支目的地的决定带来影响的分支命令(步骤S101)。接着,未执行区域分析部15判断是否确认全部的所取得的分支命令(步骤S102),在未确认的情况下(步骤S102:否),判断是否执行全分支目的地(步骤S103)。
在此,在未执行全分支目的地的情况下(步骤S103:否),即存在未执行区域的情况下,未执行区域分析部15对未执行区域进行静态分析(步骤S104)。接着,未执行区域分析部15在静态分析的结果,将确定的控制结构和在未执行区域中调用的API通知给指令服务器确定部16(步骤S105),并再次执行步骤S102。另外,在执行全分支目的地的情况下(步骤S103:是),未执行区域分析部15再次执行步骤S102。并且,在确认全部的所取得的分支命令的情况下(步骤S102:是),未执行区域分析部15结束处理。
接着,使用图7,对通过第一实施方式的指令服务器确定装置10而进行的指令服务器的确定处理的流程进行说明。如图7所示,指令服务器确定部16从执行跟踪DB13取得执行日志(步骤S201)。接着,指令服务器确定部16从未执行区域分析部15取得分析结果(步骤S202)。并且,指令服务器确定部16从执行跟踪DB13取得接收数据对分支目的地的决定带来影响的分支命令(步骤S203)。
并且,指令服务器确定部16判断是否确认全部的所取得的分支命令(步骤S204),在未确认的情况下(步骤S204:否),对未确认的分支命令执行以下的处理。即,指令服务器确定部16取得从分支点到汇合点或通过程序而执行的处理的终点为止调用的API即在未执行区域调用的API(步骤S205)。并且,指令服务器确定部16判断在所取得的API是否调用规定的API或API串(步骤S206),在调用的情况下(步骤S206:是),从识别信息DB12取得在通过作为处理对象的分支命令所参照的数据的标签中附带的识别信息(步骤S207)。
之后,指令服务器确定部16将所取得的识别信息所表示的通信目的地判断为指令服务器(步骤S208),并再次执行步骤S204。另外,在所取得的API中未调用规定的API或API串的情况下(步骤S206:否),指令服务器确定部16再次执行步骤S204。另外,在将取得的分支命令全部确认的情况下(步骤S204:是),指令服务器确定部16结束处理。
[第一实施方式的效果]
如上述,指令服务器确定装置10在执行恶意软件11a时,对恶意软件11a所接收到的数据赋予能够唯一地确定数据的发送源的识别信息的标签,并追踪赋予了标签的数据的传播。另外,指令服务器确定装置10在追踪的数据中,取得通过由恶意软件11a执行的分支命令所参照的数据的标签。另外,指令服务器确定装置10对与在分支命令之后恶意软件11a未执行的分支目的地的命令相关的信息进行分析,并根据分析结果,从与所取得的标签对应的发送源的识别信息确定对恶意软件11a发出指令的指令服务器的识别信息。
因此,指令服务器确定装置10在仅接收到一种仅对分支命令带来影响的指令的情况下,也能够确定指令服务器。另外,指令服务器确定装置10在恶意软件的通信内容被模糊化、加密的情况下,能够自动确定指令服务器。
另外,指令服务器确定装置10在分支命令之后恶意软件11a未执行的分支目的地对恶意软件11a所调用的API或***调用的至少一方进行分析。并且,由在分支命令之后恶意软件11a未执行的分支目的地调用规定的API的情况下或调用规定的***调用的情况下,指令服务器确定装置10将与通过分支命令所参照的数据的标签对应的发送源的识别信息作为指令服务器的识别信息。因此,指令服务器确定装置10能够确定调用规定的API、***调用的恶意软件11a的指令服务器。
另外,在分支命令之后恶意软件11a未执行的分支目的地以规定的顺序调用规定的API的情况下或以规定的顺序调用规定的***调用的情况下,指令服务器确定装置10将与通过分支命令所参照的数据的标签对应的发送源的识别信息作为指令服务器的识别信息。因此,指令服务器确定装置10能够确定以规定的顺序调用规定的API、***调用的恶意软件11a的指令服务器。
另外,指令服务器确定装置10通过对由恶意软件未执行的分支目的地的控制结构进行分析,从而确定恶意软件所执行的分支目的地与恶意软件未执行的分支目的地的汇合点,并根据与从分支命令到汇合点为止的命令相关的信息的分析结果而确定对恶意软件发出指令的指令服务器的识别信息。因此,指令服务器确定装置10能够高精度地确定恶意软件11a的指令服务器。
另外,指令服务器确定装置10取得在执行恶意软件11a时的存储器的内容,并利用所取得的存储器的内容,对与在分支命令之后恶意软件11a未执行的分支目的地的命令相关的信息进行静态分析。因此,指令服务器确定装置10无需为了分析分支目的地而多次执行恶意软件11a,因此能够减轻分析的处理负荷。
[第二实施方式]
在上述的第一实施方式中,指令服务器确定装置10对未执行区域进行静态分析,并根据在未执行区域调用的API、***调用而确定了指令服务器。但是,实施方式不限于此。例如,指令服务器确定装置10可以通过对未执行区域进行动态分析,从而对在未执行区域调用的API、***调用及未执行区域的控制结构进行分析。在执行相关的处理的情况下,指令服务器确定装置10在执行命令的过程中动态地决定call命令中的调用目的地的情况等在仅通过静态分析难以进行分析的情况下,也能够分析分支目的地中存在的API、***调用及控制结构。
下面,利用附图,对第二实施方式的指令服务器确定装置10a进行说明。另外,在以下的说明中,对于执行与第一实施方式相同的处理的部分,赋予相同的符号,省略以下的说明。
首先,使用图8,对指令服务器确定装置10a的结构进行说明。图8是表示第二实施方式的指令服务器确定装置的概要的结构图。在图8所示的例子中,指令服务器确定装置10a具备恶意软件执行环境部11d、识别信息DB12、执行跟踪DB13、执行时状态DB17、执行时状态记录文件18、未执行区域分析部15a、及指令服务器确定部16。
另外,恶意软件执行环境部11d具备恶意软件11a、客户端OS11b、虚拟机监视器11e,与恶意软件执行环境部11相同地,使恶意软件11a实际地进行动作而进行分析。
虚拟机监视器11e具备数据传播追踪部111、命令监视部112、执行时状态记录部113,与虚拟机监视器11c相同地,对在客户端OS11b上进行动作的虚拟机所执行的恶意软件11a的执行时的动作进行监视。
在此,虚拟机监视器11e所具有的执行时状态记录部113对恶意软件执行时的虚拟机的快照进行记录。例如,执行时状态记录部113取得执行恶意软件11a的虚拟机的快照,将所取得的快照作为执行时状态记录文件18而记录,并将快照的取得场所记录到执行时状态DB17。
另外,关于执行时状态记录部113取得快照的处理,可通过利用虚拟机监视器11e通常具备的快照功能而取得。但是,在一般情况下,不存在为了追踪数据而记录与数据传播追踪部111对数据赋予的标签相关的信息的功能。因此,执行时状态记录部113在取得快照时将保存有标签的存储器区域内的全部数据和快照匹配地保存到执行时状态记录文件18。一般情况下,快照可记录包括存储器内容的虚拟机的全部的状态的差分,因此与使用存储器转储而记录虚拟机的状态的情况相比,能够取得更多的信息。另外,在以下的说明中,将数据传播追踪部111所取得的虚拟机的快照和保存有标签的存储器区域内的数据匹配地记载为快照。
执行时状态DB17记录取得执行时状态记录部113所取得的快照的场所。例如,图9是表示第二实施方式的执行时状态DB所保持的信息的一例的图。如图9所示,执行时状态DB17将快照的ID、与取得快照时执行的命令对应的执行日志的执行日志ID、文件名对应地进行存储。在此,文件名是指,对记录在执行时状态记录文件18的快照的二进制数据赋予的名称,例如是快照的取得日期及时间等。
返回到图8,执行时状态记录文件18是指,执行时状态记录部113所取得的快照的二进制数据。另外,执行时状态记录文件18被记录到指令服务器确定装置10a所具备的规定的存储装置或外部装置所具有的规定的存储装置。
未执行区域分析部15a对恶意软件11a未执行的未执行区域中调用的API、***调用、及控制结构进行动态分析。具体地,未执行区域分析部15a从执行跟踪DB13取得接收数据对分支目的地的决定带来影响的分支命令,并判断是否执行各分支目的地。
并且,在存在未执行的分支目的地的情况下,未执行区域分析部15a使用记录于执行时状态DB17的快照而恢复分支命令执行时的状态,从恢复的地方强制地执行未执行的分支目的地,对在未执行的分支目的地调用的API、***调用、及控制结构进行动态分析。例如,未执行区域分析部15a从恢复的地方进行单纯地使命令指示器寄存器强制地改写分支目的地的地址的強制执行或通过将分支条件符号化而执行的符号执行来强制地执行未执行的分支目的地。并且,未执行区域分析部15a对在分支目的地调用的API、***调用、及控制结构进行动态分析。
另外,在任何的情况下也是強制性的执行的,因此有可能导致上下文信息不一致,在途中分析对象程序出错而结束。因此,在出错而结束的情况下,未执行区域分析部15a将之前为止所取得的API调用、***调用、及与控制结构相关的信息通报给指令服务器确定部16。另外,未执行区域分析部15a为了使上下文信息一致,根据对通过符号执行而获得的输入值的制约条件而生成输入数据,重新分析恶意软件。
在上述处理的结果,指令服务器确定部16根据未执行区域分析部15a动态分析的未执行区域中调用的API、***调用、及控制结构而进行指令服务器的确定。例如,在未执行区域调用规定的API、***调用或规定的API串等的情况下,指令服务器确定部16将对成为处理对象的分支命令带来影响的数据的发送源判断为指令服务器。
[通过未执行区域分析部进行的处理]
下面,使用图10,对通过第二实施方式的指令服务器确定装置10a而进行的处理进行说明。图10是表示通过第二实施方式的指令服务器确定装置进行的对未执行区域进行动态分析的处理的流程的流程图。如图10に所示,未执行区域分析部15a从执行跟踪DB13取得接收数据对分支目的地的决定带来影响的分支命令(步骤S301)。接着,未执行区域分析部15a判断是否确认全部的所取得的分支命令(步骤S302),在未确认的情况下(步骤S302:否),判断是否执行全分支目的地(步骤S303)。
在此,在未执行全分支目的地的情况下(步骤S303:否),即在存在未执行区域的情况下,未执行区域分析部15a执行以下的处理。首先,未执行区域分析部15a参照执行时状态DB17,确定执行成为处理对象的分支命令时的快照,并取得从执行时状态记录文件18确定的快照而进行恢复(步骤S304)。并且,未执行区域分析部15a强制地执行未执行区域而进行动态分析(步骤S305)。之后,未执行区域分析部15a将确定的控制结构和在未执行区域调用的API通知给指令服务器确定部16(步骤S306),再次执行步骤S302。另外,在执行了全分支目的地的情况下(步骤S303:是),未执行区域分析部15a再次执行步骤S302。并且,在将所取得的分支命令全部确认的情况下(步骤S302:是),未执行区域分析部15a结束处理。
[第二实施方式的效果]
如上述,指令服务器确定装置10a记录执行恶意软件11a的虚拟机的快照。并且,指令服务器确定装置10a使用快照而强制地执行在分支命令之后恶意软件11a未执行的分支目的地,并对与分支目的地的命令相关的信息进行动态分析。
即,指令服务器确定装置10a使用虚拟机的快照而对恶意软件11a未执行的分支目的地进行动态分析,因此有时能够确定仅通过存储器转储的内容不能确定的指令服务器。其结果,指令服务器确定装置10a能够高精度地确定指令服务器。另外,指令服务器确定装置10a使用虚拟机的快照,因此与指令服务器确定装置10相比,增加用于保持各种数据库的存储容量、分析的处理负担。
[其他实施方式]
以上,对第一实施方式及第二实施方式进行了说明,但所公开的发明除了上述的实施方式以外,还可以各种不同的方式来实施。因此,下面,对其他实施方式进行说明。
[关于存储器转储的保持方法]
上述的指令服务器确定装置10将所取得的存储器转储以DB形式保存到存储器转储DB14。但是,实施方式不限于此。例如,指令服务器确定装置10可以二进制形式的文件保存所取得的存储器转储,并将存储器转储的ID、取得存储器转储的日期及时间设定为文件名。即,指令服务器确定装置10可以任意方式记录存储器转储。
[关于污点分析]
上述的指令服务器确定装置10,10a使用污点分析而追踪了数据的传播。在此,一般情况下,在数据传播的追踪中所利用的污点分析技术中存在标签的传播被中断的问题。为了缓解该问题,指令服务器确定装置10,10a可使用从函数的自变量对返回值传播标签的手法、在读入确定的标签的函数中对函数的返回值及函数内的写入内容传播标签的手法这样的強制传播的组合。
[***结构等]
另外,图示的各个装置的各个结构要素是功能概念性的要素,无需物理性地必须构成为如图所示的结构。即,各个装置的分散、综合性的具体方式不限于图示的方式,可根据各种负荷、使用情况等而将其全部或一部分以任意的单位功能性地或物理性地分散、统一而构成。
作为一例,既可将数据传播追踪部111和命令监视部统一为一个部,也可将虚拟机监视器11c分成虚拟机和监视虚拟机的监视部。另外,关于识别信息DB12、执行跟踪DB13、存储器转储DB14,由指令服务器确定装置10的外部装置进行保持,通过网络而与指令服务器确定装置10连接。另外,也可以在不同的装置分别具备未执行区域分析部15和指令服务器确定部16,并与网络连接而合作,从而实现如上述的指令服务器确定装置10的功能。
进而,通过各个装置而进行的各个处理功能的全部或任意的一部分通过CPU及通过该CPU而分析执行的程序来实现,或者,作为通过有线逻辑的硬件而实现。
另外,在本实施方式中说明的各个处理中,可将以自动进行的方式进行说明的全部或一部分处理以手动的方式进行,或者,也可将以手动的方式进行说明的全部或一部分处理,用公知的方法来自动地进行。此外,关于包括在上述文中、附图中所示的处理顺序、控制顺序、具体的名称、各种数据、参数的信息,除了特殊记载的情况之外,可任意地进行变更。
[程序]
另外,关于在上述实施方式中说明的指令服务器确定装置10,10a所执行的处理,还可制作由计算机可执行的语言来记载的程序。例如,关于第一实施方式的指令服务器确定装置10所执行的处理,可制作由计算机可执行的语言来记载的确定程序。在该情况下,通过由计算机执行确定程序,从而可获得与上述实施方式相同的效果。进而,将相关确定程序记录到由计算机可读取的记录介质,将记录到该记录介质的确定程序读入计算机而执行,从而实现与上述第一实施方式相同的处理。下面,对执行实现与图1所示的指令服务器确定装置10相同的功能的确定程序的计算机的一例进行说明。
图11是表示执行确定程序的计算机的图。如图11所示,计算机1000例如具备存储器1010、CPU1020、硬盘驱动器接口1030、盘驱动器接口1040、串行端口接口1050、视频适配器1060、网络接口1070,这些各个部通过总线1080而连接。
如图11所示,存储器1010包括ROM(Read Only Memory:只读存储器)1011及RAM(Random Access Memory:随机存取存储器)1012。ROM1011例如存储BIOS(Basic InputOutput System:基本输入输出***)等引导程序。如图11所示,硬盘驱动器接口1030与硬盘驱动器1090连接。如图11所示,盘驱动器接口1040与盘驱动器1041连接。例如,磁盘、光盘等可拆装的存储介质***盘驱动器。如图11所示,串行端口接口1050例如与鼠标1110、键盘1120连接。如图11所示,视频适配器1060例如与显示器1130连接。
在此,如图11所示,硬盘驱动器1090例如存储OS1091、应用程序1092、程序组件1093、程序数据1094。即,上述的确定程序作为记载有通过计算机1000而执行的指令的程序组件,例如存储到硬盘驱动器1090。
另外,在上述实施方式中说明的各种数据作为程序数据而例如存储到存储器1010、硬盘驱动器1090。并且,CPU1020将存储在存储器1010、硬盘驱动器1090程序组件1093、程序数据1094根据需要而在RAM1012读出,执行追踪步骤、分析步骤、确定步骤。
另外,关于确定程序的程序组件1093、程序数据1094不限于存储在硬盘驱动器1090的情况,例如也可以存储在可拆装的存储介质,并介由盘驱动器等而通过CPU1020来读出。或者,关于确定程序的程序组件1093、程序数据1094存储到介由网络(LAN(Local AreaNetwork:局域网)、WAN(Wide Area Network:广域网)等)而联接的其他的计算机,并介由网络接口1070而通过CPU1020来读出。
以上,对几个实施方式进行了说明,但本申请所公开的技术不限于这些实施方式。即,这些实施方式可以其他各种方式而实施,可进行各种省略、替换、变更。
这些实施例、其变形包括在本申请所公开的技术中,并包括在记载于权利要求书中的发明和其均等的范围。
符号说明
10,10a 指令服务器确定装置
11,11d 恶意软件执行环境部
11a 恶意软件
11b 客户端OS
11c,11e 虚拟机监视器
110 存储器转储取得部
111 数据传播追踪部
112 命令监视部
113 执行时状态记录部
12 识别信息DB
13 执行跟踪DB
14 存储器转储DB
15,15a 未执行区域分析部
16 指令服务器确定部
17 执行时状态DB
18 执行时状态记录文件

Claims (7)

1.一种确定装置,其特征在于,其具备:
追踪部,其在执行恶意软件时,对该恶意软件接收到的数据赋予标签,追踪被赋予了该标签的数据的传播,该标签能够唯一地确定识别该数据的发送源的识别信息;
监视部,其取得所述追踪部追踪到的数据中的、恶意软件执行的分支命令所参照的数据的标签;
分析部,其对与在所述分支命令之后所述恶意软件未执行的分支目的地的命令相关的信息进行分析;及
确定部,其根据所述分析部的分析结果,从与所述监视部取得的标签对应的发送源的识别信息中确定对所述恶意软件发出指令的指令服务器的识别信息,
所述分析部对在所述分支命令之后所述恶意软件未执行的分支目的地,该恶意软件调用的API或***调用的至少一方进行分析,
在所述分支命令之后所述恶意软件未执行的分支目的地调用规定的API的情况下或调用规定的***调用的情况下,所述确定部将与该分支命令所参照的数据的标签对应的发送源的识别信息作为所述指令服务器的识别信息。
2.根据权利要求1所述的确定装置,其特征在于,
在所述分支命令之后所述恶意软件未执行的分支目的地按照规定的顺序调用规定的API的情况下或按照规定的顺序调用规定的***调用的情况下,所述确定部将与该分支命令所参照的数据的标签对应的发送源的识别信息作为所述指令服务器的识别信息。
3.根据权利要求1所述的确定装置,其特征在于,
所述分析部还通过对所述恶意软件未执行的分支目的地的控制结构进行分析,确定所述恶意软件执行的分支目的地与所述恶意软件未执行的分支目的地之间的汇合点,
所述确定部根据与从所述分支命令至所述汇合点为止的命令相关的信息的分析结果,确定对所述恶意软件发出指令的指令服务器的识别信息。
4.根据权利要求1所述的确定装置,其特征在于,
该确定装置具备取得部,该取得部取得执行所述恶意软件时的存储器的内容,
所述分析部使用所述取得部取得的存储器的内容,对与在所述分支命令之后所述恶意软件未执行的分支目的地的命令相关的信息进行静态分析。
5.根据权利要求1所述的确定装置,其特征在于,
该确定装置具备记录部,该记录部记录执行了所述恶意软件的虚拟机的快照,
所述分析部使用所述记录部记录的快照而强制地执行在所述分支命令之后所述恶意软件未执行的分支目的地,对与该分支目的地的命令相关的信息进行动态分析。
6.一种由确定装置执行的确定方法,其特征在于,包括:
追踪工序,在执行恶意软件时,对该恶意软件接收到的数据赋予标签,并追踪被赋予了该标签的数据的传播,该标签能够唯一地确定该数据的发送源的识别信息;
监视工序,取得通过所述追踪工序追踪到的数据中的、恶意软件执行的分支命令所参照的数据的标签;
分析工序,对与在所述分支命令之后所述恶意软件未执行的分支目的地的命令相关的信息进行分析;及
确定工序,根据所述分析工序的分析结果,从与通过所述监视工序取得的标签对应的发送源的识别信息中确定对所述恶意软件发出指令的指令服务器的识别信息,
在所述分析工序中,对在所述分支命令之后所述恶意软件未执行的分支目的地,该恶意软件调用的API或***调用的至少一方进行分析,
在所述确定工序中,在所述分支命令之后所述恶意软件未执行的分支目的地调用规定的API的情况下或调用规定的***调用的情况下,将与该分支命令所参照的数据的标签对应的发送源的识别信息作为所述指令服务器的识别信息。
7.一种记录了确定程序的记录介质,该确定程序用于使计算机执行如下步骤:
追踪步骤,在执行恶意软件时,对该恶意软件接收到的数据赋予标签,追踪被赋予该标签的数据的传播,该标签能够唯一地确定该数据的发送源的识别信息;
监视步骤,取得通过所述追踪步骤追踪到的数据中的、恶意软件执行的分支命令所参照的数据的标签;
分析步骤,对与在所述分支命令之后所述恶意软件未执行的分支目的地的命令相关的信息进行分析;及
确定步骤,根据所述分析步骤的分析结果,从与通过所述监视步骤取得的标签对应的发送源的识别信息中确定对所述恶意软件发出指令的指令服务器的识别信息,
在所述分析步骤中,对在所述分支命令之后所述恶意软件未执行的分支目的地,该恶意软件调用的API或***调用的至少一方进行分析,
在所述确定步骤中,在所述分支命令之后所述恶意软件未执行的分支目的地调用规定的API的情况下或调用规定的***调用的情况下,将与该分支命令所参照的数据的标签对应的发送源的识别信息作为所述指令服务器的识别信息。
CN201580066814.8A 2014-12-09 2015-12-04 确定装置、确定方法及记录介质 Active CN107004088B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014249119 2014-12-09
JP2014-249119 2014-12-09
PCT/JP2015/084215 WO2016093182A1 (ja) 2014-12-09 2015-12-04 特定装置、特定方法および特定プログラム

Publications (2)

Publication Number Publication Date
CN107004088A CN107004088A (zh) 2017-08-01
CN107004088B true CN107004088B (zh) 2020-03-31

Family

ID=56107367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580066814.8A Active CN107004088B (zh) 2014-12-09 2015-12-04 确定装置、确定方法及记录介质

Country Status (5)

Country Link
US (1) US10853483B2 (zh)
EP (1) EP3232359B1 (zh)
JP (1) JP6122562B2 (zh)
CN (1) CN107004088B (zh)
WO (1) WO2016093182A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190121968A1 (en) * 2016-06-16 2019-04-25 Mitsubishi Electric Corporation Key generation source identification device, key generation source identification method, and computer readable medium
US10176325B1 (en) * 2016-06-21 2019-01-08 Symantec Corporation System and method for dynamic detection of command and control malware
WO2017222553A1 (en) * 2016-06-24 2017-12-28 Siemens Aktiengesellschaft Plc virtual patching and automated distribution of security context
EP3293660A1 (en) * 2016-09-08 2018-03-14 Kaspersky Lab AO System and method of detecting malicious code in files
RU2637997C1 (ru) 2016-09-08 2017-12-08 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносного кода в файле
JP6870386B2 (ja) * 2017-02-28 2021-05-12 沖電気工業株式会社 マルウェア不正通信対処システム及び方法
US11176251B1 (en) * 2018-12-21 2021-11-16 Fireeye, Inc. Determining malware via symbolic function hash analysis
US11494216B2 (en) * 2019-08-16 2022-11-08 Google Llc Behavior-based VM resource capture for forensics
US11403392B2 (en) * 2020-01-06 2022-08-02 International Business Machines Corporation Security handling during application code branching
US20210344690A1 (en) * 2020-05-01 2021-11-04 Amazon Technologies, Inc. Distributed threat sensor analysis and correlation
US12041094B2 (en) 2020-05-01 2024-07-16 Amazon Technologies, Inc. Threat sensor deployment and management

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7409719B2 (en) * 2004-12-21 2008-08-05 Microsoft Corporation Computer security management, such as in a virtual machine or hardened operating system
US8621607B2 (en) * 2006-05-18 2013-12-31 Vmware, Inc. Computational system including mechanisms for tracking taint
US8510827B1 (en) 2006-05-18 2013-08-13 Vmware, Inc. Taint tracking mechanism for computer security
US20080016339A1 (en) * 2006-06-29 2008-01-17 Jayant Shukla Application Sandbox to Detect, Remove, and Prevent Malware
US7870610B1 (en) * 2007-03-16 2011-01-11 The Board Of Directors Of The Leland Stanford Junior University Detection of malicious programs
US20090007100A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Suspending a Running Operating System to Enable Security Scanning
US9298918B2 (en) * 2011-11-30 2016-03-29 Elwha Llc Taint injection and tracking
US9798873B2 (en) 2011-08-04 2017-10-24 Elwha Llc Processor operable to ensure code integrity
US9443085B2 (en) * 2011-07-19 2016-09-13 Elwha Llc Intrusion detection using taint accumulation
US8677487B2 (en) * 2011-10-18 2014-03-18 Mcafee, Inc. System and method for detecting a malicious command and control channel
JP6101631B2 (ja) * 2011-11-30 2017-03-22 日本放送協会 受信装置及びプログラム
CN103795679A (zh) * 2012-10-26 2014-05-14 珠海市君天电子科技有限公司 一种钓鱼网站的快速检测方法及***
JP6005761B2 (ja) * 2012-12-21 2016-10-12 日本電信電話株式会社 監視装置および監視方法
CN103914652B (zh) * 2013-01-09 2018-05-22 腾讯科技(深圳)有限公司 恶意程序控制指令识别方法及装置
JP6063340B2 (ja) * 2013-05-01 2017-01-18 エヌ・ティ・ティ・コミュニケーションズ株式会社 指令元特定装置、指令元特定方法、及び指令元特定プログラム
US10382455B2 (en) 2014-03-13 2019-08-13 Nippon Telegraph And Telephone Corporation Identifying apparatus, identifying method, and identifying program

Also Published As

Publication number Publication date
US20170329962A1 (en) 2017-11-16
WO2016093182A1 (ja) 2016-06-16
EP3232359A4 (en) 2018-05-02
JPWO2016093182A1 (ja) 2017-04-27
CN107004088A (zh) 2017-08-01
EP3232359B1 (en) 2019-05-01
US10853483B2 (en) 2020-12-01
JP6122562B2 (ja) 2017-04-26
EP3232359A1 (en) 2017-10-18

Similar Documents

Publication Publication Date Title
CN107004088B (zh) 确定装置、确定方法及记录介质
US10154066B1 (en) Context-aware compromise assessment
Martignoni et al. A layered architecture for detecting malicious behaviors
EP3200115B1 (en) Specification device, specification method, and specification program
Carmony et al. Extract Me If You Can: Abusing PDF Parsers in Malware Detectors.
US10055585B2 (en) Hardware and software execution profiling
US10382455B2 (en) Identifying apparatus, identifying method, and identifying program
US20120144488A1 (en) Computer virus detection systems and methods
JPWO2014112185A1 (ja) 攻撃分析システム及び連携装置及び攻撃分析連携方法及びプログラム
KR100992434B1 (ko) 확장자를 위장한 파일을 탐지하는 방법 및 그 장치
US20150302191A1 (en) Program execution apparatus and program analysis apparatus
US10645099B1 (en) Malware detection facilitated by copying a memory range from an emulator for analysis and signature generation
US10412101B2 (en) Detection device, detection method, and detection program
WO2018131199A1 (ja) 結合装置、結合方法および結合プログラム
US8935782B2 (en) Malware detection via network information flow theories
WO2016121348A1 (ja) マルウェア対策装置、マルウェア対策システム、マルウェア対策方法、及び、マルウェア対策プログラムが格納された記録媒体
US10701087B2 (en) Analysis apparatus, analysis method, and analysis program
CN109597675A (zh) 虚拟机恶意软件行为检测方法及***
Pektaş et al. A dynamic malware analyzer against virtual machine aware malicious software
Yin et al. Automatic malware analysis: an emulator based approach
US10893090B2 (en) Monitoring a process on an IoT device
JP6258189B2 (ja) 特定装置、特定方法および特定プログラム
WO2023067665A1 (ja) 解析機能付与方法、解析機能付与装置及び解析機能付与プログラム
JPWO2014181476A1 (ja) データ変換方法及び装置
JP7302223B2 (ja) スクリプト検出装置、方法及びプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant