当前位置: 首页 > 专利查询>张克东专利>正文

软件探测方法和应用该方法的软件探测器及软件探测系统技术方案

技术编号:3967675 阅读:213 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于一种软件探测方法和应用该方法的软件探测器及软件探测系统。所述软件探测方法用于对应用软件在运行中的程序流程信息的实时探测,在对被测软件进行代码插装后,通过模型检测判断是否存在“特殊的结构”或“漏洞”,并找出代码执行轨迹,然后将程序流程信息采用无线或有线方式将此信息传送到监管节点或监管网络。本发明专利技术在法制监管领域可以对计算机系统内部运行的软件进行实时监控。本发明专利技术的软件探测系统构成法制计量监控网络,对计量器具的使用进行监控,为执法打假快速反应提供服务和支撑。能对电子衡器软件或金融监管软件中的“后门程序”和“作弊口令”等特定目标进行探测、并将探测得的信息对外传输,以使监管部门实时监视。

【技术实现步骤摘要】

本专利技术涉及一种软件探测技术和软件探测装置和软件探测的网络系统,具体是一 种对软件运行中流程信息进行探测的软件探测方法和应用该方法的软件探测器及软件探 测系统。
技术介绍
计算机系统和网络的大量普及使用使全球跨入了信息化时代。但是,正由于现代 社会中几乎一切都在“计算机化”,如经济活动(生产、流通、交换、消费)过程中的管理都已 完全基于计算机系统在运行,而计算机系统的核心是“软件”,也就是说都是基于“软件(程 序)”在运行,所以从技术层面来看,如果对这些软件的运行不能进行有效地检测和监控,那 么监管就会“缺失”,给国家或全球的金融和社会安全造成隐患。在国内,重要的法制监管领域有十几个,如金融(银监、证监、保监),国资,税务,财政,审计,安监、电监、环境......等。如果对这些法制监管领域的软件运行不能有效地检测、监控,后果不堪设想。在质检计量系统中,与人民群众生活密切相关的加油机、计价秤、出租车计价器等 法制计量产品作弊事件频频发生。一方面,由于受到软件技术手段的制约,质量技术监督 行政执法人员无法有效获取相关作弊证据,对不法商贩和经营者的处罚缺少依据,在一定 程度上损害了广大消费者的利益;另一方面,由于不法制造商可以通过对软件进行恶意修 改或在软件中留有“后门”来扩大市场销路,严重违反了公平竞争的原则。法制计量监管网 络的目标是监管使用过程中面上的作弊的情况,主要是要突破和掌握软件作弊探测(或称 “软件探头”或“软件探测传感器”)的核心技术。所以,它是从广度来进行的实时监控和动 态监管,好比是现在已经在道路交通、治安防范方面普遍使用的视频摄像探测监控系统,使 得程序的运行由不可见、不可控变成可见又可控。因此在法制计量监管领域,如何探测电子 衡器软件中的“后门程序”和“作弊口令”等特定目标,是本领域的技术难题。在“软件测试”领域,国内外现有的软件自动化测试工具,一般都是在程序内部进 行故障跟踪和检测,没有将跟踪、检测的信息对外传输和发送。在“无线传感网”领域,现有 的传感器往往只能感知常规的“物理量”或“化学量”,不能感知计算机中软件运行的信息。 因此,监管部门无法对软件进行实时监视。法制计量软件探测器开发的特点和要求有1、要能采集并发送计量器具软件标识信息和传感器节点标识信息计量器具软件标识信息,相当于计价秤软件的电子身份信息(ID-O);软件探测传 感器节点标识信息也就是标志软件传感器本身的电子身份信息(ID-I)。通过比对可以识别 计量器具软件和软件探测传感器节点本身的真伪。2、要跟踪并发送计量器具使用时的作弊信息,包括今作弊的时间及数量作弊时间包括年、月、日、时、分、秒;作弊数量、超差比例、 等;今作弊的金额包括每次作弊的金额和累计作弊的金额。为执法提供依据;今作弊的口令通过跟踪分析可以锁定作弊的密码;今作弊的责任人包括监控对象的空间坐标点(省、市、区、场所)、身份(组织机构 代码、身份证号),等;今作弊的历史记录作弊信息可以全部记录在案;今实时在线监控如果计量器具脱机(停机、关机、移机,等)、更换芯片或主板,都 能立即跟踪检测到,并留下记录。3、要具有计量监控传感网软件探测传感器节点自身的管理、保护和安全功能。
技术实现思路
本专利技术所要解决的技术问题是提供一种用于对电子衡器软件或金融监管软件中 的“后门程序”和“作弊口令”等特定目标进行探测、并将探测得的信息对外传输和发送,以 使监管部门能实时监视的软件探测方法和应用该方法的软件探测器及软件探测系统。为解决上述技术问题,本专利技术的软件探测方法,包括如下步骤A、启动代码插装步骤,该步骤包括虚拟执行被测软件,即对被测软件的程序源代 码进行词法分析和语法分析,以识别出特征代码,该特征代码包括变量、函数、子程序和面 向对象的类;然后对所述程序源代码的程序流程按数据块进行划分,以得到表述所述被测 软件的程序结构和静态流程的划分数据并存入一静态数据库中,同时该静态数据库预存有 根据被测软件的功能说明书得到的正常程序结构和静态流程;然后在所述程序源代码中插 入对应于所述特征代码的探测代码;最后把插入了所述探测代码的程序源代码编译连接成 可执行程序;所述探测代码为一段代码或函数,用于收集所述可执行程序运行时生成的动 态数据;该动态数据包括函数、子程序的调用记录,面向对象的类的消息传递,以及由所 述函数、子程序的调用记录和面向对象的类的消息传递构成的所述被测软件运行时的程序 结构和控制流程;B、执行模式识别步骤,该步骤用于对所述可执行程序执行模型检测,即将所述静 态数据库中预存的正常程序结构和静态流程与所述探测代码获取的被测软件运行时的程 序结构和控制流程进行比较;若二者一致,则判断所述可执行程序正常;否则,则判断所述 可执行程序中存在“特殊的结构”或“漏洞”;所述“特殊的结构”是指与被测软件的功能说 明书不相关的变量、函数、子程序或类的消息传递;所述“漏洞”是指根据被测软件的功能说 明书被测软件中缺少应有的变量、函数、子程序或类的消息传递;C、当发现存在“特殊的结构”或“漏洞”后,执行模式分析步骤,该步骤用于分析所 述可执行程序的控制流程,以找出并上报引起“特殊的结构”或“漏洞”的代码执行轨迹;该 代码执行轨迹是由引起执行“特殊的结构”或“漏洞”的一系列代码的集合所构成的程序流 程;D、执行数据处理与传输步骤,该步骤用于根据所述代码执行轨迹,得出被测软件 存在“特殊的结构”和/或“漏洞”的信息、及其运行的时间信息和运行次数,然后通过无线 或有线的方式,传输到监管节点和/或监管网络。所述探测代码用于程序模块的结构化分析;故障跟踪和错误处理;多线程分析 (例如判断死锁和共享冲突等);程序执行效率分析(例如瓶颈分析等);初始化节点、构造链表,形成被测程序运行所需要的数据结构。所述控制流程是指虚拟执行被测软件,即对被测软件的程序源代码进行词法分 析和语法分析,识别出特征代码,然后对所述程序源代码的控制流按块进行划分,得到所述 被测软件的程序划分数据的流程。所述静态流程是指把插入了所述探测代码的程序源代码编译连接成可执行程 序;运行该可执行程序得到的被测软件运行时的程序流程。所述程序流程也即静态流程。为解决上述技术问题,本专利技术的应用上述软件探测方法的软件探测器,包括与用 于执行所述可执行程序的处理器相连的探测控制器、与探测控制器相连的无线数据收发器 和/或有线数据收发器;当所述探测控制器发现存在“特殊的结构”和/或“漏洞”后,执行 所述模式分析步骤,然后将被测软件存在“特殊的结构”和/或“漏洞”的信息、及该“特殊 的结构”和/或“漏洞”运行的时间信息和运行次数经所述无线数据收发器和/或有线数据 收发器传送至所述监管节点和/或监管网络。为解决上述技术问题,本专利技术的应用上述软件探测器的软件探测系统,包括作为 所述监管节点的上位机、与分布于不同地域的多个所述上位机相连的监管服务器系统;所 述上位机用于与同地域内的多个所述软件探测器通过无线和/或有线的方式通信连接。为解决上述技术问题,本专利技术的软件探测系统的软件平台总体设计采用层次模 型,把软件系统分层,从而限制系统变化带来的影响。每一层可以单独的设计,单独的演进、 升级。这就大大提高了系统的灵活和稳定性,可以应付本文档来自技高网
...

【技术保护点】
一种软件探测方法,其特征在于包括如下步骤:A、启动代码插装步骤,该步骤包括:虚拟执行被测软件,即对被测软件的程序源代码进行词法分析和语法分析,以识别出特征代码,该特征代码包括:变量、函数、子程序和面向对象的类;然后对所述程序源代码的程序流程按数据块进行划分,以得到表述所述被测软件的程序结构和静态流程的划分数据并存入一静态数据库中,同时该静态数据库预存有根据被测软件的功能说明书得到的正常程序结构和静态流程;然后在所述程序源代码中插入对应于所述特征代码的探测代码;最后把插入了所述探测代码的程序源代码编译连接成可执行程序;所述探测代码用于收集所述可执行程序运行时生成的动态数据;该动态数据包括:函数、子程序的调用记录,面向对象的类的消息传递,以及由所述函数、子程序的调用记录和面向对象的类的消息传递构成的所述被测软件运行时的程序结构和控制流程;B、执行模式识别步骤,该步骤用于对所述可执行程序执行模型检测,即:将所述静态数据库中预存的正常程序结构和静态流程与所述探测代码获取的被测软件运行时的程序结构和控制流程进行比较;若二者一致,则判断所述可执行程序正常;否则,则判断所述可执行程序中存在“特殊的结构”或“漏洞”;所述“特殊的结构”是指与被测软件的功能说明书不相关的变量、函数、子程序或类的消息传递;所述“漏洞”是指根据被测软件的功能说明书被测软件中缺少应有的变量、函数、子程序或类的消息传递;C、当发现存在“特殊的结构”或“漏洞”后,执行模式分析步骤,该步骤用于分析所述可执行程序的控制流程,以找出并上报引起“特殊的结构”或“漏洞”的代码执行轨迹;该代码执行轨迹是由引起执行“特殊的结构”或“漏洞”的一系列代码的集合所构成的程序流程;D、执行数据处理与传输步骤,该步骤用于根据所述代码执行轨迹,得出被测软件存在“特殊的结构”和/或“漏洞”的信息、及其运行的时间信息和运行次数,然后通过无线或有线的方式,传输到监管节点和/或监管网络。...

【技术特征摘要】

【专利技术属性】
技术研发人员:张克东
申请(专利权)人:张克东
类型:发明
国别省市:32[中国|江苏]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1