从强脆弱性的本质、分析和利用3个方面对强脆弱性进行了剖析.首先给出了强脆弱性定义,提出了程序存在强脆弱性的必要条件和充分条件,并证明了不存在万能的强脆弱性检测程序;其次,提出了判断程序存在强脆弱性的3条基本依据和利用回溯分析进行强脆弱性分析的基本方法,证明了回溯分析时间复杂度符合指数函数增长规律且至少为O(2h);最后,将强脆弱性利用归结为强脆弱性方程组求解问题,并给出了利用相对可控、广义方程和VC分解对强脆弱性方程组进行求解的相应算法.并且对Office系列软件的两个强脆弱性进行了分析和计算.
In this paper,critical vulnerability is parsed from its essence,analysis and exploitation.First,this paper gives the definition of critical vulnerability,present necessary and sufficient condition of the existence for critical vulnerability,and proves that there are not any universal detecting procedures for critical vulnerability.Secondly,this paper proposes three basic conditions to judge if a procedure has critical vulnerability,examines the essential method to analyze critical vulnerability using the backtracking analysis,and proves that the time complexity of the backtracking analysis conforms with the exponential growth of at least O(2h).Lastly,this paper ascribes the critical vulnerability exploitation to solving critical vulnerability equation sets,and gives the algorithm for solving the critical vulnerability equation set by a generalized equation and VC factorization.Then,the paper analyzes and computes two critical vulnerabilities of the Office series software.