パスワードを忘れた? アカウント作成
11843261 story
セキュリティ

多くのDDR3モジュールで記録データを簡単に破壊させられる脆弱性が発見される 38

ストーリー by hylom
ソフト的に攻撃できるのね 部門より
あるAnonymous Coward 曰く、

カーネギーメロン大学とインテル・ラボの報告によると、多くのDDR3メモリモジュールで記録内容を破壊できる脆弱性が発見されたようだ。特定の制御線に予定外の電圧変動が起こると、隣接した制御線にエラーが起きるというものらしい(論文PDF:Flipping Bits in Memory Without Accessing Them:An Experimental Study of DRAM Disturbance ErrorsSlashdot)。

この問題は短いループ内で特定のオフセットに対しメモリ読みだしを発生させる操作とキャッシュ制御命令を実行するだけで、簡単に発生させられるという。大手DRAMメーカー129製品をテストしたところ、110の製品でこの問題が発生したという。具体的な攻撃内容については説明されていないが、Using Memory Errors to Attack a Virtual Machine(論文PDF)のような手法を使って仮想マシンのサンドボックス上から攻撃を行うといった可能性がある模様。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 既知の問題 (スコア:5, 興味深い)

    by Anonymous Coward on 2014年12月26日 12時46分 (#2734504)

    デバイス製造側からすると既知の問題ですね。
    DRAMを微細化していくと隣接セルへの干渉が増えるのは、ずっと前から(10年以上前から)指摘されています。
    そのせいで、30nmが限界だとか、20nmが限界だとか言われながら、微細化を続けてきました。
    これをどの程度押さえるかはコストと信頼性のトレードオフであり、ゼロにはできません。
    必要な信頼性はECCで確保する、今後はCRCやもっと複雑なエラー訂正を導入しようって方向です。
    NANDは既に素子単体での信頼性確保は不可能で、エラー訂正含めて信頼性を議論していますが、DRAMもその後を追うだけかと思います。

    • by Anonymous Coward on 2014年12月26日 13時21分 (#2734541)

      ディスターブの問題なんて10年以上前どころか30年以上前からですがな
      通常のプログラムではありえないような厳しいアクセスパターンで不良が生じる、あえて厳しいテストパターンを用いてスクリーニングするのはDRAMでは常識です
      そういう嫌らしい(?)テストパターンを作るのが得意な(?)お客さんがいて、クレームで次々選別テストパターンを追加していくとテストタイムが足りなくなってくる......

      親コメント
    • by mikeneko007 (37541) on 2014年12月26日 14時48分 (#2734599)
      まあ、HWが問題無くうごくように、正しい手順でHWつかってねことで。 そらそうだって話だな。 対策としては、DRAMコンとラーで、制限かけるとか? ところで、論文の写真がDDR3のモジュールつかってる世代のPCに見えないけど気のせいだよね。
      親コメント
    • by Anonymous Coward

      せめてパリティでもつけますか。
      90年頃の256k/1Mbit DRAMのSIMMとかは、チップ9個着いてるのが普通だった。

      • by Anonymous Coward

        リフレッシュ変動の問題もあるので、そろそろECC内蔵になるかも。
        カスタムDRAMでは既に実績あるし。
        #設計は大変になるけど

        • by Anonymous Coward on 2014年12月26日 22時38分 (#2734828)

          ECCをDRAMチップ内に内蔵するのと、隣接ラインのアクセス数を監視してリフレッシュ制御を行う方法が今のところ有力です。

          親コメント
  • ×多くのDDR3モジュールで記録データを簡単に破壊させられる脆弱性が発見される
    ○多くのDDR3モジュールで記録データを簡単に破壊できる脆弱性が発見される
    補完すると「ある人がシステムにデータを破壊させられる」のつもりで書いたのだろうけれど、
    文法上「システム」に行為を強制しているのか、「ある人」に行為を強制しているのか分からない。
    しかも、補完すると「に」がダブる。

    • by Anonymous Coward

      君の頭の中には○か☓しか無いのか

  • by Anonymous Coward on 2014年12月26日 16時46分 (#2734674)

    ことってないんですか?

  • by Anonymous Coward on 2014年12月26日 11時40分 (#2734453)

    対症療法としては
    RAMなんだから物理アドレスをスクランブルすればよいとは思うが
    そのコストが(非常に)問題だなぁ。ソフトじゃ無理だなぁ
    (仮想アドレッシングで逃げられるほどの粒度ならあるいは)
    既存のハードでは対処のしようが無いし
    新しいチップセットにはこの対策が含まれるようになるのだろうか。
    しかし、メモリメーカでもあらかじめわかると思うんだけど
    東芝FDD訴訟みたいに欠陥だとして訴えられたらwktk

    • by Anonymous Crow (45505) on 2014年12月26日 17時09分 (#2734680)
      十分とは言えませんが、現状はリニアか?と言われれば「No」です

      RAMなんかのセル配置は二次元に並んでいますが
      実際には、レイアウト上の都合や色々な最適化の結果、
      仕様書上のアドレス端子をリニアにX-Yに振ったセル配置にはなりません

      なので、CPUからリニアにアクセスしても隣接セルが連続でアクセスされる保証はないです
      もちろん、データ線に関しても同様で、同一アドレスのD0、D1が隣接するセルとは限りません

      さらに、小容量メモリを除くと、スペアブロックとの置換処理(救済処理)なんかも入りますので、さらに・・・

      ちなみに、製造過程のテストではそれらの内部設計仕様書使って、物理的に隣接したセルを意識したテストをします

      >東芝FDD訴訟みたいに欠陥だとして訴えられたらwktk

      仕様書と異なる動作なら、不良、もしくは欠陥
      仕様外の条件で発生しているのであれば、使用上の問題ですね
      親コメント
    • by Anonymous Coward

      具体的な対策は

      A.これを発表した研究者の元に行き、具体的詳細を聞いてその研究者に多額の研究費を寄付し研究させ、出てきた情報を弁護士に多額の費用を払って賠償請求訴訟を起こして世間に問題を喚起、悪辣非道の手抜きメーカに正義の鉄拳を喰らわせると共に、問題の製品を回収させるか、緩和対策をメーカの責任でさせる事で、世界の平和を守る正義のヒーローになる。

      B.よくこんなのはっけんしたね!すごいね! さすが!って感嘆し、あくようされたらこわいね、こわいね!って震えるなど、スラドで馬鹿話をした後、飯を食って風呂入ってアイス食ってクソして寝る

      このどちらかかな

      • by Anonymous Coward

        風呂でうんこすんな

      • by Anonymous Coward

        その2択なら絶対Bだろ。
        何択だろうがAは絶対選ばれることのない、いわば選択肢もどきだから。

    • by Anonymous Coward

      WindowsならEMET [microsoft.com]で撃墜できんかな

  • by Anonymous Coward on 2014年12月26日 11時42分 (#2734455)

    への対策をちゃんとしてなかった、ということ?

    • Re:クロストーク (スコア:5, 参考になる)

      by chazou (30702) on 2014年12月26日 13時41分 (#2734556)
      信号線間での干渉ではなく,DRAMのワードラインを振ってやると,近所の
      セルのリークが増えるという現象です.リークに対してリフレッシュが
      追い付かないとデータが壊れてしまいます.また,新規の脆弱性(?)ではなく,
      昔から知られている現象を広汎に調べてみたというものです.でもデータ量は
      圧倒的で,よくここまでたくさん(120モジュール以上も)調べたな,と圧倒されました.

      なお「特定の制御線に予定外の電圧変動が起こる」というとなんだか大変なことを
      しないとだめそうに読めますが,やっていることは,キャッシュが効かない状態
      で隣接ワードへの連続アクセスをするだけです.ふつうはキャッシュが効く状態で
      使ってますから問題ないです.

      攻撃手段としてみると,自プロセス以外のページ割り当てがどうなっているかは
      分からないし,狙ったビットをフリップさせられるわけでもないので,効率の悪い
      DOS攻撃くらいにしか使えないように思います.
      親コメント
      • by Anonymous Coward

        しかし、サンドボックス内からこんな事ができる可能性があるのはビックリ。

        • 問題は外まで砂が漏れちゃうケースでしょ。

          ※JAVAとかFlash Playerではよくあること

          • by Anonymous Coward

            この方式だと漏れ無くても攻撃できるのではないのですか。

      • by Anonymous Coward

        一方で、インテルはメインストリームのCPUはECC非対応にしちゃいましたが…
        ソフトエラーも微細化で影響が懸念されてましたよね?

    • by Anonymous Coward

      対策そのものはしてると思うけど、ここまで微細化が進むとゆとりがないのも事実。
      これ、同様の事がNAND-Flashで起きないか誰か検証してないのかなあ?

  • 桅弱性発見した! (スコア:0, おもしろおかしい)

    by Anonymous Coward on 2014年12月26日 12時00分 (#2734467)

    多くのメモリモジュールはライトイネーブル信号に電圧変動が起きると記録内容が改ざんされてしまう

    • by Anonymous Coward

      き…桅弱性

      #実際何と入力して変換したのか

      • by Anonymous Coward

        書いて認識かもしれん。

  • by Anonymous Coward on 2014年12月27日 7時49分 (#2734921)

    JIT型のインタプリタなら、何度もコードを実行しながら、命令キャッシュを破棄すればこの攻撃が成立する。
    命令長が可変長のものなら、それを使って命令長を変え、後続する命令を変えることができ、更には任意のコードの実行が可能になる。
    ただ、命令キャッシュをどうやって破棄するかがやはり問題になって詰んだ。

    • by Anonymous Coward

      >任意のコードの実行が可能になる
      ここが無理。隣接ラインのどのビットが化けるか、値がどう化けるかは攻撃者からは制御できない。

typodupeerror

海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs

読み込み中...