3.8 KiB
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.