[发明专利]一种基于场景模型的软件漏洞分析方法有效

专利信息
申请号: 201210424280.X 申请日: 2012-10-31
公开(公告)号: CN103020529A 公开(公告)日: 2013-04-03
发明(设计)人: 郑亮;刘向东;游春凌;李红;王斌 申请(专利权)人: 中国航天科工集团第二研究院七○六所
主分类号: G06F21/57 分类号: G06F21/57;H04L29/08
代理公司: 北京思海天达知识产权代理有限公司 11203 代理人: 楼艮基
地址: 100854*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 一种基于场景模型的软件漏洞分析方法,属于网络安全领域,其特征在于,依次含有:扫描软件代码的构建场景集合、分析软件代码的建立场景模型、运行软件系统,记录软件行为、根据用户软件特征选择测试用例以及根据用户的软件运行路径以变换测试用例等步骤,是一种面向浏览器B/服务器S架构的软件漏洞分析方法,能从用户软件系统的代码、模块、接口、函数调用关系等多个方面入手,对用户的软件系统的漏洞进行测试验证,定位漏洞位置,具有通用性强,能发现隐性的权限提升漏洞的优点。
搜索关键词: 一种 基于 场景 模型 软件 漏洞 分析 方法
【主权项】:
一种基于场景模型的软件漏洞分析方法,其特征在于所述场景模型C的数学表达式为:C={P,F,R,λ},其中P表示软件系统的路径path集合,F表示软件系统文件名file集合,R是软件系统中软件使用的参数para集合,λ是用于描述场景间的直接调用关系的{P,F,R}‑>{P,F,R}的映射,所述的一种基于场景的软件漏洞分析方法是一种面向浏览器B/服务器S架构的软件漏洞分析方法,是在互联网中的一个基于场景的软件漏洞分析系统中依次按以下步骤实现的:步骤(1),构建所述的基于场景的软件漏洞分析系统,设立软件静态分析模块、场景建模模块、测试控制模块、测试数据加载模块、测试用例库以及如阿年通信模块,其中:软件静态分析模块,对软件的可执行代码的语句逐条进行分析,得到:软件的执行路径、用以标记软件的人机接口代码,与其他软件交互的数据接口代码,从中获取:包括软件开发语言、运行平台、数据库、组成文件、功能所用技术以及用户几口在内的软件参数信息,场景建模模块,从所述软件静态分析模块输入所属软件参数信息按照软件的组成文件。功能调用参数建立软件的用户状态集合,得到软件场景模型,测试控制模块,根据从所述软件静态分析模块输入的软件基本信息从测试用例库中选择初始测试用例,同事根据从所述场景建模模块输入的软件场景模型控制软件加载数据的加载策略,测试数据加载模块解析测试用例库中的测试用例并把测试数据库判入到所述目标软件中,同时根基测试数据生成策略对测试数据进行变换的适应具体软件,步骤(2),在所述的基于场景的软件漏洞分析系统中依次按以下步骤对所述的浏览器B/服务器S架构的软件进行漏洞分析;步骤(2.1),所述软件静态分析模块,按以下步骤扫描软件代码,构建目标软件系统的场景参数集合:步骤(2.1.1),扫描并分析待分析的目标软件的代码,得到并分析可执行文件的后缀名,再按后缀名的异同进行初步的场景划分,所述可执行文件至少包括:jsp类型文件、asp类型文件、aspx类型文件、php类型文件、pl类型文件,步骤(2.1.2),对步骤(2.1.1)中进行场景划分名的各类可执行文件进行遍历、获取各类可执行文件的参数变量,建立各类可执行文件的参数列表,步骤(2.1.3),对于每一类内各可执行文件在所调用的参数数量、参数名称上的差异,再次进行类内场景划分,从而构建出以可执行文件名,调用参数列表为标识的软件系统场景参数集合E:E={P,F,R,H},其中:所述Path∈P,file∈F,para∈R,H是场景的特征char集合,char∈H,所述场景的特征至少包括:软件开发语言、运行平台、数据库、组成文件、功能调用参数以及用户接口,步骤(2.2)所述场景建模模块对输入的所述软件基本信息中的软件代码进行分析,建立场景模型C:遍历目标软件系统内的每个可执行文件,对所述每类目标软件的跳转指合,调用指合、条用指合进行分析,通过其中对触发GET协议、POST协议操作的语句进行分析,提取各GET协议、POST协议提交的文件路径及参数,通过分场景参数集合S中的三元组{P,F,R}进行比对,完全相同的则建立反映二个场景问的调用关系的软件场景模型C,C={P,F,R,λ},已如上述;步骤(2.3)所述测试控制模块运行用户部署的软件系统,记录软件行为:步骤(2.3.1),所述软件静态分析模块向所述测试控制模块输入目标软件基本信息,所述场景建模模块向所述测试控制系统输入所述目标软件的软件场景模型,步骤(2.3.2),用户想所述测试控制模块部署用户软件系统,输入测试奇数,并反问所述用户软件系统的各个功能,同事加载浏览器调试器监视说书用户软件系统运行,步骤(2.3.3)所述用户软件系统内的软件,根据用户的每次请求返回如下各种不同的对应结果:若:超级文本传输协议HTTP返回的编码为200,则,用户本次请求导致的场景切换成功,记录相应的用户请求文件,参数值以及变化前后的场景,若:所述HTTP返回的编码为400、401、403中的任何一种,则,用户本次请求导致的场景切换失败,不记录,若:所述HTTP返回的编码是500,则,可能已经触发漏洞,记录相应的用户请求文件,参数值以及变化前后的场景,并标记漏洞触发数据,步骤(2.3.4)除了切换失败及成功的场景以外,去除步骤(2.3.3)中具有相同的场景转化关系和相同参数值的以序列形成表述的场景变化,简化场景变化序列,用I表示其结果,步骤(2.3.5)用户把所有的软件的功能至少运行使用一次,形成初始测试场景U:U={S0,E,I},其中:S0:初始测试场景中的所有场景参数集合,E:用户提交的数据资源集合,I:简化后的场景变化序数,步骤(2.4)所述测试数据加载模块依次按以下步骤按照用户软件的特征,选择初始测试用例;步骤(2.4.1),从用户输入的测试参数中获取用户软件系统开发语言,运行平台和数据库类型,步骤(2.4.2),从步骤(2.3.5)获取的所述初始测试场景U中的具体参数值中得到参数的类型,其中至少包括整型,字符型以及二进制型中的一种或一种以上,步骤(2.4.3),按照步骤(2.4.2)中的具体参数从所述测试用例库中选择同类的测试用例,针对相应的参数进行数据加载测试,同时加载监视器监视场景变化,步骤(2.4.4),在步骤(2.4.3)加载测试用例过程中,得到如下不同的结果:若:所述HTTP返回的编码是200,则,用户本次请求导致的场景切换成功,记录相应的请求文件,参数值以及变化前后的场景,若:所述HTTP返回的编码是400、401、403中的任何一种,则,用户本次请求导致的场景切换失败,不记录,若:所述HTTP返回的编码是500,则,可能已触发漏洞,记录相应的用户请求文件、参数值以及变化前后的场景,并标记漏洞触发参数及数据,步骤(2.4.5),把步骤(2.4.4)产生异常行为及异常场景转换的数据添加到所述测试用例库中,并记录对应的用户软件信息,包括:软件开发语言运行平台、数据库的基本信息在场景转换中减少的参数类型,以及修改的包括常量参数在内的参数类型及对应的参数值,步骤(2.4.6),所述测试数据加载模块向所述软件通信模块把云发送请求;获准后,到云基于场景的漏洞分析数据。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航天科工集团第二研究院七○六所,未经中国航天科工集团第二研究院七○六所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201210424280.X/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top