211service.com
De botnetcode breken
Netwerken van gecompromitteerde computers die worden beheerd door een centrale server, beter bekend als botnets, zijn een Zwitsers zakmes van tools voor online criminelen. Hackers kunnen deze gecoöpteerde systemen gebruiken om spam te verspreiden, kwaadaardige code te hosten, hun sporen op internet te verbergen of een bedrijfsnetwerk te overspoelen om de toegang tot internet af te sluiten.
Telkens wanneer een nieuw botnet verschijnt, haasten onderzoekers zich om de software die het op de computer van een slachtoffer installeert te reverse-engineeren en om de manier waarop elke bot communiceert met de controlerende server te decoderen. Omdat deze communicatie vaak versleuteld is, kunnen dergelijke analyses weken of maanden duren. Nu hebben onderzoekers van de University of California in Berkeley en Carnegie Mellon University een manier ontwikkeld om automatisch de communicatie tussen gecompromitteerde computers en hun controlerende servers te reverse-engineeren.
In een paper die deze week wordt gepresenteerd op de Association for Computing Machinery's Conferentie over computer- en communicatiebeveiliging , laten de onderzoekers zien hoe automatische reverse engineering de structuur en het doel van de communicatie tussen een command-and-control-server en zijn bots kan ontcijferen.
Het communicatieprotocol van het botnet is de kern van het botnet, zegt Juan Caballero, een promovendus verbonden aan zowel de University of California in Berkeley als de Carnegie Mellon University, en hoofdauteur van het artikel. Zo stuurt de aanvaller commando's naar het botnet.
Toen onderzoekers eerder probeerden om botnet-communicatieprotocollen automatisch te analyseren, richtten ze zich op het ontcijferen van de opdrachten die door de klant werden ontvangen. Toch heeft Caballero, samen met UC Berkeley-assistent-professor Dawn Song en twee andere collega's, een techniek ontwikkeld die zowel de opdrachten die een klant ontvangt als de antwoorden die hij verzendt, vertaalt.
De onderzoekers voerden vervolgens de botnetcode uit op een virtuele machine en analyseerden de beweging van informatie van en naar de registers van een computer - geheugencomponenten in de processor van een machine - voordat deze werd versleuteld. Door te letten op veranderingen in de geheugenregisters - de onderzoekers noemen dit bufferdeconstructie - konden ze de structuur van de botnetcommunicatie afleiden en de functie van de verschillende componenten van elk commando afleiden.
Dit is relevant voor malware, omdat we doorgaans niet het uitvoerbare bestand hebben voor de command-and-control-server van een botnet, zei Paolo Milani, een postdoctoraal onderzoeker bij het Secure System Lab van het Weense Instituut voor Technologie en auteur van een eerder artikel over geautomatiseerde protocolanalyse. Met eerdere technieken zouden we dus niet automatisch de clientzijde van het protocol kunnen reverse-engineeren.
De onderzoekers bouwden de resulterende techniek in een tool, Dispatcher genaamd, om botnet-netwerkcommunicatie te analyseren en zelfs nieuwe informatie in de communicatiestroom te injecteren. De onderzoekers testten de aanpak op een complex botnet dat bekend staat als MegaD en dat begin 2008 de krantenkoppen haalde toen beveiligingsbedrijven merkten dat het verantwoordelijk was voor bijna een derde van het wereldwijde spamverkeer.
De onderzoekers analyseerden 15 berichten die ze hadden verzameld door een MegaD-bot te monitoren: zeven commando's verzonden vanaf de controleservers en acht reacties van de bot. De Dispatcher-tool analyseerde de bot terwijl deze op de virtuele machine draaide en detecteerde automatisch het punt waarop het programma de opdrachten decodeerde maar de antwoorden nog niet had versleuteld.
Netwerkbeheerders kunnen ook de Dispatcher-tool gebruiken om het botnet te infiltreren. MegaD-klanten zullen doorgaans controleren of ze e-mail kunnen verzenden, om zo een nuttig radertje te worden in een spamcampagne. Omdat de onderzoekers echter al het uitgaande e-mailverkeer blokkeren, zou de client normaal gesproken een bericht naar de controlerende server sturen met de mededeling dat de e-mailtest is mislukt. Maar de onderzoekers pasten het bericht onderweg aan en reageerden in plaats daarvan met de code voor een succesvolle spamtest.
Normaal gesproken zou het een bericht hebben gestuurd dat het niet kan spammen, zegt Caballero van UC Berkeley. We [in plaats daarvan] hebben de spamsjabloon gekregen, zodat we konden zien wat voor soort spam het zou verzenden.
Tools zoals Dispatcher kunnen een uitbreiding zijn van wat momenteel een klein aantal onderzoekers is die regelmatig botnets reverse-engineeren, zegt Joe Stewart, senior beveiligingsonderzoeker voor SecureWorks , een netwerkbeveiligingsbedrijf. Het zou een probleem oplossen dat de wereld heeft: genoeg mensen hebben om botnets te analyseren, zegt hij. Er zijn maar zo veel mensen die reverse engineering op botnets kunnen doen. Je hebt een groep enthousiastelingen die dit kunnen gebruiken om hen te helpen.
Stewart voegt er echter aan toe dat ervaren onderzoekers dergelijke geautomatiseerde tools nog niet nodig hebben voor het analyseren van de meeste malware. Hoewel het bij meer gecompliceerde botnets weken kan duren om ze te reverse-engineeren, is de standaardmalware die de meeste bedrijven en organisaties tegenkomen, geen enkel probleem. Meer dan 90 procent van alle botnets gebruikt gemakkelijk te kraken encryptie om hun communicatie te beschermen, waardoor handmatige technieken relatief eenvoudig en snel zijn.
Niet elke (botmaster) heeft de MegaD-type encryptie nodig, zegt Stewart. Ik denk gewoon niet dat het hun tijd waard is, niet met het effect dat we nu op hen hebben, dat minimaal is.
Toch zullen botnets zich blijven ontwikkelen, zegt UC Berkeley's Song. Botnet-programma's worden steeds ingewikkelder, zegt ze. Ze gebruiken verschillende verduisteringstechnieken enzovoort. Dus misschien kan handmatige analyse voorlopig werken, maar in de toekomst hebben we betere tools nodig.