A WannaCry zsarolóvírus leállítógombja egy még nem regisztrált domain volt
A WannaCry kódjába beégettek egy domaint, amitől a zsarolóvírus engedélyt kért a titkosítás megkezdése előtt. Ezt a nevet korábban senki sem regisztrálta, és nagyjából tíz dollárba került.
2017. május 12., péntek.
Angliában kórházak kénytelenek hazaküldeni a betegeket. A Renault és a Telefónica rendszerei is elesnek.
Egy 22 éves brit kutató eközben otthon lefuttatja a WannaCry nevű új féregprogram egyik mintáját. Figyeli a forgalmat, és észreveszi, hogy a kártevő egy olyan domain felé próbál hazaszólni, ami nincs regisztrálva.
Megveszi. Nagyjából tíz dollárjába kerül. Ezután a domaint egy saját sinkhole-szerverre irányítja – egy olyan szerverre, aminek pont az a dolga, hogy elnyelje a kártékony forgalmat és naplózza, honnan érkeztek a lekérések.
Aznap délutánra a frissen fertőzött gépek világszerte leállnak a titkosítással.
Aki beregisztrál egy domainnevet, az végső soron azt is meghatározza, hogyan viselkedik minden szoftver, amelyik ezt a nevet keresi. Mindenhol, egyszerre, a világ minden pontján.
A WannaCry a titkosítás megkezdése előtt egyetlen dolgot vizsgált: feloldható-e ez a konkrét domain? Ha kapott választ, a program leállt. Ha csend volt, indult a titkosítás. Mivel ez a domain fixen be volt égetve a kódba, és korábban senki nem tartott rá igényt, a világ összes fertőzött gépe ettől az egyetlen regisztrációtól várta az iránymutatást.
Marcus Hutchins, aki akkoriban a Kryptos Logicnak dolgozott, minderről mit sem sejtett, amikor kifizette a regisztrációs díjat. Rutinfeladatként vásárolgatta fel azokat a szabad domaineket, amelyekkel a kártevők kommunikálni próbáltak; saját beszámolója szerint az előző évben is már több ezret beregisztrált, hogy figyelje a botneteket és felmérje az áldozatok számát. Ez az egy történetesen a vészleállító volt.
Ahogy a másnap közzétett elemzésében is írta, a készítők a lekérdezést eredetileg nem vészleállítónak szánták. A biztonsági szakemberek elszigetelt tesztkörnyezetekben (sandboxokban) vizsgálják a kártevőket, és ezek a rendszerek úgy vannak beállítva, hogy minden DNS-lekérésre válaszoljanak, még a nem létező domainekre is. Ha egy kártevő egy értelmetlen domainnevet kérdez le, és választ kap, arra következtet, hogy megfigyelik, ezért leáll. A támadók ezt a trükköt építették fel egyetlen, fix domain köré, amit a kód minden egyes futáskor ellenőrzött.
A támadók tehát egyetlen, regisztrálatlan domainnévre bízták, hogy elinduljon-e a kártevőjük.
Ezt a regisztrációt persze onnantól kezdve életben is kellett tartani – és immár kilenc éve folyamatosan él.
Az első napokban a sinkhole-nak ki kellett bírnia egy Mirai botnet túlterheléses (DDoS) támadását, ami megpróbálta lebénítani a szervert. Közben a hatóságok lefoglalták a mögötte álló két szervert egy adatközpontból, mert azt hitték, hogy a domain a WannaCry terjesztését szolgálja, nem a leállítását. Négy nappal később a Cloudflare átvette a hostingot. A domaint pedig ma is a Kryptos Logic működteti.
Amikor ezeket a sorokat írom, még mindig válaszol: Sinkholed by Kryptos Logic.
A Cloudflare 2019-ben arról számolt be, hogy évről évre kapnak lekapcsolási (takedown) kérelmeket a domainre olyanoktól, akik összetévesztik az ellenszert magával a fertőzéssel.
A világon az összes olyan, foltozatlan gép, amelyen még mindig ott lapul a WannaCry, csak arra vár, hogy ez a domain elnémuljon. Elég lenne egy elmulasztott domainmegújítás. De ugyanígy végzetes lehetne egy átregisztrálási- vagy domainhasználó-csere vita, egy nyilvántartói felfüggesztés, vagy ha a regisztrációs láncolatban bárhol valaki gondolkodás nélkül jóváhagy egy takedown-kérelmet.
A saját rendszereink is tele vannak ennek csendesebb változataival: frissítőszerverekkel, licencellenőrzésekkel, telemetriai végpontokkal, vagy azzal a CDN-nel, ahonnan a fizetési oldalunk egy szkriptet tölt be. Mindegyik mögött egy domainnév áll, és a szoftverünk csak addig viselkedik úgy, ahogyan elvárjuk, amíg valaki gondoskodik arról, hogy az a név regisztrálva maradjon.
Nehéz eldönteni, hogy megnyugtató vagy inkább abszurd, hogy a világ védelme egy második WannaCry-hullám ellen egy domain-megújítási dátumon múlik.
Akik a domainneveidet regisztrálva tartják, olyan főkapcsolókon tartják az ujjukat, amelyek egyetlen rendszerterveden sem szerepelnek.