关于“Dirty COW" 的影响,这方面的文章网上写的太多了,但是关于此漏洞真实成因的文章却很缺乏,基于此,我写了这篇文章,希望对想深入研究的人一些帮助。
脏牛漏洞核心成因:
-
攻击思想主要就是穿透写时复制机制(COW),所以首先需要构造能产生COW的场景,这个场景就是:
先用读方式去映射这个特权文件,然后再以写远端进程内存的方式去访问这段映射内存,操作系统为支持进程调试机制,相对比较友好,就会给你COW页面了(不会直接给你访问违例)。
- 第二步就是欺骗操作系统把原始页(而不是备份页)返回给我们
那要怎样欺骗OS让他出错呢?
通过两个线构造竞争场景(对映射物理页的操作产生竞争关系)
1.一个线程告诉OS映射物理页我不需要了
2.另一个线程又不断以远端进程内存的方式去写这段映射物理页
- 这种竞争条件下就会有两种结果:
1.映射物理页加载了,产生COW页

本文深入探讨Linux内核的Dirty COW漏洞,解释其核心成因,涉及写时复制机制的滥用,通过分析线程调用栈和关键函数,揭示漏洞如何发生。并介绍官方的修复策略。
最低0.47元/天 解锁文章
9097

被折叠的 条评论
为什么被折叠?



