给你的Linux系统打上脏牛补丁的另一种原因,就是这个漏洞可以用来逃避Docker。有句话值得再次强调:容器化并不意味着保护,它只是一种管理功能。
“脏牛”是一种内存访问的竞争环境,由于Linux内核的内存子系统使用专有映射,来处理“写入时复制(Copy-On-Write)”时产生,本地用户可用来提权。这个漏洞在Linux内核中已经存在了9年。但最新的研究显示,除了提权之外,Docker之类的容器是拿它没办法的。
虚拟动态共享对象(vDSO)是内核自动映射到所有“用户空间”应用程序地址空间的,一个小型共享库。vDSO的存在是为了非常频繁使用的系统调用,在无需影响性能的情况下被激活。
利用vDSO内存空间中的“clock_gettime() ”函数对脏牛漏洞发起攻击,可令系统崩溃并获得root权限的shell,并浏览容器之外主机上的文件。
研究人员在Github上发布了POC(概念验证代码),并在视频中的AWS测试环境中演示了如何取得root访问权限。
POC地址:
https://github.com/gebl/dirtycow-docker-vdso