Je kunt LOKI leren om nieuwe malware op te sporen door nieuwe signatures te maken. Op die manier kun je bijvoorbeeld de database aanvullen met de IoC’s waarmee LOKI de nieuwe banktrojan Karius kan ontdekken. Als je een zoekopdracht uitvoert in de vorm van ‘IoC Karius banking trojan’, kom je onder andere een blogpost tegen van de securitysoftwarebouwer Check Point. Daar vind je als IoC’s bestandsnamen en paden, bestandshashes en een domein waar de trojan zijn datavangst naartoe stuurt:
injector32\64.exe
proxy32\64.dll
mod32\64.dll
728911a915d9ec3b6defa430d24bc0d5
857430b8c9dc78ce4eabbe57cb3ae134
http://proxyservice.site/updates/gateway.php
Om deze IoC’s aan de signature-database toe te voegen, navigeer je naar de submap ‘iocs’. Daar staan de bestanden ‘filenameiocs. txt’, ‘hash-iocs.txt’ en ‘c2-iocs.txt’. Daar haalt LOKI de reguliere expressies uit voor het vergelijken van de bestandsnamen en paden (filename-iocs.txt), de malwarehashes (hash-iocs.txt) en de command-andcontrol- serveradressen (c2-iocs.txt).
LOKI overschrijft deze bestanden bij elke update van de signatures. Daarom is het aan te raden om voor je eigen signatures nieuwe bestanden aan te maken. Om te zorgen dat de scanner de opgeslagen signatures goed herkent, moeten de bestandsnamen al naargelang het soort signature de strings filename, hash of c2 bevatten.
Met de toegevoegde DIY-signatures krijgt LOKI zonder problemen Karius boven water. Het opruimwerk moet je als gebruiker zelf regelen.
Maak als test de bestanden my-filenames.txt, my-hashes. txt en my-c2.txt aan. In my-filenames.txt zet je de paden en bestandsnamen uit de Karius-analyse. Daarbij hoort dan een score die LOKI vertelt hoe hoog het dreigingsniveau is. Een blik in de broncode van LOKI laat zien dat een waarde van meer dan 40 voor warnings en groter dan 70 voor alerts zorgt. Karius verdient in ieder geval het laatste scenario. Typ het volgende op een lege regel in my-filenames.txt:
injector32\\64\.exe;80
proxy32\\64\.dll;80
mod32\\64\.dll;80
De bestandshashes voer je in het bestand my-hashes.txt in en de url’s in my-c2.txt. Ook hier is het weer belangrijk dat elke IoC op een eigen regel staat. Deze keer komt er geen score na de puntkomma, maar commentaar dat LOKI bij herkennen laat zien. Een regel in my-c2.txt ziet er bijvoorbeeld zo uit:
http://proxyservice.site/updates/gateway.php;Karius Banking Trojan(https://research.checkpoint.com/banking-trojans-development/)
Na het opslaan van de signaturebestanden in de iocs-map gaat LOKI de malware uitvoerig aan de tand voelen. LOKI biedt ook de optie voor het vastleggen van uitzonderingen. Vooral bij grote bedrijven is dat handig om programma’s die veel worden gebruikt van tevoren al van de lijst te schrappen.
Het uitsluiten via hashes gebeurt tegelijk met de normale hash-IoC’s via een bestand waarvan de naam de string ‘falsepositive’ bevat. Als je bestandsnamen, mappen of complete paden wilt uitsluiten van de scan, moet je het bestand exclude.cfg in LOKI’s submap ‘config’ aanpassen. Kwestie van uitproberen LOKI biedt veel opties om met eigen signatures aan het knutselen te gaan.
Een volledige systeemscan kan wel flink wat tijd in beslag nemen. Dat gebeurt vooral als LOKI een groot aantal memorydumps of SWF-bestanden tegenkomt.