嵌入式Linux内核安全

一、攻击技术

1、代码注入攻击

代码注入可造成缓冲区溢出,即是指计算机对接收的输入数据没有进行有效的检测,向缓冲区内填充数据时超过了缓冲区本身的容量,而导致数据溢出到被分配空间之外的内存空间,使得溢出的数据覆盖了其他内存空间的数据。如:CVE-2017-5123 waitid 漏洞

2、代码重用攻击

代码重用攻击被广泛用于漏洞攻击中,可以绕过代码不可执行、动态代码签名等安全机制,如rop(return-Oriented Programming)和jop(Jump-Oriented Programming)。其主要是在代码空间中寻找被称为gadget地址的一连串目标指令,且其以jmp结尾。跳转目标可以是寄存器或任意地址,在执行了一些指令后可以再跳回代码块,即通过gadget地址完成代码跳转

3、提权攻击

提权攻击就是攻击机器的内核,让机器以更高的权限执行代码,进而绕过设置的所有安全限制。现有的针对Linux内核的权限提升攻击,通常利用内核代码漏洞,篡改内核函数钩子,使其指向内核中的敏感函数。如:CVE-2011-1495、CVE-2011-1169、CVE-2011-1017、CVE-2015-3636漏洞等

二、防护技术

1、SELinux为安全加固型Linux内核,它可采用白名单的方式默认禁止任意进程大部分的行为,包括:限制文件访问,限制系统调用及调用参数。

2、SMEP 保护指监管模式执行保护,即内核空间无法执行用户空间的代码,也就是说禁止内核对用户空间的访问,实现一个完全的用户空间权限控制,可防止提权攻击。

3、SMAP保护指监管模式访问保护,即内核空间无法访问用户空间的数据。

4、ASLR保护是指地址空间布局随机化,使得可执行文件和动态加载库之间的间隔无序排列,可防止缓冲区溢出攻击。

5、KASLR保护指内核代码在内存中地址随机化保护。每次系统启动时,内核代码在内存中的位置都是随机的,不再使用固定基地址加载。

       6、DEP指数据执行保护,它是一组软硬件,其可在存储器上执行额外检查以防止在系统上执行恶意代码防止数据页作为代码执行可以有效地分离数据和代码。通常,不执行默认堆和堆栈中的代码。硬件对从这些地方执行的代码进行DEP检测,在发现执行的情况下发生异常。 该方式可以防止缓冲区溢出攻击和代码重用攻击。

7、PXN (Privileged Execute-Never),该技术可使系统在内核状态下,无法直接执行用户态代码

参考文献

https://xz.aliyun.com/t/11369

https://zhuanlan.zhihu.com/p/39695776

https://blog.csdn.net/qq_37439229/article/details/122843627

https://zhuanlan.kanxue.com/article-13373.htm

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幽灿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值