RSS DEV コミュニティ
フォロー
「なぜ高度な産業用プロトコルはRaw Socketを「沈黙」させるのか」
著者は当初、プロトコルを基本的なソケットベースのレベルで理解するために、高レベルライブラリを放棄しました。この実践的なアプローチにより、プロトコルがネットワーク上でどのように通信するかについての直接的な洞察が得られました。Modbusのような単純なプロトコルでは成功しましたが、EtherNet/IPやDNP3のような複雑なプロトコルに同じ方法論を適用することは困難であることが証明されました。高度な産業用プロトコルは、複雑にネストされた構造を特徴とし、手動での構築にはバイトレベルの精度が要求されます。これらの手動で作成されたバイナリストリームのエラーは、システム障害や明確なエラーフィードバックのないサイレントタイムアウトにつながります。これらの問題のデバッグには、コンテナログを調べて、障害の正確な時点を特定する必要があることがよくあります。著者は、フラストレーションはしばしば、高レベルライブラリがプロトコル形式をどのように処理するかについての誤った仮定から始まることを強調しています。ライブラリの抽象化が必要なパケット操作を妨げる場合、唯一の解決策は手動でのペイロード構築です。しかし、洗練されたプロトコルでは、複雑なセッション管理とルーティングヘッダーのために、この手動アプローチは非常に困難になります。オペレーショナルテクノロジーセキュリティにおいて自動化されたツールのみに依存することは、重大なリスクです。これらのツールは、多様な実際の産業環境ではめったに真実とならない仮定に基づいて構築されています。標準外の設定に遭遇すると、デバイスは沈黙するか、ツールが誤った結果を提供する可能性があります。最終的に、著者は、ワイヤーレベルでのプロトコルとの手動でのやり取りは、その困難さにもかかわらず、深いセキュリティ研究にとって非常に価値があるという結論を下しています。この直接的な関与により、ネットワークの異常を即座に認識し、通信障害を正確に理解することができます。