论文部分内容阅读
随着计算机技术和网络技术的不断发展,为特定目的定制的各种嵌入式系统如雨后春笋般的出现在人们的视野中。这些系统以其日趋智能化、个性化的姿态,在特定的领域发挥着不可替代的作用。然而,在嵌入式系统繁荣发展的同时,它的安全性也越来越受到人们的关注,一旦系统核心技术被竞争对手获取或掌握,该系统很可能就不再具有优势。这样,嵌入式系统的安全性将受到严重打击,系统甚至面临被重构或淘汰的境遇,这将给生产商和使用者造成巨大的损失。本文从防止软件系统被破解的角度研究了提高嵌入式软件系统安全性的机制,并结合指令变换原理设计与实现了一套提高嵌入式软件系统安全性的方案,最后通过对比演示和模拟攻击来验证方案的可行性与正确性。论文的主要工作如下:本文首先通过对逆向工程及反逆向工程的相应过程和常用算法进行研究,总结了逆向工程实施过程中的限制和弱点,分析了现如今反逆向工程研究中的优缺点。然后提出了一套使用指令变换原理来实现软件系统保护的机制,从而提高嵌入式系统的安全性。该机制利用改进的Vigenere算法来对指令进行加解密,有效的防止系统被静态反汇编;并在解密之前通过身份验证动态获取指令变换密钥,从而有效阻止动态反汇编的实施。接着,本文利用了RTEMS操作系统和ARM硬件平台设计并实现了该机制。最后本文对比分析了有无采用该机制的两种情况下系统的安全性情况,并使用模拟攻击的方式来测试该机制的有效性。测试结果表明,通过使用本文提出的方案,可以有效的提高嵌入式软件系统的安全性。