2 ポイント 投稿者 GN⁺ 2024-12-10 | 1件のコメント | WhatsAppで共有

紹介

  • Flatt Security Inc.のセキュリティエンジニア RyotaK が、OpenWrt のファームウェアアップグレード過程でセキュリティ脆弱性を発見。
  • OpenWrt は組み込み機器向けの Linux ベースのファームウェアで、特にルーターで高い人気がある。

sysupgrade.openwrt.org

  • sysupgrade.openwrt.org は、ユーザーが希望するパッケージを選択して新しいファームウェアイメージを生成できるオンラインサービス。
  • ユーザーが提供したソースコードでイメージをビルドする過程で、セキュリティ問題が発生する可能性がある。

コマンドインジェクション

  • sysupgrade.openwrt.org サーバーはオープンソースプロジェクトで、ソースコードは openwrt/asu でホスティングされている。
  • サーバーはコンテナを使ってビルド環境を分離しているが、ユーザー入力を通じて任意のコマンドを実行できる脆弱性が発見された。

SHA-256 衝突

  • リクエストのハッシュを生成する過程で、SHA-256 ハッシュが 12 文字に切り詰められて使われていた。
  • ハッシュ衝突により、誤ったビルドアーティファクトを返すようサーバーを欺くことができる。

SHA-256 総当たり

  • OpenCL を使って GPU 上でハッシュを総当たりするプログラムを実装したが、性能は良くなかった。
  • Hashcat を使って 12 文字の衝突を見つけることに成功した。

2つの攻撃の組み合わせ

  • 正当なパッケージ一覧と同じハッシュを持つコマンドインジェクションのペイロードを見つけ、攻撃を実行した。
  • 攻撃者は、ユーザーが悪意のあるファームウェアへアップグレードするよう強制できる。

問題報告

  • OpenWrt チームに問題を報告した後、サービスは一時停止され、迅速に修正された。
  • ユーザー向けの告知が発行され、デバイスが損なわれていないか確認するよう案内された。

結論

  • コマンドインジェクションと SHA-256 衝突により、sysupgrade.openwrt.org サービスを侵害できる状態だった。
  • OpenWrt チームの迅速な対応に感謝するとともに、ユーザーへ問題が速やかに通知された。

広告

  • Flatt Security はセキュリティ評価および侵入テストサービスを提供しており、新しいウェブページ更新を記念して特別割引を提供している。
  • Shisho Cloud という強力なセキュリティ評価ツールも提供している。

1件のコメント

 
GN⁺ 2024-12-10
Hacker Newsの意見
  • 特定のユーザーやデバイス向けに調整されたコード実行の常態化は、検証可能性がなく、バックドア入りのビルドを生成していないことを確認できないという脆弱性を抱えている

    • xz-utils の同一ビルドを使うか、セキュリティ研究者がサプライチェーン侵害の有無を確認できるビルドを使うことが重要
    • Mozilla は Merkle tree にリリースビルドを公開記録しようと試みたが中止された
    • Google は Pixel ファームウェアビルド向けの実装を書いたが、Google Play Store 経由のアプリは脆弱かもしれない
    • Apple は個別デバイス向けに調整されたビルドを透明性をもって提供しておらず、Google より悪い
    • Gentoo の ebuild リポジトリは、適切に実装されたバイナリ透明性の例であり、オープンソースソフトウェアにおける最大級かつ最も分散した Merkle tree の1つ
  • ".join" の使用は危険になり得る

    • 隣接するフィールド間で文字を移動させてもハッシュが変わらない
    • システムを直接破壊はしないが、キャッシュを壊したりダウングレードを誘発したりできる
  • オープンソースはビジネス級のクローズドソースには太刀打ちできない

    • 問題は3時間で修正され、顧客を6か月もパッチ待ちにさせない
    • 問題を報告した人を訴えない
    • ユーザーに「旧式」だが完全に動作するデバイスを捨てろとは言わない
  • 「サプライチェーン」という用語がブログ記事に出てこない

    • 「サプライチェーン」は、原材料を完成品へ変換し、最終消費者に配布する複雑な物流システム
    • OpenWRT の商用プロバイダー向けシステムなのか、最終消費者向けシステムなのかという疑問がある
  • オープンソースツールは本来の目的に合わない形に調整されてきた

    • 大企業なら問題解決のために訴訟を起こし、パッチは決して公開しないだろう
    • OpenWRT は情報を受け取った後、安全でないサービスをオフラインにし、報告を確認して3時間後にはパッチを配布した
  • ハッシュを切り詰めるというアイデアがどう生まれたのか気になる

    • どんな目的や利点があるのか理解しにくい
  • 短い衝突を見つけるのに GPU パワーが大量に必要だという点に驚いた

    • セキュリティ分析に月 40k が妥当な価格なのか疑問がある
    • 優秀なセキュリティ研究者は年 500k 稼げるのかという疑問がある
  • ハッシュ長が64文字のうち12文字に切り詰められている点にすぐ気づいた

  • hashcat の性能が引数の順序によって大きく変わる理由への疑問がある

    • 実行のたびに対象パターンをスキャンしているのか気になる
  • 非常に巧みなコード読解とエクスプロイト開発に関する素晴らしい記事