CN106133742B - 确定装置、确定方法以及确定程序 - Google Patents
确定装置、确定方法以及确定程序 Download PDFInfo
- Publication number
- CN106133742B CN106133742B CN201580012526.4A CN201580012526A CN106133742B CN 106133742 B CN106133742 B CN 106133742B CN 201580012526 A CN201580012526 A CN 201580012526A CN 106133742 B CN106133742 B CN 106133742B
- Authority
- CN
- China
- Prior art keywords
- label
- data
- malware
- destination information
- command server
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/146—Tracing the source of attacks
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)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (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预先进行黑名单化时,通过基于与恶性的服务器之间的通信的检测来执行的感染终端的发现/隔离或通信切断等对策,能够将因恶意软件感染引起的损害抑制成最小限度。不过,信息泄露目的地或下载站点有可能由来自命令服务器的命令指定。另外,在软件机器人(bot)等恶意软件的情况下,来自命令服务器的命令成为之后的攻击的起因。因此,在恶性的服务器中特别是对命令服务器进行黑名单化是很重要的。
一般通过恶意软件分析来创建命令服务器的黑名单。通过分析恶意软件,能够取得恶意软件的通信目的地。不过,其中包含正规站点作为以攻击或妨碍分析为目的的通信的通信目的地。若错误地将正规站点记载到黑名单中,则牵涉到对策运用时的负荷。因此,课题在于,从通过分析取得的多个通信目的地中只确定命令服务器。
以往,基于在动态分析时产生的通信内容来判定通信目的地是否为命令服务器(例如,参照非专利文献1)。但是,随着针对通信内容的混淆/加密的应用的发展,难以仅利用通信内容来确定命令服务器。
命令服务器是根据通信数据来控制恶意软件的动作的通信目的地。因此,只要能够分析接收数据是否决定了恶意软件的动作,即使对通信内容进行了混淆/加密也能够将接收数据的发送源判定为命令服务器。
因此,基于恶意软件内部中的接收数据的利用方法的分析而进行的命令服务器的检测受到关注。命令服务器控制恶意软件的方法大致分成2种。1种是除了恶意软件执行的程序代码之外还指定系统调用或API的自变量的方法,另1种是只指定所执行的程序代码的方法。例如,在非专利文献2中,能够基于与发送接收数据关联地发布的系统调用间的数据的传递关系来确定命令服务器,能够在指定了系统调用或API的自变量的情况下确定命令服务器。
现有技术文献
非专利文献
非专利文献1:P.Wurzinger,L.Bilge,T.Holz,J.Goebel,C.Kruegel,andE.Kirda,“Automatically Generating Models for Botnet Detection”In Proceedingsof the 14th European Conference on Research in Computer Security
非专利文献2:G.Jacob,R.Hund,C.Kruegel,and T.Holz,“JACKSTRAWS:PickingCommand and Control Connections from Bot Traffic”In Proceedings of the 20thUSENIX Conference on Security
发明内容
发明要解决的课题
然而,在上述的以往的技术中,存在如下情况:如今的恶意软件进行通信内容的混淆/加密,从而难以仅利用通信内容来确定命令服务器。因此,提出如下的方法:对恶意软件的接收数据的利用方法进行分析,基于与接收数据关联地发布的系统调用间的数据的传递关系来确定命令服务器,但是,存在如下课题:有时无法检测出只切换恶意软件执行的功能的命令。例如,在命令服务器只指定所执行的程序代码的控制方法中,由于接收数据只对转移(branch)指令带来影响,而不被用作系统调用或API的自变量,因此有时无法检测出只切换恶意软件执行的功能的命令服务器的命令。
因此,本发明是为了解决上述的以往技术的课题而完成的,其目的在于,即使在只是切换所执行的程序代码的命令的情况下,也能够确定命令服务器。
用于解决课题的手段
为了解决上述的课题并达成目的,确定装置的特征在于,具有:跟踪部,其在恶意软件的执行时,针对该恶意软件接收到的数据,赋予能够唯一确定该数据的发送源的通信目的地信息的标签,且对被赋予了该标签的数据的传播进行跟踪;监视部,其取得由所述跟踪部跟踪的数据中的作为标签的监视位置的转移指令所参照的数据的标签;以及确定部,其基于与由所述监视部取得的标签对应的发送源的通信目的地信息,确定对所述恶意软件发出命令的命令服务器的通信目的地信息。
另外,确定方法是确定装置执行的确定方法,其特征在于,包括:跟踪步骤,在恶意软件的执行时,针对该恶意软件接收到的数据,赋予能够唯一确定该数据的发送源的通信目的地信息的标签,且对被赋予了该标签的数据的传播进行跟踪;监视步骤,取得通过所述跟踪步骤跟踪的数据中的作为标签的监视位置的转移指令所参照的数据的标签;以及确定步骤,基于与通过所述监视步骤取得的标签对应的发送源的通信目的地信息,确定对所述恶意软件发出命令的命令服务器的通信目的地信息。
另外,确定程序的特征在于,用于使计算机执行下述步骤:跟踪步骤,在恶意软件的执行时,针对该恶意软件接收到的数据,赋予能够唯一确定该数据的发送源的通信目的地信息的标签,且对被赋予了该标签的数据的传播进行跟踪;监视步骤,取得通过所述跟踪步骤跟踪的数据中的恶意软件执行的转移指令所参照的数据的标签;以及确定步骤,基于与通过所述监视步骤取得的标签对应的发送源的通信目的地信息,确定对所述恶意软件发出命令的命令服务器的通信目的地信息。
发明效果
本申请所公开的确定装置、确定方法以及确定程序产生如下效果:即使在只是切换所执行的程序代码的命令的情况下,也能够确定命令服务器。
附图说明
图1是示出第一实施方式的命令服务器确定装置的概要的结构图。
图2是示出第一实施方式的命令服务器确定装置中的虚拟计算机和数据传播跟踪部的结构的框图。
图3是示出通信目的地信息DB中存储的表的一例的图。
图4是对监视对象的转移指令进行说明的图。
图5是对利用转移指令来确定命令服务器的处理进行说明的图。
图6是示出第一实施方式的命令服务器确定装置对标签的传播处理的流程的流程图。
图7是示出第一实施方式的命令服务器确定装置对标签的强制性的传播处理的流程的流程图。
图8是示出第一实施方式的命令服务器确定装置对命令服务器的确定处理的流程的流程图。
图9是对检测到与命令服务器之间的通信而执行恶意软件对策的处理进行说明的图。
图10是示出执行确定程序的计算机的图。
具体实施方式
以下,基于附图,详细地说明本申请的确定装置、确定方法以及确定程序的实施方式。此外,本申请的确定装置、确定方法以及确定程序不限定于本实施方式。
[第一实施方式]
在以下的实施方式中,依次说明第一实施方式的命令服务器确定装置的结构和处理的流程,然后,最后说明第一实施方式的效果。
[命令服务器确定装置的结构]
首先,使用图1,对命令服务器确定装置10的结构进行说明。图1是示出第一实施方式的命令服务器确定装置的概要的结构图。如图1所示,该命令服务器确定装置10具有恶意软件执行环境部11、执行日志DB(Data Base:数据库)12、通信目的地信息DB 13以及命令服务器确定部14。以下对这些各部分的处理进行说明。
恶意软件执行环境部11由客户机OS(Guest Operating System:客户机操作系统)11b和虚拟计算机11c构成。客户机OS 11b是用于对恶意软件11a进行动态分析的环境。另外,恶意软件11a是带来信息泄漏或非法访问等威胁的非法程序,其作为分析对象的程序在客户机OS 11b上执行。
虚拟计算机11c由数据传播跟踪部110和指令监视部111构成。在恶意软件11a的执行时,数据传播跟踪部110针对该恶意软件11a接收到的数据赋予能够唯一确定该数据的发送源的通信目的地信息的标签,且对被赋予了该标签的数据的传播进行跟踪。具体而言,数据传播跟踪部110针对恶意软件11a接收到的数据设定能够唯一确定发送源的标签,在将与IP地址或FQDN、URL之类的通信目的地信息对应的标签转发给通信目的地信息DB 13之后,进行虚拟计算机11c上的数据的传播的跟踪。
另外,在从多个发送源接收到数据而生成了新的数据的情况下,数据传播跟踪部110生成能够唯一确定多个发送源的通信目的地信息的新的标签而赋予给数据,且对被赋予了该标签的数据的传播进行跟踪。另外,当在函数内参照了接收数据的情况下,数据传播跟踪部110对函数的返回值赋予标签,且对被赋予了该标签的数据的传播进行跟踪。
指令监视部111取得由数据传播跟踪部110跟踪的数据中的恶意软件11a执行的转移指令所参照的数据的标签。具体而言,指令监视部111取得恶意软件11a执行的API调用或系统调用的发布、jmp系列指令或call(调用)指令之类的转移指令、指令执行时的调用栈、转移指令所参照的数据的标签,且转发给执行日志DB 12。
执行日志DB 12存储由指令监视部111取得的日志。具体而言,执行日志DB 12存储恶意软件11a执行的API调用或系统调用的发布、jmp系列指令或call指令之类的转移指令、指令执行时的调用栈、转移指令所参照的数据的标签。另外,执行日志DB 12存储恶意软件11a执行的API调用或系统调用的发布、转移指令以及调用栈的日志信息。
通信目的地信息DB 13将IP地址或FQDN、URL之类的通信目的地信息与由数据传播跟踪部110设定的标签关联地存储。这里,使用图3,对通信目的地信息DB 13中的通信目的地与标签的关联方法的一例进行说明。图3是示出通信目的地信息DB 13中存储的表的一例的图。如图3所示,通信目的地信息DB 13将“通信目的地”与“标签”关联地存储,其中“通信目的地”是恶意软件11a接收到的数据的发送源的通信目的地信息,“标签”被赋予至恶意软件11a接收到的数据。
例如,如图3所例示,与IP地址“192.168.2.150”对应的标签是“0x001”,与IP地址“192.168.5.140”对应的标签是“0x002”。此外,在对附带这些标签的数据进行运算的情况下,新生成标签,在通信目的地信息DB 13中保存与涉及到生成的标签相关联的通信目的地。在图3的例子中,表示如下结果:由于进行了附带与IP地址“192.168.2.150”对应的标签“0x001”和与IP地址“192.168.5.140”对应的标签“0x002”的数据之间的运算,因此新生成标签“0x003”,该标签“0x003”表示受到IP地址“192.168.2.150”和IP地址“192.168.5.140”这双方的影响。
命令服务器确定部14基于与由指令监视部111取得的标签对应的发送源的通信目的地信息,确定向恶意软件11a发出命令的命令服务器的通信目的地信息。具体而言,对于在多个转移目的地中进行了API调用或系统调用发布的转移指令,当与进行转移时参照的数据的标签对应的通信目的地信息在多个转移目的地中共同的情况下,命令服务器确定部14将该通信目的地信息确定为命令服务器的通信目的地信息。
例如,命令服务器确定部14通过对执行日志DB 12所保持的恶意软件11a执行的API调用或系统调用的发布、转移指令以及调用栈的信息进行分析,提取出在多个转移目的地中进行了API调用或系统调用的发布的转移指令,且从执行日志DB 12取得转移到进行了API调用或系统调用的发布的转移目的地时参照的数据的标签。
此外,命令服务器确定部14从通信目的地信息DB 13取得与标签对应的通信目的地,按照每个转移目的地取得对转移指令带来影响的通信目的地,且将在转移目的地之间共同的通信目的地判定为命令服务器。
接着,使用图2对虚拟计算机11c的结构例进行说明。图2是示出第一实施方式的命令服务器确定装置中的虚拟计算机和数据传播跟踪部的结构的框图。虚拟计算机11c是向客户机OS 11b提供虚拟的硬件的软件。另外,虚拟计算机11c由虚拟NIC 112或虚拟盘113、虚拟HW控制器114、虚拟存储器115、虚拟CPU 116等构成。
数据传播跟踪部110为了对数据设定标签来进行数据的传播跟踪,具备:盘标签保存区域110a,其用于保存与虚拟盘113上的数据对应的标签;存储器标签保存区域110d,其用于保存与虚拟存储器115上的数据对应的标签;以及寄存器标签保存区域110f,其用于保存与虚拟寄存器116b上的数据对应的标签。
数据传播跟踪部110的标签赋予部110b设定能够针对接收数据唯一确定发送源的标签,且转发给通信目的地信息DB 13之后,将标签保存在存储器标签保存区域110d中。设定标签的时机可以是从虚拟NIC 112向虚拟存储器115复制数据的时机,也可以在恶意软件11a通过API调用或系统调用的发布而读入接收数据时设定。数据中设定的标签由标签传播部110c(标签传播部A)来与数据的传播匹配地传播。
标签传播部110c进行盘标签保存区域110a与存储器标签保存区域110d之间的标签的传播。另外,标签传播部110e(标签传播部B)除了存储器标签保存区域110d与寄存器标签保存区域110f之间或寄存器标签保存区域110f之间的标签的传播之外,还进行数据的运算时的标签生成和传播、以及针对读入了表示接收数据的标签的函数的返回值的标签的传播。
另外,指令监视部111监视恶意软件11a执行的指令,且收集恶意软件11a执行的API调用或系统调用的发布、转移指令、转移指令所参照的标签、指令执行时的调用栈。每当监视恶意软件11a执行的指令时,确定在客户机OS 11b上进行动作的恶意软件11a的进程或线程的方法可以是进程ID或线程ID,也可以对分析对象的恶意软件11a或从外部取得的程序设定表示是分析对象的标签,由此进行确定。
这里,使用图4,对监视对象的转移指令进行说明。图4是对监视对象的转移指令进行说明的图。在第一实施方式的命令服务器确定装置10中,从已执行的指令的日志中提取作为标签的监视位置的转移指令。例如,在图4的例子中,命令服务器确定装置10将作为处理A和处理B/C的分开处的转移指令作为监视对象。
即,在命令服务器确定装置10中,利用作为监视对象的转移指令参照接收数据,且分析与所执行的程序代码的决定相关的通信目的地,由此确定命令服务器的通信目的地信息。这里,为了判定是否与所执行的程序代码的决定相关,需要能够掌握通过从相同的通信目的地接收到的数据来执行了各路径的情况。
接着,使用图5,对利用转移指令来确定命令服务器的处理的一例进行说明。图5是对利用转移指令来确定命令服务器的处理进行说明的图。如图5所示,在命令服务器确定装置10中,取得恶意软件的执行时执行的API调用和系统调用发布、转移指令和指令执行时的调用栈作为日志(参照图5的(1))。而且,在命令服务器确定装置10中,通过污点分析(taintanalysis)来取得接收数据的标签传播日志(参照图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)。其结果为,在是移动数据的指令的情况下(步骤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),在通信目的地信息DB 13中记录所生成的标签和涉及到标签的生成的与标签相关联的通信目的地(步骤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读入执行日志DB 12所保持的信息和通信目的地信息DB 13所保持的信息,将对恶意软件11a执行的切换API调用或系统调用发布的转移指令带来影响的数据的发送源判定为命令服务器。在命令服务器确定部14中,对于执行恶意软件时记录的全部转移指令,基于调用栈还考虑调用的详情而进行识别,分别确认是否满足下一个条件。
如图8所示,最初,在命令服务器确定部14中,确认是否执行了多个转移目的地(步骤S301)。而且,在命令服务器确定部14中,当判定为执行了多个转移目的地时(步骤S301:肯定),对于执行了多个转移目的地的转移指令,对所有的转移目的地的组进行以下的处理,由此确定命令服务器。
具体而言,命令服务器确定部14判定在转移目的地中是否存在汇合点(步骤S302)。其结果为,当在转移目的地中存在汇合点的情况下(步骤S302:肯定),命令服务器确定部14取得转移点与汇合点之间的API调用和系统调用发布的日志(步骤S303)。另外,当在转移目的地中不存在汇合点的情况下(步骤S302:否定),命令服务器确定部14取得直到转移点的末端的API调用和系统调用发布的日志(步骤S304)。此外,关于所确认的API调用或系统调用发布,可以根据由API或系统调用所操作的计算资源来进行限制,也可以通过事先分析的恶意软件调用的API或系统调用来进行限制。
而且,命令服务器确定部14判定是否在各转移目的地中进行API调用或系统调用发布(步骤S305)。其结果为,当未在各转移目的地中进行API调用或系统调用发布的情况下(步骤S305:否定),命令服务器确定部14转到步骤S309的处理。另外,当在各转移目的地中进行了API调用或系统调用发布的情况下(步骤S305:肯定),命令服务器确定部14从执行日志DB 12取得进行转移时参照的数据的标签(步骤S306),从通信目的地信息DB 13取得与标签相关联的通信目的地(步骤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、CPU 1020、硬盘驱动器接口1030、盘驱动器接口1040、串行接口1050、视频适配器1060、网络接口1070,这些各部分通过总线1080连接。
如图10所例示,存储器1010包含ROM(Read Only Memory:只读存储器)1011和RAM(Random Access Memory:随机存取存储器)1012。ROM 1011例如存储BIOS(Basic InputOutput System:基本输入输出系统)等引导程序。如图10所例示,硬盘驱动器接口1030与硬盘驱动器1090连接。如图10所例示,盘驱动器接口1040与盘驱动器1041连接。例如磁盘或光盘等可装卸的存储介质插入到盘驱动器。如图10所例示,串行接口1050与例如鼠标1110、键盘1120连接。如图10所例示,视频适配器1060与例如显示器1130连接。
这里,如图10所例示,硬盘驱动器1090例如存储OS 1091、应用程序1092、程序模块1093、程序数据1094。即,上述的确定程序作为描述有由计算机1000执行的命令的程序模块存储于例如硬盘驱动器1090中。
另外,上述实施方式中说明的各种数据作为程序数据存储于例如存储器1010或硬盘驱动器1090中。另外,CPU 1020根据需要而将存储器1010或硬盘驱动器1090中存储的程序模块1093或程序数据1094读出到RAM 1012,来执行取得步骤、比较步骤、分配控制步骤。
此外,确定程序的程序模块1093或程序数据1094不限于存储于硬盘驱动器1090中的情况,也可以例如存储于可装卸的存储介质中而经由盘驱动器等由CPU 1020读出。或者,确定程序的程序模块1093或程序数据1094也可以存储于经由因特网(LAN(Local AreaNetwork:局域网)、WAN(Wide Area Network:广域网)等)连接的其他计算机中而经由网络接口1070由CPU 1020读出。
标号说明
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 (6)
1.一种确定装置,其特征在于,该确定装置具有:
跟踪部,其在恶意软件的执行时,针对该恶意软件接收到的数据,赋予能够唯一确定该数据的发送源的通信目的地信息的标签,且对被赋予了该标签的数据的传播进行跟踪;
监视部,其取得由所述跟踪部跟踪的数据中的作为标签的监视位置的转移指令所参照的数据的标签;以及
确定部,其基于与由所述监视部取得的标签对应的发送源的通信目的地信息,确定对所述恶意软件发出命令的命令服务器的通信目的地信息。
2.根据权利要求1所述的确定装置,其特征在于,
在从多个发送源接收到数据而生成了新的数据的情况下,所述跟踪部生成能够唯一确定多个发送源的通信目的地信息的新的标签而赋予给所述数据,且对被赋予了该标签的数据的传播进行跟踪。
3.根据权利要求1或2所述的确定装置,其特征在于,
当在函数内参照了接收数据的情况下,所述跟踪部对函数的返回值赋予标签,且对被赋予了该标签的数据的传播进行跟踪。
4.根据权利要求1或2所述的确定装置,其特征在于,
所述监视部取得所述转移指令所参照的数据的标签,并且记录恶意软件执行的API调用或系统调用的发布,
对于在多个转移目的地中进行了API调用或者系统调用发布的转移指令,当与进行转移时参照的数据的标签对应的通信目的地信息在多个转移目的地中共同的情况下,所述确定部将该通信目的地信息确定为所述命令服务器的通信目的地信息。
5.根据权利要求3所述的确定装置,其特征在于,
所述监视部取得所述转移指令所参照的数据的标签,并且记录恶意软件执行的API调用或系统调用的发布,
对于在多个转移目的地中进行了API调用或者系统调用发布的转移指令,当与进行转移时参照的数据的标签对应的通信目的地信息在多个转移目的地中共同的情况下,所述确定部将该通信目的地信息确定为所述命令服务器的通信目的地信息。
6.一种确定方法,该确定方法由确定装置执行,其特征在于,该确定方法包括:
跟踪步骤,在恶意软件的执行时,针对该恶意软件接收到的数据,赋予能够唯一确定该数据的发送源的通信目的地信息的标签,且对被赋予了该标签的数据的传播进行跟踪;
监视步骤,取得通过所述跟踪步骤跟踪的数据中的作为标签的监视位置的转移指令所参照的数据的标签;以及
确定步骤,基于与通过所述监视步骤取得的标签对应的发送源的通信目的地信息,确定对所述恶意软件发出命令的命令服务器的通信目的地信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014050135 | 2014-03-13 | ||
JP2014-050135 | 2014-03-13 | ||
PCT/JP2015/056536 WO2015137235A1 (ja) | 2014-03-13 | 2015-03-05 | 特定装置、特定方法および特定プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106133742A CN106133742A (zh) | 2016-11-16 |
CN106133742B true CN106133742B (zh) | 2019-05-07 |
Family
ID=54071681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580012526.4A Active CN106133742B (zh) | 2014-03-13 | 2015-03-05 | 确定装置、确定方法以及确定程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10382455B2 (zh) |
EP (1) | EP3091466B1 (zh) |
JP (1) | JP5989936B2 (zh) |
CN (1) | CN106133742B (zh) |
WO (1) | WO2015137235A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016093182A1 (ja) * | 2014-12-09 | 2016-06-16 | 日本電信電話株式会社 | 特定装置、特定方法および特定プログラム |
JP6095839B1 (ja) * | 2016-09-27 | 2017-03-15 | 株式会社野村総合研究所 | セキュリティ対策プログラム、ファイル追跡方法、情報処理装置、配信装置、及び管理装置 |
JP6870386B2 (ja) * | 2017-02-28 | 2021-05-12 | 沖電気工業株式会社 | マルウェア不正通信対処システム及び方法 |
JP7102780B2 (ja) * | 2018-02-28 | 2022-07-20 | 沖電気工業株式会社 | 不正通信対処システム及び方法 |
US10671725B2 (en) | 2018-03-20 | 2020-06-02 | Didi Research America, Llc | Malicious process tracking |
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 |
US10887327B2 (en) | 2018-03-23 | 2021-01-05 | Juniper Networks, Inc. | Enforcing threat policy actions based on network addresses of host threats |
CN108647516B (zh) * | 2018-05-07 | 2020-08-14 | 北京顶象技术有限公司 | 一种防御漏洞非法提权方法及装置 |
JP7074739B2 (ja) * | 2019-10-21 | 2022-05-24 | 矢崎総業株式会社 | 脆弱性評価装置 |
US12058148B2 (en) * | 2020-05-01 | 2024-08-06 | 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 |
Citations (2)
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 |
CN103886252A (zh) * | 2013-04-26 | 2014-06-25 | 卡巴斯基实验室封闭式股份公司 | 受信进程地址空间中执行的软件代码的恶意性的选择评估 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9519782B2 (en) * | 2012-02-24 | 2016-12-13 | Fireeye, Inc. | Detecting malicious network content |
JP5766650B2 (ja) | 2012-04-27 | 2015-08-19 | 日本電信電話株式会社 | 情報処理装置、監視方法および監視プログラム |
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 |
-
2015
- 2015-03-05 EP EP15761649.1A patent/EP3091466B1/en active Active
- 2015-03-05 CN CN201580012526.4A patent/CN106133742B/zh active Active
- 2015-03-05 JP JP2016507487A patent/JP5989936B2/ja active Active
- 2015-03-05 WO PCT/JP2015/056536 patent/WO2015137235A1/ja active Application Filing
- 2015-03-05 US US15/120,668 patent/US10382455B2/en active Active
Patent Citations (2)
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 |
CN103886252A (zh) * | 2013-04-26 | 2014-06-25 | 卡巴斯基实验室封闭式股份公司 | 受信进程地址空间中执行的软件代码的恶意性的选择评估 |
Non-Patent Citations (1)
Title |
---|
JACKSTRAWS: Picking Command and Control Connections from Bot Traffic;Jacob G等;《USENIX Security Symposium》;20111231;说明书第1页摘要、第5页左列倒数第二段至第7页左列第二段、第8页左列第三段至右列第二段、第9页左列倒数第三段、第15页右列倒数第三段至16页右列最后一段,图4 |
Also Published As
Publication number | Publication date |
---|---|
US20170019418A1 (en) | 2017-01-19 |
EP3091466A4 (en) | 2017-08-23 |
EP3091466A1 (en) | 2016-11-09 |
WO2015137235A1 (ja) | 2015-09-17 |
US10382455B2 (en) | 2019-08-13 |
JPWO2015137235A1 (ja) | 2017-04-06 |
EP3091466B1 (en) | 2018-05-02 |
JP5989936B2 (ja) | 2016-09-07 |
CN106133742A (zh) | 2016-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106133742B (zh) | 确定装置、确定方法以及确定程序 | |
US20200366694A1 (en) | Methods and systems for malware host correlation | |
US10282548B1 (en) | Method for detecting malware within network content | |
US8782791B2 (en) | Computer virus detection systems and methods | |
CN107426242B (zh) | 网络安全防护方法、装置及存储介质 | |
JP4755658B2 (ja) | 解析システム、解析方法および解析プログラム | |
US9306960B1 (en) | Systems and methods for unauthorized activity defense | |
EP2774039B1 (en) | Systems and methods for virtualized malware detection | |
US8621610B2 (en) | Network service for the detection, analysis and quarantine of malicious and unwanted files | |
KR101236822B1 (ko) | Arp록킹 기능을 이용한 arp스푸핑 공격 탐지 방법과 그 방법을 실행하기 위한 프로그램이 기록된 기록매체 | |
JP6122562B2 (ja) | 特定装置、特定方法および特定プログラム | |
EP3509001B1 (en) | Method and apparatus for detecting zombie feature | |
EP3144845B1 (en) | Detection device, detection method, and detection program | |
KR102005107B1 (ko) | Api 호출 시퀀스를 이용한 악성코드의 기능 분석 방법 및 장치 | |
JP2012064208A (ja) | ネットワークウイルス防止方法及びシステム | |
JP2011154727A (ja) | 解析システム、解析方法および解析プログラム | |
KR101045330B1 (ko) | 네트워크 기반의 http 봇넷 탐지 방법 | |
KR101404108B1 (ko) | 윈도우 실행파일 추출방법, 및 장치 | |
US10250625B2 (en) | Information processing device, communication history analysis method, and medium | |
KR101045556B1 (ko) | 네트워크 기반의 irc 봇넷 탐지 방법 | |
Shoaib et al. | Using Machine Learning for Detecting Timing Side-Channel Attacks in SDN | |
Cao et al. | Worm Detection without Knowledge Base in Industrial Networks. | |
Han et al. | Threat evaluation method for distributed network environment | |
JP2011186728A (ja) | ユーザ端末保護方法、およびシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |