mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-29 16:10:54 +00:00
31 lines
3.8 KiB
Markdown
31 lines
3.8 KiB
Markdown
# Il Protocollo Modbus
|
|
|
|
## Introduzione al Protocollo Modbus
|
|
|
|
Il protocollo Modbus è un protocollo ampiamente utilizzato nei Sistemi di Automazione e Controllo Industriale. Modbus consente la comunicazione tra vari dispositivi come controllori logici programmabili (PLC), sensori, attuatori e altri dispositivi industriali. Comprendere il Protocollo Modbus è essenziale poiché è il protocollo di comunicazione più utilizzato nei Sistemi di Automazione e Controllo Industriale e presenta molte potenzialità di attacco per lo sniffing e persino l'iniezione di comandi nei PLC.
|
|
|
|
Qui, i concetti sono esposti punto per punto fornendo contesto sul protocollo e sulla sua natura di funzionamento. La sfida più grande nella sicurezza dei sistemi ICS è il costo di implementazione e aggiornamento. Questi protocolli e standard sono stati progettati nei primi anni '80 e '90 e sono ancora ampiamente utilizzati. Poiché un'industria dispone di molti dispositivi e connessioni, l'aggiornamento dei dispositivi è molto difficile, il che fornisce agli hacker un vantaggio nel gestire protocolli obsoleti. Gli attacchi al Modbus sono praticamente inevitabili poiché verrà utilizzato senza aggiornamenti e il suo funzionamento è critico per l'industria.
|
|
|
|
## L'Architettura Client-Server
|
|
|
|
Il Protocollo Modbus è tipicamente utilizzato nell'Architettura Client-Server in cui un dispositivo master (client) avvia la comunicazione con uno o più dispositivi slave (server). Questo è anche definito come architettura Master-Slave, ampiamente utilizzata in elettronica e IoT con SPI, I2C, ecc.
|
|
|
|
## Versioni Seriale ed Ethernet
|
|
|
|
Il Protocollo Modbus è progettato sia per la Comunicazione Seriale che per la Comunicazione Ethernet. La Comunicazione Seriale è ampiamente utilizzata nei sistemi legacy, mentre i dispositivi moderni supportano l'Ethernet che offre elevate velocità di trasferimento dati ed è più adatto per le reti industriali moderne.
|
|
|
|
## Rappresentazione dei Dati
|
|
|
|
I dati vengono trasmessi nel protocollo Modbus come ASCII o Binario, anche se il formato binario è utilizzato per la sua compatibilità con i dispositivi più vecchi.
|
|
|
|
## Codici di Funzione
|
|
|
|
Il Protocollo ModBus funziona con la trasmissione di specifici codici di funzione che vengono utilizzati per operare sui PLC e sui vari dispositivi di controllo. Questa parte è importante da comprendere poiché gli attacchi di ripetizione possono essere effettuati ritrasmettendo i codici di funzione. I dispositivi legacy non supportano alcuna crittografia per la trasmissione dei dati e di solito hanno cavi lunghi che li collegano, il che porta alla manipolazione di questi cavi e alla cattura/iniezione di dati.
|
|
|
|
## Indirizzamento del Modbus
|
|
|
|
Ogni dispositivo nella rete ha un indirizzo univoco essenziale per la comunicazione tra dispositivi. Protocolli come Modbus RTU, Modbus TCP, ecc. sono utilizzati per implementare l'indirizzamento e fungono da strato di trasporto per la trasmissione dei dati. I dati trasferiti sono nel formato del protocollo Modbus che contiene il messaggio.
|
|
|
|
Inoltre, Modbus implementa anche controlli degli errori per garantire l'integrità dei dati trasmessi. Ma soprattutto, Modbus è uno Standard Aperto e chiunque può implementarlo nei propri dispositivi. Questo ha reso questo protocollo uno standard globale ed è ampiamente diffuso nell'industria dell'automazione industriale.
|
|
|
|
A causa del suo ampio utilizzo e della mancanza di aggiornamenti, attaccare il Modbus fornisce un significativo vantaggio con la sua superficie di attacco. Gli ICS dipendono fortemente dalla comunicazione tra dispositivi e qualsiasi attacco su di essi può essere pericoloso per il funzionamento dei sistemi industriali. Gli attacchi come ripetizione, iniezione di dati, sniffing e leaking di dati, Denial of Service, falsificazione di dati, ecc. possono essere effettuati se il mezzo di trasmissione è identificato dall'attaccante.
|