“Linux exploit(漏洞利用)”出现的根本原因是计算机系统本身存在缺陷,加上现实环境中存在攻击动机和利益驱动。下面从技术、设计和人为几个层面解释为什么会不断出现 Linux exploit。
Linux 内核 + 各种发行版软件(glibc、systemd、openssh、sudo 等)代码量极其庞大。
只要是人写的代码,就可能有:
这些 Bug 一旦可被控制,就可能成为 exploit。
Linux 内核管理:
任何一个权限检查不严谨,都可能被提权(privilege escalation)。
Linux 有:
攻击者就会研究:
有防御,就有对应的 exploit 技术。
为了兼容老软件,Linux 保留了很多“历史特性”:
这些常被 exploit 利用。
很多“Linux exploit”实际来自:
这不是内核 bug,而是使用方式问题。
| 类型 | 示例 |
|---|---|
| 本地提权 | Dirty COW (CVE-2016-5195) |
| 远程执行 | OpenSSH 漏洞 |
| 容器逃逸 | runc / Docker 漏洞 |
| 服务漏洞 | Redis、Nginx、Samba |
Linux exploit 的出现,是因为复杂系统中必然存在缺陷,而这些缺陷在攻防、利益和技术演进中会被不断发现和利用。
如果你愿意,我也可以: