Ken Thompsonの有名な「trusting-trust攻撃」は、悪意あるコンパイラが自分自身とビルド対象を汚染し続ける攻撃として知られています。arXivに公開された新しい研究は、この脅威がコンパイラに限られないことを示しました。
研究では、GNU stripという通常のビルドユーティリティを使い、完成済みELFバイナリの操作だけでNixOSのブートストラップ過程にバックドアを伝播させています。ソースコードを読まない道具でも、供給網全体を汚染し得るという点が重要です。
論文が示した攻撃の要点
論文「Trusting-Trust Attack against an Entire Linux Distribution through Binary Manipulation」は、改ざんされたstripをバイナリシードに混ぜることで、stripの世代をまたいでペイロードが残り、最終的な標準環境に到達することを示しました。著者によれば、実際のnixpkgsリビジョン上でグラフィカルインストーラー全体のビルドに成功し、多くのバイナリに任意の悪意ある挙動を仕込める状態を作れたとしています。
従来の見方 | 今回の示唆 |
|---|---|
コンパイラが主なリスク | stripのような通常ユーティリティも伝播媒体になり得る |
ソースコード監査が中心 | 完成済みバイナリとブートストラップ経路の検証が必要 |
再ビルドで安心 | 初期シードが汚染されると再生成後も残る可能性 |
AI時代の開発基盤にも直結する
AI開発では、モデル、コンテナ、GPUランタイム、依存ライブラリ、ビルド済みバイナリを組み合わせて環境を作ることが一般的です。コードレビューやSBOM(ソフトウェア部品表)だけでは、ビルド過程に入り込む小さなツールの挙動までは見落としがちです。
特に、社内で再現ビルドや署名検証を導入している企業でも、「最初に信頼したバイナリシード」や「途中で実行される補助ツール」まで検証対象に含めているかは確認が必要です。
実務で見直したいポイント
短期的には、重要な配布物について再現ビルドの範囲、ビルドツールのハッシュ固定、署名鍵の管理、CI/CDの監査ログを点検することが有効です。中長期的には、ソースだけでなくバイナリ変換工程まで含めた供給網の脅威モデルを作る必要があります。
注意点
この研究は攻撃可能性を示すものであり、直ちに一般のLinux配布物が同じ攻撃を受けていることを意味しません。ただし、検証の境界を「コンパイラ」や「ソースコード」だけに置く設計は、今後見直しが必要です。
参考:arXiv / Hacker News

.png&w=384&q=75)


