一种基于沙盒动态行为识别可疑攻击代码的方法技术

技术编号:21892615 阅读:21 留言:0更新日期:2019-08-17 14:47
一种基于沙盒动态行为识别可疑攻击代码的方法,包括:建立沙盒系统;根据常见恶意程序的API调用序列构建攻击树模型;判断可疑程序的PE文件是否经过加壳、变形等;将存在加壳变形行为的可疑程序引入沙盒,分析API调用序列;计算可疑代码在攻击树中的危险指数,如果达到规定的阈值,则识别告警。本发明专利技术的优点是通过将程序引入沙盒中,获取未知程序的API行为序列,减少了未知程序可能对系统造成的危害,构建攻击树模型,通过计算程序的静态危险指数来判断是否可能为恶意代码,提高了对未知程序检测的敏感度。

A Method of Identifying Suspicious Attack Codes Based on Sandbox Dynamic Behavior

【技术实现步骤摘要】
一种基于沙盒动态行为识别可疑攻击代码的方法
专利技术涉及计算机网络安全
,特别是一种基于沙盒动态行为识别可疑攻击代码的方法。技术背景恶意代码是一类恶意程序,主要包括计算机病毒、特洛伊木马、网络蠕虫、电子邮件病毒、后门程序、恶意网站脚本等。恶意攻击代码经过多年的演变,其破坏性和感染性都有了很大的提高。360互联网安全中心发布的《2017年Android恶意软件专题报告》显示,2014年至2017年的四年时间,我国Android平台恶意软件感染量均达到2亿人次以上,危害非常广泛。此外,2017年新增了757.3万个安卓恶意软件,漏洞同比增长61%,恶意代码进入高发期。由此可见,我国有相当多的终端设备被恶意代码程序感染过,这些恶意代码可能会造成用户账户密码被盗、受到远程控制、网路无法使用、机密数据被盗等严重后果。此外,据安全机构PandaLabs的安全报告显示,近几年中国大陆PC感染恶意代码的概率都超过50%,居全球第一,恶意代码对国内计算机安全构成了严重的威胁,同时恶意代码的多样化对病毒检测工具的要求也越来越高。基于特征的静态检测方法在恶意代码检测领域已经得到了深入的研究,大部分的杀毒软件都是利用此方法进行检测的,此方法能够快速检测出已知特征的恶意代码,但是无法检测出未知病毒的入侵。随着0day威胁的快速增长,各种恶意代码层出不穷、种类繁多,其攻击手段也更加复杂和隐蔽,基于特征的病毒检测技术已不能有效地检测出某些恶意程序,而引入沙盒技术能改善对未知恶意程序的检测效果,基于沙盒动态行为识别可疑攻击代码的方法是将程序操作的资源重新定向到沙盒中,通过监视程序操作虚拟资源的动态行为来检测未知可疑代码。
技术实现思路
为了提高识别可疑攻击代码的准确性与敏感性,本专利技术提供了将可疑代码引入沙盒,通过获取其API调用序列监视其动态行为的一种基于沙盒动态行为识别可疑攻击代码的方法。一种基于沙盒动态行为识别可疑攻击代码的方法,包括以下步骤:1)、建立沙盒,沙盒系统包括沙盒子系统,行为获取系统,行为分析系统,系统界面。2)、构建攻击树模型,对大量恶意代码行为进行分析,根据恶意代码最常用的API序列构建攻击树模型的特征库。3)、判断可疑程序的PE文件是否经过加壳、变形等,如果是则可以引入沙盒中,没有则可以静态解析PE文件提取API调用序列。4)、将存在加壳、变形的可疑攻击行为的代码引入沙盒,模拟应用程序的执行以及可疑代码的执行,监视执行代码的所有动作,包括API调用序列。5)、如有目标进程下载外部文件行为,则可判别为可疑代码,计算可疑代码在攻击树中的静态危险指数,如果达到规定的阈值,则识别告警。进一步,步骤2)中构建攻击树模型,在传统攻击树的基础上,对每个节点加入了权值集合,于是攻击树T可表示为一个三元组:T=(V,E,Weight),其中V为以节点为集合元素的非空有限集合;E为树中边的集合;Weight为节点权值集合。根据恶意程序中常见的API行为序列及序列间的关系,构建攻击树,并作为匹配依据。每一个程序T都对应一个静态危险指数,记作danger(T),通过对程序的计算得出,此值可以量化程序T与恶意程序的相似程度,值越高代表危险系数越大,越接近恶意程序。节点危险指数的计算公式为:其中叶节点的初始danger值为1,非叶结点的初始danger值为0,非叶结点实际值由子节点计算得来;weight(parent)为当前parent节点的权重值,weight(child)为当前节点下所有子节点的权重值,两者皆由其调用的API及参数决定;danger(parent)为当前parent节点的危险值;danger(child)为当前节点下所有子节点的危险值;n为当前节点API调用序列的总数;m为在攻击树中匹配到的API调用序列数。目前,在恶意代码检测领域,已经有成熟的技术来获取恶意行为的函数调用序列,例如SSDT(SystemServicesDescriptorTable)Hook技术,通过修改SSDT(系统服务描述符表)中函数地址可以对常用的Windows函数和API进行Hook,从而对可疑代码的函数调用情况进行监控。本专利技术通过对引入沙盒中的可疑代码进行扫描,获得其调用的系统函数集合,并将其调用函数的静态危险指数与攻击树中规定的阈值比较,判断是否为恶意代码。本专利技术的优点是:通过将程序引入沙盒中,获取未知程序的API行为序列,减少了未知程序可能对系统造成的危害,构建攻击树模型,通过计算程序的静态危险指数来判断是否可能为恶意代码,提高了对未知程序检测的敏感度。附图说明图1是本专利技术方法的流程图。具体实施方式参照附图,进一步说明本专利技术:一种基于沙盒动态行为识别可疑攻击代码的方法,包括以下步骤:1)、建立沙盒,沙盒系统包括沙盒子系统,行为获取系统,行为分析系统,系统界面。2)、攻击树模型的构建,对大量恶意代码行为进行分析,根据恶意代码最常用的API序列构建攻击树模型的特征库。3)、判断可疑程序的PE文件是否经过加壳、变形等,如果是则可以引入沙盒中,没有则可以静态解析PE文件提取API调用序列。4)、将存在加壳、变形的可疑攻击行为的代码引入沙盒,模拟应用程序的执行以及可疑代码的执行,监视执行代码的所有动作,包括API调用序列。5)、如有目标进程下载外部文件行为,则可判别为可疑代码,计算可疑代码在攻击树中的静态危险指数,如果达到规定的阈值,则识别告警。进一步,步骤2)中构建攻击树模型,在传统攻击树的基础上,对每个节点加入了权值集合,于是攻击树T可表示为一个三元组:T=(V,E,Weight),其中V为以节点为集合元素的非空有限集合;E为树中边的集合;Weight为节点权值集合。根据恶意程序中常见的API行为序列及序列间的关系,构建攻击树,并作为匹配依据。每一个程序T都对应一个静态危险指数,记作danger(T),通过对程序的计算得出,此值可以量化程序T与恶意程序的相似程度,值越高代表危险系数越大,越接近恶意程序。节点静态危险指数的计算公式为:其中叶节点的初始danger值为1,非叶结点的初始danger值为0,非叶结点实际值由子节点计算得来;weight(parent)为当前parent节点的权重值,weight(child)为当前节点下所有子节点的权重值,两者皆由其调用的API及参数决定;danger(parent)为当前parent节点的危险值;danger(child)为当前节点下所有子节点的危险值;n为当前节点API调用序列的总数;m为在攻击树中匹配到的API调用序列数。目前,在恶意代码检测领域,已经有成熟的技术来获取恶意行为的函数调用序列,例如SSDT(SystemServicesDescriptorTable)Hook技术,通过修改SSDT(系统服务描述符表)中函数地址可以对常用的Windows函数和API进行Hook,从而对可疑代码的函数调用情况进行监控。本专利技术通过将可疑程序引入搭建好的沙盒系统,扫描其动态行为,并根据程序的API调用行为计算静态危险指数,从而与阈值对比判断是否为恶意代码,有助于提高对未知恶意代码的检测准确度,提高了检测系统对恶意代码感知的本说明书实施例所述的内容仅仅是对专利技术构思的实现形式的列举,本专利技术的保本文档来自技高网
...

【技术保护点】
1.一种基于沙盒动态行为识别可疑攻击代码的方法,包括以下步骤:1)、建立沙盒,沙盒系统包括沙盒子系统,行为获取系统,行为分析系统,系统界面;2)、构建攻击树模型,对大量恶意代码行为进行分析,根据恶意代码最常用的API序列构建攻击树模型的特征库;具体包括:以传统攻击树为基础,对每个节点加入了权值集合,于是攻击树T可表示为一个三元组:T=(V,E,Weight),其中T为以节点为集合元素的非空有限集合;E为树中边的集合;Weight为节点权值集合;根据恶意程序中常见的API行为序列及序列间的关系,构建攻击树,并作为匹配依据。每一个未知程序都对应一个静态危险指数,记作danger(T),通过对程序的计算得出,此值可以量化未知程序与恶意程序的相似程度,值越高代表危险系数越大,越接近恶意程序,节点静态危险指数的计算公式为:

【技术特征摘要】
1.一种基于沙盒动态行为识别可疑攻击代码的方法,包括以下步骤:1)、建立沙盒,沙盒系统包括沙盒子系统,行为获取系统,行为分析系统,系统界面;2)、构建攻击树模型,对大量恶意代码行为进行分析,根据恶意代码最常用的API序列构建攻击树模型的特征库;具体包括:以传统攻击树为基础,对每个节点加入了权值集合,于是攻击树T可表示为一个三元组:T=(V,E,Weight),其中T为以节点为集合元素的非空有限集合;E为树中边的集合;Weight为节点权值集合;根据恶意程序中常见的API行为序列及序列间的关系,构建攻击树,并作为匹配依据。每一个未知程序都对应一个静态危险指数,记作danger(T),通过对程序的计算得出,此值可以量化未知程序与恶意程序的相似程度,值越高代表危险系数越大,越接近恶意程序,节点静态危险指数的计算公式为:其中叶节点的初始danger值为1,非叶结点的初始d...

【专利技术属性】
技术研发人员:赵澄倪闻清陈君新
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1