1.一种基于沙盒动态行为识别可疑攻击代码的方法,包括以下步骤:
1)、建立沙盒,沙盒系统包括沙盒子系统,行为获取系统,行为分析系统,系统界面;
2)、构建攻击树模型,对大量恶意代码行为进行分析,根据恶意代码最常用的API序列构建攻击树模型的特征库;具体包括:以传统攻击树为基础,对每个节点加入了权值集合,于是攻击树T可表示为一个三元组:T=(V,E,Weight),其中V为以节点为集合元素的非空有限集合;E为树中边的集合;
Weight为节点权值集合;
根据恶意程序中常见的API行为序列及序列间的关系,构建攻击树,并作为匹配依据。
每一个未知程序都对应一个静态危险指数,记作danger(T),通过对程序的计算得出,此值可以量化未知程序与恶意程序的相似程度,值越高代表危险系数越大,越接近恶意程序,节点静态危险指数的计算公式为:其中叶节点的初始danger值为1,非叶结点的初始danger值为0,非叶结点实际值由子节点计算得来;weight(parent)为当前parent节点的权重值,weight(child)为当前节点下所有子节点的权重值,两者皆由其调用的API及参数决定;danger(parent)为当前parent节点的危险值;danger(child)为当前节点下所有子节点的危险值;n为当前节点API调用序列的总数;m为在攻击树中匹配到的API调用序列数;
3)、判断可疑程序的PE文件是否经过加壳和/或变形,如果是则可以引入沙盒中,没有则可以静态解析PE文件提取API调用序列;
4)、将存在加壳、变形的可疑攻击行为的代码引入沙盒,模拟应用程序的执行以及可疑代码的执行,监视执行代码的所有动作,包括API调用序列;
5)、如有目标进程下载外部文件行为,则可判别为可疑代码,计算可疑代码在攻击树中的静态危险指数,如果达到规定的阈值,则识别告警。