关于网络安全检测的攻击树模型研究(3)
作者:佚名; 更新时间:2014-12-03

  4基于攻击树的攻击规范语言

  使用攻击树可以很好地模拟大规模的网络入侵行为。根据攻击树的原理.定义能够模拟攻击树攻击过程的攻击规范语言,为计算机自动化攻击检测打下基础。Tidwell[]在此基础上定义一个攻击规范语言范式(Attack Speciifcation LanguageBNF),但是,他所定义的语言规范过于复杂,我们定义更加简洁、清晰、易于表述的语言模型范式如图8所示,每个模型范式应该包含4大部分:

  属性(properties):各个目标和子目标的属性。包含description(攻击描述)、CVElink(CVE相应编号)、version(版本号)等描述信息。

  前提(preconditions):表示完成该攻击必须先完成的子目标.对应攻击树上它的子结点,子目标之间的关系只有“与”和“或”两种关系如果没有子节点,那么前提就是指攻击所需的条件(系统漏洞,脆弱性等)和攻击所需的方法。

  子目标(subgoa1):攻击实例。表示其父节点的具体攻击形式.而且同层的子目标应该是严格的“AND/OR”关系,节点的序号表示攻击的先后顺序。后果(postcondition):指示系统和环境的状态改变,也表示攻击的结果。

  基于这种语言就可以对攻击场景进行描述,如果某攻击的子目标与前提都得到满足(被实例化),则判断该攻击为“真”,利用这个原理就可以实现基于攻击模型库的入侵检测,前提之间的关系也只考虑“与”和“或”两种关系。

  为了更好地表示网络入侵,重点考虑子目标对父目标的影响.并使得子目标之间的关系只包含“与”、“或”这两种关系。在此思路上引入了我们定义的攻击说明语言。其中OR和AND是攻击语言保留关键字运算符。

  OR:子目标是“或关系”

  AND:子目标是“与关系”

  

关于网络安全检测的攻击树模型研究

  从上面递归描述我们可以看到,攻击规范语言主要包括:

  字母表(alphabeta~z和A~Z)和数字表(numeral0~9)组成整个语言的标识符:

  变量和攻击函数(AttackFunction)标识符是由字母(alphabet)和数字(numera1)或者其组合而成;函数包含属性、前提和后果3个参数;

  目标(Goa1)是由子目标(SubGoals)函数的若干“与(OR)和“或(AND)”组成;

  若干“与分支(andExpr)”函数和“或分支(orExpr)”函数组成整个攻击过程:

  叶节点分支(grpExpr)是一些具体的攻击实例。包括实例的属性、前提和攻击的结果。

  整个程序执行的先后顺序决定攻击实例的执行顺序。

  一个攻击目标的完成依赖于若干个子目标的完成.子目标之问的关系可以是“与”、“或”两种关系之一。一个攻击目标的标识符是一个以字母开头的字母和数字的字符串。由攻击语言定义的攻击称为攻击模式.多个攻击模式的集合称为攻击模式库。对于关系是“与”的子目标,只有其所有函数返回值为“真才能保证整个目标值为“真”,即该子目标任务完成:同理对于“或”关系的子目标,只要任何一个子目标函数返回值为“真”即可保证该子目标任务的完成。

  当前的入侵向协作式、多层次化、大规模化发展,一次入侵往往并不是一个简单孤立的动作,通常是由一连串有逻辑关系的入侵动作构成,使用基于攻击树的攻击模型,有利于检测入侵及预测下一步可能的入侵活动。

核心期刊快速发表
Copyright@2000-2030 论文期刊网 Corporation All Rights Reserved.
《中华人民共和国信息产业部》备案号:ICP备07016076号;《公安部》备案号:33010402003207
本网站专业、正规提供职称论文发表和写作指导服务,并收录了海量免费论文和数百个经国家新闻出版总署审批过的具有国内统一CN刊号与国际标准ISSN刊号的合作期刊,供诸位正确选择和阅读参考,免费论文版权归原作者所有,谨防侵权。联系邮箱:256081@163.com