为了增加软件逆向分析的难度,提高软件的安全性,提出了一种基于攻击威胁监控的软件保护方法。该方法通过在软件中部署威胁监控网,来实时检测并处理软件执行过程遇到的多种攻击威胁,确保软件处于一个相对安全的执行环境中,难以被逆向分析。对该保护方法的研究,主要分为以下三个方面:1)攻击威胁描述。分析软件面临的潜在攻击威胁,并按照〈威胁目的,实施方式,作用对象〉的表示方式对每种威胁进行描述。2)攻击威胁监控网部署。分析各种威胁的特点并设计对应的检测方法,生成节点库;根据节点自身特点,选取合理的部署方案,将节点安插到软件的不同位置。3)原型系统实现与实验设计。按照保护方案的思路实现原型系统,保护一组程序实例,对提出的方案从性能损耗和安全性影响两方面来评估,实验分析结果表明该保护方案是可行且有效的。
To increase the difficulty of software reverse analysis and improve software security, a software protection method based on monitoring attack threats was proposed. By deploying the threat-monitoring net, a variety of threats in software execution process could be real-time detected and resolved, so that the software is in a relatively safe environment and difficult to be reversely analyzed. There are three main research aspects in this protection scheme: 1 ) Attack threat description. The potential attack threats were analyzed and then they were described with a triple 〈 threat target, execution way, object 〉. 2) Deployment of threat-monitoring net. The node base was constructed after analyzing the feature of each threat and designing the corresponding detection methods. The reasonable deployment scheme based on characteristics of nodes was selected, and these nodes were deployed effectively into different places of software. 3) Prototype system implementation and experimental design. According to the idea of this protection scheme, a prototype system was implemented, and a group of test cases was protected with the system to collect the experimental data. The evaluation on the aspects of performance consumption arid security was made. The final result shows the proposed method is feasible and effective to protect software.