2010 júniusában a VirusBlokAda IT-biztonság-technikai cég szakemberei egy új számítógépes féreg tanulmányozásába kezdtek. Meglehetősen nagy mérete már az elején szemet szúrt nekik, de mikor elkezdték mélyebben is beleásni magukat a kártevő program kódjába (ami egyáltalán nem volt egyszerű), akkor egymás után érték őket a meglepetések. Eléggé gyorsan nyilvánvalóvá vált, hogy itt nem egy szokásos vírusról van szó, hanem valami nagyon más dologról. Valami sokkal komolyabbról. Folytatni kezdték az elemzést, a férget pedig a benne megtalált kulcsszavak alapján Stuxnet féregnek nevezték el.
Ám most menjünk vissza az időben egy kicsit. A történet ugyanis 1995-ben kezdődött, amikor Irán úgy döntött, hogy nagyhatalmi státuszának megerősítéséhez felújítja atomprogramját. Az ország rendelkezik ugyan kitermelhető urán-nyersanyaggal, de akkor még semmilyen más szükséges technológia nem volt a birtokában.
Ezért 2002-ben hozzáláttak egy szép új urándúsító üzem építésének Natanzban. Ez a 100000 négyzetméteres komplexum eleve a föld alatt épült 8 méter mélyen. 2.5 méter vastag erősített vasbeton tetőszerkezettel, és még további 22m vastag földtakaróval fedték be.
2005 júniusában aztán elnökké választották Mahmud Ahmadinedzsádot, a populista vezért, aki alapvető célul tűzte ki Izrael megsemmisítését. Ennek érdekében aztán felgyorsította az ország atomprogramját, jó néhány ellenséget gyűjtve be ezzel. Ahmadinedzsád viszont jól mérte fel a politikai lehetőségeit: ugyan sok országnak nem tetszett, hogy Irán csatlakozni akar az atomklubhoz, de a kötelező szájkaratén kívül más nem történt. 2006 körül elég sok elemzés látott napvilágot Natanz lehetséges lebombázásának forgatókönyvével (ne felejtsük el: Izrael már csinált egyszer ilyet, és az USA sem megy ilyenkor a szomszédba tanácsért), de végül egyik elképzelés sem valósult meg.
Ám ez nem jelentette azt, hogy az atomprogramban ellenérdekelt országok nem is tettek volna semmit. Valamikor 2008-ban egy legalább 15-20 főből álló válogatott csoport kezdte meg a munkát egy titkos létesítményben. A feladatuk egy olyan program írása volt, mely képes szabotálni, akadályozni a natanzi üzem működését, és ezzel visszavetni az iráni atomprogramot. A csapat informatikusokból, hackerekből, nukleáris technikai szakemberekből, Siemens-specialistákból és hírszerzőkből állt.
Nem tudjuk, hogy kik voltak, de gyanú azért van.
Vélelmezhetően Izrael kapott ugyanis a Moammer Kadhafitól lefoglalt IP-1-es centrifugákból, melyekből kitűnően fel lehetett építeni egy tesztrendszert Dimonában. Egy ilyen program megírásánál ez elengedhetetlen.
Amúgy a szoftveres szabotázs sem új találmány: a CIA egyszer már élt ezzel az eszközzel egy szovjet gázvezeték esetében.
Az első feladatuk a natanzi üzem felépítésének és működésének felderítése volt. A program megírásához ugyanis igen pontos és részletes információkra volt szükség.
Itt most tegyünk egy rövid kitérőt, hogy érthető legyen a folytatás. Atomfegyver előállításához, mint ahogy már korábban is írtam róla, vagy Urán-235 izotópra, vagy Plutóniumra van szükség. Az utóbbit általában (katonai) atomreaktorokban lehet előállítani, de ezek működtetéséhez is urán-235 kell. A természetben viszont az U-235 elég ritka; a kibányászott urán ércnek csak mintegy 0.7%-a ilyen, a többi a célra kevésbé alkalmas U-238. Energetikai alkalmazásra ezt az arányt legalább 3-5%-ra, atombombához minimum 20%-ra kell feltornászni; de a gyakorlatban ez utóbbihoz inkább a 90% feletti dúsítás az ideális. A gond az, hogy az U-235 és az U-238 nagyon hasonló fizikai tulajdonságokkal rendelkeznek, így igen nehéz őket szétválogatni (tehát Hamupipőke szóba sem jöhet). Többféle módszer is ismert (lézeres, mágneses, stb.), de a leggyakoribb módszer a két izotóp icipici tömeg-eltérését használja ki. Ez az eltérés nagyon kicsi, de létezik. Tehát ha például az urán folyadék vagy gáz lenne, akkor elvben emiatt a tömeg-eltérés miatt a könnyebb U-235 a felszínre emelkedne, és kész is lennénk a szétválasztással. Sajnos az urán egy szilárd fém, és a földi viszonyok között a folyamat amúgy is túl lassú lenne.
Állítólag a Manhattan-terv költségeinek 90%-a a szükséges izotópok előállítására ment el. A feladat ma sem kevésbé költséges.
A gyakorlatban az uránércet különböző eljárásokkal urán-hexafluorid gázzá (UF6) tudják alakítani, majd a dúsítás végén vissza szilárd fémmé. A szétválasztás meg annál jobban megy, minél nagyobb gyorsulásnak tesszük ki a gázt, ezért centrifugálást végeznek rajta. Itt persze nem Hajdú háztartási centrifugákról van szó. A dúsító eszközök akár 90 000-et is fordulhatnak percenként (az otthoni centrifugák 90-szeresét), a kerületi sebességük pedig simán átlépheti a hangsebességet. Az örvények elkerülésére légüres térben forognak, és a hagyományos helyett mágnescsapágyazással rendelkeznek. A forgó rész lényegében nem is érintkezik az állóval. A forgórészek anyaga ma már tipikusan szénszálas kompozit. Ezekbe a dobokba eresztik be aztán a gázt. A hatalmas erőktől a centrifuga palástjánál megnő az U-238-ast tartalmazó gázmolekulák száma, a tengelynél lecsökken - ott tehát feldúsul az U-235. Némi melegítés után a dúsított és a ritkított gázok még jobban szétválnak és kivezethetők a centrifugából.
Egy centrifuga csak igen kis mennyiségű dúsított gázt képes előállítani, és annak a dúsítása sem túl nagy. Ezért többet kell belőle sorba kötni: így újra és újra kicentrifugázva végül már jelentőssé válik a gáz U-235 tartalma. Ezért aztán a gyártáshoz több centrifugát kötnek össze egymással egy bonyolult elrendezés alapján (ahol vissza és előre is áramlik gáz), ezt a rendszert kaszkádnak hívják. Egy kaszkád 164 centrifugából áll, és évente pár gramm U-235-öt állít elő. Egy atombomba elkészítéséhez nagyjából 1000 centrifuga működése szükséges egy éven át. Natanzban 2009-ben 8000 centrifuga volt.
Az tehát látszik, hogy ezek az eszközök meglehetősen magas technikai szintet képviselnek. Különösen érzékenyek a vibrációra, így a vezérlésükhöz komoly ipari vezérlőrendszerek szükségesek. Natanzban az embargó ellenére Siemens ipari vezérlő (cél)számítógépeket, úgynevezett PLC-ket telepítettek. Ezek vezérelték a fordulatszámot és ezek felügyelték a működést, a PLC-ket pedig egy számítógépes felügyeleti program tartotta kézben.
Ez alapján már ki is alakult az elképzelés az üzem megtámadásáról. A cél: a centrifugák tönkretétele hibás vezérléssel. Ez viszont egy cseppet sem volt egyszerű feladat. Mindjárt az első probléma az volt, hogy miként lehet bejutni az üzem területére. A létesítményt őrizték, és a belső informatikai hálózata (amire a centrifuga-vezérlő számítógépek is kapcsolódtak) nem volt összeköttetésben az Internettel. Tehát fizikai- és on-line betörésre nem volt lehetőség, a munkát célzott, rejtőzködő vírusprogrammal kellett elvégeztetni.
A Stuxnet program első fokozata tehát arra irányult, hogy a vírus valahogy bejusson az üzembe. Ehhez észrevétlennek kellett maradnia, tehát folyamatosan változó (mutálódó) módon álcázta magát, és terjedt. 2009 közepén kezdték terjeszteni elsősorban iráni területen, de mivel túl lassan terjedt, a fejlesztők kétszer is javítottak rajta. A program felügyeletére, távirányítására, és a mellékesen begyűjtött információ fogadására két szervert helyeztek üzembe az Interneten, ezekről monitorozták az eseményeket.
Feltehetően orosz csatornákon (USB-s pendriveken) át indult el a fertőzés a célpont irányába - mégpedig szándékosan.
Közvetlen hálózati kapcsolat hiányában a Stuxnet egy - akkor még kevésbé ismert - Windows-sérülékenységet használt ki. A hordozható adattárolók (pendrive, DVD, stb.) csatlakoztatásakor ugyanis a Windows automatikusan elindítja a rajta található autorun.inf fájlt, ami normális esetben egy szöveges állomány. Ám egy hiba miatt itt futtatható programot is el lehetett helyezni, ami utána már átvehette az irányítást az egész gép felett, minden további adathordozóra automatikusan kimásolva a fertőzött autorun.inf-et.
Így fertőzött annó a Conflicker féreg is. A támadás ellen egyszerű védekezni: le kell tiltani a Windowsban az automatikus indítást. De ezt Natanzban nem tették meg, így a Stuxnet hamarosan megjelent az üzem belső hálózatában is.
A következő lépésben a vezérlő számítógépekhez kellett eljutnia. Ehhez egy másik technikát vett igénybe: egyszerűen megszólította őket, és távoli műveletek végrehajtását kérte tőlük. Itt is volt egy biztonsági rés (amit senki sem ismert), azt kihasználva tovább fertőzhetett a féreg.
Érdemes megjegyezni, hogy a Stuxnet egyszerre négy még nem ismert sérülékenységet használt ki, ami rekord: átlagos féreg egyet szokott felhasználni. Ez is azt mutatja, hogy a készítők igen jól el voltak látva erőforrásokkal.
A komolyabb munkához viszont szüksége volt arra, hogy az operációs rendszer jogosultsági szintjén futhasson, így olyan dolgokhoz hozzáférhessen, ami "mezei" féregként nem lenne elérhető. Ezt a jogosultsági szintet viszont a Windows nem engedélyezi minden jött-ment programnak. Csak azok a szoftverek (elsősorban meghajtó-illesztő programok) kaphatnak teljes jogot a gépen, melyek rendelkeznek egy, a Microsoft által elismert fejlesztőcég digitális aláírásával. Nos, a Stuxnetnek történetesen volt ilyen. Kettő is.
De ki írna alá egy féregprogramot?
Egy szép 2009-es napon pár kockafejű ember lépett be a tajvani Hsinchu Science Park egyik épületébe. Itt volt a székhelye a JMicronnak és a Realteknek. Mindkettő jónevű fejlesztőcég, melyeket a Microsoft is elismer. Mikor ugyanezek az emberek már kifelé jöttek, a zsebükben lapuló adathordozón két lopott digitális aláíró-kulcs pihent. Ma már mindkettőt érvénytelenítették, de jó hosszú időn át lehetővé tették, hogy a Stuxnet teljes jogosultsággal dolgozhasson.
Hamarosan szükség is lett rájuk. Mikor a Stuxnet elérte a centrifuga-vezérlő számítógépeket, újabb akadály állta el az útját. Az iráni létesítmény Siemens PLC-ket használt, melyeket a Siemens WinCC programja tartott szoros ellenőrzés alatt. Ez egy zárt rendszer, ami ráadásul meglehetősen jól védett. A Windows megfertőzése önállóan még kevés ennek a manipulálására, márpedig az Interneten elég ritkán dokumentálják a zárt rendszerek sérülékenységeit. Durván persze be lehetett volna avatkozni, de ez feltűnő lett volna. Márpedig a Stuxnetnek észrevétlennek kellett maradnia. Ezért nem is a WinCC SCADA programot támadta meg, hanem a PLC-k és a WinCC közötti illesztőprogramot, az úgynevezett Step 7-et. Adminjogokkal felvértezve egyszerűen lecserélte ennek egy részét, így a saját modulja bekerült a PLC-k és az őket felügyelő program közé. Ezután simán átjátszotta az adatokat a kettő között, így sem a PLC-k, sem a WinCC nem vett észre semmit. Ehhez a Stuxnet egy olyan sérülékenységet használt ki, ami szintén nem volt ismert akkoriban, és igen jelentős mennyiségű Siemens-specifikus bennfentes információt igényelt.
Megjegyzés: 2008-ban az Idaho National Laboratory szakembereivel együtt a Siemens tanulmányozni kezdte az ipari folyamatirányító rendszerinek biztonságát. Akkor ott feltártak egy sor sérülékenységet, melyeket nem hoztak nyilvánosságra. Ettől persze még a jelentés eljuthatott a CIA és/vagy a MOSZAD kezébe...
A fertőzés végén a Stuxnet tehát már minden kommunikációs folyamatot kézben tartott, ami csak a centrifugák vezérléséhez kellett. Jöhetett a következő lépés: a célpont azonosítása. Azt már tudta a Stuxnet, hogy az aktuális számítógép egy Siemens PLC-t felügyel (ha nem felügyelt, akkor a féreg parkoló pályára állt). Nem volt célja a világ minden Siemens-vezérlésének a leállítása, így mielőtt tovább lépett volna, leellenőrizte, hogy tényleg villanymotort vezérel-e a PLC, és az tényleg az urándúsításhoz szükséges sebességgel forog-e (nagyjából 70 000 fordulat/perc). Csak akkor akkor támadott, amikor tiszta volt a cél. Ezért a Stuxnet sehol máshol nem okozott komoly problémát, csak ott, ahová tervezve lett.
Jöhetett tehát a következő lépés: maguknak a PLC-knek a megfertőzése. A féreg sutyiban letöltött egy saját kiegészítő funkciót ("Centrifuga Tönkretétele" néven) a PLC-be, majd hogy ez ne tűnjön fel a WinCC programnak, meghamisította a kommunikációt. Ezt a továbbiakban üzemszerűen csinálta: az operátorok akkor is azt látták, hogy minden rendben, amikor éppen a darabjaira repült szét a centrifuga.
De hogyan lehet tönkretenni a centrifugát pusztán szoftverből?
A Stuxnet egy darabig (2-3 hétig) csak várakozott, megfigyelt. Aztán a megfelelő pillanatban gyorsan cselekedett: első lépésben átszervezte a kaszkádot úgy, hogy pont a helyes irány fordítottjaként működjön. Ezzel drasztikusan csökkent a dúsítási hatásfok, amiből persze az operátorok nem vettek észre semmit. Ezután a centrifugákat felgyorsította 86400 fordulat/perc sebességre, belehajszolva azokat a sajátfrekvenciájukba. Ez komoly rezonanciákat keltett, és sok centrifugát (főleg az IP-2-es és IP-3-as típusokat, ahol a sajátfrekvencia az üzemi fordulatszám felett van) önállóan is szét tudta rombolni. Ezután gyorsan 120 fordulat/perc sebességet írt elő, amitől a centrifuga szinte leállt, és a szétválasztott gáz ismét összekeveredett benne. Majd a Stuxnet gyorsan visszaállította az eredeti sebességet, ismét túlterhelve ezzel a mechanikát. Ezt aztán valamilyen gyakorisággal ismételgette, amit a centrifugák bizony elég nehezen viseltek: egymás után törtek és repedtek szét, ami a drága eszköz elvesztésén túl a szintén értékes gázt is pocsékba küldte.
Vakargatták is a fejüket a helyi operátorok: a centrifugák döglöttek, mint a legyek, mégpedig tipikus szétrázódásos hibát mutatva. Közben a felügyeleti rendszer szerint minden rendben volt...
A féreg lebukása után az iráni erők külön részleget hoztak létre a fertőzés felszámolására. Nagyon megnehezítette a dolgukat, hogy három különböző verzió is létezett, és mindhárom folyamatosan mutálódott. Iránban több, mint 30000 gép volt fertőzött. Végül csak 2010 szeptemberére tudták teljesen eltávolítani a kártevőt a kritikus infrastruktúrából.
A Stuxnet tevékenysége következtében 2009 és 2010 során legalább 2000 centrifuga gyors cseréjét kellett elvégezi a natanzi üzemben, és a kaszkádok fele azóta sincs feltöltve és üzembe állítva. Ugyan az iráni nyilatkozatok szerint az ország jelentős veszteség nélkül átvészelte a támadást, de azért a mértékadó források szerint a Stuxnet legalább 2 évvel vetette vissza az atomprogramot - és mindezt egyetlen puskalövés nélkül.
Ráadásul a féreg kódjának sok funkciója máig feltáratlan, annak ellenére, hogy 2010 vége felé a Stuxnet forráskódja megjelent a feketepiacon- tehát hozzáférhetővé vált. Elképzelhető, hogy a féreg olyan katonai létesítményekben is pusztított, melyekről hivatalos tájékoztatás nem jelent meg (köztük pl. a Busherei Atomerőmű, vagy pl. pár kínai létesítmény...).
Hogy a Stuxnet végül elérte-e azt a célt, amire tervezték, (még) nem tudjuk: de azt világossá tette, hogy a Gunnerside-akció óta nagyot változott a világ. Egy olyan új fegyvernem bontogatja szárnyait, melynek a jelentősége a jövőben még drasztikusan nőni fog. Nem árt tehát ezt komolyan venni.
Az utolsó 100 komment: