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

Thunderboltポート経由で本来行えないはずのデータの読み取りなどが行える脆弱性が見つかる 64

ストーリー by hylom
アイデアとしては分かるが実際にやれるとは 部門より

Thunderboltではハードウェア同士がソフトウェアを介さずに直接データ転送を行うDMAを使ったデータ転送が可能だが、Thunderbolt経由で接続された機器からDMAを使ってシステムメモリを直接読み書きできてしまうという脆弱性が見つかったことが報じられている。これを悪用し、意図的にデータを盗んだり改変するようなThunderbolt接続のハードウェアを作ることができるようだ(itnewsGIGAZINESlashdot)。

この問題は「Thunderclap」と呼ばれている。DMAによるデータ転送を行う場合、通常は許可されたアドレスへのデータ転送以外は行えないよう制限がかけられる。しかし、多くのOSでこの制限をバイパスしてDMAアクセスを可能にする脆弱性が存在するという。

この問題を指摘した研究者らはFPGAを使い、Thunderbolt経由でPCに接続して攻撃を行うデバイスを実際に作成、さまざまなOSで検証を行った。その結果、WindowsやmaOS、Linux、FreeBSD、PC BSDなどでデータの読み取りといった悪意のある操作を実行できたという。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by minet (45149) on 2019年03月05日 8時49分 (#3574862) 日記

    (論文3ページ目左側)
    ・悪意あるPCIeデバイスはこの脆弱性を使って攻撃できるよ
    ・Thunderboltは外部デバイスをPCIeで接続するものなので、同じ攻撃ができるよ
    ・USB Type-Cは、AlternateモードでThunderbolt 3の通信を流す端末もあるよ

    つまりUSB C端子しかない端末でも油断できないってことだね。

    # 後の章には「ユーザーはデバイスの物理的な形状に騙されやすい」「Windowsは新規デバイスに警告を出すがユーザーはプロンプト慣れしてしまう」「悪意ある充電ステーションが出てくるかも」とかの懸念も書いてある。

    • 外見上の「Thunderbolt端子」というのはありません。USB Type-C(TB3)またはMini DisplayPort(TB1, TB2)です。
      USBやDPとホットプラグ可能なPCIeをひとつのポートで提供するためだけの規格なので。

      親コメント
    • by Anonymous Coward on 2019年03月05日 9時32分 (#3574885)

      昔からのUSBには充電だけ可能でわざと通信を出来なくしたケーブルが売ってたけど、USB-Cにはそういうのないのかな。
      片方が旧来のAで、片方がCと言うケーブル(つまりPDには対応しない)ではある様だったが、PDに対応したものでは見当たらない。

      USB-PDでは通信してネゴするらしいから、無理なのだろうか。

      親コメント
      • by Anonymous Coward

        今の時代に「データ通信は行わせたくない、充電だけ行わせたい」なんて言ったら「USB充電器買え」で終わるからでしょ

      • by Anonymous Coward

        USB PDとしてバッテリ系は定義があるけど、どの道相手とプログラマブルな通信して
        電力の調整とかは必要だからなあ

        とはいえ、データ通信は殺せるので、変な穴がなけりゃ、街中で接続して給電は安全になった、かなあ?

        # USB 2.0の頃の枠組で、街中接続はちょっとやばいから
        # 3.0+Type-C+PDな枠組なら、ロールと電源ソースの制御で接続の選択でるし
        ## Type-Cは専用の制御線(CC)で、というい意味で)

      • by Anonymous Coward

        通信できなくしてるのは規格違反の外道ケーブルなんだよ
        それがまずいからUSB-PDって規格を作ったの

  • 脆弱性の名称 (スコア:4, 参考になる)

    by Anonymous Coward on 2019年03月05日 8時49分 (#3574861)

    GIGAZINEやSlashdotでは脆弱性の名称を"Thunderclap"としているけど、それらが参照しているitnewsや大元のpdfを見ると、"Thunderclap"はあくまでも脆弱性の確認に使えるデバイス(プラットフォーム)の名前であり、脆弱性の名称じゃ無いっぽい。
    参考 itnewsより: "To explore if and how the IOMMU is used, the researchers built an open source field programmable gate array (FPGA) platform they called Thunderclap."

    英語圏のニュースでも間違えた理由は、大元pdfのタイトルが良くないせいだろうなあ("Thunderclap: Exploring Vulnerabilities in Operating System IOMMU Protection via DMA from Untrustworthy Peripherals")
    作成者の意図としてはThunderclapの機能を一行で説明したつもりなんだろうけど、これ予備知識が無いとThunderclapという未知の脆弱性の内容を一行で説明しているようにしか読めないw

  • by Anonymous Coward on 2019年03月05日 13時19分 (#3575031)

    この脆弱性は昔から指摘されているもので基本的にはIOMMUで対策可能です.

    IOMMUは,Intelだとvt-d,AMDだとAMD-Viなどと呼ばれているものです.
    https://ja.wikipedia.org/wiki/IOMMU [wikipedia.org]

    IOMMUは,要はメモリへのアドレス変換を行う装置で,メモリへのアクセス制限をかけることができます.
    このIOMMUを適切に使えばThunderclapの攻撃も防ぐことができます.

    ただIOMMUは無効になっている場合が多々あります.一般的には以下の条件ではIOMMUが機能しません
    - OSが未サポート
    - BIOS(EFI)でIOMMUを無効にしている
    - IOMMUに対応したCPUを使ってない

    IntelのCPUを使っている場合だと,以下の場合IOMMUが使えません
    - BIOSの設定画面で vt-d を無効にしている
    - CPUが vt-d 未対応.オーバクロック可能なCPU(型番の末尾がKのCPU)など

  • by Anonymous Coward on 2019年03月05日 8時05分 (#3574849)

    DMAってソフトウェアを介さないのではなくてCPUを介さない制御じゃないの?

    • by Anonymous Coward

      そうですね
      まあ、最近のCPUはメモリコントローラを内蔵してるので、
      CPUコアとか実行ユニットを介さないって言ったほうが正しいかもしれませんが

      • by Anonymous Coward

        挙句、昔と違い最近のDMAって単純にデータ転送する以外の事も出来るからね。

    • by Anonymous Coward

      Direct Memory Attack

  • by Anonymous Coward on 2019年03月05日 8時33分 (#3574856)

    と思って読んでみたら、Windows の問題なのね。

    >Apple patched the vulnerability in macOS 10.12.4 that was released in 2016,
    そこそこ有名だった話だ。

    • by Anonymous Coward on 2019年03月05日 12時06分 (#3574981)

      なぜ文章の後半をちょんぎって引用するの?

      Apple patched the vulnerability in macOS 10.12.4 that was released in 2016, but the researchers say the more general scope of such attacks remains relevant.

      親コメント
      • by Anonymous Coward

        英語が読めないからApple、macOS、patchedとか2016っていうワードだけ拾ってmacではパッチされてると理解
        後半はわかんないけど同じようなことが書いてあるに違いないと誤解
        macじゃパッチされてるからwindowsの話だな

        という思考からだと思われる

      • by Anonymous Coward

        具体的にどうrelevantなのか何も書いていないから、ほんとにMacでも引き続き問題なのか、それとも単に「バグが復活する可能性がある」と煽ってるだけなのか、この記事からはわからんってのが正直なところ。そこのところを詳しく書いてる論文とかないのかな。

        • by 90 (35300) on 2019年03月05日 17時38分 (#3575295) 日記

          The main defence against the above attacks is the input-output memory management unit (IOMMU) that allows devices to access only the memory needed for the job to done.

          Enabling the IOMMU to protect against DMA attacks comes at a high performance cost however. Most operating systems trade off security for performance gains, and disable the IOMMU by default.

          一般にDMA(direct memory access)というのはCPU以外からメインメモリを直接読み書きする方法を指します。CPUにはフェッチ/デコード/実行/書き戻しといったマシンサイクルのステージがあるわけですから、原始的には稼働時間の3/4とか、4/5とかはメモリに触れません。極論すれば論理的には切断されていたって何も困らないのです。であればその間は~WRと~RDが両方上がっていることだけ確かめてメモリーバンクをペリフェラルに繋ぎ変えデータを勝手に流し込んでやれば、CPUのプログラムが戻ってきてメモリを見に行った時には魔法のようにデータが現れていることになるから転送が早く済む、というのがDMAの概要です。

          流石にCore i9-9900Kから分岐できるような~WR信号線は出ちゃいないでしょうし、プロセッサーのパイプライン化というすばらしい概念も生まれているのですが、プログラミングモデルやメモリコントローラの権限制御機構には太古から大して進歩がありません。従って、メモリコントローラにDMAができるペリフェラルは今でも物理メモリの任意のアドレスに読み書きアクセスができるのです。

          これに対し、対策としてIOMMUを活用することができるわけですね。なるほどなあ。

          親コメント
        • by Anonymous Coward

          gigazineは日本語で書いてあるやん
          さらに
          >特に2011年以降に製造されたApple製コンピューターは、12インチのMacBookを除いてすべて脆弱であるとのこと。

          • by Anonymous Coward

            それは単に2011年以降に製造されたApple製コンピュータは12インチのMacBookを除いて全てThunderboltを実装している、ということを言い換えているに過ぎないので、特に参考にはならない。

      • by Anonymous Coward

        カンマで引用を終わらせるなんて優しかしかないよね。

  • by Anonymous Coward on 2019年03月05日 9時00分 (#3574865)

    初めて聞いたけど、FreeBSD派生ですか。
     
    ところでOpenBSDとかの他のBSDは大丈夫なのかな。

  • mac OSでパッチできてるみたいなので、対策可能なら問題ないかな?

    --
    M-FalconSky (暑いか寒い)
  • by Anonymous Coward on 2019年03月05日 9時29分 (#3574884)

    なんだよこれ・・・・

    • by Anonymous Coward

      マオツォートン同志にちなんだ中華OSなんじゃないの?

    • by Anonymous Coward

      hylomだし

  • by Anonymous Coward on 2019年03月05日 12時43分 (#3575001)

    映画とかアメリカドラマで、凄腕ハッカーが主人公にUSBメモリみたいなの渡して、
    主人公が敵のオフィスに忍び込んで、PCにデバイスさしたら、
    プログレスバーが伸びていって100%になったらデータ抜き出し完了(※)みたいなのか
    よくあって、「そんなデバイスねーよ」と思ってたけど、そうでもないんだね。

    国の諜報機関ならこんなのとっくに把握してて使ってるんだろう。

    ※ だいたい95%でエラーが起きるか邪魔が入る

    • by Anonymous Coward

      狙うなら機密管理されてないなんでも見れそうなアクセス権限になってるパソコン使うから、やろうと思えば出来ちゃうんじゃないの。
      侵入するまでが大変そう。

  • by Anonymous Coward on 2019年03月05日 12時56分 (#3575007)

    やばいじゃん

  • by Anonymous Coward on 2019年03月05日 13時26分 (#3575035)

    TB3/USB4ではこの問題はないのかしらん
    https://pc.watch.impress.co.jp/docs/news/1172948.html [impress.co.jp]

typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...