Simseer identificeert nieuwe Malware-stammen op basis van hun erfgoed
In veel gevallen ontwijkt malware detectie door scanengines en ontsnapt ongedeerd door een verandering in de structuur en het gedrag te ondergaan. Echter, dit ene attribuut (indien aanwezig in grote volumes) kan worden gebruikt om determinerelaties tussen verschillende soorten malware vast te stellen en nieuwe stammen te detecteren. Een recente studie gepubliceerd door veiligheidsonderzoeker Silvio Cesare benadrukt dat malware-stammen kunnen worden geïdentificeerd aan de hand van hun erfgoed. De onderzoeker ontwikkelde een model genaamd Simseer in staat om een geplagieerde software te identificeren en de relatie tussen malware te bepalen.
De website volgt en categoriseert het erfgoed van verschillende stammen van malware. Op het moment van onderzoek besefte Cesare dat zelfs gematigde wijzigingen in malware de structuren niet veranderen. Hij gebruikte deze factor als een model voor het detecteren van geschatte matches van malware en koos een hele familie van malware op basis van die ene structuur. De analyse van de tool hielp de in Melbourne gevestigde beveiligingsonderzoeker om de relatie tussen malware te bepalen door hun gelijkenis met bestaande te beoordelen op basis van kwaadaardige code en te achterhalen of een malware-uitbraak verband hield met eerdere uitbraken. Hij kon dit allemaal voorspellen door de analyseresultaten in te delen en de programmabestekken te visualiseren als een evolutionaire boom.
Hoe werkt Simseer
U moet een zip-archief met de malware indienen bij Simseer. De maximale bestandsgrootte is 100.000 bytes. De bestandsnaam van het voorbeeld moet: alfanumeriek of periodes zijn en alleen uitvoerbare PE-32- en ELF-32-bestanden. Maximaal 20 inzendingen zijn toegestaan op een dag.
Simseer-servers groeperen de monsters in clusters, scannen vervolgens een onbekende steekproef op overeenkomsten met bekende malwarefamilies en identificeren nieuwe. Vervolgens wordt aan de linkerkant een evolutionaire structuur weergegeven met de relaties tussen bestaande en nieuwe code. Hoe dichter de programma's zich in de structuur bevinden, hoe dichter ze bij elkaar horen en waarschijnlijk tot dezelfde familie behoren. Nieuwe stammen, indien gevonden, worden afzonderlijk gecatalogiseerd wanneer ze minder dan 98% lijken op een bestaande stam.
Een score van 1,0 betekent dat de programma's identiek zijn. Een score van 0,0 betekent dat de programma's helemaal niet op elkaar lijken. Programma's met een gelijkenis groter of gelijk aan 0,60 zijn varianten van elkaar en groen gemarkeerd in de resultaten. Hoe helderder het groen, hoe meer de programma's overeenkomen.
Om de database van Simseer te onderhouden, downloadt Cesare onbewerkte malwarecode van het open malware-uitwisselingsnetwerk VirusShare en andere bronnen, met tussen de 600 MB en 16 GB aan gegevens die elke nacht in zijn algoritmen worden ingevoerd.
Via AusCERT 2013.