Suntem încântați să vă prezentăm o serie de bloguri de analiză tehnică care se concentrează pe diferite CVE (Vulnerabilități și expuneri comune) care pot fi identificate și remediate cu ajutorul tehnologiilor noastre avansate de detectare a amenințărilor.Toate cercetările sunt realizate de studenți absolvenți care au participat la programul de burse de securitate ciberneticăOPSWAT , care a fost lansat în decembrie 2023.
În acest blog, vom explica CVE-2017-14469 de la Rockwell Micrologix și modul în care organizațiile se pot apăra împotriva atacurilor de exploatare CVE- 2017-14469.
Controler Rockwell Automation MicroLogix 1400
Un PLC (Programmable Logic Controller) este un computer conceput special pentru a controla procesele de producție industrială. Acesta este utilizat în sectoare de infrastructură critice, cum ar fi liniile de asamblare, monitorizarea mașinilor, controlul proceselor etc. Controlerul MicroLogix 1400 de la Rockwell Automation este un PLC modular și extensibil, cu un număr mare de I/O, un contor rapid de mare viteză și un suport de rețea îmbunătățit, ceea ce îl face potrivit pentru o gamă largă de aplicații.
14469
O vulnerabilitate în Rockwell Automation MicroLogix 1400 Series B FRN 21.2 și versiunile anterioare permite unui atacator să citească și să scrie/scrie/scrie date sensibile pe dispozitiv. Un pachet neautentificat, special creat, care conține o comandă, ar putea duce la modificarea numărului de rutină de eroare definit de utilizator, ceea ce ar duce la o oprire neașteptată a execuției dispozitivului.
Baza de date națională privind vulnerabilitățile (NVD) a clasificat această vulnerabilitate ca fiind "critică" cu un scor maxim CVSS (Common Vulnerability Scoring System). Impactul acesteia poate afecta în mod semnificativ confidențialitatea, integritatea și disponibilitatea unui dispozitiv, fără a necesita autentificări suplimentare. Disponibilitatea sistemului este crucială, în special în cazul sistemelor de infrastructură critică, unde orice întrerupere sau timp de nefuncționare poate duce la pierderi financiare masive sau chiar la daune fizice. Acest CVE poate duce la o oprire a funcțiilor PLC prin declanșarea unei "erori de sistem" în cadrul controlerului, ceea ce reprezintă un risc de întrerupere a sistemelor de infrastructură critică.
Analiza vulnerabilității
Conceptul de eroare seamănă foarte mult cu cel de excepție în programare. Atunci când apare o eroare, execuția instrucțiunii este oprită, ceea ce duce dispozitivul într-o stare de eroare. Defectele pot fi clasificate în două tipuri: defecte de utilizator și defecte non-utilizator.
Există două mecanisme de eliminare a defecțiunilor: prin eliminare automată prin întreruperea alimentării cu energie a controlerului sau prin eliminare manuală cu ajutorul unei proceduri de eroare a utilizatorului, care este o procedură care poate fi setată pentru a se executa automat ca răspuns la o eroare a utilizatorului. CVE-2017-14469 se referă la cel de-al doilea mecanism. Pentru a preveni oprirea sistemului sau oprirea neașteptată a execuției de către un defect al utilizatorului, o rutină de defecțiune a utilizatorului este definită pentru a gestiona defecțiunile atribuite pe baza numerelor lor de defecțiune și este executată atunci când apare defecțiunea corespunzătoare. În cazul în care nu există o rutină care să gestioneze defecțiunea, dispozitivul oprește execuția și afișează numărul de defecțiune. Valoarea pentru rutina de eroare a utilizatorului este setată la 0x00 atunci când dispozitivul funcționează normal și trebuie configurată numai în intervalul 0x03 - 0xFF pentru gestionarea erorilor.
Există trei poziții ale comutatorului de mod în Rockwell Automation MicroLogix 1400: PROGRAM, REMOTE și RUN. Ambele moduri PROGRAM și REMOTE permit descărcarea de programe în dispozitiv, acceptând și gestionând în același timp solicitările primite. Cu toate acestea, în modul RUN, dispozitivul acceptă numai cereri restricționate. În contextul acestei vulnerabilități, exploatarea nu este posibilă dacă dispozitivul se află în modul RUN.
- Modul inactiv, utilizat pentru descărcarea și editarea programelor
- Răspunde la mesajele de pe portul de comunicare
- Execuție oprită și fără ieșire
- Permite ca o sesiune de software să controleze dispozitivul
- Răspunde la mesajele de pe portul de comunicare
- Execuție și ieșire normală
Dispozitivul comunică prin CIP (Common Industrial Protocol) cu extensia PCCC. Protocolul CIP este construit pe baza Ethernet/IPIndustrial protocolIndustrial ). Structura unui pachet este prezentată în figura de mai jos:
După cum se poate observa în imaginea de mai sus, nu există niciun câmp destinat autentificării. Acest lucru reprezintă o provocare semnificativă, deoarece dispozitivul nu are capacitatea de a face diferența între solicitările unui atacator și traficul normal al unui utilizator.
De obicei, un operator poate monitoriza și actualiza configurația dispozitivului prin intermediul software-ului de control. Pentru a comunica cu dispozitivul, Software control trimite o cerere corespunzătoare cu o comandă de scriere sau citire logică tipizată protejată, completând obiectul CIP PCCC. În formatul protocolului CIP PCCC, o comandă este identificată prin codul său de comandă și codul de funcție.
Cod de comandă | Funcția Cod | Descriere |
0x0F | 80 | Schimbă modul |
0x0F | 0xAA | Scriere logică tipizată protejată cu trei câmpuri de adrese |
0x0F | 0xA2 | Citire logică tipizată protejată cu trei câmpuri de adrese |
Comanda de scriere logică cu tastare protejată este utilizată pentru a scrie în fișiere sensibile, cum ar fi fișierul de stare, fișierul de biți, fișierul de contorizare și alte configurații ale dispozitivului.
Dispozitivul utilizează trei câmpuri de adresă din pachetul CIP pentru a identifica locația pentru citire și scriere: tipul de fișier, numărul de fișier și numerele elementelor. Mai jos sunt prezentate câteva exemple de valori pentru a identifica locațiile fișierelor de configurare care vor fi afectate de comandă:
Tip fișier | Număr de dosar | Numerele elementelor | Descriere |
84 | 02 | 0x1d | Fișier de stare - Număr de rutină de avarie a utilizatorului |
84 | 02 | 06 | Fișier de stare - Cod de eroare majoră |
84 | 02 | 05 | Fișier de stare - Cod de eroare majoră |
Cu toate acestea, există o lipsă de validare a datelor de intrare atunci când dispozitivul gestionează cererea; datele trimise în comanda de scriere nu sunt validate și permit să fie setate la orice valoare invalidă.
Vulnerabilitatea este cauzată de două motive principale. În primul rând, dispozitivul nu poate autentifica solicitările primite, ceea ce permite unui atacator să trimită o solicitare neautentificată pentru a modifica setările sensibile. În al doilea rând, dispozitivul validează incorect datele primite, ceea ce duce la modificarea setărilor într-o stare invalidă.
Pentru a exploata cu succes vulnerabilitatea, un atacator trimite o cerere malițioasă, abuzând de comanda de scriere logică tipizată protejată pentru a suprascrie numărul de rutină de eroare din fișierul de stare cu o valoare invalidă, cum ar fi 0x01 sau 0x02. Atunci când numărul de rutină de eroare este suprascris cu o valoare invalidă și dispozitivul trece în modul RUN printr-un alt pachet CIP, acesta declanșează o eroare și oprește execuția.
Exploatarea vulnerabilităților
Atacul poate fi împărțit în 4 etape.
- Stabiliți o conexiune cu dispozitivul prin Ethernet/IP pentru a obține gestionarul sesiunii.
- Trimiteți cererea malițioasă pentru a suprascrie numărul de rutină de defecțiune.
- Creați un pachet CIP malițios pentru a comuta din nou PLC-ul în modul Run pentru a declanșa defecțiunea.
- Dispozitivul întâmpină o defecțiune și oprește execuția.
Pentru a comunica cu dispozitivul, un atacator trebuie să inițieze o conexiune prin înregistrarea unei sesiuni cu dispozitivul, pentru a obține gestionarul sesiunii și a-l utiliza pentru comunicarea continuă. Următorul cod demonstrează o cerere standard de înregistrare a sesiunii:
Ulterior, un atacator creează o cerere folosind mânerul de sesiune obținut anterior și include o sarcină utilă cu o comandă de scriere logică tipizată protejată pentru a suprascrie numărul de rutină de eroare, încapsulată într-un pachet CIP.
În ultima etapă, se trimite un alt pachet CIP pentru a comuta dispozitivul în modul de funcționare și pentru a declanșa defecțiunea.
După cum se vede în imagine, execuția PLC-ului este oprită, iar vulnerabilitatea este exploatată cu succes.
Remediere
OPSWATProdusele ICS pentru securitatea ICS sunt concepute pentru a rezista la aceste tipuri de atacuri. MetaDefender OT Security este un instrument de detectare a amenințărilor și de inteligență bazat pe inteligență artificială care detectează orice solicitări anormale din partea atacatorilor, permițând administratorilor să identifice potențialele amenințări.
MetaDefender OT Security dispune de următoarele capacități pentru a îmbunătăți poziția de securitate a mediilor OT:
- Descoperă și construiește rapid un inventar al activelor cu ajutorul profilului inteligent al activelor
- Monitorizează activ și pasiv amenințările și anomaliile
- Managementul patch-urilor de la distanță cu capabilități de patch-uri centralizate și automate
- Fluxul de lucru structurat și simplificat al alertelor de risc, gestionat de un tablou de bord cuprinzător și personalizabil.
- Rapoarte de conformitate cu reglementările globale, regionale și sectoriale
În plus, MetaDefender OT Security poate fi integrat și cu MetaDefender Industrial Firewall pentru a împiedica cererile rău intenționate să afecteze dispozitivele detectate de OT Security. MetaDefender Industrial Firewall este ultima linie de apărare care protejează PLC-urile critice, VFD-urile, RTU-urile și alte active industriale. Acesta aplică politici foarte granulare de acces la dispozitive și impune zone de acces la dispozitive, asigurându-se că niciun acces neautorizat sau nicio modificare nu poate afecta hardware-ul critic.
Împreună, cele două creează un IDPS (sistem de detectare și prevenire a intruziunilor) perfect, care detectează și previne în mod eficient orice conexiuni de rețea anormale, cereri, comunicări etc. care afectează rețeaua.
MetaDefender OT Security oferă o protecție crucială pentru infrastructurile critice prin vizibilitatea activelor și prin detectarea robustă a amenințărilor. Dincolo de performanțele sale tehnologice, OPSWAT oferă oportunități de carieră interesante pentru persoanele pasionate de securitatea cibernetică. Alăturați-vă nouă în modelarea viitorului securității și în protejarea a ceea ce contează cel mai mult. Explorați roluri diverse și proiecte de impact la OPSWAT, unde expertiza dvs. poate face o diferență tangibilă. Împreună, haideți să protejăm cele mai vitale sisteme ale lumii.