INFRA:HALTの脆弱性を幾つか組み合わせた場合に想定される攻撃として、サントス氏はINFRA:HALTの脆弱性を抱えるIoT(モノのインターネット)機器を介して空調システムを攻撃するシナリオを紹介した。
脆弱なIoT機器が名前解決でDNSサーバへDNSリクエストを送信したとする。このとき、十分ランダムなトランザクションIDが設定されていないためにIDが想定しやすい脆弱性(CVE-2020-25926)、DNSクエリを送受信するポートが推測しやすい脆弱性(CVE-2021-31228)、さらにはDNSレスポンスの発信元IPアドレスを検証しないといった複数の脆弱性を利用することで、攻撃者はIoT機器に対して細工したDNSレスポンスを正規のものとして受け取らせることが可能となる。細工されたDNSレスポンスには、空調システムを制御する不正なコードが仕込まれており、CVE-2020-25928でヒープバッファーオーバーフローを発生させたのちに実行。工場やデータセンターの温度を高くして熱暴走を発生させ、機能停止に追い込むといったシナリオだ。
今回の調査結果の詳細は、公表前にCERT/CC、ICS-CERT、BSIなどベンダーと情報連携する組織を通じて展開されたが、ある程度情報が行き渡るのに、実に9カ月もの時間を要したとサントス氏は明かす。
組み込み機器は、設計から開発、製造、運用、サポート、廃棄のライフサイクルで数多くの開発会社や半導体ベンダーなどが関わっている。そのため、TCP/IPスタックのような基本のソフトウェアコンポーネントに問題があった場合、ほぼ全フェーズの利害関係者とコンタクトをとり、対象となるバージョンのコンポーネントを実装した機器を洗い出し、対応を促す必要がある。これが、とにかく時間がかかる。
「たとえプロトコルスタックで修正が行われても、いざサプライチェーン全体に対策を展開しようとしたとき、どの機器に、どのバージョンが、どのような実装で採用されているのか把握できないため、展開が遅々として進まない。2020年12月に公表されたAMNESIA:33(TCP/IPオープンソースライブラリ「picoTCP」「FNET」「uIP」「Nut/Net」で計33個の脆弱性が発見)では、1年弱経過した現在もベンダーは影響範囲を特定しきれず、脆弱なまま放置されている機器が多々ある状態だ」(サントス氏)
そこで両氏が組み込み関連業界に提案するのが、ソフトウェアコンポーネントの部品表(BOM:Bill of Materials)であるSBOM(ソフトウェア部品表)の作成・運用だ。SBOMは、コードで使用されているコンポーネントのバージョン、ライセンスの種別、パッチ/ファームウェアの提供状況などをまとめた総合データベースになる。サントス氏は、米国商務省電気通信情報局(NTIA:National Telecommunications and Information Administration)がSBOMにおいて、機械可読性のある共通フォーマット策定を進めていることを紹介した。「策定、採用されれば、コンポーネントなどの脆弱性が発見されたとき、SBOMに対して検索をかけるだけでコンポーネントを実装した機器や半導体ベンダーがすぐに分かる」(サントス氏)。
昨今のサイバー攻撃者は、TCP/IPスタックやソフトウェアのライブラリなど、サービスやアプリケーションのコア部分をターゲットに脆弱性を探す傾向が高まっている。それに呼応し、セキュリティリサーチャーの間でもこれら領域の脆弱性調査が近年特に活発化している。組み込み業界はこうした流れを、よりセキュアなIoT環境の実現をサポートする好機に変えてほしいと両氏は願う。
Copyright © ITmedia, Inc. All Rights Reserved.