Intel CPUなどで情報漏洩の可能性がある脆弱性「Meltdown」と「Spectre」はmacOS 10.13.2で一部修正されているようです。詳細は以下から。
GoogleのProject Zeroチームは現地時間2018年01月03日、昨年(2017年) IntelやAMD, ARMなどのプロセッサを利用したデバイスで認証されていないユーザーがシステムメモリからパスワードや暗号鍵などを読むことが出来る脆弱性を発見し、この脆弱性を修正するよう各ベンダーに報告したそうですが、
Last year, Google’s Project Zero team discovered serious security flaws caused by “speculative execution,” a technique used by most modern processors (CPUs) to optimize performance.
The Project Zero researcher, Jann Horn, demonstrated that malicious actors could take advantage of speculative execution to read system memory that should have been inaccessible. For example, an unauthorized party may read sensitive information in the system’s memory such as passwords, encryption keys, or sensitive information open in applications.Google Online Security Blog: Today’s CPU vulnerability: what you need to know – Google Security Blog
この脆弱性の詳細がDiscloseされる2018年01月09日前にThe Registerや一部セキュリティ関係者の間に情報が広がってしまったとして、この脆弱性について知っておくべきことをまとめた記事“Today’s CPU vulnerability: what you need to know“を公開しています。
'Kernel memory leaking' Intel processor design flaw forces Linux, Windows redesign https://t.co/xZlSPhh2AT
— The Register (@TheRegister) 2018年1月2日
We are posting before an originally coordinated disclosure date of January 9, 2018 because of existing public reports and growing speculation in the press and security research community about the issue, which raises the risk of exploitation. The full Project Zero report is forthcoming (update: this has been published; see above).
Google Online Security Blog: Today’s CPU vulnerability: what you need to know – Google Security Blog
名称
この脆弱性はアプリとOS間で通信しているメモリ上のデータにアクセスを可能にする「CVE-2017-5754」、違ったアプリ間で通信しているデータへのアクセスを可能にする「CVE-2017-5753」および「CVE-2017-5715」の2つに分類され、発見に関わったGoogle Project ZeroおよびオーストリアのGraz University of Technologyの研究者らにより前者に「Meltdown」、後者に「Spectre」という名称が付けられています。
So far, there are three known variants of the issue:
- Variant 1: bounds check bypass (CVE-2017-5753)
- Variant 2: branch target injection (CVE-2017-5715)
- Variant 3: rogue data cache load (CVE-2017-5754)
Before the issues described here were publicly disclosed, Daniel Gruss […] also reported them; their [writeups/blogposts/paper drafts] are at:
- Spectre (variants 1 and 2)
- Meltdown (variant 3)
各社の対応
この脆弱性の完全な詳細は来週(1月9日以降)に公開になるため各社は1月2日の時点で詳細を発表してませんでしたが、情報が広がり実際にPoCが公開されてしまったためInelやAMD、ARM、Microsoft、Google、Amazonなど各ベンダーが影響を受ける製品やサービスについて以下の様な声明を出しています。
各社とも両脆弱性について既に一部対応済か今後対応予定となっているようですが、この脆弱性を修正することにより「各社のOSやサービスにパフォーマンスの低下が伴うのではないか?」という噂については
- Intel : Intel Responds to Security Research Findings
- AMD : An Update on AMD Processor Security
- ARM : Arm Processor Security Update
- Microsoft : Guidance to mitigate speculative execution side-channel vulnerabilities
- Amazon : Processor Speculative Execution Research Disclosure
- Google : Project Zero: Reading privileged memory with a side-channel
- Redhat : Kernel Side-Channel Attacks – CVE-2017-5754 CVE-2017-5753 CVE-2017-5715
Microsoftは「多くのユーザーのデバイスでは大きな影響はいと思うが、自社のテストではパフォーマンスの軽減は確認できた。Microsoftはセキュリティを優先しアップデートを行うが、今後についてはハードウェアベンダーと協議する」とコメントしています。
Potential performance impacts
In testing Microsoft has seen some performance impact with these mitigations. For most consumer devices, the impact may not be noticeable, however, the specific impact varies by hardware generation and implementation by the chip manufacturer. Microsoft values the security of its software and services and has made the decision to implement certain mitigation strategies in an effort to better secure our products. We continue to work with hardware vendors to improve performance while maintaining a high level of security.ADV180002 | Guidance to mitigate speculative execution side-channel vulnerabilities
Appleの対応やMacについては?
この脆弱性はIntel CPUを採用しているMacにも当然存在しますが、AppleでiPhoneやiPad, Apple TV向けの組込みシステムエンジニアをしていたAlex Ionescuさんによると、Appleは昨年12月6日に公開したmacOS 10.13.2でこの脆弱性を一部(KPTI)修正しており、
The question on everyone's minds: Does MacOS fix the Intel #KPTI Issue? Why yes, yes it does. Say hello to the "Double Map" since 10.13.2 — and with some surprises in 10.13.3 (under Developer NDA so can't talk/show you). cc @i0n1c @s1guza @patrickwardle pic.twitter.com/S1YJ9tMS63
— Alex Ionescu (@aionescu) 2018年1月3日
パフォーマンスの低下は定かではないものの、HaswellなどPCID(Process-Context Identifiers)をサポートしたCPUではパフォーマンスの低下は限定的だろうという見た方強いようです。
The performance drop on a system with PCID is minimal. Most Macs have PCID.
— Alex Ionescu (@aionescu) 2018年1月3日
If you have an Intel CPU with the "PCID" feature, then the security fix for Spectre/Meltdown will have less performance overhead. On macOS, check if you have PCID by opening a terminal and running: `sysctl machdep.cpu.features | grep -o PCID` pic.twitter.com/C6aFBbaU8D
— Dan Guido (@dguido) 2018年1月3日
Implementation
KPTI fixes these leaks by separating user-space and kernel-space page tables entirely. On processors that support the process context identifiers (PCID) feature, a TLB flush can be avoided,[2] but even then it comes at a significant performance cost, particularly in syscall-heavy and interrupt-heavy workloads.
追記
Appleが同社のデバイスやOS、Safariへの「Meltdown」および「Spectre」対策を既に講じている、または数日以内に提供すると発表しています。
- Meltdown and Spectre – meltdownattack.com
- About the security content of macOS High Sierra 10.13.2 – Apple Support
コメント
HaskwellでなくHaswell?
バッテリーの件じゃないけど、どのモデルでどの程度影響がありそうなのか公開してほしいもんだね。
ご指摘ありがとうございます。誤字修正しました。
>バッテリーの件じゃないけど、どのモデルでどの程度影響がありそうなのか公開してほしいもんだね。
公開日が1月9日なので、それ以降になにか声明を出すかもしれませんね。