[发明专利]一种软件探测器的软件探测方法有效
申请号: | 201210054220.3 | 申请日: | 2010-04-13 |
公开(公告)号: | CN102646068A | 公开(公告)日: | 2012-08-22 |
发明(设计)人: | 吴华芳;张溟;张克东 | 申请(专利权)人: | 常州云博软件工程技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京同泽专利事务所(特殊普通合伙) 32245 | 代理人: | 蒋全强 |
地址: | 213022 江苏省常*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 探测器 探测 方法 | ||
1.一种软件探测方法,其特征在于包括如下步骤:
A、启动代码插装步骤,该步骤包括:虚拟执行被测软件,即对被测软件的程序源代码进行词法分析和语法分析,以识别出特征代码,该特征代码包括:变量、函数、子程序和面向对象的类;然后对所述程序源代码的程序流程按数据块进行划分,以得到表述所述被测软件的程序结构和静态流程的划分数据并存入一静态数据库中,同时该静态数据库预存有根据被测软件的功能说明书得到的正常程序结构和静态流程;然后在所述程序源代码中插入对应于所述特征代码的探测代码;最后把插入了所述探测代码的程序源代码编译链接成可执行程序;所述探测代码用于收集所述可执行程序运行时生成的动态数据;该动态数据包括:函数、子程序的调用记录,面向对象的类的消息传递,以及由所述函数、子程序的调用记录和面向对象的类的消息传递构成的所述被测软件运行时的程序结构和控制流程;
B、执行模式识别步骤,该步骤用于对所述可执行程序执行模型检测,即:将所述静态数据库中预存的正常程序结构和静态流程与所述探测代码获取的被测软件运行时的程序结构和控制流程进行比较;若二者一致,则判断所述可执行程序正常;否则,则判断所述可执行程序中存在“特殊的结构”或“漏洞”;所述“特殊的结构”是指与被测软件的功能说明书不相关的变量、函数、子程序或类的消息传递;所述“漏洞”是指根据被测软件的功能说明书被测软件中缺少应有的变量、函数、子程序或类的消息传递;
C、当发现存在“特殊的结构”或“漏洞”后,执行模式分析步骤,该步骤用于分析所述可执行程序的控制流程,以找出并上报引起“特殊的结构”或“漏洞”的代码执行轨迹;该代码执行轨迹是由引起执行“特殊的结构”或“漏洞”的一系列代码的集合所构成的程序流程;
D、执行数据处理与传输步骤,该步骤用于根据所述代码执行轨迹,得出被测软件存在“特殊的结构”和/或“漏洞”的信息、及其运行的时间信息和运行次数,然后通过无线或有线的方式,传输到监管节点和/或监管网络;
所述控制流程是指:虚拟执行被测软件,即对被测软件的程序源代码进行词法分析和语法分析,识别出特征代码,然后对所述程序源代码的控制流按块进行划分,得到所述被测软件的程序划分数据的流程;
所述静态流程是指:把插入了所述探测代码的程序源代码编译链接成可执行程序;运行该可执行程序得到的被测软件运行时的程序流程;
所述代码插装步骤中,在识别出特征代码时,同时生成插装信息链表;然后根据该插装信息链表在所述程序源代码中插入对应于所述特征代码的探测代码;所述根据插装信息链表插装源程序的位置包括:插装源程序文件头部、插装函数头部、插装条件表达式、插装流程控制语句和插装标号语句;
程序节点探测模式分析和程序段探测模式分析,用于对所述程序源代码的程序流程按数据块进行分析,然后划分出所述数据块;
所述程序节点探测模式分析包括:判断的入口点和出口点、if…else语句中的else的入口点和出口点、链接的入口点和出口点、以及程序单元的入口点和出口点;
所述程序段探测模式分析是指两个连续的程序分支点间的程序语句序列;所述程序分支点包括:程序节点、以及无条件转移语句与下一条语句之间的位置。
2.一种应用上述权利要求1所述的软件探测方法的软件探测器的工作方法,其特征在于软件探测器包括:与用于执行所述可执行程序的处理器相连的探测控制器、与探测控制器相连的无线数据收发器和/或有线数据收发器;
当所述处理器发现存在“特殊的结构”和/或“漏洞”后,执行所述模式分析步骤,然后将被测软件存在“特殊的结构”和/或“漏洞”的信息、及该“特殊的结构”和/或“漏洞”运行的时间信息和运行次数传送至所述探测控制器,探测控制器通过所述无线数据收发器和/或有线数据收发器将所述被测软件存在“特殊的结构”和/或“漏洞”的信息、及其运行的时间信息和运行次数传送至所述监管节点和/或监管网络。
3.一种应用上述权利要求2所述的软件探测器的软件探测系统,其特征在于包括:作为所述监管节点的上位机、与分布于不同地域的多个所述上位机相连的监管服务器系统;所述上位机用于与同地域内的多个所述软件探测器通过无线和/或有线的方式通信连接。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于常州云博软件工程技术有限公司,未经常州云博软件工程技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210054220.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:电子输液监控器
- 下一篇:一种一次性使用自锁式防针刺静脉输液针