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

ESP32マイコンに対応が困難な脆弱性が見つかる、ただし攻撃にはハードへの物理的なアクセスが必要 33

ストーリー by hylom
いわゆるバックドア設置に使えそう 部門より

低価格なマイコンとして多く機器で使われているESP32に、修正が不可能な脆弱性が存在することが発見されたと報じられている

ESP32はCPUおよびメモリ、各種インターフェイス、無線LANおよびBluetoothモジュールを統合したマイコンで、近年多くのIoT製品などで使われている。

ESP32ではブート時に実行するコードを認証するSecure Boot機能を備えているが、今回の脆弱性はこのSecure Bootを無効にできるというもの。物理的にハードウェアに改変を加えた上でこの脆弱性を利用することで、悪意のあるコードを実行させることが可能になる。ESP32ではフラッシュメモリの暗号化に対応しており、これを利用していれば脆弱性の影響を抑えられるという。

この攻撃ではハードウェアに対し物理的な操作が必要となるため遠隔からの攻撃は行えないようだが、例えば流通経路で改変が加えられるといった攻撃が行われる危険性がある。

  • by Anonymous Coward on 2020年02月06日 14時30分 (#3757265)

    >流通経路で改変が加えられるといった攻撃が行われる危険性がある。

    昔はそんな攻撃は簡単に出来ないだろうと思ってたが、Amazonのマケプレで自称新品の中古品を掴まされてからは、
    Amazonの在庫管理の脆弱性を使えば簡単に流通経路で中間攻撃が出来るんじゃないかと思ってる・・・・

    ここに返信
    • by Anonymous Coward

      >Amazonの在庫管理の脆弱性
      それ、ホントに脆弱性ですか?仕様ではありませんか?

    • by Anonymous Coward

      マケプレってAmazonの出店プラットフォームを利用してる独立した商店でしょ。
      Amazonの信用をあてにするならAmazonで買わないと。

      • by Anonymous Coward

        Amazon本体でも、返品経由で改変できるんじゃないかと思う
        返品が他の店と比べて簡単に通るよね?

      • by Anonymous Coward

        Amazon倉庫からの出荷だと Amazonが用意した在庫なのか、マケプレ業者が用意した在庫なのか、倉庫に入った時点で区別されなくなります。
        Amazon倉庫からの発送する業者が混じってる商品ならリスクは全く同じです。

        • 最近のAmazon倉庫の管理だと、区別する場合 [amazon.co.jp]も増えてきたようだ。混合在庫のやり過ぎによるトラブル多発が原因だと思うけど。例えば次の通り。

          >パソコン・周辺機器カテゴリーのメモリ商品は、混合在庫の取り扱いをしておりません。
          >商品ラベルを貼付し、納品してください。純正インクジェットカートリッジ、メーカー互換インクジェットカートリッジ、純正プロジェクター交換用ランプ、汎用プロジェクター交換用ランプ、USBメモリ、メモリカード、SDカード、Mini/Micro SDカード、メモリスティック、CF/XDカード、メモリカードリーダー、内蔵メモリ、その他のメモリデバイスが含むメモリ商品が該当します。

          • by Anonymous Coward

            偽物要注意リストですね。
             
            # XDカードは純正しかないかも...

    • by Anonymous Coward

      ローカルなら問題ほぼないじゃんと思ったけど中古ですか…忘れてましたよ。

      • by Anonymous Coward

        ちゃうねん
        今は知らんけど問題になった頃のアマゾンの在庫管理はISBNやUPCやJANコードじゃなく「ASIN」という独自バーコード規格一本だった
        Amazon Standard Identification Numberな

        なので詐欺業者が「これはASIN1234567890番のスラドマガジン3月号真正品です」と嘘を吐けばその通り納品されてた

        これと混合在庫システムのコンボで「客がスラド社直販からスラドマガジンを買ったのに混合在庫で詐欺業者の偽物が届き、
        苦情を入れて返品したところ、スラド社に対してアマゾンから抗議と偽物を入れたペナルティが来た」っつー事態が多発してた
        というわけ

  • 問題なのは、
    ・プログラム全体を書き換える必要がなく、攻撃コードを一部に埋め込むことができるから本来の動作を損なわず攻撃できるかもしれないこと。
    ・バックドアなどに使えるBluetoothやwifiが内蔵されているから攻撃コードをデバイス(ハードウェア)別に用意する必要がないこと。
    ・ESP32が広く使われていて攻撃できるデバイスの範囲が広いこと。
    でいいのかな?
    ここに返信
    • by Anonymous Coward

      なんか、ずれてますよ。視野が狭いというか、一般化し過ぎというか。
      要約すると、最終製品(IoT)の品質上、プログラムの書き換えが不可能であることが要求されているが、それが破られたことが問題。一般的(このCPUモジュールに限らず)には、電子錠とかを想定すれば、深刻さにめまいするでしょう。

      ・サプライチェーンでの攻撃は既に現実の脅威であること。
      ・代理販売、転売、中古品流通を介した攻撃が可能であること。

      シナリオとしては(あくまでも例です)
       攻撃者は不正改造品を流通に紛れ込ませることを攻撃の目標レベルとする。それによって、対象製品の品質を現

      • ・サプライチェーンでの攻撃は既に現実の脅威であること。 ・代理販売、転売、中古品流通を介した攻撃が可能であること。

        その通りだと思います。

        ただ、攻撃を行うのは実装されたCPUに対してのみと思わないほうがいいかも。以下僕の考えをだらだら書く
        例えば、CPUやモジュール自体を取り外して攻撃ROMが乗っているものに乗せ換えれば、セキュアブートやらTPMやらをすべて回避することができる。
        必要なのは、取り外すためのはんだ、こて、吸い取り線、ピンセント、カッター、治具(ワイヤーなど)があればいい。1000米ドルのハードウェアは不要だ。
        コーティングとかされていなければそんなに難しくないよ。
        きれいに仕上げたいならフラックス除去剤やワニスがあるといいかも。ESP32は大きいから熱を伝えるのに苦労しそうだけれどもね。
        だから僕はハードウェアにアクセスされたらコードの内容が書き換えられることを現状完全に回避できないと考えている。問題という書き方がよくなかったかも。

        ただこの方法はいくつか問題があって、その一つが攻撃ROMの内容はオリジナルとは異なるということだ。つまり攻撃者が1から開発する必要がある。
        今回の方法はどうやら、1000米ドルのハードウェアを準備できればオリジナルのROMの内容を覗き見ることができるかもしれないという。
        うまくいけば1から開発する必要がなくオリジナルのコードに攻撃コード追加できるかもしれない。これが重大な問題なのかなと考えた。あとは元コメのとおり。

        • 間違えた。ROMが見えるかどうかはわかりませんね。
          • by Anonymous Coward

            少し、話はそれますが、破壊的攻撃以外にも、単に経済的利益を狙うとしたら、コピーIoT製品という方が現実的かもしれませんね。
            (高級ブランドの偽造品、コピー商品に、IoT製品も商材に入る時代がやってくる。)

            フラッシュの暗号化が有効である前提では、復号鍵と暗号化されたフラッシュ(ファームウェア)は、攻撃者の手に渡るので、コピーIoT製品であれば現実的ですが、この場合、攻撃・改造コードの追加は技術的に不可能と評価できます。
            (フラッシュの暗号化方式が非対称鍵(公開鍵暗号)方式(CPUモジュール側が復号鍵、製品開発者が暗号鍵を保持する応用法を用いるとする。)

            >だから僕はハードウェアにアクセスされたらコードの内容が書き換えられることを現状完全に回避できない
            完全な回避は、世の常として無理です。(これは、攻撃者と防御者の鍔迫り合い。上に政策、下に対策。なのですから。)
            現実的な対策、攻撃の回避、攻撃への防壁を、おサイフと相談して、策を練るしかないです。
            最近の特殊詐欺も、電話がダメなら郵便を使うの様に、スキを突かれるのですから。

            • by Anonymous Coward

              そらさずに話ができないなら自分の日記でやって下さい

      • by Anonymous Coward

        元コメの方が簡潔効果的で正しいと思うよ

    • by Anonymous Coward

      追記
      リンク先の記事を熟読したけど、総合的には、ミスリード(今風に言うならフェイク)があるように思える。

      1. そもそも、eFuse (OTP One Time Programable)領域に害悪コードを埋め込むのは現実的とは言えない。しかし、仮定として、害悪が埋め込まれた場合の、消去不可能性が過大に強調されている。
      2. どちらかと言えば、ファームウェアが更新可能で侵害的更新したときの標的マーカー(納品前などに eFuse に仕込む)としてなら攻撃者にとって有用と思われる。これ以外では、攻撃に要する手間や難度が非常に高い。
      3. 既存のセキュリティ構成・対策(再プログラミング
      • by Anonymous Coward

        元コメの方が簡潔で過不足もないって言われると都合が悪いのかな?

        • by Anonymous Coward

          世の中には、「世論操作」「世論工作」という手法があってだね。
          背後にある意図(糸)を見抜かないと、痛い目みるってこと。(分かった上で苦汁を飲まにゃならんときもあるが。)
          世の中の悪意を見抜けないと、操り人形だよ。

        • by Anonymous Coward

          もう少し具体的に書くと、世の中には、生活のために卑しい商売をしている人がいて、研究者や技術者やライターも例外ではない。
          大学を卒業し、大学院で博士号まで取ってやっている仕事が、石油関連企業から研究資金を得て「地球温暖化はデマ」という結論ありきの研究報告を書く仕事もある。
          加圧下着でラクラクダイエット成功、と科学的根拠も無い製品の広告を作る仕事もある。見事、騙された(><)
          そういう、不幸な現実を忘れないでほしい。

  • by Anonymous Coward on 2020年02月06日 14時15分 (#3757257)

    某国ではバックドアつき製品を作り出すのに活用しそうな話

    ここに返信
  • by Anonymous Coward on 2020年02月06日 21時51分 (#3757605)

    マルチタスク対応してるし、arduinoIDE使えるし、BLEやwifi載ってるし、小さいし。
    便利すぎて家にいくつあるか分からない。

    購入元は全部中国。出荷時からファームにバックドア用意されてたとしても驚かないねw

    #これで5Vトレレント&RTC搭載だったら完璧だったのに

    ここに返信
  • by Anonymous Coward on 2020年02月06日 22時58分 (#3757651)

    XtensaってSoCのDSPとかでサブ的に使うコアっていうイメージで、これをメインに使ったマイコンがあるって知らなかったなあ。
    Cadenceに買収されてからあんまり名前聞かないと思ってたけど、自分が知らないだけでまだ結構使われてるんですね。

    ここに返信
    • by Anonymous Coward

      ESP32は先代のESP8266から構造を変えて性能を大幅強化した製品なんだが
      8266は組み込み機器にWi-Fi機能を入れるためのシリアルWi-Fiモジュールだったんだよね
      それがこの部品は中国から安く買ってArduino化して遊べるぞって火がついたんで
      サブ的部品のIPや設計思想で出来てるのかもしれない

      • by Anonymous Coward

        人気が出るとき、技適警察を黙らせちゃったしね。

  • by Anonymous Coward on 2020年02月06日 23時46分 (#3757673)

    OTPメモリに書き込んだら、後から修正が不可能って当たり前だよね。
    それで設定変えたらSecure Bootを無効にできるというのも、まぁ普通だよね。
    こんなのどんなマイコンでも普通のことだと思うけど。

    偉い人、何が今回の問題なのか教えてください。

    ここに返信
    • by Anonymous Coward

      無効って言葉が紛らわしいんだが、電圧やクロックを揺さぶってやるとセキュアブートを回避できるって話。

      • by Anonymous Coward

        OTPでブート元を固定(内部flash)できるけどそれを回避できるから
        外においたコードからブート出来てゴニョゴニョできる、ということか。
        だけど内部flashは暗号化オプションあるからそれ有効なら
        解析and/orデッドコピーはやはり難しいと。
        # 噛み砕いた表現なんだろうけど分かる人間が見ても
        # 解らなくなるような噛み砕きは勘弁

        • by Anonymous Coward

          これ読んでやっと理解できた。
          タレコミ人もリンク先の記者も、書いてる人は多分理解してないな。
          このツリー以外のコメントもほぼ的外れ。

          1. 筐体分解してICの端子に直接電圧印加する方法で、セキュアブートを回避する。
          2. その後必要なデータを(外部バス等から)ロードして起動する
          3. セキュアブートを回避し、外部からのアクセス許可するように設定変更してOTPに書き込む
          4. 元通りに筐体組み立てれば、セキュリティに穴の開いた機器のできあがり

          1,2番はこのマイコンに限らず、多くのマイコンにある問題。
          3番も不揮発メ

          • by Anonymous Coward

            その理解も完全に間違ってる。
            リンクたどって読めるESP32公式の方の問題低減情報がほぼ無意味(本件無関係に見えるレベル)だった。

            攻撃に成功したと言っている側の報告によれば、
            この脆弱性はeFuse内の読み取りも禁止にヒューズされた状態の
            Flash暗号キーとセキュアブート認証キーを盗み出す物で、
            盗んだデータから正規のファームウェアのデコードと改造ファームウェアの署名、暗号化が可能になる。
            FlashはそもそもSoCの外のシリアルFlashなので載せ替え書き換えは容易。

            物理改造必須なのは鍵盗む時に必須なだけなので、
            キーが共通で物理改造なしにFlashアクセス可能なら1台目以外は物理改造不要。
            あとは汎用のシリアル越しに参照されるFlash書き換えるだけなので改造後は紐なしでOK。
            盗み見た鍵やファームの解析で事足りる用途なら一台物理改造しておしまい。

typodupeerror

日本発のオープンソースソフトウェアは42件 -- ある官僚

読み込み中...