基于状态转移图的软件行为可信性检测方法

文档序号:6368415阅读:351来源:国知局
专利名称:基于状态转移图的软件行为可信性检测方法
技术领域
本发明g在建立软件行为可信性检测模型,保证行为安全,属于信息安全领域。
背景技术
软件本质上是代替人执行一定行为的工具,软件的可信性主要表现在其行为的可信上。屈延文教授认为软件行为的可信性是指软件运行时作为主体,依靠其自身的功能对客体的施用、操作或者动作的历史记录反映其是否违规、越权以及超出范围等方面的ー种统计特性。也就是说ー个可信软件应该是软件的行为及结果可以预期,运行时的行为状态可以监控。 现有的行为可信检测类型大致包括可信评测、风险评估、态势预测等。可信评测模型一般采用先建立正常或异常库,然后根据已知库进行匹配的检测方法,相关研究手段主要包括系统调用序列、软件行为自动机、系统调用上下文及其參数等方面。大多数研究者旨在提闻ホ旲型的精确性和完备性;风险评估是指研究者利用风险评估策略,判定有疑似风险的场景,采用奖励或处罚机制求出软件行为的可信度,来判断软件行为是否可信的方法,该方法提出风险和信任是决定可信的两个关键因素,风险和信任是相互对立的;态势预测是指关注软件运行的行为、场景和行为效应之间的关系,采用先进的统计机器学习工具分析行为踪迹规律,进而对软件行为进行态势预测。这些检测方法在既定的行为规约下往往只关注异常,缺乏系统化的软件行为检测机制,难以对目标软件的整体安全性进行检测,无法对软件行为进行实时监控,更加无法定位异常的发生时间和原因。而且关注的因素很多,模型复杂,实用性不高。

发明内容
针对上述问题,本发明提出了一种基于图的软件行为可信性检测方法,g在建立一个完善的检测流程,实现软件行为的实时监控和检测。检测系统分为五个模块数据预处理模块、状态图训练模块、行为检测模块、实时监控模块和异常告警模块。本发明包括以下步骤数据预处理模块,首先截获正在运行的软件的系统调用,并利用隐马模型的学习和评估问题,负责将系统调用序列转化为状态序列,完成数据的预处理。状态图训练模块是在检测系统开启之前训练好的正常行为库,包括已建立的状态总图和多个局部敏感功能图。利用从数据预处理模块得到的状态序列直接建图,建图之前,先给出相关概念和定义。定义I状态是指从系统调用推导出的高层序列模式。定义2路径是指如果状态I后出现了状态2,则说明存在状态I到状态2的路径。定义3权值是指某条边出现次数与所有边出现总次数的比值。定义4状态距离D为两个不同状态之间的距离,用以判断两个状态的相似程度。这里比较的是两状态分别对应的系统调用序列,设短的序列为Imin,序列长度为I1,长的序列为1_,序列长度为I2,先将Imin的第一位与1_的第一位对齐,处在相同位置的数值如果相同记为0,不同记为I,将记录的值相加之后除以短的序列长度I1,记为札。然后Imin向后滑动一位,也就是将Imin的第一位与的第二位对齐,再进行一次上述操作,记录R2,直到
Iniin的末尾与Iniax的末尾对齐为止,然后计算 = _>%' , R;'-今RstJi-Ii >定义3入度in+STG中终止于某顶点的边的权值之和称为该顶点的入度。定义4出度out-STG中起始于某顶点的边的权值之和称为该顶点的出度。建图的方法和图论里的方法相似,还要满足以下两条规则规则I小概率分支删除规则建图的时候,删除权值小于0.08的边,如果某个顶点的出度和入度都没有达到
0.08,此顶点也ー并删除。小概率状态和边的出现可能是由于隐马的误判或者是windows时间片轮转的操作系统导致的,由于其出现的概率非常小,不具有稳定性,不适合用来描述软件行为,其也与异常入侵和病毒的特征不符,不会对检测造成影响,所以将其删除。规则2等价状态合并规则两状态之间如果存在边,且距离D小于0. 5可以合井。合并过程如下■顶点顶点由两个变成ー个■边两状态之间的边直接删除,两状态与其他状态之间的边保留。■权值因其与边相对应,所以如果保留了两条相同的边,则将其权值相加,只保留一条同样的边即可。■入度为合并之前两状态的入度之和减去两状态之间的边的权值。■出度为合并之前两状态的出度之和减去两状态之间的边的权值。状态图根据推导出的状态序列以及规则I和2直接生成,其中包括状态和状态之间的路径,不用记录权值。局部敏感功能是指类似于建立连接或者是登陆这些特殊的功能。这种功能本身并无异常,但是大量的操作就可能是攻击或者恶意行为。所以局部敏感功能图单独建立,建图方法与状态转移图的建立方法一祥,需要记录权值,其中包括状态、路径和权值。然后状态序列进入行为检测模块,该模块是整个检测模型的核心,第一层是基于状态图的状态和路径检测,第二层是基于局部敏感功能图的状态、路径、权值的检测。第一层检测将数据预处理模块中得到的状态序列建状态图,建图方法与状态图训练模块里建状态图的方法一致,然后与库中的状态图对比,若出现了库里的图中没有的状态或者路径,则判为不可信。这部分用来检测是否有新的行为出现以及代码注入攻击,因为没有预期的行为和代码注入的目的往往导致软件新功能的出现,而新功能的出现就意味着库图中没有的状态或路径的出现。第二层检测是在第一层检测没有异常的情况下的深入分析,第二层检测使用第一层的数据建图,建图方法与状态图训练模块里建敏感功能图的方法一致,建成的图与局部功能图进行匹配,如果状态、路径完全相同,权值偏差Ad小于0. I (权值偏差的计算方法为计算每条路径差的加权值,设该图有3条路径,库中图的权值为Wl,w2,W3,待测图的权值

权利要求
1.基于状态转移图的软件行为可信性检测方法,其特征在于;包括以下步骤 首先进行序列模式的提取截获软件正常执行时的系统调用序列,挖掘出所有序列模式; 然后进行状态层的推导先利用隐马模型的学习问题为每个序列模式建立ー个隐马模型,再利用隐马的评估问题判定状态; 最后根据状态序列建立状态转移图在建图之前,先给出相关概念和定义; 定义ISTG是ー个三元组,STG = {V,E,W); V是图中的节点,即已知状态集, E是连接图中节点的有向边的集合, W是权值,表示某条边出现次数与所有边出现总次数的比值,定义2状态距离D :为两个不同状态之间的距离,用以判断两个状态的相似程度;两状态分别对应的系统调用序列,设短的序列为Imin,序列长度为I1,长的序列为1_,序列长度为I2,先将Imin的第一位与的第一位对齐,处在相同位置的数值如果相同记为O,不同记为1,将记录的值相加之后除以短的序列长度I1,记为R1 ;然后Imin向后滑动一位,也就是将Imin的第一位与的第二位对齐,再进行一次上述操作,记录R2,直到Imin的末尾与Imax的末尾对齐为止,然后计算
全文摘要
本发明是一种基于图的软件行为可信性检测方法。检测系统分为五个模块数据预处理模块负责前期数据处理;状态图训练模块用来训练正常行为库;行为检测模块负责根据已建立的图对行为进行检测,该检测分为两个层次,第一层是状态和路径的检测,第二层主要是权值的检测;实时监控模块以日志的形式动态存储检测结果;异常告警模块在检测模块发现异常后进行告警,并终止正在运行的软件。该检测模型可以实时监控软件行为,检测出不属于这个软件的行为,一些攻击行为和非法输入。
文档编号G06F9/44GK102768638SQ20121015770
公开日2012年11月7日 申请日期2012年5月18日 优先权日2012年5月18日
发明者刘静, 张文雯, 李健, 杨震, 赖英旭 申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1