Örömmel mutatunk be egy technikai elemző blogsorozatot, amely a különböző CVE-kre (közös sebezhetőségek és kitettségek) összpontosít, amelyeket fejlett fenyegetés-felderítési technológiáinkkal azonosíthatunk és orvosolhatunk.Minden kutatást olyan végzős hallgatók végeznek, akik részt vettek a OPSWAT Cybersecurity Fellowship programban, amely 2023 decemberében indult.
Ebben a blogban a Rockwell Micrologix CVE-2017-14469-et ismertetjük, és azt, hogy a szervezetek hogyan védekezhetnek a CVE- 2017-14469 kihasználási támadások ellen.
Rockwell Automation MicroLogix 1400 vezérlő
A PLC (programozható logikai vezérlő) egy olyan számítógép, amelyet kifejezetten ipari gyártási folyamatok vezérlésére terveztek. Kritikus infrastrukturális ágazatokban használják, például összeszerelősorok, gépfelügyelet, folyamatirányítás stb. esetén. A Rockwell Automation MicroLogix 1400 Controller egy moduláris és bővíthető PLC, amely nagyszámú I/O-val, gyors nagysebességű számlálóval és kibővített hálózati támogatással rendelkezik, így az alkalmazások széles köréhez alkalmas.
14469
A Rockwell Automation MicroLogix 1400 Series B FRN 21.2 és korábbi verziókban található sebezhetőség lehetővé teszi a támadó számára, hogy érzékeny adatokat olvasson és írjon/felülírjon az eszközön. Egy nem hitelesített, speciálisan kialakított, parancsot tartalmazó csomag a felhasználó által definiált hibarutin számának módosításához vezethet, ami az eszköz végrehajtásának váratlan leállásához vezet.
A National Vulnerability Database (NVD) ezt a sebezhetőséget "kritikusnak" minősítette, maximális CVSS (Common Vulnerability Scoring System) pontszámmal. Hatása jelentősen befolyásolhatja az eszköz titkosságát, integritását és rendelkezésre állását anélkül, hogy további hitelesítést igényelne. A rendszer rendelkezésre állása kulcsfontosságú, különösen a kritikus infrastrukturális rendszerek esetében, ahol bármilyen fennakadás vagy leállás hatalmas pénzügyi veszteségekhez vagy akár fizikai károkhoz is vezethet. Ez a CVE a PLC funkcióinak leállásához vezethet a vezérlőn belüli "rendszerhiba" kiváltásával, ami a kritikus infrastrukturális rendszerek megzavarásának kockázatát jelenti.
Sebezhetőségi elemzés
A hiba fogalma nagyon hasonlít a programozásban használt kivétel fogalmához. Hiba esetén az utasítás végrehajtása leáll, és az eszköz hibaállapotba kerül. A hibák kétféleképpen csoportosíthatók: felhasználói hibák és nem felhasználói hibák.
A hibák elhárítására kétféle mechanizmus létezik: automatikus elhárítás a vezérlő áramellátásának ciklikus megszakításával, vagy manuális elhárítás egy felhasználói hiba rutinnal, amely egy olyan eljárás, amely beállítható úgy, hogy a felhasználói hiba hatására automatikusan végrehajtódjon. A CVE-2017-14469 a második mechanizmusra vonatkozik. Annak megakadályozása érdekében, hogy a rendszer felhasználói hiba miatt váratlanul leálljon vagy leálljon a végrehajtás, egy felhasználói hiba rutin van definiálva a hozzárendelt hibák kezelésére a hibaszámuk alapján, és a megfelelő hiba bekövetkezésekor végrehajtásra kerül. Ha nincs a hiba kezelésére alkalmas rutin, a készülék leállítja a végrehajtást, és megjeleníti a hibaszámot. A felhasználói hiba rutin értéke 0x00, amikor a készülék normálisan működik, és csak a 0x03 és 0xFF közötti tartományban konfigurálható hibakezelésre.
A Rockwell Automation MicroLogix 1400-ban három üzemmódkapcsoló pozíció van: PROGRAM, REMOTE és RUN. Mind a PROGRAM, mind a REMOTE üzemmód lehetővé teszi a program letöltését a készülékre, ugyanakkor elfogadja és kezeli a bejövő kéréseket. RUN üzemmódban azonban a készülék csak korlátozott kéréseket fogad el. E sebezhetőséggel összefüggésben a kihasználás nem lehetséges, ha az eszköz RUN üzemmódban van.
- Tétlen üzemmód, programok letöltésére és szerkesztésére szolgál
- Válaszol a kommunikációs porton érkező üzenetekre
- Leállított végrehajtás és nincs kimenet
- Lehetővé teszi, hogy egy szoftveres munkamenet vezérelje a készüléket.
- Válaszol a kommunikációs porton érkező üzenetekre
- Normál végrehajtás és kimenet
A készülék CIP (Common Industrial Protocol) protokollon keresztül kommunikál PCCC kiterjesztéssel. A CIP protokoll az Ethernet/IP-reIndustrial protokoll) épül. A csomagok felépítése az alábbi ábrán látható:
Amint a fenti képen látható, nincs hitelesítésre kijelölt mező. Ez jelentős kihívást jelent, mivel az eszköz nem képes különbséget tenni a támadó kérései és a felhasználó normál forgalma között.
Általában a kezelő a vezérlőszoftveren keresztül felügyelheti és frissítheti a készülék konfigurációját. Az eszközzel való kommunikációhoz a Software megfelelő kérést küld egy védett gépelésű logikai írási vagy olvasási paranccsal, kitöltve a CIP PCCC objektumot. A CIP PCCC protokollformátumban a parancsot a parancskód és a funkciókód azonosítja.
Parancskód | Funkció kód | Leírás |
0x0F | 80 | Módváltás |
0x0F | 0xAA | Védett gépelt logikai írás három címmezővel |
0x0F | 0xA2 | Védett gépelt logikai olvasás három címmezővel |
A védett gépelésű logikai írási parancs az olyan érzékeny fájlokba való írásra szolgál, mint az állapotfájl, a bitfájl, a számlálófájl és az eszköz egyéb konfigurációi.
Az eszköz a CIP-csomagban három címmezőt használ az olvasás és írás helyének azonosítására: fájltípus, fájlszám és elemszám. Az alábbiakban néhány példaértéket talál a parancs által érintett konfigurációs fájlhelyeket azonosító értékekre:
Fájltípus | Fájlszám | Elemszámok | Leírás |
84 | 02 | 0x1d | Állapotfájl - Felhasználói hiba rutin száma |
84 | 02 | 06 | Állapotfájl - Főbb hibakód |
84 | 02 | 05 | Állapotfájl - Főbb hibakód |
Azonban a bemeneti érvényesítés hiányzik, amikor az eszköz kezeli a kérést; az írási parancsban elküldött adatokat nem ellenőrzi, és lehetővé teszi, hogy bármilyen érvénytelen értéket beállítson.
A sebezhetőséget két fő ok okozza. Először is, az eszköz nem képes hitelesíteni a bejövő kéréseket, így a támadó nem hitelesített kérést küldhet érzékeny beállítások módosítására. Másodszor, az eszköz helytelenül érvényesíti a bejövő adatokat, ami a beállítások érvénytelen állapotba történő módosításához vezet.
A sebezhetőség sikeres kihasználásához a támadó rosszindulatú kérést küld, visszaélve a védett gépelt logikai írási paranccsal, hogy az állapotfájlban a hiba rutinszámát érvénytelen értékkel, például 0x01 vagy 0x02 értékkel írja felül. Ha a hiba rutin számát érvénytelen értékkel írják felül, és az eszköz egy másik CIP csomagon keresztül RUN üzemmódba kapcsol, hibát vált ki, és leállítja a végrehajtást.
Sebezhetőség kihasználása
A támadás 4 lépésre osztható.
- Létesítsen kapcsolatot az eszközzel Ethernet/IP-en keresztül a munkamenetkezelő megszerzéséhez.
- Küldje el a rosszindulatú kérést a hiba rutinszámának felülírására.
- Készítsen egy rosszindulatú CIP csomagot, hogy a PLC-t újra futtatási üzemmódba kapcsolja a hiba kiváltásához.
- Az eszköz hibát észlel és leállítja a végrehajtást.
Az eszközzel való kommunikációhoz a támadónak kapcsolatot kell kezdeményeznie azáltal, hogy munkamenetet regisztrál az eszközön, hogy megszerezze a munkamenetkezelőt, és azt használja a folyamatos kommunikációhoz. A következő kód egy szabványos munkamenet-regisztrációs kérést mutat be:
Ezt követően a támadó a korábban megszerzett munkamenet-kezelőt használva kérést készít, és egy CIP-csomagba csomagolt, a hiba rutinszámának felülírására szolgáló, védett, gépelt logikai írási parancsot tartalmazó hasznos terhet tartalmaz.
Az utolsó lépésben egy újabb CIP-csomagot küldünk, hogy a készüléket futtatási üzemmódba kapcsoljuk, és kiváltsuk a hibát.
Ahogy a képen látható, a PLC végrehajtása megáll, és a sebezhetőséget sikeresen kihasználják.
Helyreállítás
OPSWATICS-biztonsági termékeit úgy tervezték, hogy ellenálljanak az ilyen típusú támadásoknak. MetaDefender OT Security egy mesterséges intelligencia alapú fenyegetésérzékelő és -felderítő eszköz, amely észleli a támadók minden rendellenes kérését, és lehetővé teszi a rendszergazdák számára a potenciális fenyegetések azonosítását.
MetaDefender OT Security a következő képességekkel rendelkezik az OT-környezetek biztonsági helyzetének javítása érdekében:
- Gyorsan felfedezi és felépíti az eszközleltárt a Smart Asset Profiling segítségével
- Aktívan és passzívan figyeli a fenyegetéseket és anomáliákat.
- Távoli javításkezelés központosított, automatikus javítási képességekkel
- Strukturált és racionalizált kockázati riasztási munkafolyamat, amelyet egy átfogó és testreszabható műszerfal irányít.
- Globális, regionális és ágazati szabályozási megfelelési jelentések
A MetaDefender OT Security emellett integrálható a következőkkel is MetaDefender Industrial Firewall hogy megakadályozza, hogy az OT Security által észlelt rosszindulatú kérések hatással legyenek az eszközökre. A MetaDefender Industrial Firewall az utolsó védelmi vonal, amely védi a kritikus fontosságú PLC-ket, VFD-ket, RTU-kat és más ipari eszközöket. Nagymértékben granuláris eszköz-hozzáférési irányelveket alkalmaz, és érvényre juttatja az eszköz-hozzáférési zónákat, biztosítva, hogy semmilyen jogosulatlan hozzáférés vagy változtatás ne befolyásolhassa a kritikus hardvert.
A kettő együtt egy zökkenőmentes IDPS-t (behatolásérzékelő és -megelőző rendszer) alkot, amely hatékonyan észleli és megakadályozza, hogy bármilyen rendellenes hálózati kapcsolat, kérés, kommunikáció stb. hatással legyen a hálózatra.
MetaDefender OT Security az eszközök láthatósága és a robusztus fenyegetésérzékelés révén kulcsfontosságú védelmet nyújt a kritikus infrastruktúrák számára. az OPSWAT a technológiai teljesítményén túlmenően izgalmas karrierlehetőségeket kínál a kiberbiztonság iránt szenvedélyesen érdeklődők számára. Csatlakozzon hozzánk a biztonság jövőjének alakításában és a legfontosabb dolgok védelmében. Fedezze fel a változatos szerepköröket és a nagy hatású projekteket az OPSWAT oldalon, ahol a szaktudása kézzelfogható változást hozhat. Védjük meg együtt a világ legfontosabb rendszereit.