思考ノイズ

無い知恵を絞りだす。無理はしない。

CTS LabsのAMDプロセッサに対する脆弱性のPaperをまとめてみた

3月13日に公表されたAMD脆弱性について、イスラエルのセキュリティ会社、CTS Labsが出しているWhite Paperをまとめてみた。

AMDFLAWS

POC(Proof of Concept: コンセプトの 実効性検証)の開示もまだのようで具体的な手法の情報も乏しく、現時点で実現可能性に関しては疑問がのこるものになる。

いくつかのニュースサイトで記事になっているように、現時点での情報ではこの攻撃による深刻性については不明確だ。すでに強い権限を持った状態が前提の作業で、前段階のセキュリティが破られいることは条件になりそうだ。また、この手の脆弱性にはCert/CCから発行されるCVEナンバーがついて、公表されるのが定例だが、この会社はそのような公開プロセスを飛ばして公表に踏み切っているというため、お行儀がよくないと批判も受けているとのこと。 なんにせよ、最終的な結論は詳細情報のアップデートが必要そうだ。

CTSの以下の記述のとおり、現在、対応パッチや緩和策のためにAMD/Microsoftなどの関係企業でシェアしているとのこと。(3月15日現在)

Q. Doesn't this publication put users at risk?
A. No. All technical details that could be used to reproduce the vulnerabilities have been redacted from this publication. CTS has shared this information with AMD, Microsoft, and a small number of companies that could produce patches and mitigations.

以下、公式サイトおよび論文のまとめとなる。技術知識が深くない私が、Paperを読んで理解できた上っ面のまとめとなること、勘違い、知識不足をご容赦いただきたい。

脆弱性概要

CTS Labsによると今回公表されている脆弱性は大きく4つのクラス(MASTERKEY/RYZENFALL/FALLOUT/CHIMERA)に分けられ、13個の脆弱性があるという。

f:id:bython-chogo:20180314173350p:plain

公式サイトに記載されている各クラスの概況を大雑把にまとめる。

-- AMD Secure Processor firmwareに対する攻撃で、Firmware ベースのセキュリティ機能 (Secure Encrypted Virtualization, Firmware Trusted Platform Module)に対する書き換え、FirmwareベースでのRansomewareの書き込みが可能だという。

-- SMRAM(System Momory RAM), やWindowsが持っているセキュアなメモリ空間にアクセスすることが可能になるため、AMD Secure Processorをコントロールすることができる。MASTERKEY攻撃に必要な不正なBIOSコードの書き込みも行える。

-- SMRAM(System Momory RAM), やWindowsが持っているセキュアなメモリ空間にアクセスすることが可能になるため、AMD Secure Processorをコントロールすることができる。不正なBIOSコードの書き込みも行える。RYZENFALLはSecure OS機構に対する攻撃でClient/Workstation製品に対する攻撃だが、FALLOUTはBoot Loaderチップに対する攻撃で対象はEPYC Server製品となる

  • CHIMERA: Backdoors Inside Ryzen Chipset

-- Ryzenなどのプラットフォームで用いられている3rd Partyの隠れたBackdoorを突くもの。DMA(Direct Memory Access)エンジンなどに攻撃をすることで、プラットフォームのIOに対する不正攻撃が可能となる。Key Logger/Network Access/PypassMemory Protectionなどが挙げられている。

Paper まとめ

MASTERKEY: Unauthorized Code Execution and Malware Persistency on AMD Secure Processor

AMDのSecure Bootの機能にMalwareなど不正なコードをしこみ、最終的にSecure ProcessorのKernel Modeの挙動もコントロールが可能とされている。Malwareを仕込めば、Secure Bootを不正にBypassしてSecure Processorの機能を無効化もできる。 通常はSignatureでサインされているものでないとBIOSのアップデートはできないのだが、RYZENFALLもしくはFALLOUTでSystem Management Mode(SMM)という上級権限に入ることにより、それを可能としている。

RYZENFALL: Vulnerabilities in Ryzen Secure Processor

RyzenなどClient/Workstation向けのシステムに導入されているSecure OSはfTPM (Firmware Trusted Platform Moduel)に含まれる認証情報からのスタートとなる。このSecure BootのProcessで利用されるメモリ空間は特に権限が強い Fenced DRAMというところでSecure Processorでしか利用ができない空間になる。 ここに対するRYZENFALLの攻撃はadministrator 権限が必要となり、Secure Processorへのアクセスはベンダから公式に配布されるドライバを使用する。RYZENFALLに成功するとSecure Processorでの実行が認証なしで行えるようになり、ハードウェアで保護されているMemory Regionへのアクセスを可能とする。具体的には以下の攻撃チャネルがある。

  • Windows Isolated User Mode and Isolated Kernel Mode (VTL1)
  • Secure Management RAM (SMRAM)
  • AMD Secure Processor Fenced DRAM

これらを経由することで、 以下のことが実行可能になる。 - Microsoft Virtualization-based Securityをバイパスして Networkの権限を奪うことが可能。 - SMMにMalwareをいれることができOSやHypervisorでの攻撃が可能となる - BIOSのReflashに対するプロテクションの無効化 - VTL1にMalwareを入れることが可能。OS上でのエンドポイントでのSecurity機能の無効化が可能。 - AMD Secure Processor自身にMalwareの注入が可能 - fTPMなどのSecurity機能をバイパスしてのブートアップが可能

FALLOUT: Vulnerabilities in EPYC Server Secure Processor

FALLOUTはEPYCなどのサーバを対象とした攻撃方法。EPYCのSecurity Processorで利用するBoot loaderのコンポーネント内の脆弱性をつくと、Hardware Validated BootやSecure Encrypted VirtualizationなどのSecurityに影響を与えることができる。 RYZENFALLと同じく、administrator権限での実行が必要となり、公式のドライバを使用する。これを利用してHardwareで保護されているMemory Regionへのアクセスすることができる。具体的には以下の攻撃チャネルがある。

  • Windows Isolated User Mode and Isolated Kernel Mode (VTL1)
  • Secure Management RAM (SMRAM)

これらを経由することで、 以下のことが実行可能になる。 - Microsoft Virtualization-based Securityをバイパスして Networkの権限を奪うことが可能。 - SMMにMalwareをいれることができOSやHypervisorでの攻撃が可能となる - BIOSのReflashに対するプロテクションの無効化 - VTL1にMalwareを入れることが可能。OS上でのエンドポイントでのSecurity機能の無効化が可能。

CHIMERA: Backdoors Inside Ryzen Chipset

AMDのPromontory Chipset内にある、製造工程上などで利用されたとみられる隠れたバックドアを突く方法。2つのバックドアが存在している。一つはChipsetを実行するFirmwareにあり、ASICハードウェアハードの中にある。特に後者はChipset内にあるものなので修正が難しく、ワークアラウンドかRecallしかない。 Chipset内にあるので、提供されているSecurityの機能にも影響を及ぼすことが可能になり、さらにChipsetはUSB, SATA, PCI-EといったI/O周りも制御ができるので、LAN, Wifi, Bluetoothにも影響を及ぼすことができる。彼らの研究ではDMA(Direct Memory Access)に対する攻撃で、OSに影響を与えることができたという。このことにより、以下のような追加の攻撃ができるようになると考えられている。

  • Key Logger
  • Network Access
  • Bypass Memory Protection