AI時短ラボ
研究· 約11

全DRAMを殴れるパターンを見つけた研究「Blacksmith」──GPU向けRowhammer攻撃の源流をたどる

ETH ZurichのComputer Security Groupが2021年に公開した「Blacksmith」は、非一様(non-uniform)かつ周波数ベースのRowhammerアクセスパターンを生成するファザーで、テストした40台のDDR4デバイス全てでビット反転を引き起こした。CVE-2021-42114としてIEEE S&P 2022で発表されたこの手法は、後年GPUメモリを狙う「GPUHammer」の引用元にもなっている。

全DRAMを殴れるパターンを見つけた研究「Blacksmith」──GPU向けRowhammer攻撃の源流をたどる
執筆・編集:
目次

「今使っているDRAMは、これまでのRowhammer対策が効いているから安全」という前提を、テスト対象の全デバイスで崩した研究がある。ETH ZurichのComputer Security Group(COMSEC)が2021年に公開した「Blacksmith」だ。CVE-2021-42114として登録され、2022年のIEEE S&P(Symposium on Security and Privacy)で発表されたこの手法は、2025年以降にNVIDIA GPUのメモリを狙う「GPUHammer」「GPUThor」といった攻撃研究が、パターン生成の元ネタとして引用している技術でもある。

3行まとめ

  1. Blacksmithは、DRAMを叩く順序・間隔・強度を不均一にした「非一様」パターンを自動生成するRowhammerファザー。テストした40台のDDR4デバイス(Samsung/Micron/SK Hynix含む)全てでビット反転を発生させた。論文本文によれば、先行研究TRRespass比でビット反転デバイス数2.6倍・平均ビット反転数87倍、モバイル向けLPDDR4Xでは最大2桁多いビット反転を確認したという。
  2. パターンをTarget Row Refresh(TRR)対策の突破に絞って評価すると、成功したパターンはページテーブル改ざん・RSA-2048秘密鍵の復元・sudo権限奪取という3種の実攻撃に転用できることが確認された。
  3. 2021年11月15日に公開されCVE-2021-42114として登録済み。研究チームはコードをGitHubで公開しており、その後のGPUメモリ攻撃研究(GPUHammer等)が引用する基礎技術になっている。

それまでのRowhammer対策は「均等に叩く」パターンしか想定していなかった

Rowhammerは、DRAMの特定の行(aggressor row)を高頻度でアクセスすると、隣接する行(victim row)の電荷が漏れてビット反転を起こす現象だ。これに対しDRAMメーカーはTRR(Target Row Refresh)という緩和策を組み込み、怪しいアクセスパターンを検知したら早めにリフレッシュをかけることで防御してきた。

COMSECの公式ページによれば、それまでの研究が使ってきたRowhammerパターン(single-sided、double-sided、n-sided等)は、いずれも攻撃対象の行を「同じ回数だけ均等に」叩くものだった。Blacksmithの研究チームは、この均等性こそがTRRに検知されやすい弱点だと考え、逆に「不均一に叩く」パターンの探索に踏み込んだ。

周波数・位相・振幅というアナロジーで探索空間を絞る

不均一なパターンの組み合わせは天文学的な数になる。研究チームは実験を重ねる中で、効果的なパターンには「順序(order)」「規則性(regularity)」「強度(intensity)」という3つの要素が効いていることを突き止めた。これを信号処理の分野で使う「周波数」「位相」「振幅」という概念になぞらえてパラメータ化し、この3パラメータを軸に非一様パターンの空間を効率的に探索するブラックボックス型のファザー、それがBlacksmithだ。

40台中40台でビット反転、うち複数台で実攻撃が成立

COMSECの公式ページに掲載された評価データによると、Samsung・Micron・SK Hynix(一部メーカー不明の4台を含む)、計40台のDDR4デバイスをテストプールとしてBlacksmithを12時間走らせ、見つかった最良パターンを256MBの範囲でスイープしたところ、40台全てでビット反転を確認した。ビット反転数が多いデバイスでは10万回を超えるものもある。

論文PDF本文(IEEE S&P 2022採択版)を直接確認すると、この結果は既存手法との比較でも数値化されていた。先行研究TRRespassと比べて、ビット反転が起きたデバイス数は2.6倍、1デバイスあたりの平均ビット反転数は87倍多いと報告されている。さらに論文は、モバイル向けメモリLPDDR4X(19台)でも6時間の短縮実験を行っており、「DDR4と比べて最大2桁(100倍規模)多いビット反転をLPDDR4Xで引き起こせた」としている。当サイトのGPUHammer/GPUThor関連記事はDDR4系メモリを中心に扱ってきたが、Blacksmithの原論文自体がすでにモバイル向け低電力メモリの脆弱性にも踏み込んでいたことが、この論文読解で分かった。

さらに研究チームは、見つかったビット反転を3種類の実攻撃に転用できるかを検証している。ページテーブルエントリ(PTE)のページフレーム番号を書き換えて攻撃者が制御するページテーブルへ誘導する攻撃、SSH認証に使うRSA-2048公開鍵を書き換えて秘密鍵を復元する攻撃、sudoersのパスワード検証ロジックを狙ってroot権限を奪う攻撃の3つで、デバイスによっては数秒〜数分で悪用可能なビット反転が見つかっている。論文のTable IIIから、実際にかかった時間の例を抜き出すと次の通り。

デバイス PTE攻撃 RSA-2048鍵復元 sudo権限奪取
A0 4秒 30秒 5分
A2 6秒 21秒 6分43秒
A17 3秒 11秒 5分1秒
A12 7秒 55秒 38分35秒

出典: Blacksmith論文(IEEE S&P 2022)Table III

最も速いケースでは、PTE書き換えによる攻撃が数秒で成立している。デバイスによってはRSA-2048鍵の復元に47分以上かかるものもあり(表には含めていないA3の例)、悪用の難易度はデバイスごとに大きくばらついていることも論文からは読み取れる。

FAQセクションでは「完全に安全なDIMMは見つからなかった」「攻撃対象のDRAMメーカー3社で市場シェアの94%をカバーしている」とも述べられており、それ以外のベンダーのデバイス3台でもビット反転を確認したと補足されている。

開示から3年後、GPUメモリの世界へ

公式ページの開示タイムラインによれば、2021年第1四半期からスイスの国家サイバーセキュリティセンター(NCSC-CH)を通じた責任ある開示プロセスが始まり、DRAM3社(Samsung・SK Hynix・Micron)、Intel、AMD、Microsoft、Oracle、Googleが受領を確認。2021年11月15日に一般公開され、CVE-2021-42114として登録された。ETH News、Ars Technica、The Hacker News、The Registerなど海外メディアでも報じられている。

このBlacksmithが生み出した「非一様パターン探索」という発想は、その後もCOMSEC自身の後続研究(本記事シリーズで扱うZenHammer、McSee)に引き継がれているだけでなく、当サイトで扱ったGPU向けのRowhammer攻撃「GPUThor」の系譜(前身のGPUHammer)でも参照されている。DRAMのコマンドバスを狙う基礎研究が、数年越しでAIアクセラレータのメモリ保護を破る研究の土台になっている構図だ。

論文本体は読んだが、アルゴリズムの内部実装までは踏み込んでいない

この記事はCOMSEC公式ブログページに加え、論文本体(Blacksmith: Scalable Rowhammering in the Frequency Domain、IEEE S&P 2022)のPDFをpdftotextでテキスト抽出して読み、GitHubの公式実装(comsec-group/blacksmith、Star数260)とNVDのCVEレコードAPIも直接確認して書いている。著者はPatrick Jattke・Victor van der Veen(Qualcomm Technologies)・Pietro Frigo(VU Amsterdam)・Stijn Gunter・Kaveh Razavi(いずれもETH Zurichに加え、Qualcomm・VU Amsterdamとの共著)で、ETH Zurich単独の研究ではなく複数機関の共同研究であることも今回の確認で分かった。論文には「Algorithm 1: Experiment to determine the TRR distance」というTRR距離を決定する実験の疑似コードが実際に掲載されていたが、この記事ではその疑似コード自体の逐語的な解説までは行っていない。GitHubのコードをクローンして自分の環境で動かす検証も行っていない。GPUHammer・GPUThorの論文がBlacksmithのどの部分を具体的に引用・応用しているかについても、当サイトのGPUThor記事執筆時点でリンクが直接確認できたという記録以上のことは、この記事の時点で改めて検証していない。

自分の環境で気づいたこと

COMSECの研究ページは、通常の企業ブログのような要約ではなく、評価に使った生の実験テーブル(40台分の活性化回数・ビット反転数・攻撃成功時間)をそのままウェブページに貼り付けている。査読論文の付録レベルの情報がブログ記事の本文に出てくる作りは、企業のセキュリティ研究ブログとは毛色が異なり、大学の研究室が一次情報をそのまま外部発信している例として印象に残った。

関連記事

シェア: ポスト はてブ

出典・参照資料

AIニュースの解説を動画でも

YouTubeでは注目ニュースの背景を解説し、Xでは新着記事をお知らせしています。

コメント

まだコメントはありません。最初のコメントを書いてみませんか?

AIについて聞きたいことはありますか?

質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。

質問箱を見る →

新しい記事をメールで受け取る

AIの新しい発表を、出典付きで整理して届けます。

関連記事