Tudjon meg többet Benny Czarny „Cybersecurity Upside Down” című könyvéről

Bővebben
A nem angol nyelvű oldalak fordításokhoz AI-t használunk, és bár törekszünk a pontosságra, nem biztos, hogy mindig 100%-os az eredmény. Megértését nagyra értékeljük.

OT-rendszerek védelme távoli támadások ellen: Hogyan védi a MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-2021-22659-től?

Írta: OPSWAT
Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől
OPSWAT ösztöndíjprogram résztvevői

Az ipari vezérlőrendszerek és OT-környezetek védelme a távoli támadások ellen kritikusabb, mint valaha, különösen az olyan sebezhetőségek miatt, mint a CVE-2017-14469 és most a CVE-2021-22659, amelyek a Rockwell Automation széles körben használt Micrologix 1400 vezérlőjét célozzák. Az OPSWAT ösztöndíjprogram hallgatói ellenőrzött környezetben tesztelték ezt a sebezhetőséget, rávilágítva a biztonság szükségességére.

Ebben a blogban azt vizsgáljuk meg, hogyan mutatták be a diákok, hogyan használhatják ki a támadók a sebezhetőséget a rendszerek összeomlásához, és hogyan lehet a megfelelő bemeneti érvényesítés hiányát kihasználni a PLC működésének megzavarására.

Mi az a PLC? A Rockwell Automation Micrologix 1400 magyarázata

A PLC (programozható logikai vezérlő) egy ipari számítógép, amelyet arra terveztek, hogy automatizáljon folyamatokat a gépek és egyéb ipari műveletek vezérlésével. Kemény környezetben is működik, és úgy van programozva, hogy az érzékelő bemenete alapján meghatározott feladatokat hajtson végre. A Rockwell Automation MicroLogix 1400 vezérlője egy kompakt és moduláris PLC, amelyet általában kis és közepes méretű alkalmazásokban használnak. Költséghatékonyságáról és rugalmasságáról ismert, különböző kommunikációs protokollokat támogat, és digitális és analóg I/O lehetőségeket kínál az eszközökhöz való kapcsolódáshoz.

Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől

A programozás jellemzően a Rockwell Automation szoftverével történik, létra logikán keresztül, amely lehetővé teszi a felhasználók számára, hogy vezérlési szekvenciákat hozzanak létre. A MicroLogix 1400 sokoldalú, alkalmas például gépvezérlési és folyamatautomatizálási feladatokra. Moduláris felépítése lehetővé teszi a felhasználók számára, hogy a rendszert az adott alkalmazási követelmények alapján bővítsék és testre szabják.

Bevezetés a CVE-2021-22659-be

2021 januárjában a Rockwell Automation jelentést kapott Parul Sindhwadtól és Dr. Faruk Kazitól, az indiai Veermata Jijabai Technológiai Intézet (VJTI) COE-CNDS részlegének munkatársaitól, amely a MicroLogix™ 1400 vezérlőben található biztonsági résről szólt. A 21.6-os és korábbi verziókban olyan biztonsági hibát azonosítottak, amely lehetővé teszi egy távoli, hitelesítetlen támadó számára, hogy egy speciálisan kialakított Modbus-csomagot küldjön, amellyel a támadó véletlenszerű értékeket olvashat ki vagy módosíthat a regiszterben. A hiba sikeres kihasználása puffer túlcsorduláshoz vezethet, ami szolgáltatásmegtagadási állapotot eredményez. A FAULT LED pirosan villog, és a kommunikáció megszakadhat. A szolgáltatásmegtagadási állapotból való kilépéshez a felhasználónak el kell hárítania a hibát.

Az NVD ezt a biztonsági sebezhetőséget magas súlyosságúnak értékelte.

Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől

Támadó fázisok

Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől

Egy távoli, nem hitelesített támadó, aki hálózati hozzáféréssel rendelkezik a sebezhető MicroLogix 1400 PLC-hez, speciálisan kialakított csomagot küldhet a regiszter értékeinek módosítására. Ez potenciálisan szolgáltatásmegtagadási állapotot idézhet elő az eszközön, ami a rendszer sérüléséhez és leálláshoz vezethet. Egy ilyen incidens jelentősen megzavarhatja a gyártási műveleteket és a szervezet egyéb üzleti tevékenységeit.

Modbus protokoll

A Modicon által 1979-ben kifejlesztett Modbus protokoll egy üzenetküldő struktúra, amelyet az intelligens eszközök közötti kliens-szerver kommunikáció létrehozására terveztek. Eredetileg a Modicon PLC-kkel való használatra tervezték, de azóta az ipari elektronikus eszközök közötti kommunikáció szabványos kommunikációs protokolljává vált.

Léteznek Modbus protokollok Ethernet (Modbus TCP) és soros vonalakhoz (Modbus RTU és Modbus ASCII). A Modbus RTU (Remote Terminal Unit) közvetlenül bináris formában továbbítja az adatokat soros kommunikáción keresztül, a Modbus TCP (Transmission Control Protocol) pedig a Modbus protokoll adatait TCP csomagokba ágyazza a TCP/IP hálózatokon történő továbbításhoz.

Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől

Modbus üzenetszerkezet

A Modbus egy kérés-válasz protokoll, amelyben az ügyfél kérést küld a Modbus eszköznek, és az eszköz ezt követően választ ad.

Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől

Az elsődlegesről a másodlagosnak küldött Modbus üzenet tartalmazza a másodlagos címét, a "parancsot" (pl. "regiszter olvasása" vagy "regiszter írása"), az adatokat és egy ellenőrző összeget (LRC vagy CRC).

Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől

Az adatcímeket a Modbus lekérdezési üzenetekben használják az adatok olvasásakor vagy módosításakor. A Modbus négy adattípust határoz meg: Bemeneti állapot, bemeneti regiszter és várakozási regiszter. Ezek közül kettő a tekercseknek és a diszkrét bemeneteknek nevezett on-off (1 bites) értékeket tárolja, kettő pedig a regisztereknek nevezett 16 bites szavakként tárolja a numerikus értékeket. Mindegyik csak olvasható vagy írható/olvasható.

Adattípus

Hozzáférés

Leírás

Tekercs

Írható-olvasható

Egybites kimenetek.

Diszkrét bemenet

Csak olvasható

Egybites bemenetek.

Bemeneti regiszter

Csak olvasható

16 bites bemeneti regiszterek.

Holding nyilvántartás

Írható-olvasható

16 bites kimeneti regiszterek.

A Modbus funkciókódoknak három kategóriája van:

  • Nyilvános funkciókódok - 1-től 127-ig, kivéve a felhasználó által meghatározott kódokat.
  • Felhasználó által meghatározott funkciókódok - két tartományban, 65-től 72-ig és 100-tól 110-ig.
  • Fenntartott funkciókódok - Egyes vállalatok használják a régi termékekhez, és nem állnak rendelkezésre nyilvános használatra.

Funkció típusa

Funkció neve

Funkció kód

Adathozzáférés

Bit hozzáférés

Fizikai diszkrét bemenetek

Diszkrét bemenetek olvasása

2

Belső bitek vagy fizikai tekercsek

Tekercsek olvasása

Egyetlen tekercs írása

Több tekercs írása

1

5

15

16 bites hozzáférés

Fizikai bemeneti regiszterek

Bemeneti regiszterek olvasása

4

Belső regiszterek vagy fizikai kimeneti regiszterek

Több holdingregiszter olvasása

Egyetlen holding regiszter írása

Többszörös holding regiszterek írása

Több regiszter olvasása/írása

Maszk írási regiszter

Olvasási FIFO sor

3

6

16

23

22

24

Fájlrekord hozzáférés

Fájlrekord olvasása

Fájl rekord írása

20

21

Diagnosztika

Kivétel állapotának olvasása

Diagnosztikai

Com eseményszámláló lekérése

Com eseménynapló lekérése

Slave azonosító jelentése

Eszközazonosítás olvasása

7

8

11

12

17

43

Egyéb

Kapszulázott interfész szállítás

43

Funkciótípus: Adathozzáférés
Altípus: Bit-hozzáférés
Kategória: Fizikai diszkrét bemenetek
Funkció neve: Diszkrét bemenetek olvasása
Funkciókód: 2

Funkciótípus: Adathozzáférés
Altípus: Bit-hozzáférés
Kategória: Belső bitek vagy fizikai tekercsek
Funkció neve: Tekercsek olvasása
Funkciókód: 1

Funkciótípus: Adathozzáférés
Altípus: Bit-hozzáférés
Kategória: Belső bitek vagy fizikai tekercsek
Funkció neve: Egyetlen tekercs írása
Funkciókód: 5

Funkciótípus: Adathozzáférés
Altípus: Bit-hozzáférés
Kategória: Belső bitek vagy fizikai tekercsek
Funkció neve: Több tekercs írása
Funkciókód: 15

Funkciótípus: Adathozzáférés
Altípus: 16 bites hozzáférés
Kategória: Fizikai bemeneti regiszterek
Funkció neve: Bemeneti regiszterek olvasása
Funkciókód: 4

Funkciótípus: Adathozzáférés
Altípus: 16 bites hozzáférés
Kategória: Belső regiszterek vagy fizikai kimeneti regiszterek
Funkció neve: Több tartóregiszter olvasása
Funkciókód: 3

Funkciótípus: Adathozzáférés
Altípus: 16 bites hozzáférés
Kategória: Belső regiszterek vagy fizikai kimeneti regiszterek
Funkció neve: Egyetlen tartási regiszter írása
Funkciókód: 6

Funkciótípus: Adathozzáférés
Altípus: 16 bites hozzáférés
Kategória: Belső regiszterek vagy fizikai kimeneti regiszterek
Funkció neve: Több tartóregiszter írása
Funkciókód: 16

Funkciótípus: Adathozzáférés
Altípus: 16 bites hozzáférés
Kategória: Belső regiszterek vagy fizikai kimeneti regiszterek
Funkció neve: Több regiszter olvasása/írása
Funkciókód: 23

Funkciótípus: Adathozzáférés
Altípus: 16 bites hozzáférés
Kategória: Belső regiszterek vagy fizikai kimeneti regiszterek
Funkció neve: Maszkíró regiszter
Funkciókód: 22

Funkciótípus: Adathozzáférés
Altípus: 16 bites hozzáférés
Kategória: Belső regiszterek vagy fizikai kimeneti regiszterek
Funkció neve: FIFO-sor olvasása
Funkciókód: 24

Funkciótípus: Adathozzáférés
Altípus: Fájlrekord-hozzáférés
Funkció neve: Fájlrekord olvasása
Funkciókód: 20

Funkciótípus: Adathozzáférés
Altípus: Fájlrekord-hozzáférés
Funkció neve: Fájlrekord írása
Funkciókód: 21

Funkciótípus: Diagnosztika
Funkció neve: Kivételi állapot olvasása
Funkciókód: 7

Funkciótípus: Diagnosztika
Funkció neve: Diagnosztika
Funkciókód: 8

Funkciótípus: Diagnosztika
Funkció neve: Com-esemény-számláló lekérése
Funkciókód: 11

Funkciótípus: Diagnosztika
Funkció neve: Get Com Event Log
Funkciókód: 12

Funkciótípus: Diagnosztika
Funkció neve: Szolga-azonosító jelentése
Funkciókód: 17

Funkciótípus: Diagnosztika
Funkció neve: Eszközazonosító olvasása
Funkciókód: 43

Funkciótípus: Egyéb
Funkció neve: Kapcsolt interfész-átvitel
Funkciókód: 43

Kihasználás

Sebezhetőségi elemzés

Az OPSWAT diplomás ösztöndíjasai az elemzés során felfedezték, hogy a Modbus TCP kommunikáció során a protokollból hiányzik a hitelesítés és a titkosítás a továbbított csomagok esetében. Ezenkívül a MicroLogix 1400 PLC-ben a bemeneti érvényesítés nem megfelelően van végrehajtva. Következésképpen egy távoli támadó elemezheti a Modbus TCP csomagot a csomagok szimatolásával, és a Modbus TCP protokollon keresztül hitelesítés nélkül bármilyen kérést küldhet a PLC-nek. A MicroLogix 1400 PLC eszköz bemeneti érvényesítésének hiánya miatt egy távoli hitelesített támadó nagyszámú csomagot küldhet véletlenszerű értékekkel, ami a PLC összeomlását okozhatja.

Regiszter felülírása

Kezdetben a PLC regisztereinek olvasásához vagy írásához használt Modbus TCP csomagok rögzítésére tettünk kísérletet. Ehhez megvizsgáltuk a Modbus Poll nevű alkalmazás által generált csomagokat, amely megkönnyíti a MicroLogix 1400 PLC regisztereinek olvasását és írását.

Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől

A Wireshark segítségével a hálózati interfész összes csomagjának rögzítésével azonosítani tudtuk a Modbus TCP csomagot egyetlen regiszter írásához:

Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől
Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől

A szippantott csomagok szerkezete alapján egy egyszerű Python szkriptet fejlesztettünk ki, amely TCP csomagokat küld a cél-PLC egy regiszterének írását kérve. Ebben a forgatókönyvben a PLC IP-címe 192.168.93.89.

Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől

A PLC regisztere a rosszindulatú, nem hitelesített csomagunk fogadása után megváltozott.

Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől
Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől

A Micro Logix 1400-ban a legtöbb matematikai utasítás három paramétert használ: Forrás A, Forrás B és Cél

Az A és B forrás értékei két 16 bites regiszterből származhatnak, amelyek neve N13:3 és N13:4. Továbbá, ezekben a 16 bites regiszterekben, mint például az N13:3 és N13:4, az értékek a -32,768 és +32,767 közötti tartományban vannak korlátozva. Ha az N13:3 és az N13:4 értékei nagyok, a megfeleltetési utasítás eredménye meghaladhatja az adattípus maximális tartományát, ami a PLC összeomlását okozhatja. Következésképpen a PLC összeomlásának előidézéséhez nagy véletlen értékeket kell írni az összes regiszterbe, beleértve az N13:3-at és az N13:4-et is. Ennek eléréséhez a Python szkriptünket a következőképpen módosítottuk:

Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől

Szimulálja a támadást

Egy valós támadás szimulálása érdekében az OPSWAT diplomás ösztöndíjasai megpróbáltak összeomlást előidézni az OPSWAT CIP Laboratóriumában található MicroLogix 1400 PLC-ben, feltételezve, hogy a támadó és a PLC ugyanazon a hálózaton van, és képes kommunikálni egymással.

Az OPSWAT Labs MicroLogix 1400 PLC normál működési állapotában, amikor a PLC REMOTE RUN üzemmódban van, minden regiszterérték érvényes, és az adattípusuknak megfelelő tartományba esik, ami azt jelzi, hogy a felhasználói program megfelelően működik.

Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől

A Python szkriptünk végrehajtásakor számos Modbus TCP csomagot küldünk a PLC-nek, amelyek nagy, véletlenszerű értékek írását kérik az összes regiszterbe hitelesítés nélkül:

Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől

A rosszindulatú csomagkérések fogadása után az összes regiszter értékei, beleértve az N13:3 és N13:4 regisztereket is, 16,990 értékre kerülnek. Az N13:3 és N13:4 regisztereken végzett ADD művelet eredménye meghaladja a 16 bites regiszterek érvényes tartományát. Ez a probléma egész szám túlcsordulást okoz, ami hibához vezet és megszakítja a PLC működését, amit a FAULTED állapot jelez.

Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől

OPSWAT diplomás ösztöndíjasaink a CVE-2021-22659 kihasználásával sikeresen megzavarták a MicroLogix 1400 PLC-t.

Helyreállítás

Az OT-rendszerek védelme a távoli támadások ellen: Hogyan védi az MetaDefender OT Security™ a Micrologix™ 1400 vezérlőt a CVE-20 sebezhetőségtől

A CVE-2021-22659-hez hasonló sebezhetőségekkel szemben az átfogó javítás kulcsfontosságú az OT és a kiberfizikai rendszerek védelme szempontjából. Az alábbiakban bemutatunk néhány kulcsfontosságú stratégiát, amelyekkel megelőzhető a támadások terjedése:

  1. Ismert CVE-k felderítése: A hálózatok rendszeres ellenőrzése a CVE-2021-22659-hez hasonló sebezhetőségek után.
  2. A rendellenes viselkedés megfigyelése: A Micrologix 1400 PLC-vel való kommunikáció szokatlan gyakoriságnövekedésének jelzése, ami egy folyamatban lévő, jogosulatlan adatátvitelre irányuló támadásra utalhat.
  3. Új eszközkapcsolatok azonosítása: A rendszernek észlelnie kell, ha egy új eszköz csatlakozik a PLC-hez.
  4. Hálózati szegmentáció: Az érintett eszközök elkülönítése segíthet megakadályozni a támadások oldalirányú terjedését, és így minimalizálni a hatást.

Az OPSWAT MetaDefender OT Security megoldja ezeket az igényeket a CVE-k észlelésével, a hálózat szokatlan viselkedésének folyamatos megfigyelésével és a nem engedélyezett kapcsolatok azonosításával. A mesterséges intelligencia segítségével megtanulja a normál forgalmi mintákat, meghatározza az alapszintű viselkedést, és házirendeket vezet be az anomáliák riasztására. Ez lehetővé teszi az azonnali, megalapozott válaszokat a potenciális fenyegetésekre.

A CVE-2021-22659-et kihasználó támadás esetén a MetaDefender OT Security integrálódik a MetaDefender Industrial Firewall , hogy a beállított szabályok alapján blokkolja a gyanús kommunikációt. A tűzfal a mesterséges intelligencia segítségével megtanulja a rendszeres forgalmi mintákat, és a jogosulatlan kapcsolatok megakadályozása érdekében házirendeket érvényesít.

Ezeknek az észlelési, riasztási és hálózati szegmentálási képességeknek az ötvözésével az MetaDefender OT Security ideális védelmi megoldássá válik az ipari környezetek számára, jelentősen csökkentve a kiberfenyegetések kockázatát és hatását az operatív technológiai környezetekben.

Fedezze fel, hogy az OPSWATmélységében védekező kiberbiztonsági platformja hogyan javíthatja és fejlesztheti ki az Ön védelmi helyzetét. Beszéljen még ma egy szakértővel egy ingyenes demóért.

Maradjon naprakész az OPSWAT oldalon!

Iratkozzon fel még ma, hogy megkapja a legfrissebb vállalati híreket, történeteket, rendezvényinformációkat és egyebeket.