Află mai multe despre cartea lui Benny Czarny, „Cybersecurity Upside Down”

Aflați mai mult
Utilizăm inteligența artificială pentru traducerile site-urilor și, deși ne străduim să fim exacți, este posibil ca acestea să nu fie întotdeauna 100% precise. Apreciem înțelegerea dumneavoastră.

Protejarea sistemelor OT împotriva atacurilor de la distanță: Modul în care MetaDefender OT Security™ protejează controlerul Micrologix™ 1400 de CVE-2021-22659

De OPSWAT
Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20
Participanții la programul de burse OPSWAT

Securizarea sistemelor de control industrial și a mediilor OT împotriva atacurilor de la distanță este mai critică ca niciodată, în special cu vulnerabilități precum CVE-2017-14469 și acum CVE-2021-22659 care vizează controlerul Micrologix 1400 al Rockwell Automation, utilizat pe scară largă. Studenții din cadrul programului de burse OPSWAT au testat această vulnerabilitate într-un mediu controlat, subliniind nevoia de securitate.

În acest blog, explorăm modul în care studenții au demonstrat cum atacatorii ar putea exploata vulnerabilitatea pentru a provoca blocarea sistemelor și cum lipsa validării corespunzătoare a intrărilor ar putea fi utilizată pentru a întrerupe operațiunile PLC.

Ce este un PLC? Explicații Rockwell Automation Micrologix 1400

Un PLC (Programmable Logic Controller) este un computer industrial conceput pentru automatizarea proceselor prin controlul utilajelor și al altor operațiuni industriale. Acesta funcționează în medii dificile și este programat să execute sarcini specifice pe baza datelor de intrare ale senzorilor. Controlerul MicroLogix 1400 de la Rockwell Automation este un PLC compact și modular utilizat în mod obișnuit în aplicații de dimensiuni mici și medii. Cunoscut pentru rentabilitatea și flexibilitatea sa, acesta suportă diverse protocoale de comunicare și oferă opțiuni I/O digitale și analogice pentru interfațarea cu dispozitivele.

Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20

Programarea se face de obicei folosind software-ul Rockwell Automation prin intermediul logicii ladder, permițând utilizatorilor să creeze secvențe de control. MicroLogix 1400 este versatil, potrivit pentru sarcini precum controlul mașinilor și automatizarea proceselor. Modularitatea sa permite utilizatorilor să extindă și să personalizeze sistemul pe baza cerințelor specifice ale aplicației.

Introducere la CVE-2021-22659

În ianuarie 2021, Rockwell Automation a primit un raport din partea lui Parul Sindhwad și a dr. Faruk Kazi de la COE-CNDS al Institutului Tehnologic Veermata Jijabai (VJTI) din India, referitor la o vulnerabilitate a controlerului MicroLogix™ 1400. Aceștia au identificat o breșă de securitate în versiunea 21.6 și în versiunile anterioare, care permite unui atacator neautentificat de la distanță să trimită un pachet Modbus special creat, permițându-i atacatorului să recupereze sau să modifice valori aleatorii din registru. Dacă este exploatată cu succes, această vulnerabilitate ar putea duce la o depășire a capacității bufferului, rezultând într-o stare de refuz al serviciului. LED-ul FAULT va clipi în ROȘU și comunicațiile pot fi întrerupte. Recuperarea din starea de refuz al serviciului necesită eliminarea erorii de către utilizator.

NVD a evaluat această vulnerabilitate de securitate ca fiind de severitate ridicată.

Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20

Fazele atacului

Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20

Un atacator de la distanță, neautentificat, cu acces la rețeaua PLC-ului MicroLogix 1400 vulnerabil ar putea trimite un pachet special creat pentru a modifica valorile din registru. Acest lucru ar putea provoca o stare de negare a serviciului pentru dispozitiv, ducând la coruperea sistemului și la întreruperea activității. Un astfel de incident poate perturba semnificativ operațiunile de producție și alte activități comerciale ale organizației.

Protocolul Modbus

Dezvoltat de Modicon în 1979, protocolul Modbus este o structură de mesagerie concepută pentru a stabili comunicarea client-server între dispozitive inteligente. Conceput inițial pentru a fi utilizat cu PLC-urile Modicon, acesta a devenit de atunci un protocol de comunicare standard pentru comunicarea între dispozitivele electronice industriale.

Există protocoale Modbus pentru Ethernet (Modbus TCP) și linii seriale (Modbus RTU și Modbus ASCII). Modbus RTU (Remote Terminal Unit) transmite direct date în formă binară prin comunicare serială, iar Modbus TCP (Transmission Control Protocol) include datele protocolului Modbus în pachete TCP pentru transmiterea prin rețele TCP/IP.

Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20

Structura mesajului Modbus

Modbus este un protocol cerere-răspuns în care clientul transmite o cerere către un dispozitiv Modbus, iar dispozitivul furnizează ulterior un răspuns.

Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20

Un mesaj Modbus trimis de la un primar la un secundar conține adresa secundarului, "comanda" (de exemplu, "citire registru" sau "scriere registru"), datele și o sumă de verificare (LRC sau CRC).

Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20

Adresele de date sunt utilizate în mesajele de interogare Modbus la citirea sau modificarea datelor. Modbus definește patru tipuri de date: Coil, Input Status, Input Register și Holding Register. Două dintre acestea stochează valori on-off (1 bit) numite bobine și intrări discrete, iar două stochează valori numerice sub formă de cuvinte pe 16 biți numite registre. Fiecare este fie numai citire, fie citire/scriere.

Tip de date

Acces

Descriere

Bobină

Citire-scriere

Ieșiri cu un singur bit.

Intrare discretă

Doar pentru citire

Intrări cu un singur bit.

Registru de intrare

Doar pentru citire

Registre de intrare pe 16 biți.

Registru de menținere

Citire-scriere

Registre de ieșire pe 16 biți.

Există trei categorii de coduri de funcții Modbus:

  • Coduri de funcții publice - De la 1 la 127, cu excepția codurilor definite de utilizator.
  • Coduri de funcții definite de utilizator - în două intervale, de la 65 la 72 și de la 100 la 110.
  • Coduri de funcții rezervate - Utilizate de unele companii pentru produse vechi și nu sunt disponibile pentru uz public.

Tip de funcție

Denumirea funcției

Codul funcției

Accesul la date

Acces la biți

Intrări fizice discrete

Citiți intrările discrete

2

Biți interni sau bobine fizice

Citiți bobinele

Scrieți o singură bobină

Scrierea mai multor bobine

1

5

15

Acces pe 16 biți

Registre de intrare fizică

Citiți registrele de intrare

4

Registre interne sau registre fizice de ieșire

Citiți mai multe registre de menținere

Scrierea unui singur registru de menținere

Scrierea mai multor registre de menținere

Citire/Scriere registre multiple

Registrul de scriere a măștii

Coada FIFO de citire

3

6

16

23

22

24

Acces la înregistrări de fișiere

Citiți înregistrarea fișierului

Scrierea înregistrării fișierului

20

21

Diagnosticare

Citiți starea excepției

Diagnostic

Obțineți contorul de evenimente Com

Obțineți jurnalul evenimentelor Com

Raportați ID-ul sclavului

Citiți identificarea dispozitivului

7

8

11

12

17

43

Altele

Transport de interfață încapsulată

43

Tipul funcției: Acces la date
Subtip: Acces la biți
Categorie: Intrări discrete fizice
Numele funcției: Citire intrări discrete
Codul funcției: 2

Tipul funcției: Acces la date
Subtip: Acces la biți
Categorie: Biți interni sau bobine fizice
Denumirea funcției: Citire bobine
Codul funcției: 1

Tipul funcției: Acces la date
Subtip: Acces la biți
Categorie: Biți interni sau bobine fizice
Denumirea funcției: Scriere pe o singură bobină
Codul funcției: 5

Tipul funcției: Acces la date
Subtip: Acces la biți
Categorie: Biți interni sau bobine fizice
Denumirea funcției: Scriere pe mai multe bobine
Codul funcției: 15

Tipul funcției: Acces la date
Subtip: Acces pe 16 biți
Categorie: Registre de intrare fizice
Denumirea funcției: Citire registre de intrare
Codul funcției: 4

Tipul funcției: Acces la date
Subtip: Acces pe 16 biți
Categorie: Registre interne sau registre fizice de ieșire
Denumirea funcției: Citire registre multiple de stocare
Codul funcției: 3

Tipul funcției: Acces la date
Subtip: Acces pe 16 biți
Categorie: Registre interne sau registre de ieșire fizice
Denumirea funcției: Scriere în registru de reținere unic
Codul funcției: 6

Tipul funcției: Acces la date
Subtip: Acces pe 16 biți
Categorie: Registre interne sau registre fizice de ieșire
Denumirea funcției: Scriere în mai multe registre de stocare
Codul funcției: 16

Tipul funcției: Acces la date
Subtip: Acces pe 16 biți
Categorie: Registre interne sau registre de ieșire fizice
Denumirea funcției: Citire/scriere în mai multe registre
Codul funcției: 23

Tipul funcției: Acces la date
Subtip: Acces pe 16 biți
Categorie: Registre interne sau registre de ieșire fizice
Denumirea funcției: Registru de scriere cu mască
Codul funcției: 22

Tipul funcției: Acces la date
Subtip: Acces pe 16 biți
Categorie: Registre interne sau registre de ieșire fizice
Denumirea funcției: Citire coadă FIFO
Codul funcției: 24

Tipul funcției: Acces la date
Subtip: Acces la înregistrări din fișiere
Denumirea funcției: Citire înregistrare din fișier
Codul funcției: 20

Tipul funcției: Acces la date
Subtip: Acces la înregistrări din fișier
Numele funcției: Scriere înregistrare în fișier
Codul funcției: 21

Tipul funcției: Diagnosticare
Denumirea funcției: Citire stare excepție
Codul funcției: 7

Tipul funcției: Diagnosticare
Denumirea funcției: Diagnosticare
Codul funcției: 8

Tipul funcției: Diagnosticare
Denumirea funcției: Obținerea contorului de evenimente COM
Codul funcției: 11

Tipul funcției: Diagnosticare
Denumirea funcției: Obținere jurnal evenimente COM
Codul funcției: 12

Tipul funcției: Diagnosticare
Denumirea funcției: Raportare ID sclav
Codul funcției: 17

Tipul funcției: Diagnosticare
Denumirea funcției: Citire identificare dispozitiv
Codul funcției: 43

Tipul funcției: Altele
Denumirea funcției: Transport prin interfață încapsulată
Codul funcției: 43

Exploatare

Analiza vulnerabilității

Prin analiză, bursierii noștri absolvenți OPSWAT au descoperit că în timpul comunicării Modbus TCP, protocolul nu dispune de autentificare și criptare pentru pachetele transmise. În plus, validarea intrărilor în PLC-ul MicroLogix 1400 nu este implementată corespunzător. În consecință, un atacator de la distanță poate analiza pachetul Modbus TCP prin "packet sniffing" și poate trimite orice solicitare către PLC fără autentificare prin protocolul Modbus TCP. Din cauza lipsei validării intrărilor în dispozitivul PLC MicroLogix 1400, un atacator autentificat de la distanță ar putea trimite un număr mare de pachete cu valori aleatorii, putând provoca blocarea PLC-ului.

Suprascrierea registrului

Inițial, am încercat să captăm pachetele Modbus TCP utilizate pentru citirea sau scrierea registrelor pe PLC. Pentru a realiza acest lucru, am examinat pachetele generate de o aplicație numită Modbus Poll, care facilitează citirea și scrierea registrelor pe PLC-ul MicroLogix 1400.

Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20

Folosind Wireshark pentru a captura toate pachetele de la interfața de rețea, am putut identifica pachetul Modbus TCP pentru scrierea unui singur registru:

Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20
Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20

Pe baza structurii pachetelor adulmecate, am dezvoltat un script Python simplu pentru a trimite pachete TCP care solicită scrierea unui registru pe PLC-ul țintă. În acest scenariu, adresa IP a PLC-ului este 192.168.93.89.

Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20

Registrul PLC-ului a fost modificat după primirea pachetului nostru neautentificat malițios.

Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20
Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20

În Micro Logix 1400, majoritatea instrucțiunilor matematice utilizează trei parametri: Sursa A, Sursa B și Destinația

Valorile pentru sursa A și sursa B pot proveni din două registre pe 16 biți numite N13:3 și N13:4. În plus, valorile din aceste registre pe 16 biți, cum ar fi N13:3 și N13:4, sunt limitate în intervalul de la -32,768 la +32,767. În cazul în care valorile din N13:3 și N13:4 sunt mari, rezultatul instrucțiunii match poate depăși intervalul maxim al tipului de date, ceea ce poate cauza blocarea PLC-ului. În consecință, pentru a induce un crash în PLC, este necesar să scriem valori aleatorii mari în toate registrele, inclusiv N13:3 și N13:4. Pentru a realiza acest lucru, am modificat scriptul nostru Python după cum urmează:

Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20

Simulați atacul

Pentru a simula un atac din lumea reală, bursierii noștri absolvenți OPSWAT au încercat să provoace o defecțiune la PLC-ul MicroLogix 1400 situat în laboratoarele CIP OPSWAT , presupunând că atât atacatorul, cât și PLC-ul sunt în aceeași rețea și pot comunica între ele.

În starea normală de funcționare a PLC-ului MicroLogix 1400 de la OPSWAT Labs, cu PLC-ul în modul REMOTE RUN, toate valorile registrelor sunt valide și se încadrează în intervalul desemnat pentru tipurile lor de date, indicând faptul că programul utilizatorului funcționează corect.

Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20

La executarea scriptului nostru Python, numeroase pachete Modbus TCP vor fi trimise către PLC, solicitând scrierea unor valori aleatorii mari în toate registrele fără autentificare:

Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20

După primirea acestor cereri de pachete malițioase, valorile tuturor registrelor, inclusiv N13:3 și N13:4, sunt setate la 16.990. Rezultatul operației ADD pe registrele N13:3 și N13:4 depășește intervalul valid al unui registru pe 16 biți. Această problemă provoacă o depășire a numărului întreg, ceea ce duce la o eroare și întrerupe funcționarea PLC-ului, după cum indică starea FAULTED.

Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20

Bursierii noștri absolvenți OPSWAT au reușit să blocheze PLC-ul MicroLogix 1400 prin exploatarea CVE-2021-22659.

Remediere

Protejarea sistemelor OT împotriva atacurilor la distanță: Cum protejează soluția „ MetaDefender OT Security™” controlerul Micrologix™ 1400 împotriva vulnerabilității CVE-20

În fața unor vulnerabilități precum CVE-2021-22659, remedierea cuprinzătoare este esențială pentru protejarea sistemelor OT și ciberfizice. Mai jos sunt prezentate câteva dintre strategiile-cheie care pot fi utilizate pentru a preveni răspândirea atacurilor:

  1. Detectarea CVE-urilor cunoscute: Scanarea regulată a rețelelor pentru vulnerabilități precum CVE-2021-22659.
  2. Monitorizarea comportamentelor anormale: Evidențierea creșterilor neobișnuite ale frecvenței în comunicarea cu PLC-ul Micrologix 1400, care ar putea sugera un atac în curs de desfășurare de transfer neautorizat de date.
  3. Identificarea conexiunilor noilor dispozitive: Sistemul trebuie să detecteze momentul în care un dispozitiv nou se conectează la PLC.
  4. Segmentarea rețelei: Izolarea dispozitivelor afectate poate ajuta la prevenirea răspândirii laterale a atacurilor, minimizând astfel impactul.

MetaDefender OT Security de la OPSWATrăspunde acestor nevoi prin detectarea CVE-urilor, monitorizarea continuă a rețelei pentru comportamente neobișnuite și identificarea conexiunilor neautorizate. Utilizând inteligența artificială, acesta învață tiparele normale de trafic, stabilește un comportament de bază și implementează politici pentru a alerta anomaliile. Acest lucru permite răspunsuri instantanee și informate la potențialele amenințări.

În cazul unui atac care exploatează CVE-2021-22659, MetaDefender OT Security se integrează cu MetaDefender Industrial Firewall pentru a bloca comunicațiile suspecte pe baza regulilor stabilite. Firewall-ul utilizează inteligența artificială pentru a învăța modelele regulate de trafic și pentru a aplica politici de prevenire a conexiunilor neautorizate.

Prin combinarea acestor capacități de detectare, alertare și segmentare a rețelei, MetaDefender OT Security devine mecanismul ideal de apărare pentru mediile industriale, reducând semnificativ riscul și impactul amenințărilor cibernetice în mediile de tehnologie operațională.

Explorați modul în care platforma de securitate cibernetică de apărare în profunzime a OPSWATvă poate îmbunătăți și maturiza postura. Discutați astăzi cu un expert pentru o demonstrație gratuită.

Rămâneți la curent cu OPSWAT!

Înscrie-te astăzi pentru a primi cele mai recente noutăți despre companie, povești, informații despre evenimente și multe altele.