工业物联网智能节点攻击检测系统设计与实现
习近平总书记指出“没有网络安全就没有国家安全,没有信息化就没有现代化”[1]。
随着智能设备的普及,物联网也随之兴起。因此物联网设备的安全就饱受关注,尤其是在工业上。基于此种环境,针对工业物联网节点攻击检测亟需实现。
为了实现对攻击的检测,首先需要了解攻击的方式。当今主流的攻击为进程控制流劫持攻击,它通过构造特定攻击载体,利用缓冲区溢出等软件漏洞,非法篡改进程中的控制数据,从而改变进程的控制流程并执行特定恶意代码,达到攻击目的[2]。依据攻击代码来源,可以分为一下两类:代码注入攻击和代码重用攻击。代码注入攻击即攻击者利用进程的输入操作向被攻击进程的地址空间注入恶意代码,并通过覆盖函数返回地址等手段,使进程非法执行注入的恶意代码。而代码重用攻击不需要攻击者向进程地址空间注入恶意代码,它仅仅利用程序或共享库中已有的指令来完成攻击。最为常见的就是面向返回的编程(ROP)攻击[3]。由于ROP攻击需要攻击者知道代码片段(gadget)的地址,因此会被地址空间布局随机化(ASLR)[4]等静态方法防御。为了克服这种缺陷,Snow等提出了JIT-ROP的攻击技术,通过即时代码重用恢复内存布局,击败了细粒度运行前随机化技术。
面对这样多样复杂的攻击,进程控制流劫持防御技术也层出不穷。按照防御技术引入的时间分为运行前静态防御和运行时动态防御两大类。运行前静态防御技术一般是通过修改编译器或加载器在进程运行前进行缓冲区边界检查、栈保护、替换链接库、随机化等保护措施,来确保运行时控制流不被篡改。一下介绍几种具体的技术。StackGuard[5]是GCC编译器的一个补丁,编译时它通过在缓冲区和返回地址间加入随机canary值保护用户栈。Libsafe[6]是在运行前替换易受攻击的库函数,从而保护存在危险的函数。FormGuard[7]通过比较通过给printf函数实际参数的数量与格式字符串调用参数的数量来抵御基于格式错误的控制流劫持攻击。但是JIT-ROP与BROP等攻击通过不断嗅探和猜测,利用劫持运行时产生的动态信息,绕开静态防御的保护,篡改控制流。因此,我们必须用运行时动态防御技术来进行防御,即在进程运行过程中即时地进行安全保护,防止控制流被非法篡改。由于防御思想的多样化,运行时动态防御技术被划分为基于可信计算的基于主动变化防御思想。基于可信计算的运行时防御技术的代表是控制流完整性(CFI)。CFI基于动态可信度量,分析程序正常控制流,并依次构造出针对进程的控制流图(CFG)。CFI技术的关键是限制进程运行过程中的控制流转移,从而使进程的控制流只有在其原有的CFG所限定的范围内,保证进程运行过程可信[8]。至于基于主动变换防御思想的运行时防御技术则是通过持续地、动态地变化来迷惑攻击者,从而增加其攻击成本,降低其攻击成功效率[9]。具体实施为在进程运行过程中不断引入随机性和多样性,打破攻击者构造传统攻击链所依赖的各种有利条件,降低攻击者攻击成功的概率。早期随机化技术的代表是Pax ASLR[10]。但面对JIT-ROP和BROP攻击却毫无用武之地,于是更加优秀的技术应运而生。Giuffrida等[11]提出了操作系统中细粒度随机化技术的设计和运行时再随机化的思想。Chen等[12]提出了JIT-ASR技术。侯宇[13]设计了一种称为Chameleon的防御机制。Biegelow等[14]提出了实时再随机化(TASR)技术。
以上都是介绍了普通情形下的攻击与防御。但是我们所研究的是在物联网设备下的攻击检测。因此需要结合物联网设备进行分析。现阶段很多存在有关智能设备的检测防御技术。如可扩展嵌入式设备认证(SEDA)[15],在一组设备中使用基于对称密钥的逐点验证,并沿聚合树进行传递收集和聚合验证响应。但它只报告通过认证的设备数量,不提供认证失败的设备的标识的其他信息。因此,它不能保证所有其他设备的安全性。于是提出了安全可扩展的聚合网络认证(SANA)[16],它通过一种新颖的签名方案有效地验证了大量设备的完整性,该方案允许对证明证据进行聚合,生成的聚合签名可以由任何知道(聚合)公钥的人进行验证,而且汇聚节点的妥协不影响认证过程的完整性。以上两种都是基于静态的认证方法,不会捕捉程序运行时的代码,也就是上述所说的控制流,于是控制流认证(C-FLAT)[17]被开发出来。它是一种用于在嵌入式设备上运行的应用程序执行路径的精确认证技术。通过在二进制级别测量程序的执行路径来补充静态认证,捕获程序的运行时行为。同时允许验证程序有效地计算程序控制流的聚合验证器,该认证器表示控制流路径的指纹。检测应用程序的控制流是否受到破坏是通过验证器跟踪确切的执行路径来确定的。再与静态认证相结合,C-FLAT可以精确地验证嵌入式软件的执行情况,从而可以检测出运行时攻击。
时代在发展,攻击方式也层出不穷,C-FLAT已不能满足现在的需求,所以我们需要更加有效的攻击检测技术。它不仅可以检测静态攻击、控制流攻击,还可以检测数据导向的控制流攻击。这将再一次地将物联网设备的安全性大大提高。
- 人民网.习近平的网络观:没有网络安全就没有国家安全[EB].2019-4-3.
- 张超.针对控制流劫持攻击地软件安全防护技术研究[D].北京:北京大学,2013.
- EMER R,BUCHANAN E,SHACHAM H,et al.Return-oriented programming:systems,languages,and applications[J].ACM Transactions on Information amp; System Security,2012,15(1):1-34
- PaX team:PaX address space layoout randomization(ASLR)[EB].
- COWAN C,PU C,MAIER D,et al.StackGuard:automatic adaptive detection and prevention of buffer-overflow attacks[C]//USENIX Security Symposium.1998,98:63-78.
- TSAI T,SINGH N,Libsafe:transparent system-wide protection against buffer overflow attacks[C]//International Conference on Dependable Systems and Networks.IEEE,2002:541.
- COWAN C,BARRINGER M,BEATRIE S,et al.FormatGuard:automatic protection from printf format string vulnerabilities[C]//USENIX Security Sympodium.2001,91.
- 武成刚,李建军.控制流完整性的发展历程[J].中国教育网络,2016(4):52-55.
- 蔡桂林,王宝生,王天佐,等.移动目标防御技术研究进展[J].计算机研究与发展,2016,53(5):968-987.
- PaX team:PaX address space layoout randomization(ASLR)[EB].
- GIUFFRIDA C,KUIJSTEN A,TANENBAUM A S.Enhanced operating system security through efficient and fine-grained address space randomization[C]//Presented as Part of the 21st {USENIX} Security Symposium ({USENIX} Security 12).2012:475-490.
- CHEN X,XUE R,WU C.Timely address space rerandomization for resisting code reuse attacks[J].Concurrency and Computation :Practice and Experience,2017,29(16):e3965.
- 侯宇.基于动态随机化和只执行内存的JIT-ROP防御研究[D].南京:南京大学,2016.
- BIGELOW D,HOBSON T,RUDD R,et al.Timely rerandomization for mitigating memory disclosures[C]//The 2017 Workshop on Moving Target Defence.2017:27-37.
- Asokan N,Brasser F,Ibrahim A,et al.SEDA:scalable embedded device attestation.The ACM Sigsac Conference.New Nork:ACM,2015:964-975
- Ambrosin M,Conti M,Ibrahim A,et al.SANA:secure and scalable aggregate network attestation.
- Abera T,Asokan N,Davi L,et al.C-FLAT:control-flow attestation for embedded systems software.
以上是毕业论文开题文献,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。