[发明专利]一种通讯软件的安全性的自动化验证方法有效
申请号: | 202110653403.6 | 申请日: | 2021-06-11 |
公开(公告)号: | CN113449151B | 公开(公告)日: | 2022-09-20 |
发明(设计)人: | 付玉龙;沈啸;刘辰吴;李晖 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/81;G06F8/41 |
代理公司: | 西安赛嘉知识产权代理事务所(普通合伙) 61275 | 代理人: | 王伟超 |
地址: | 710126 陕西省西安市长*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通讯 软件 安全性 自动化 验证 方法 | ||
1.一种通讯软件的安全性的自动化验证方法,其特征在于:包括如下步骤:
步骤1、将待分析的通信软件c或c++代码,通过软件代码分析工具分析,获得对应软件函数调用关系图并导出对应的HTML和XML文件;
步骤2、根据导出的HTML和XML文件获得待验证的通讯软件的入口和出口函数;具体过程是:通过HTML页面获取待的验证的通讯软件的函数调用关系图,通过函数调用关系图确定通讯软件的入口函数和出口函数;通过解析XML文件获取有关通讯软件的函数的相关信息,获取元素树,遍历元素树确定待验证的通讯软件的入口函数的名称和出口函数的名称
步骤3、根据上述获取的通讯软件的入口和出口函数,自动提取功能函数,建立通讯软件的执行链表;具体过程是:通过观察HTML显示的函数调用图上体现出的功能函数与出入口函数之间的关系,发现在以入口函数开始生成的调用图中,以出口函数为起始点向前查找,分支最多的层中的函数就是功能函数;
步骤4、利用上述步骤建立的执行链表,将链表每一个结点视为一个状态,根据状态的先后关系建立状态转移序列,以此建立状态机模型;具体过程是:依据已经提取的状态,从HTML文件中获取状态的先后关系,依据HTML文件中的状态先后顺序,建立状态间的连接,连接建立完成之后,从XML文件中获取状态之间发生的条件,将条件设置为状态转移的动作;
步骤5、利用所建立的状态机模型,编写基于SPIN脚本的安全验证模型;
步骤6、将安全性验证模型通过模型检测工具进行分析,生成通讯软件的流程模型,比较通讯软件的设计流程与生成的流程模型,完成一致性验证;具体过程是:对功能函数间可能的运行顺序和正常的交互过程进行比较,从之前所生成的这个交互流程可以看到,代码中功能函数之间的交互确实可以与设计方案中的正常交互流程对应上;最后将经过SPIN模拟的通讯软件过程与之前设计的通讯软件过程进行对比,发现自动化提取的通讯软件状态流程与之前设计的通讯软件流程相似,即完成了通讯软件的一致性验证。
2.使用权利要求1所述的通讯软件的安全性的自动化验证方法,其特征在于:所述步骤1、将待分析的通信软件c或c++代码,通过软件代码分析工具分析,获得对应软件函数调用关系图并导出对应的HTML和XML文件的过程是:首先,打开doxygen软件,开始配置doxygen输入输出文件格式,包括配置doxygen工作目录、配置源码所在目录、配置文档输出目录;然后依次进行Mode菜单、Output菜单、Diagram菜单、Expert菜单、expert标签、Input界面的设定;最后,进入doxygen运行界面,单机RUN按钮,运行doxygen。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110653403.6/1.html,转载请声明来源钻瓜专利网。