3月29日,科学研究员工在Linux电脑操作系统中看到了2个新的安全性漏洞,攻击者取得成功利用后可以绕开Spectre 这类推断进攻的漏洞补丁包,并从kernel运行内存中获得比较敏感信息。
漏洞简述
这两个漏洞是由Symantec科学研究工作人员Piotr Krysiuk发觉的,CVE序号为CVE-2020-27170 和 CVE-2020-27171,危害5.11.8 以前新版本的Linux kernel。安全更新已于3月20日公布,Ubuntu、Debian、Red Hat等操作系统也都运用了补丁包。
这两个漏洞都和Linux kernel对拓展 Berkeley Packet Filters(BPF,伯克利大学包过虑)相关。BPF容许客户可以直接在Linux kernel中实行客户带来的程序流程。在载入这种程序流程时,Linux kernel会剖析编程代码以保证安全。可是为了更好地修补Spectre漏洞的剖析不能维护对Spectre漏洞的利用。
CVE-2020-27170是最明显的漏洞,可以用于从kernel 运行内存中的任一部位获得內容,换句话说可以在设备的随意RAM 中盗取內容。运作在受影响的系統上的非特权的BPF 程序流程可以绕开Spectre 补丁包并实行没有局限的界内BPF 程序流程。攻击者可以根据侧频带来获得运行内存中的內容。非特权的BPF 程序流程容许在特殊表针种类上实行表针计算,在其中ptr_limit 是沒有界定的。在这类类别的表针上实行表针算术计算时,Linux kernel中是不包含随意对界内推断的维护的。
CVE-2020-27171 漏洞可以从4GB的内存空间获得內容。该漏洞是在维护对于界内推断的表针算术运算时因为运算器不正确引起的安全性漏洞。运作在受影响的系統上的非特权的BPF 程序流程可以利用该不正确来从4GB的kernel运行内存实行推断界内载入。与CVE-2020-27170 漏洞相近,攻击者还可以根据侧频带来修复kernel 运行内存中的內容。
漏洞利用
漏洞利用最有可能的情景是好几个客户可以浏览单独受影响的电子计算机,这时,非特权客户可以乱用以上任一漏洞来从kernel 运行内存中获取內容来精准定位别的用户的密秘信息。
假如攻击者可以浏览有漏洞的设备,那麼攻击者还可以下载恶意程序到受影响的电子计算机内以完成远程连接,随后利用这种漏洞获得设备上其他人的信息。
Piotr 应用了2种不一样的办法来证实这种维护可以被绕开。这二种方式 是互不相关的,而且都能够让非特权的本地用户和组从kernel运行内存中获取內容,包含动态口令、剪切板內容等。
Google科学研究工作人员也公布了用JS撰写的PoC来证实在运作Chrome 88 电脑浏览器的Intel Skylake CPU上可以以1kb/s的速率泄漏数据信息。
- GooglePoC编码参照:https://security.googleblog.com/2021/03/a-spectre-proof-of-concept-for-spectre.html
- 大量关键技术参照:https://symantec-enterprise-blogs.security.com/blogs/threat-intelligence/spectre-bypass-linux-vulnerabilities
文中翻譯自:https://thehackernews.com/2021/03/new-bugs-could-let-hackers-bypass.html