32 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Modbusプロトコル
## Modbusプロトコルの紹介
Modbusプロトコルは、産業オートメーションおよび制御システムで広く使用されているプロトコルです。Modbusは、プログラマブルロジックコントローラPLC、センサー、アクチュエーター、およびその他の産業デバイスなど、さまざまなデバイス間の通信を可能にします。Modbusプロトコルを理解することは重要です。なぜなら、これはICSで最も使用されている通信プロトコルであり、スニッフィングやPLCへのコマンド注入のための攻撃面が多く存在するからです。
ここでは、プロトコルのコンテキストとその動作の性質を提供するために、概念がポイントごとに述べられています。ICSシステムセキュリティにおける最大の課題は、実装とアップグレードのコストです。これらのプロトコルと標準は80年代と90年代の初めに設計され、現在でも広く使用されています。産業には多くのデバイスと接続があるため、デバイスのアップグレードは非常に困難であり、これがハッカーに古いプロトコルを扱う優位性を提供します。Modbusへの攻撃は、業界にとってその運用が重要であるため、実質的に避けられません。
## クライアント-サーバーアーキテクチャ
Modbusプロトコルは、通常、クライアントサーバーアーキテクチャとして使用され、マスターデバイスクライアントが1つ以上のスレーブデバイスサーバーとの通信を開始します。これはマスター-スレーブアーキテクチャとも呼ばれ、電子機器やIoTで広く使用されています。
## シリアルおよびイーサネットバージョン
Modbusプロトコルは、シリアル通信とイーサネット通信の両方に対応するように設計されています。シリアル通信はレガシーシステムで広く使用されている一方、現代のデバイスはイーサネットをサポートしており、高データレートを提供し、現代の産業ネットワークにより適しています。
## データ表現
データはModbusプロトコルでASCIIまたはバイナリとして送信されますが、バイナリ形式は古いデバイスとの互換性のために使用されます。
## 機能コード
ModBusプロトコルは、PLCやさまざまな制御デバイスを操作するために使用される特定の機能コードの送信で機能します。この部分は、リプレイ攻撃が機能コードを再送信することによって行われる可能性があるため、理解することが重要です。レガシーデバイスはデータ送信に対する暗号化をサポートしておらず、通常はそれらを接続する長いワイヤーを持っているため、これらのワイヤーの改ざんやデータのキャプチャ/注入が発生します。
## Modbusのアドレッシング
ネットワーク内の各デバイスには、デバイス間の通信に不可欠な一意のアドレスがあります。Modbus RTU、Modbus TCPなどのプロトコルがアドレッシングを実装するために使用され、データ送信のためのトランスポート層として機能します。転送されるデータは、メッセージを含むModbusプロトコル形式です。
さらに、Modbusは送信データの整合性を確保するためにエラーチェックも実装しています。しかし、最も重要なのは、Modbusはオープンスタンダードであり、誰でも自分のデバイスに実装できることです。これにより、このプロトコルはグローバルスタンダードとなり、産業オートメーション業界で広く普及しました。
その大規模な使用とアップグレードの欠如により、Modbusへの攻撃はその攻撃面において重要な利点を提供します。ICSはデバイス間の通信に大きく依存しており、それらに対する攻撃は産業システムの運用にとって危険です。リプレイ、データ注入、データスニッフィングおよびリーク、サービス拒否、データ偽造などの攻撃は、攻撃者によって送信媒体が特定されると実行される可能性があります。