Az előző heti posztban a vasúti vezérlésért felelős rendszerek biztonságát kezdtem el áttekinteni. Az általánosságok után most egy kicsit mélyebben fogom vizsgálni a vasúti vezérlőrendszerek egyedi komponenseit és fenyegetettségeit.
Vasúti rendszerek jellemző fenyegetései
A CBCS rendszerekkel kapcsolatban jellemzően három fő fenyegetési csoportot szoktak említeni:
- A vonatok mozgásának biztonságával kapcsolatos fenyegetéseket;
- Olyan fenyegetések, amelyek csökkenthetik vasúti kapacitások hatékony kihasználását, illetve egyéb gazdasági hatékonyságot rontó tényezők;
- A funkcionális biztonságot és megbízhatóságot rontó fenyegetések, amelyek indirekt módon hatnak a vasút üzemeltetésére és biztonságára.
A vasúti biztonság kompromittálása szakértők szerint az egyik legnehezebben elérhető cél a támadók számára, mert először meg kell kerülniük a számítógépes biztosító berendezések (Computer-based Interlocking, CBI) funkcionális biztonsági mechanizmusait. Ha ezeket nem tudják távolról (pl. rádiós kommunikációs csatornán keresztül) kompromittálni, akkor a biztosító rendszer moduljainak működési logikáját kell célba venniük, ami igen bonyolult. Ha azonban egy támadó el tud jutni idáig, akkor képes lehet manipulálni a jelző és vezérlő berendezéseket (pl. szabad jelzést adni egy pályaszakaszon, egy áthaladó szerelvény alatt működtetni a váltóberendezést vagy akár szerelvények összeütközéséhez vezető módosításokat végrehajtani).
Ezeket a fenyegetéseket nem csak a napjainkban egyre többször emlegetett, gyakran állami háttérrel rendelkezőnek feltételezett támadók jelentik, hanem a teljesen hétköznapi (bár egyáltalán nem barkács-módon fejlesztett) malware-ek (pl. Conficker) is elő tudják idézni (ahogy ezt láthattuk nemrég a németországi gudmingeni atomerőművet érinti incidens esetén is), ez akár még egy nem célzott támadás esetén is komoly üzemzavarhoz vezethetnek.
A számítógépes vasúti vezérlőrendszerek fenyegetéseinek modellezéséhez alapvető lépés, hogy a CBI rendszer komponenseinek, funkcionális moduljainak, ezek működésének illetve sérülékenységeinek megismerése. Ezek részletes ismertetése túlmutat a mai poszt keretein, ezért csak felsorolom a legfontosabb komponenseket és főbb funkcióikat:
- Központi feldolgozó egység (CP/CPU) - ez a komponens fogadja a munkaállomásoktól és egyéb rendszerektől érkező információkat, feldolgozza azokat és ellenőrzi, hogy az egyes utasítások elfogadhatóak-e a szerelvény helyzete és a jelző- és vezérlőrendszerek állapota alapján. A CP/CPU-k célszoftvereket futtatnak, azonban teljesen átlagos operációs rendszerekkel működnek - ezért is jelentenek a hétköznapi malware-ek fenyegetést számukra.
- A biztosítóberendezés feldolgozó egysége (Interlocking Processing Unit) gyakran része a CP/CPU-nak hajtja végre azokat a főbb utasításokat, amik a váltó- és jelzőrendszereket irányítják. Ezek biztosítják a vasútbiztonsági szabályoknak való megfelelést is.
- A berendezések vezérlői (Object Controllers, OC) fogadják a CP/CPU-tól érkező utasításokat és alakítják át őket vezérlési jelekké a vasúti pályán működő berendezések számára, majd küldik vissza a berendezések állapotáról szóló információkat.
- Az üzemeltető és kiszolgáló személyzet munkaállomásai a vasúti folyamatvezérlő rendszer HMI berendezései, ezekről tudják ellenőrizni a szerelvények helyzetét, a jelzőberendezések és váltók állapotát és utasításokat is küldeni ezeknek. Ezek a munkaállomások jellemzően specializált szoftvereket futtatnak, időként még beépített biztonsági funkciókkal is rendelkeznek, azonban itt is leginkább általános célú operációs rendszerek (gyakran Windows-t) használnak. Emiatt is meglehetősen nagy támadási felületet jelentenek, hiszen számos úton (hálózaton, USB portokon, stb.) lehetséges támadni őket.
- A hálózati kommunikáció ugyanúgy gyenge pontja a számítógépes vasúti vezérlőrendszereknek, mint minden más ICS rendszernek, ebben az esetben is szabványos és specializált (időnként elavult) protokollokon kommunikálnak a rendszerek elemei egymással. A távoli adminisztrációs lehetőségek szintén növelik ezeknek a rendszereknek a kockázatait.
A vasúti rendszerekkel kapcsolatos támadási lehetőségek elemzése során mindenképp szem előtt kell tartani, hogy ezeknek a rendszereknek számos komponense nem hasonlít az informatikában megszokott eszközökhöz - ez persze a különböző ipari rendszerek biztonságával foglalkozó szakemberek számára nem újdonság, de a vasúti rendszerek biztonságával foglalkozó emberek jellemzően nem más iparágakban már tapasztalatot szerző szakemberek, hanem általában a vállalati IT biztonság területéről érkeznek, nekik pedig ezek a különbségek elsőre meglepőek lehetnek. Ahogy korábbi posztokban már említettem, az ipari rendszereknél a biztonság (safety) elsődleges prioritás, minden más szempontnál fontosabbak, így a hiba esetén biztonságos állapotba történő visszatérésük (fail-safe mechanizmusok) is minden másnál fontosabbak, a központi feldolgozó egységek (CP/CPU-k) működése is ezt a funkciót célozza.
Ahhoz, hogy egyenszilárd kiberfenyegetettségi modellt lehessen kidolgozni a vasúti rendszerekre vonatkozóan, pontosan azonosítani kell a támadások során célba vett hozzáférési pontokat. A vasúti rendszerek esetén (hasonlóan más, legalább részben informatikai eszközökből épült rendszerekhez) a támadások legvalószínűbb célpontjai azok a külső interfészek lesznek, amiken keresztül a támadók hozzáférést szerezhetnek a rendszer egyes komponenseihez. A vasúti rendszerek, nagy földrajzi kiterjedésük miatt jelentős mértékben építhetnek a vezeték nélküli kommunikációs megoldásokra, illetve szintén a nagy távolságok miatt a fizikai távközlési vonalakra történő illegális rácsatlakozás sem lehetetlen.
A támadások egyaránt lehetnek helyi és távolról végrehajtott támadások. A helyileg végrehajtott támadások gyakran függnek attól, hogy milyen típusú interfészen keresztül próbálnak meg a támadók hozzáférni a rendszerhez. Ilyen támadási forma lehet például a jelzőberendezések áramellátásának manipulálása vagy a vasúti pálya mellett működő vezérlőberendezésekre történő fizikai rácsatlakozás. Ugyanakkor a vasúti pálya mellé telepített vezérlőberendezések egy része ma már rádiós kommunikációra is képes, ezeket akár távolról is lehet támadni. A kommunikációs csatornák és hálózati protokollok elleni támadásokhoz akár egy általános (pl. Windows) operációs rendszerre fejlesztett malware is elegendő lehet - erre is láttunk már példát a múltban.
Ahhoz, hogy egy ilyen támadás sikeres legyen, persze át kell jutni a CBI-t az ügyviteli hálózatoktól és az Internettől elválasztó átjárókon és egyéb határvédelmi megoldásokon, azonban ahogy egyre gyakrabban látható, hogy ICS rendszerek és komponenseik (RTU-k, PLC-k, soros-Ethernet átalakítók, stb.) lesznek elérhetőek az Internetről, egyre valószínűbbnek tartom, hogy már ma is hozzá lehetne férni egyes vasúti rendszerekhez - ha pedig tévedek és nincs így, akkor is napról-napra közelebb járunk ehhez. Mindennél fontosabb, hogy az emberéletek megóvásáért is felelős rendszerek izoláltsága fennmaradjon, ha pedig már sérült, akkor minél előbb legyen megszüntetve a kapcsolat a publikus hálózatok és a CBI/CBCS rendszerek között.
A CP/CPU-k és IPU-k rendelkeznek olyan mechanizmusokkal, amelyek a rendszerek működésének sértetlenségét hivatottak biztosítani és meg kell előzniük váltók jogosulatlan módosításait, ezek csökkentik ugyan egy sikeres támadás esélyét, de a kommunikációs csatornák és a vasúti pálya mentén működő eszközök elleni támadásokkal vagy egy közbeékelődéses támadással jóval könnyebben lehet a rendszer adatait manipulálni. Ugyanígy célpontot jelenthetnek a CBCS munkaállomásai, illetve a munkaállomások és a CP/CPU-k közötti kommunikációra hálózati protokollok is. A rendszerben használt operációs rendszerek (pl. a munkaállomásokon futó példányok) sérülékenységei szintén támadások célpontjává teheti magát a CBI rendszert is, ennek használhatatlanná tétele komoly fennakadásokat okozhat a vasúti közlekedésben, súlyosabb esetben a legfontosabb szempontok, a biztonság (safety) és a megbízhatóság is veszélybe kerülhetnek.
A CBCS modellek használatával végzett fenyegetés-elemzések segíthetnek feltárni a legvalószínűbb támadási formákat és azokat a biztonsági mechanizmusokat, amikkel meg lehet előzni, hogy a támadók sikerrel járjanak. A vasúti rendszerek kiberbiztonságának kialakításához egyszerre kell tanulmányozni a vasúti forgalom és funkcionális biztonság egyedi vonásait és az IT biztonság helyzetét, ezzel segítve annak megértését, hogyan működik a vasút és hogyan értékelik a vasúton dolgozók az olyan negatív hatású eseményeket, amik az emberek biztonságát és a vasút megbízható működését veszélyeztetik. Ezek együttes megértése és elemzése fogja lehetővé tenni, hogy a kiberbiztonsági eljárásokat hatékonyan integrálni lehessen a vasútbiztonsági és üzemeltetési eljárásokba.