De Sneeuwkoningin: een cybersecurity-rapport in zeven verhalen

Het rapport van Hans Christian Andersen over het Kai-infectie-incident en het onderzoek van infosec-expert Gerda.

Waar denkt u dat het sprookje De Sneeuwkoningin van de Deense cybersecurity-specialist Hans Christian Andersen écht over gaat? Een dapper meisje dat de personificatie van winter en dood verslaat om haar geliefde vriend te redden? Niet dus.

Laten we eerlijk zijn: dit is in werkelijkheid een behoorlijk gedetailleerd verslag van het onderzoek van de opkomende informatiebeveiligingsexpert Gerda naar hoe Kai geïnfecteerd raakte met een vervelend staaltje geavanceerde malware. Dit zogenaamd sprookje is geschreven in de vorm van zeven verhalen die duidelijk overeenkomen met de onderzoeksfases.

Verhaal 1: De spiegel en de scherven

Als u ooit ons expertblog Securelist.com heeft gelezen (of elk ander soort goed uitgevoerd infosec-onderzoek), weet u waarschijnlijk al dat onderzoeksrapporten vaak beginnen met een verkenning van de geschiedenis van incidenten. Dat is bij Andersen niet anders: het eerste verhaal gaat dieper in op de oorsprong van het geval Kai.

Lang geleden (volgens Andersens gegevens) maakte een kabouter een magische spiegel die de kracht had om de goede en mooie eigenschappen van mensen te laten verdwijnen en hun slechte en lelijke aspecten juist uit te vergroten. De spiegel werd door zijn leerlingen in miljarden stukjes gebroken die de ogen en harten van mensen doorboorden, maar de oorspronkelijke eigenschappen van de spiegel werden hierbij wel behouden. Sommige mensen gebruikten de scherven voor hun ramen, wat hun uitzicht verwrong. Anderen gebruikten ze als lenzen voor hun bril.

We weten al van Sneeuwwitje dat verhalenvertellers vaak spiegels gebruiken als metafoor voor schermen in de brede zin van het woord: tv’s, computers, tablets, telefoons — u krijgt er al een beeld van (letterlijk).

Dus als we de allegorische verhalen van Anderson naar simpele proza vertalen, levert dat het volgende op: een machtige hacker creëerde een systeem met een ingebouwde browser die websites vervormde. Vervolgens gebruikten zijn leerlingen stukjes van de broncode om een enorm aantal Windows-apparaten te infecteren, en zelfs “augmented reality”-brillen.

Eigenlijk was dit fenomeen helemaal niet zo zeldzaam. De EternalBlue-exploit is het oudste bekende voorbeeld. Deze exploit leidde tot de pandemieën WannaCry en NotPetya plus nog tal van andere minder vernietigende ransomware-uitbraken. Maar we dwalen af. Terug naar ons sprookje.

Verhaal 2: Een jongetje en een meisje

In het tweede verhaal gaat Andersen verder met een gedetailleerdere beschrijving van een van de slachtoffers en de oorspronkelijke infectievector. Volgens de beschikbare data communiceerden Kai en Garda via hun aangrenzende zolderramen (Windows-gebaseerde communicatie!). Tijdens een winter zag Kai een vreemde, prachtige vrouw door zijn raam die in ultradun wit tule was gekleed. Dit was Kais eerste ontmoeting met de hacker (die vanaf nu met haar alias “de Sneeuwkoningin” zal worden aangeduid).

Kort daarna voelde Kai een stekend gevoel in zijn hart en oog. Zo beschrijft Andersen het moment van de infectie. Toen de schadelijke code zijn hart (kernel van het besturingssysteem) en oog (gegevensinvoer-apparaat) binnenkwam, veranderde Kais reactie op externe stimuli radicaal en werd alle inkomende informatie verwrongen.

Wat later ging hij zijn huis helemaal uit en bond hij zijn slee aan de ar van de Sneeuwkoningin vast. Kai, die haar om de één of andere reden vertrouwde, vertelde de Sneeuwkoningin hoe hij zelfs met breuken kon hoofdrekenen, en dat hij de grootte en het aantal inwoners van elk land kende. Dat lijken slechts kleine details te zijn, maar zoals we later zullen zien was dit precies waar de aanvaller in geïnteresseerd was.

Verhaal 3: De bloementuin en het vrouwtje dat toveren kon

Gerda begon haar eigen onderzoek en ontmoette zo een vrouw die, om wat voor reden dan ook, haar onderzoek belemmerde. Om ter zake te komen: we zijn vooral geïnteresseerd in het moment waarop de tovenares de krullen van Gerda kamde waardoor ze Kai vergat.

In andere woorden: de heks corrumpeerde de gegevens van het onderzoek. Let hierbij op het feit dat het cyberwapen dat ze hiervoor kiest, een kam, al bekend is bij ons. In het het rapport van de gebroeders Grimm over het incident met Sneeuwwitje gebruikte de stiefmoeder een vergelijkbare tool om haar slachtoffer te blokkeren. Toeval? Of hebben deze incidenten iets met elkaar te maken?

Hoe dan ook, de blokkade met behulp van de kam was, net als bij Sneeuwwitje, niet permanent. De gegevens werden hersteld en Gerda zette haar onderzoek voort.

Aan het einde van het derde gedeelte van het rapport vroeg Gerda aan de bloemen in de tuin van de heks of ze Kai hadden gezien. Dit is hoogstwaarschijnlijk een verwijzing naar de oude ICQ messenger, die een bloem als logo had (en als indicator van de gebruikersstatus). Door met de heks te communiceren probeerde Gerda om aanvullende informatie over het incident te vergaren met behulp van haar contacten.

Verhaal 4: De prins en de prinses

De vierde fase van het onderzoek lijkt niet heel relevant. Gerda probeerde Kai door de database van de overheid te halen. Om dat te doen leerde ze een aantal raven kennen die haar toegang gaven tot het overheidsgebouw (het koninklijk paleis).

Hoewel dat geen resultaten opleverde, informeerde Gerda de overheid plichtsgetrouw over de kwetsbaarheid en de onbetrouwbare raven. De prins en de prinses losten de kwetsbaarheid op en vertelden de raven dat ze niet boos waren, maar dat ze het niet nog eens moesten doen. Merk hierbij op dat ze de vogels niet straften, maar ze simpelweg vroegen om hun gedrag te veranderen.

Als beloning voorzagen de prins en de prinses Gerda van hulpmiddelen (een rijtuig, warme kleren, dienaars). Dit is een geweldig voorbeeld van hoe een organisatie zou moeten reageren als onderzoekers een kwetsbaarheid rapporteren. Laten we hopen dat deze beloning niet iets eenmaligs was, maar een echt bug-beloningsprogramma werd.

Verhaal 5: Het kleine roversmeisje

In dit verhaal valt Gerda ogenschijnlijk in de handen van bandieten. Andersen maakt hier in werkelijkheid gebruik van een andere allegorie om uit te leggen dat Gerda, omdat dat ze op een dood spoor was beland bij de vorige fase van haar onderzoek, gedwongen was om de hulp in te schakelen van krachten die niet helemaal volgens de wet te werk gingen.

De cybercriminelen brachten Gerda in contact met informanten die precies wisten wie er schuldig was aan het Kai-incident, evenals met een rendier dat in het bezit was van de adressen van een aantal zeer bruikbare darknet-contacten. Deze hulp was niet goedkoop; ze raakte het grootste gedeelte van de hulpmiddelen die ze in het vorige verhaal had verkregen kwijt.

Om de integriteit van de jonge onderzoekster niet te ondermijnen probeert Andersen haar omgang met de criminelen als onvermijdelijk te beschrijven — ze beroofden haar volgens hem eerst, en vervolgens kregen ze medelijden en gaven ze haar deze informatie. Dat klinkt niet bepaald overtuigend. Het is waarschijnlijker dat het hier om een wederzijdse overeenkomst ging.

Verhaal 6: De Lapse vrouw en de Finse vrouw

Vervolgens begint de laatste fase van het verzamelen van informatie die nodig is voor het onderzoek via de darknet-contacten die de bandieten hadden verstrekt. Het rendier bracht Gerda in contact met een zekere Lapse vrouw, die op een gedroogde stokvis een aanbevelingsbrief schrijft voor de volgende informant, een zekere Finse vrouw.

De Finse vrouw verstrekte het adres van de “tuin van de Sneeuwkoningin”, wat duidelijk de naam is van de command-and-contol-server. Hier zien we een leuk detail: na het bericht gelezen te hebben, gooide ze de stokvis in een kom met soep. Ze wist hoe belangrijk het was om geen onnodige sporen achter te laten, dus ze volgde de OPSEC-regels zorgvuldig op. Het teken van een echte pro.

Verhaal 7: Wat er gebeurde in het paleis van de Sneeuwkoningin en de gevolgen daarvan

Het zevende verhaal legt eindelijk uit waarom de Sneeuwkoningin Kai in de eerste plaats nodig had. Hij zat daar met de scherven van het ijs te puzzelen om het woord “eeuwigheid” te spellen. Waanzin, nietwaar? Helemaal niet. Lees deze post over cryptomining. Zoals hierin wordt uitgelegd werken cryptominers in principe door een blok aan informatie te ordenen. Dit doen ze niet alleen om zomaar een hash te vormen, maar de “mooist” mogelijke.

Kai probeerde de stukjes informatie zo te ordenen dat de de hash als het woord “eeuwigheid” ontstond. In dit stadium wordt het duidelijk waarom Andersen in het tweede verhaal de nadruk legde op de rekenkracht van Kai. Dat is precies waar de Sneeuwkoningin naar op zoek was, en Kai werd puur en alleen geïnfecteerd voor cryptomining-doeleinden. Het legt ook de ogenschijnlijke obsessie van de Sneeuwkoningin uit met alles wat noordelijk en koud is; een goed presterende mining farm moet erg goed gekoeld worden.

Gerda ontdooide Kais ijzige hart vervolgens met haar tranen (ze verwijderde de schadelijke code met gebruik van verschillende tools en verkreeg zo weer controle over het besturingssysteem). Kai barst vervolgens in tranen uit, wat betekent dat hij zijn ingebouwde antivirussysteem activeerde (dat eerder was geblokkeerd door de geïnfecteerde module in zijn kernel) en verwijdert zo het tweede stukje schadelijke code uit zijn oog.

Het einde van het rapport is nogal vreemd naar hedendaagse maatstaven. In plaats van tips voor potentiële slachtoffers, aanwijzingen van aangetaste systemen en andere handige weetjes te verstrekken, blijft Andersen maar doorgaan over de reis terug naar huis van de hoofdpersonen. Misschien is dat hoe infosec-rapporten in de negentiende eeuw werden afgerond.

Zoals we al eerder hebben gezegd zijn de schrijvers van sprookjes in feite de oudste cybersecurity-experts die er zijn. Het geval van de Sneeuwkoningin onderschrijft deze hypothese. Zoals hierboven is beschreven is dit verhaal een gedetailleerd verslag van een onderzoek naar een complex incident. We raden u ook aan om onze analyse van andere populaire sprookjes te lezen:

Tips