[发明专利]基于安全知识库的顺序图缺陷检测方法有效
申请号: | 201010168987.X | 申请日: | 2010-05-13 |
公开(公告)号: | CN101833453A | 公开(公告)日: | 2010-09-15 |
发明(设计)人: | 李晓红;孟国柱;许光全;徐超;潘东 | 申请(专利权)人: | 天津大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F11/36 |
代理公司: | 天津市北洋有限责任专利代理事务所 12201 | 代理人: | 程毓英 |
地址: | 300072 天*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 安全 知识库 顺序 缺陷 检测 方法 | ||
技术领域
本发明以可信软件开发设计阶段中的绘制的顺序图作为主要检测对象,致力于提高软件开发和后期维护成本、提高软件的可信度,属于软件安全领域。
背景技术
随着互联网的发展,软件安全问题日益引起大家的关注。软件系统潜在的漏洞给使用者带来很大的安全隐患,从而引发对安全软件思想的重视。如何生产高性能可靠的软件成为当前社会的一个热门话题。传统软件工程往往注重于软件的高效性、实用性和可靠性,而忽略了软件的可信度。且无法满足在各环节的安全需求,使得在需求和设计阶段中出现的安全问题不能够及时发现,不能保证开发高可信的软件,从而导致开发的软件易受攻击。然而安全软件工程提出一种在软件开发周期的每个环节加入安全的理念,对系统潜在的缺陷及早发现,及时解决,以确保各环节产品的高可靠性和安全性。
统一建模语言UML的提出,很好的规范和统一了软件的开发过程。在软件开发的设计阶段,设计人员往往会利用UML中的顺序图来绘制软件系统中各个对象的交互过程。顺序图重点说明了各对象在相互交互过程中的时间顺序,反映了系统的某一业务逻辑。顺序图主要包含对象跟消息两部分。对象反映了在这一业务逻辑中参与到的所有成员,分为一股形态和实例形态;消息则是对象之间的一种通信,可以传递信息并期望相关动作被执行。顺序图能够表示业务逻辑的执行方式和过程。但顺序图同样能够暴露系统的潜在威胁。由于顺序图的过程化合时序化,可能存在一些潜在的,攻击者能够利用的漏洞,即攻击路径。攻击者利用它们完成一个一个既定的攻击目标,最终实现对软件系统的攻击。
FSA(有限状态自动机”finite state automation”)是为研究有限内存的计算过程和某些语言类而抽象出的一种计算模型。有限状态自动机由系统的状态和这些状态之间的迁移构成,通过对顺序图进行FSA的建模能够更好的表述软件设计阶段中业务流程。
攻击模式是一种抽象概念,攻击模式所针对的问题即为软件产品攻击者的目标对象,描述的是攻击者用来破坏软件产品的技术。使用攻击模式的动机为软件开发者通过将自己想象为攻击者,参与到威胁中去,从而有效提高软件的安全性。一种攻击模式一股对应若干种软件缺陷,即一种攻击模式可以对软件的若干个缺陷产生影响,导致系统的这些缺陷暴露,遭受攻击。攻击模式是攻击者达到攻击目标的必经之路,所以检测出这样的一个攻击模式,就能够发现软件的存在的缺陷,避免遭受攻击者的攻击,提高软件的安全系数。
在软件开发过程中,设计阶段显得尤为重要,它定义了系统的整体架构,功能模块,技术路线等,是对整个软件项目的宏观描述。随着安全软件工程的发展,软件的设计阶段也越来越被软件安全专家所关注。正是由于设计阶段在整个软件项目的作用,致使设计阶段能够展现和暴露软件潜在的缺陷和安全漏洞,在软件开发的设计阶段发现这些缺陷和安全漏洞,成为安全软件工程的重要一环。
发明内容
本发明首先利用顺序图来表述软件设计阶段中的某一业务逻辑,然后对顺序图进行安全分析,生成一份威胁分析报告,从而提出在软件开发初期的弥补建议和方案。这样能够减少软件开发和维护的成本,提高软件的可信度。为此,本发明采用如下的技术方案。
一种基于安全知识库的顺序图缺陷检测方法,包括下列步骤:
1)顺序图的安全扩展:通过UML扩展机制,为顺序图中的对象与消息添加一些与安全相关的属性,这些与安全相关的属性用于对软件系统组件进行抽象和分类,并用于在信息图中对与安全相关的信息进行形式化;
2)从以XMI形式保存的顺序图中提取安全信息,并对顺序图进行FSA建模,将顺序图中的对象建模成FSA中的状态节点,顺序图中的消息调用建模成FSA中的状态转移的条件,得到FSA模型;
3)采用深度优先搜索算法从FSA模型中提取出所有可能的攻击路径;
4)建立包括攻击模式库、缺陷库、攻击模式与缺陷的二元关系库在内的安全知识库;
5)通过将步骤2)中提取的攻击路径与安全知识库中的攻击模式进行匹配度计算,找到与各个攻击路径所关联的攻击模式,并通过攻击模式与缺陷的二元关系找到相关联的缺陷,最后生成威胁信息报告。
上述的步骤5)中,对匹配度计算方法可以如下:
1)首先判断当前攻击路径是否跟安全知识库中的某一个攻击模式的正则表达式完全相等,如果完全相等,则此次匹配为匹配度为100%的匹配;否则,将攻击路径分解成各个节点,通过下列的加权方法求取该攻击模式与当前的攻击路径的匹配度:以最后一个节点作为攻击的终点,即潜在攻击目标,设定其权重最大,为50%,距离该潜在攻击目标越远的攻击节点的权重越小,权值呈1/2指数减小趋势;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010168987.X/2.html,转载请声明来源钻瓜专利网。