代表的なICSプロトコルとリスク
Modbus、DNP3とそれらの弱点を学びます。
「代表的なICSプロトコルとリスク」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。
プロトコルが重要な理由
産業用プロトコルは、コントローラー、SCADA、フィールドデバイスがデータやコマンドを交換するために使用する言語です。その多くは隔離された信頼できるネットワーク向けに設計されているため、ITで期待される認証と暗号化を備えていません。
これらの弱点を理解すれば、OTネットワーク上の攻撃者が何を実行できるのか、またどのような補完的対策が必要なのかを正確に把握できます。
Modbus
Modbusは、最も古く、最も広く普及している産業用プロトコルの一つで、シンプルで実装しやすいという特徴があります。Modbus/TCPは、ModbusをEthernet上で伝送します。
- マスターがスレーブデバイスのレジスターやコイルを読み書きします
- 認証がないため、スレーブに到達できるデバイスなら、どのデバイスでもスレーブに命令できます
- 暗号化がないため、通信は平文で、簡単に読み取ったり偽造したりできます
- 悪意のある送信者に対する完全性チェックがありません
セグメント上の攻撃者は、コイルに書き込むだけで機器を動作させられます。
# a Modbus function code 5 writes a single coil (e.g. open/close a relay)
# request fields are minimal: address, function, data, CRC
# nothing in the protocol proves WHO sent itDNP3
DNP3(Distributed Network Protocol)は、電力や水道の公益事業で広く使われています。タイムスタンプや例外時送信などの機能を備え、不安定な長距離通信回線向けに設計されています。
- Modbusより高機能ですが、ベースプロトコルには依然として組み込みのセキュリティ機能がありません
- オープンなネットワークでは、なりすましやリプレイ攻撃に対して脆弱です
- Secure Authentication(DNP3-SA)拡張が存在しますが、常に導入されているとは限りません
DNP3-SAに対応していない場合は、ネットワーク制御で補完する必要があります。
その他の代表的なプロトコル
OTの世界には多数のプロトコルがあります。皆さんが頻繁に目にするものをいくつか紹介します。
- EtherNet/IP (CIP) — 製造オートメーションで広く利用されています
- PROFINET / PROFIBUS — 欧州の産業環境で一般的です
- IEC 60870-5-104 — 電力事業者で使用され、DNP3と似た役割を担います
- IEC 61850 — 変電所のオートメーションに使用されます
- OPC / OPC-UA — データ交換の標準です。特にOPC-UAはセキュリティをサポートします
OPC-UAが特に優れているのは、認証と暗号化をオプションとして設計段階から組み込んでいる点です。
認証がない
レガシープロトコルに共通する最も重大な弱点は、認証がないことです。プロトコルは、正規のマスターと攻撃者を見分けられません。
- ネットワーク上のあらゆるホストが、正規に見えるコマンドを発行できます
- メッセージ内に認証情報や認可という概念がありません
- デバイスは受信したものを無条件に信頼します
そのため、ネットワークアクセス制御が最前線の防御策になります。攻撃者がプロトコルに到達できなければ、悪用することもできないからです。
暗号化がない:盗聴と改ざん
平文のプロトコルでは、通信回線を受動的に監視する誰もがプロセスを把握できてしまいます。
- 攻撃者は、観測した読み取りと書き込みからプロセスを把握できます
- 設定値、アラーム、コマンドが露出します
- 通信経路上に入り込めば、トラフィックを転送中に変更できます
このようなトラフィックを分析のために取得する場合は、慎重に、かつ評価する権限を持つシステムだけで行う必要があります。パッシブタップを使えば、稼働中のプロセスに影響を与えずに済みます。
リプレイ攻撃とインジェクション攻撃
認証や鮮度の保証がなければ、記録したトラフィックを再利用できます。
- リプレイ — 正規のコマンドを取得して後から再送し、動作を繰り返させます
- コマンドインジェクション — 機器を作動させる正規のプロトコルメッセージを作成します
- 偽データインジェクション — 偽造したセンサー値をHMIに入力します
偽データインジェクションは特に危険です。オペレーターには正常な測定値が表示されている一方で、プロセスが安全でない状態へ移行する可能性があるためです。
OTにおける中間者攻撃
SCADAとコントローラーの間に位置する攻撃者は、通信を読み取り、書き換えることができます。
- オペレーターには安全な値を表示しながら、PLCには有害なコマンドを送信します
- アラームを抑制して、障害を見逃させます
- オペレーターに気付かれないように設定値を変更します
プロセスを妨害しながらオペレーターの視界を奪うこの手法は、高度なICS攻撃の特徴であり、ネットワークレベルでの完全性監視が必要となる理由でもあります。
セキュアなプロトコルのバリエーション
機器が対応している場合は、セキュリティ機能を追加したプロトコルのオプションを優先してください。
- セキュリティポリシーを有効にしたOPC-UAは、認証、署名、暗号化を提供します
- DNP3-SAは、DNP3にチャレンジレスポンス認証を追加します
- TLSラッパーやセキュアゲートウェイを使えば、ゾーン間のレガシートラフィックを保護できます
これらは古いデバイスで普遍的に利用できるわけではありません。そのため、設計では多くのエンドポイントが安全でない状態に残ることを前提とし、ネットワーク境界で保護します。
パッシブ監視と詳細検査
プロトコルを修正できないことが多いため、代わりに悪用を検知します。OT対応の監視はこれらのプロトコルを理解し、トラフィックを注入せずに異常を検出します。
- 通常のマスター、スレーブ、コマンドパターンのベースラインを作成します
- 予期しない書き込みコマンドや新しいデバイスに対してアラートを発生させます
- 範囲外の設定値や、認証されていないホストからのコマンドを検出します
- パッシブタップを使用し、監視によってプロセスが妨げられないようにします
プロトコルとネットワーク防御
レガシープロトコル自体では防御できないため、ネットワークがプロトコルを防御する必要があります。
- コントローラーとプロトコルで通信できるホストを認証済みのものだけにするようセグメント化します
- プロトコル対応ファイアウォールを使用し、想定されたファンクションコードだけを許可します
- ICSプロトコルに合わせて調整したパッシブ侵入検知を導入します
- 可能な場合はセキュアなバリエーションへ移行します
これにより、最後のレッスンで扱うアーキテクチャによる防御につながります。
クイックチェック:プロトコルの弱点
レガシーICSプロトコルの核心的なリスクについて考えてみましょう。
まとめ:ICSプロトコルとリスク
プロトコルと、それらに固有の弱点について学びました。
- Modbus、DNP3などのプロトコルは、信頼されたネットワーク向けに構築されており、認証と暗号化がありません
- そのため、盗聴、リプレイ、コマンドインジェクション、偽データインジェクション、中間者攻撃が可能になります
- 攻撃者はプロセスを妨害しながら、オペレーターの視界を奪うことができます
- 対応している場合はセキュアなバリエーション(OPC-UA、DNP3-SA)を優先します
- それ以外の場合は、セグメンテーション、プロトコル対応ファイアウォール、パッシブ監視で防御します
次は、重要インフラを保護するアーキテクチャの設計です。
よくある質問
「代表的なICSプロトコルとリスク」レッスンは無料ですか?
はい。「代表的なICSプロトコルとリスク」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。
「代表的なICSプロトコルとリスク」で何を学びますか?
Modbus、DNP3とそれらの弱点を学びます。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cyber Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「代表的なICSプロトコルとリスク」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCyber Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 産業用制御システムの基礎
- OTとITのセキュリティの違い
- 代表的なICSプロトコルとリスク
- 重要インフラの保護