Spectre脆弱性のネイティブコードのPoCはmacOS 10.13.2追加アップデート後でも実行できるそうです。詳細は以下から。
Appleは現地時間2018年01月08日、GoogleのProject Zeroチームなどが公開したIntelやARMなど投機的実行機能を持つCPUに対するサイドチャネル攻撃によりユーザーパスワードなどが窃取される可能性がある「Spectre(CVE-2017-5753, CVE-2017-5715)」脆弱性を修正した「macOS 10.13.2追加アップデート」と「Safari v11.0.2」をHigh SierraやEl Capitan/Sierra向けに公開しましたが、今回のアップデートはJavaScriptを利用した脆弱性の修正で、ネイティブコードによる攻撃はまだ可能のようです。
I just installed the supplemental update for High Sierra, supposed to address the Meltdown and Spectre bug. I re-ran the PoC and it's still working as before. What the hell, Apple!! @Apple@HackingDave @georgiaweidman #Spectre #meltdown pic.twitter.com/8mOL6kKZAU
— Mattia Campagnano (@mattiacampagnan) 2018年1月9日
4.2 Example Implementation in C
Appendix A includes demonstration code in C for x86 processors.
In this code, if the compiled instructions in victim function() were executed in strict program order, the function would only read from array1[0..15] since array1 size = 16. However, when executed speculatively, out-of-bounds reads are possible.Spectre Attacks: Exploiting Speculative Execution (PDF) より
アメリカのセキュリティ研究者Paul KocherさんやGoogle Project ZeroのJann Homさんらが公開したMeltdown/Spectre脆弱性の論文にはこの脆弱性を利用したネイティブコードやJavaScriptによる攻撃手法が記載されており、Appendixにはx86 CPUで利用可能なCコードが掲載され、これを元にDavid Hoytさんなどが各環境で実行可能なPoCを公開していますが、
WebKit Blogによると追加アップデートではJavaScriptによるSpectreまたはSpectreを介したMeltdownによるカーネルメモリアクセスは緩和されたそうですが、今回(01月08日)の緩和策は第一弾で今後も脆弱性の対応を続けるとしており、ネイティブコードのPoCもまだ再現可能[1, 2]となっているので、ユーザーの方は不審なアプリやコードを実行しないことをお勧めします。
Conclusion
Spectre and Meltdown are a new class of security issues that apply to modern processors and the software that runs on them. WebKit is affected by both issues because WebKit allows untrusted code to run on users’ processors. In response to these new issues, we have implemented mitigations to defend against Spectre (and Meltdown attacks launched using Spectre via the browser). The first of these mitigations have shipped in the Jan 8 updates (iOS 11.2.2, High Sierra 10.13.2 supplemental update, and Safari 11.0.2 reissue). Stay tuned for more WebKit Spectre fixes!
- Meltdown and Spectre – Meltdown and Spectre
- dendisuhubdy/meltdown: Local Exploit for Meltdown – GitHub
- Eugnis/spectre-attack: Example of using revealed “Spectre” exploit (CVE-2017-5753 and CVE-2017-5715) – GitHub
コメント
10.3.2 Supplemental Update only has mitigations for Spectre for Safari/WebKit. My guess is that there is no patch (and likely won’t have one in the future) on the system level yet as it requires processor microcode update. https://support.apple.com/en-us/HT208397