发明名称 基于状态转移图的软件行为可信性检测方法
摘要 本发明是一种基于图的软件行为可信性检测方法。检测系统分为五个模块:数据预处理模块负责前期数据处理;状态图训练模块用来训练正常行为库;行为检测模块负责根据已建立的图对行为进行检测,该检测分为两个层次,第一层是状态和路径的检测,第二层主要是权值的检测;实时监控模块以日志的形式动态存储检测结果;异常告警模块在检测模块发现异常后进行告警,并终止正在运行的软件。该检测模型可以实时监控软件行为,检测出不属于这个软件的行为,一些攻击行为和非法输入。
申请公布号 CN102768638A 申请公布日期 2012.11.07
申请号 CN201210157706.X 申请日期 2012.05.18
申请人 北京工业大学 发明人 赖英旭;张文雯;杨震;刘静;李健
分类号 G06F11/36(2006.01)I;G06F9/44(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 刘萍
主权项 基于状态转移图的软件行为可信性检测方法,其特征在于;包括以下步骤:首先进行序列模式的提取:截获软件正常执行时的系统调用序列,挖掘出所有序列模式;然后进行状态层的推导:先利用隐马模型的学习问题为每个序列模式建立一个隐马模型,再利用隐马的评估问题判定状态;最后根据状态序列建立状态转移图:在建图之前,先给出相关概念和定义;定义1STG是一个三元组,STG={V,E,W);V是图中的节点,即已知状态集,E是连接图中节点的有向边的集合,W是权值,表示某条边出现次数与所有边出现总次数的比值,定义2状态距离D:为两个不同状态之间的距离,用以判断两个状态的相似程度;两状态分别对应的系统调用序列,设短的序列为lmin,序列长度为l1,长的序列为lmax,序列长度为l2,先将lmin的第一位与lmax的第一位对齐,处在相同位置的数值如果相同记为0,不同记为1,将记录的值相加之后除以短的序列长度l1,记为R1;然后lmin向后滑动一位,也就是将lmin的第一位与lmax的第二位对齐,再进行一次上述操作,记录R2,直到lmin的末尾与lmax的末尾对齐为止,然后计算 <mrow> <mi>D</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <msub> <mi>l</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>l</mi> <mn>1</mn> </msub> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> <msqrt> <msup> <msub> <mi>R</mi> <mn>1</mn> </msub> <mn>2</mn> </msup> <mo>+</mo> <msup> <msub> <mi>R</mi> <mn>2</mn> </msub> <mn>2</mn> </msup> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>+</mo> <msup> <msub> <mi>R</mi> <mrow> <msub> <mi>l</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>l</mi> <mn>1</mn> </msub> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mn>2</mn> </msup> </msqrt> <mo>;</mo> </mrow>定义3入度in+STG中终止于某顶点的边的权值之和称为该顶点的入度;定义4出度out‑STG中起始于某顶点的边的权值之和称为该顶点的出度;建图的方法和图论里的方法相同,还要满足以下两条规则:规则1小概率分支删除规则建图的时候,删除权值小于0.08的边,如果某个顶点的出度和入度都没有达到0.08,此顶点也一并删除;规则2等价状态合并规则两状态之间如果存在边,且距离D小于0.5可以合并;合并过程如下:顶点:顶点由两个变成一个;边:两状态之间的边直接删除,两状态与其他状态之间的边保留;权值:因其与边相对应,所以如果保留了两条相同的边,则将其权值相加,只保留一条同样的边即可;入度:为合并之前两状态的入度之和减去两状态之间的边的权值;出度:为合并之前两状态的出度之和减去两状态之间的边的权值;状态图根据推导出的状态序列以及规则1和2直接生成,包括状态和状态之间的路径,局部敏感功能图单独建立,建图方法与状态转移图的建立方法一样,需要记录权值,其中包括状态、路径和权值;然后状态序列进入行为检测模块,第一层是基于状态图的状态和路径检测,第二层是基于局部敏感功能图的状态、路径、权值的检测。第一层检测:将数据预处理模块中得到的状态序列建状态图,建图方法与状态图训练模块里建状态图的方法一致,然后与库中的状态图对比,若有出现了库里的图中没有的状态或者路径,则判为不可信。第二层检测:第二层检测使用第一层数据建图,建图方法与状态图训练模块里建敏感功能图的方法一致,建成的图与局部功能图进行匹配,如果状态、路径完全相同,计算权值偏差即计算每条路径差的加权值,权值偏差Δd小于0.1;则说明出现该敏感行为,如果相同的敏感行为被判定连续出现5次以上,则判为不可信。
地址 100124 北京市朝阳区平乐园100号