发明名称 SOFTWARE ANALYSIS FRAMEWORK
摘要 Presently described is a decompilation method of operation and system for parsing executable code, identifying and recursively modeling data flows, identifying and recursively modeling control flow, and iteratively refining these models to provide a complete model at the nanocode level. The nanocode decompiler may be used to determine if flaws, security vulnerabilities, or general quality issues exist in the code. The nanocode decompiler outputs in a standardized, human-readable intermediate representation (IR) designed for automated or scripted analysis and reporting. Reports may take the form of a computer annotated and/or partially human annotated nanocode listing in the above-described IR. Annotations may include plain English statements regarding flaws and pointers to badly constructed data structures, unchecked buffers, malicious embedded code or “trap doors,” and the like. Annotations may be generated through a scripted analysis process or by means of an expert-enhanced, quasi-autonomous system.
申请公布号 US2016274879(A1) 申请公布日期 2016.09.22
申请号 US201615010447 申请日期 2016.01.29
申请人 Veracode, Inc. 发明人 Rioux Christien
分类号 G06F9/45 主分类号 G06F9/45
代理机构 代理人
主权项 1. A method of analyzing executable software code by decompiling said executable code, comprising: parsing said executable code to identify one or more data flows; recursively: discovering a fitting data flow model;optimizing said fitting data flow model to form a refined data flow model;propagating said refined data flow model until substantially all data variables are modeled; andexpressing said refined data flow model in an intermediate representation; parsing said executable code to identify one or more control flows; recursively: discovering a fitting control flow model comprising one or more control branches;optimizing said fitting control flow model to form a refined control flow model;propagating said refined control flow model until substantially all said control branches are modeled; andexpressing said refined control flow model in an intermediate representation;wherein said refined data flow model and said refined control flow model express a complete nanocode model of said executable software code in said intermediate representation.
地址 Burlington MA US