最近の脆弱性研究により、産業用エネルギー管理に使用される重要なコンポーネントであるSocomec DIRIS M-70 IIoTデバイスにおける重大なサービス拒否(DoS)脆弱性が明らかになりました。
Cisco Talosの研究者は、従来のデバッグ技術を回避し、これらの脆弱性を発見するために合理化されたエミュレーション戦略を採用しました。
デバイスの動作の重要な機能であるModbusプロトコルに焦点を当てることで、研究者はDoS脆弱性に関連する6つのCVEを特定し、製造業者が迅速にパッチを適用しました。
Socomec DIRIS M-70ゲートウェイは産業用IoT(IIoT)環境に不可欠であり、Modbus RTU、Modbus TCP、BACnet IP、SNMPなどのプロトコルを介してデータ通信を処理します。
この幅広い通信サポートは、エネルギー、ヘルスケア、データセンターなどの部門での重要な役割を考えると、デバイスを魅力的な研究対象にしました。
研究は、リアルタイムオペレーティングシステム(RTOS)µC/OS-III上で実行されているデバイスのModbusプロトコル処理コードの潜在的な脆弱性の悪用に焦点を当てました。
Socomecデバイスのデバッグへの主な障害は、JTAGまたは他のデバッグツールが接続されたときにデバイスのフラッシュメモリへのアクセスを制限するコード読み出し保護(RDP)レベル1でした。
この保護はデバイスのコードの直接的なダンプを防止し、従来の分析方法を効果的に停止させます。
しかし、調査中に2つの重要な機会が生じました。暗号化されていないファームウェア更新ファイルの利用可能性と、RDPが有効な場合でもデバイスの実行中にSRAMにアクセスする能力です。
制約を考慮して、研究者はエミュレーションをソリューションとしてピボットしました。強力なCPUエミュレーションフレームワークであるUnicorn Engineを使用して、研究者はModbus処理スレッドのみをエミュレートすることを選択し、フルシステムエミュレーションの複雑さを回避しました。
このターゲットされたエミュレーションは、Modbusコードの「十分な」検査を可能にし、徹底的なシステムレベルのエミュレーションを必要とせずに欠陥を検出することができました。
Modbusプロトコル内の脆弱性を特定するために、研究者はファジング技術、特にAmerican Fuzzy Lop(AFL)ツールを通じてUnicorn Engineと統合されたカバレッジガイド付きファジングを使用しました。
AFL統合はテストの自動化に役立ち、700以上の一意なModbusメッセージタイプをサポートするシステムで重要な複数の実行パスの探索を可能にしました。
ファジングは複数のクラッシュをトリガーしましたが、システムを直接デバッグする能力がなければ根本原因を特定することは困難でした。
しかし、研究者はudbserverツールに頼り、GDBを使用してエミュレートされたUnicornコードのデバッグを可能にしました。このアプローチはクラッシュの効果的なトリアージを可能にし、Modbusプロトコル処理コードのいくつかの重大な脆弱性の発見につながりました。
さらに、研究者はUnicornに基づくフルシステムエミュレーターであるQilingフレームワークを活用して、ファジング中のコードカバレッジを可視化しました。
これにより未探索パスを迅速に特定し、クラッシュの原因についての詳細な洞察を提供しました。Qilingフレームワークのコードカバレッジ機能とAFLファジングを組み合わせることで、Modbus処理における複数のDoS脆弱性が特定され、CVEとして報告されました。
研究により、Socomec DIRIS M-70 IIoTデバイスの動作を妨害する可能性のあるDoS脆弱性に関連する6つのCVEの発見につながりました。
これらの脆弱性が悪用された場合、重要なインフラに支障をきたし、運用上の停止につながる可能性があります。脆弱性はCiscoの協調開示ポリシーに基づいて製造業者に責任を持って開示され、その後パッチが適用されました。
「十分な」エミュレーションが影響のある発見につながることを実証することで、研究者はIoTセキュリティの欠陥に対処するための効果的なアプローチを強調し、最終的にIIoT環境をより安全な攻撃から保護します。
翻訳元: https://cyberpress.org/dos-flaws-in-socomec-device/