
システムおよびネットワークセキュリティを専門とするアムステルダム自由大学のVUSecの研究者グループは、SLAMと呼ばれる新しいタイプのサイドチャネル攻撃を発見しました(Bleeping Computer経由)。この攻撃は、Intel、AMD、Armの最新世代(および次期世代)CPUのセキュリティ機能を回避することができます。SLAMはプロセッサのセキュリティ機能をバイパスし、カーネルメモリからルートパスワードにアクセスすることができます。
Intelがこの種の攻撃に用いる用語「LAM」は、Linear Address Masking(リニア・アドレス・マスキング)の略です。ArmはこれをTop Byte Ignore(TBI)、AMDはUpper Address Ignore(UAI)と呼んでいますが、これら3つは同じ機能を異なる方法で実装しています。
ホワイトペーパーによると、LAM、UAI、TBIは物理メモリのセキュリティを高速化し、CPUから管理します。Intelによると、LAMはソフトウェアがデータポインタ内のメタデータを見つけ、メタデータビットをマスクすることなくデリファレンスできるようにする拡張機能です。この機能自体は新しいものではありませんが、SLAMは新しいチップをターゲットとし、新しいCPUで使用されている特定のページングレベル(システムの物理メモリの割り当て管理方法の一種)を使用しています。そのため、これらのCPUはこの攻撃手法を無視し、同じページング手法を悪用します。これが、SpectreベースのLAMの略称であるSLAMと呼ばれる理由です。
攻撃はどのように機能しますか?
SLAMは、これらのCPUのメモリ機能を利用して、ソフトウェアがカーネルのメタデータ内の64ビット線形アドレスに未変換ビットを保存できるようにします。そして、ソフトウェアコードでは「ガジェット」と呼ばれる、マスクされていない命令セットを探索することで、新たな一時実行プロセスを使用します。
攻撃者は、これらのガジェットとやり取りする標的システムのコードを使用する必要があります。このコードは、一連のアルゴリズムを用いて、カーネルメモリからルートパスワードやその他の暗号化キーなどの機密情報を抽出します。これは、Linux 6.3.0カーネルで動作するIntel Core i9-13900Kベースのシステムで実証されました。研究論文によると、テストはAMD Ryzen 7 2700X CPUを搭載したシステムでも実施されました。
VUSec の研究者は、3 つのベンダーすべての CPU がそれぞれのページング レベルを使用していることを指摘しました。
- 既存のAMD CPUはCVE-2020-12965に対して脆弱である
- LAM(4 レベルと 5 レベルのページングの両方)をサポートする Sierra Forest、Grand Ridge、Arrow Lake、および Lunar Lake Intel CPU
- UAIと5レベルページングをサポートする将来のAMD CPU
- TBIと5レベルページングをサポートする将来のArm CPU
研究者らはまた、マスクされていないガジェットを標的とする手法はソフトウェアでは一般的であり、そのため通常は任意のASCIIカーネルデータを取得するために悪用されると指摘しました。この攻撃が他の攻撃と異なるのは、新しいCPUには新しいページングレベルにおける強力な正規性チェックが欠如しているため、CPUレベルのセキュリティを回避できる点です。研究者らは、この目的専用のスキャナーを開発し、Linuxカーネル内に複数の悪用可能なガジェットを発見しました。
SLAMに対する業界の反応
現在、このエクスプロイトはCPUに依存しませんが、Linuxでのみ動作することが示されています。Linuxでは、さらなるガイダンスが公開されるまでLAMをデフォルトで無効にするパッチが既に作成されています。ARMは、SLAMはすでに攻撃を防御できるため、SLAMに対するさらなる対策を講じる必要はないと説明するアドバイザリを公開しました。AMDもVUSecに対し、Spectre V2の緩和策でSLAM攻撃に対処しているため、アップデートを提供する必要はないと述べました。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
IntelはVUSecに対し、影響を受ける可能性のあるソフトウェアベンダーに連絡を取り、LAMをサポートするIntel CPUの将来のリリース前にソフトウェアガイダンスを提供する計画を策定したと述べた。ベンダーには、カーネルを介したこのようなアクセスを防止するため、リニアアドレス空間分離(LASS)拡張機能を用いた機能を導入することが求められている。
これは、今週発見されたCPUセキュリティ命令セットを無視するハードウェアレベルのエクスプロイトとしては2件目となります。こうした攻撃の多くは、ハードウェアレベルのエクスプロイトであるにもかかわらず、特定のオペレーティングシステムでしか機能しないか、プラットフォームに依存しません。こうした研究は通常、迅速に対処されますが、ホワイトペーパーにも記載されているように、各ベンダーが適切な対応を取ることが不可欠となります。もちろん、このようなエクスプロイトは通常、攻撃を実行するための展開方法に依存します。この種の攻撃はまだ存在していませんが、脆弱性が存在します。ユーザーのシステムにどのような方法でインストールされるかに関わらず、パッチを適用する必要があります。
VUSec は、ユーザーが SLAM 攻撃を再現するためのコードとデータを GitHub リポジトリに作成しました。
Roshan Ashraf Shaikhは2000年代初頭からインドのPCハードウェアコミュニティに携わり、PCの組み立て、インドの多くの技術フォーラムやブログへの寄稿に携わってきました。Hardware BBQを11年間運営し、eTeknixとTweakTownでニュース記事を執筆した後、Tom's Hardwareチームに加わりました。テクノロジー以外にも、格闘ゲーム、映画、アニメ、機械式時計に興味を持っています。