信息处理装置以及信息处理方法

文档序号:9457691阅读:198来源:国知局
信息处理装置以及信息处理方法
【技术领域】
[0001 ] 本发明涉及信息处理装置以及信息处理方法。
【背景技术】
[0002]为了分析恶意软件等分析对象的执行文件的举动,而在分析环境中使该执行文件实际进行动作,并利用取得其举动日志的动态分析。在动态分析中具有监视恶意软件向外部发送的数据包的网络举动分析型的动态分析(参照专利文献I)。
[0003]在这些网络举动分析型的动态分析中,可取得恶意软件进行的通信目标(communicat1n destinat1n)、端口编号、协议、有效负载(payload)的信息等。根据情况,有时还在有效负载部分中观测用于理解恶意软件的举动的重要信息。例如,当在有效负载部分中一直记载有设备名、用户信息或机密文件内容的信息等时,可判断为该恶意软件具有向外部发送感染终端的机密信息的举动。
[0004]但是,近年来的恶意软件大多对通信数据实施了加密、压缩等混淆化。在这样的情况下,由于根据通过网络举动分析型的动态分析能够观测的数据包的有效负载部分无法知晓所发送的数据的内容,因此无法理解恶意软件的举动。
[0005]在这样的情况下,存在对恶意软件的执行文件进行静态分析并确定所发送的数据的内容的方法。该方法是通过分析者以手动的方式隐藏恶意软件的执行文件并解读命令来掌握恶意软件的举动的方法。但是,对恶意软件静态分析的成本非常高,不适合分析大量的执行文件。
[0006]现有技术文献
[0007]专利文献
[0008]专利文献1:日本专利第4755658号公报

【发明内容】

[0009]发明所要解决的课题
[0010]如上所述,在恶意软件的动态分析中,当恶意软件对数据进行混淆并输出至分析环境设备的外部时,即使看到所输出的数据也无法确定该数据本来的意思。另一方面,只要分析者以手动的方式进行静态分析,理论上就能够掌握被混淆化的数据的内容,但是对于静态分析,不仅分析者需要特别的技能,而且分析中需要相当的时间等而成为高成本的作业。
[0011]因此,本发明是为了解决上述问题而作出的,其课题是即使在由于恶意软件等的程序数据被混淆话而向外部输出时,也通过动态分析来确定该数据的源信息。
[0012]解决问题的手段
[0013]为了解决上述课题,本发明的信息处理装置是确定为了生成输出数据而调用的库函数的信息处理装置,其具备:库函数执行监视部,其在作为生成监视对象的程序的分析日志时,捕捉上述监视对象的程序所调用的库函数,针对上述库函数的每次调用,对来自上述库函数的输出数据设定用于唯一识别上述库函数的调用的标记;日志存储部,其存储包含来自上述库函数的输出数据的分析日志;以及日志搜索部,其将对上述日志存储部中存储的分析日志设定的标记作为键,来确定为了生成来自该信息处理装置的输出数据而调用的库函数。
[0014]发明效果
[0015]根据本发明,即使在由于恶意软件等的程序数据被混淆化而向外部输出时,也能够利用动态分析来确定该数据的源信息。
【附图说明】
[0016]图1是示出信息处理装置的整体结构的图。
[0017]图2是示出信息处理装置的处理的概要的图。
[0018]图3是示出虚拟机的功能结构的图。
[0019]图4是示出在影子存储器中存储的信息的例子的图。
[0020]图5是示出在影子盘中存储的信息的例子的图。
[0021]图6A是示出在各个库函数之间传播污点标签时的日志的例子的图。
[0022]图6B是示出针对每个库函数来设定新的污点标签时的日志的例子的图。
[0023]图7是示出虚拟机积蓄与向库函数的输入以及输出相关的日志的顺序的流程图。
[0024]图8是示出主机OS的日志搜索部确定生成了混淆化数据的库函数的顺序的流程图。
[0025]图9是示出执行监视程序的计算机的图。
【具体实施方式】
[0026][第I实施方式]
[0027][整体结构]
[0028]以下,说明用于实施本发明的方式(实施方式)。图1是示出信息处理装置的整体结构的图。如图1所示,信息处理装置具有硬件1、主机0S2、虚拟机软件3、虚拟机10。
[0029]硬件I是构成信息处理装置的电子电路或周边设备,例如是存储器、CPU (CentralProcessing Unit:中央处理器)等。主机0S2是作为使虚拟机进行动作的基础的OS,采用硬件I来执行。虚拟机软件3是采用硬件I来提供虚拟机的软件,这里,使虚拟机10进行动作。例如,虚拟机软件3将虚拟盘、虚拟物理存储器、虚拟CPU等分配给客户OS,使虚拟机进行动作。
[0030]虚拟机10例如是仿真型的虚拟机,是采用由虚拟机软件3提供的虚拟盘、虚拟物理存储器、虚拟CPU等使客户OS进行动作来执行各种处理的虚拟的信息处理装置。
[0031]采用图2来说明该信息处理装置的处理概要。图2是示出信息处理装置的处理概要的图。信息处理装置在虚拟机10内监视作为举动的分析对象的程序(恶意软件)。并且,信息处理装置监视程序的举动,生成由该程序调用的与库函数的输入以及输出相关的日志并将其输出。
[0032]库函数是每当执行程序时调用的函数,例如是API (Applicat1n ProgrammingInterface:应用程序接口)、系统调用、局部函数(local funct1n)等。该库函数包含在客户OS内。另外,在以下的说明中,以库函数是Win32API的情况为例进行说明,但不仅限于此。
[0033]另外,由信息处理装置生成的日志例如是表示库函数(例如,库函数A、B、C、…、N)、输入至该库函数的输入数据、从该库函数输出的输出数据等的信息。这里,信息处理装置在日志生成时对从库函数输出的输出数据设定用于唯一地识别该库函数的调用的污点标签(taint tag,标记)。
[0034]另一方面,信息处理装置使作为举动的分析对象的程序进行动作,并进行污点分析。即,信息处理装置在通过使作为举动的分析对象的程序进行动作而将设定有污点标签的数据作为操作数(operand)传递给由虚拟CPU执行的命令的情况下,将污点标签传播给该命令的执行结果数据。由此,信息处理装置对于输入至由程序调用的库函数的输入数据也设定由信息处理装置设定的污点标签。
[0035]在这样的分析环境下,信息处理装置使预定期间作为举动的分析对象的程序进行动作,进行与库函数的输入以及输出相关的日志的生成以及输出,并积蓄日志。
[0036]然后,在信息处理装置输出了某些已被混淆的数据(混淆化数据)时,通过参照在该数据中设定的污点标签和上述日志所包含的污点标签,来查找在库函数间利用的数据的依存关系,并确定生成了混淆化数据的库函数(例如,库函数A)。只要能够这样地确定库函数,信息处理装置的用户就能够根据该库函数的特性等,每当生成混淆化数据时,确定哪个种类的信息成为源信息。
[0037]此外,所谓本实施方式中的数据的输出,例如还包含从使分析对象的程序进行动作的设备(虚拟机10)经由网络向外部输出的情况或者通过向硬盘、半导体存储器、DVD、⑶-ROM等记录介质的写入来向外部输出的情况。
[0038][虚拟机的结构]
[0039]接着,说明图1所示的虚拟机的结构。此外,关于硬件1、主机0S2、虚拟机软件3具有与一般性结构相同的结构,所以省略详细的说明。此外,在以下的说明中,将监视对象的程序预先存储在虚拟盘Ila内,并成为设置有污点标签的程序。
[0040]图3是示出虚拟机的功能结构的图。如图3所示,虚拟机10具有虚拟物理存储器10a、影子存储器10b、虚拟盘11a、影子盘11b、虚拟CPU12、虚拟硬件控制器18。
[0041]虚拟物理存储器1a是通过将信息处理装置具有的物理存储器中的预定区域分配为以虚拟机10进行动作的客户OS所使用的存储器来实现的虚拟的存储器。例如,虚拟物理存储器1a存储由虚拟CPU12从虚拟盘Ila读出的程序或数据。
[0042]影子存储器1b是保持针对虚拟物理存储器1a上的值设定的污点标签的值的数据结构体。
[0043]这里,说明影子存储器1b的一例。图4是示出影子存储器中存储的信息的例子的图。如图4所示,影子存储器1b将“虚拟物理存储器的地址”和“污点标签”对应起来进行存储。“虚拟物理存储器的地址”是示出虚拟物理存储器1a上的存储位置的位置信息,“污点标签”是针对各库函数执行的结果输出的数据设定的识别符。
[0044]图4的情况表示针对虚拟物理存
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1