Research and Development 1/^Archief/2007-2008/projecten/Botnet/Eindverslag/tex
Uit Werkplaats
< Research and Development 1 | ^Archief | 2007-2008 | projecten | Botnet | Eindverslag
Versie door Freek Verbeek (overleg | bijdragen) op 2 feb 2010 om 12:44 (Research and Development 1/^Archief/projecten/Botnet/Eindverslag/tex hernoemd naar Research and Development 1/^Archief/2007-2008/projecten/Botnet/Eindverslag/tex)
\documentclass[10pt,a4paper]{report} \usepackage[latin1]{inputenc} \usepackage{url} \usepackage{graphicx} \usepackage{mdwlist} \usepackage[margin=10pt,font=small,labelfont=bf]{caption} \usepackage[dutch]{babel} \begin{document} \title{\Huge{\textbf{Botnets}}\\ \small{Eigenschappen van de grootste spammers \\en onderzoek naar hun communicatieprotocollen}} \author{Jeroen van Lier, Wouter Lockefeer, Ilian van der Velden\\ Radboud Universiteit Nijmegen} \date{Juni 2008} \maketitle \tableofcontents \chapter{Inleiding} In juni 2006 werden dagelijks 55 miljard ongewenste mails verstuurd. \cite{IPsysSpam} In juni 2005 waren er dat nog 30 miljard. Deze spam confronteert mensen met ongewenste reclame voor producten en diensten, probeert mensen te verleiden persoonlijke gegevens afhandig te maken en tracht malware op computers geïnstalleerd te krijgen; meestal via corrupte links. Reden genoeg om spam te zien als één van de grootste problemen op het internet.\\ Uit hetzelfde onderzoek bleek ook dat 80\% van de spam in juni 2006 gegenereerd was door zogenaamde botnets; in juni 2005 was dit nog 50\%. Het gevaar dat deze botnets schijnbaar vormen, was aanleiding tot verder onderzoek. \\ Tijdens verloop van het onderzoek werd duidelijk dat communicatie het belangrijkste punt is binnen botnets. Zonder communicatie tussen bots en hacker is het netwerk vrijwel nutteloos. Wetenschappelijk onderzoek naar botnets bestaat dus meestal uit onderzoek naar protocollen en manieren deze te onderscheppen, decoderen en de bron te traceren. Botnets op hun beurt doen dan ook hun best protocollen zo te kiezen dat dit onderzoek belemmerd wordt. \section{Probleemstelling} De focus van dit onderzoek ligt daarom op de volgende probleemstelling:\\ \emph{Welke eigenschappen van botnets dragen bij aan hun productiviteit en lange levensverwachting en hoe maken ze misbruik van bestaande communicatieprotocollen?} Om deze probleemstelling concreter te maken zijn de volgende definities opgesteld: \begin{itemize*} \item{Als bijdrage aan productiviteit definiëren we alle eigenschappen van een botnet die de 'output' van het botnet bevorderen. Meestal is deze output spam, maar vaak ook DDOS-aanvallen, click fraude en verspreiding van malware.} \item{Als bijdrage aan lange levensverwachting definiëren we alle eigenschappen van een botnet die de overlevingskans bevorderen. Botnets worden continu opgespoord, geblokt en verwijderd, waardoor het botnet zijn nut verliest of in productiviteit wordt geremd. Er wordt dus gezocht naar eigenschappen die botnets hebben om zichzelf te helpen effectief te overleven.} \item{De gebruikte definitie voor misbruik van protocollen is het gebruik van een protocol op een manier waar het niet voor bedoeld is, dat mensen of computers schade doet oplopen en last bezorgd. SMTP bijvoorbeeld was oorspronkelijk een communicatieprotocol binnen een netwerk van overzienbare grootte. Daarbinnen was nog weinig tot geen gevaar voor ongewenste communicatie en zodoende was er geen rekening mee gehouden op afzender te controleren in het protocol. Botnets maken dus misbruik van het protocol, aangezien ze ongewenste mail sturen, waar SMTP niet voor bedoeld is.} \end{itemize*} Deze gedefinieerde eigenschappen worden dus nader bekeken in dit onderzoek. In het eerste onderzoek is in het bijzonder gefocust op de botnets zelf; later op de misbruikte protocollen en hun zwakheden. Als voorbeeld netwerken zijn gekozen Storm en Mega-D. \newpage \chapter{Theoretische kader} \section{Botnets} Botnets zijn via internet aaneengesloten netwerken van met malware geïnfecteerde computers (bots) die door een hacker van buitenaf in zekere mate te besturen zijn. Deze netwerken kunnen uitgroeien tot een grootte van miljoenen computers, echter is de trend tegenwoordig om kleinere botnets te creëren om minder aandacht te trekken. Hackers willen namelijk niet dat hun botnet ontdekt wordt en aangewezen wordt als grote boosdoener; dit leidt namelijk meestal tot de dood van het botnet.\\ De bots zijn in staat om buiten weten van hun eigenaars kwaad te doen in opdracht van de hacker. De activiteiten waar bots zich mee bezighouden zijn divers, maar het overgrote deel van de taken bestaat uit het versturen van spam. Andere activiteiten omvatten phishing (het proberen te stelen van gevoelige gegevens van de computergebruikers), DDoS-aanvallen (het door middel van overgebruik proberen plat te leggen van websites en webservices) en click fraude (het misbruiken van de bots om massaal op pay-per-click advertenties te klikken).\\ In tegenstelling tot veel andere malware zijn botnets meestal niet vervelend voor de gebruiker van de computer. Dit wordt benadrukt door het feit dat, hoewel soms gehele bedrijfsnetwerken geïnfecteerd zijn, deze bots worden buiten wetenschappelijk onderzoek vrijwel nooit ontdekt. Slechts bij algemene virusscans worden de bots onschadelijk gemaakt. Echter, de bots zijn wel degelijk schadelijk voor de rest van de wereld. Daarom is het essentieel dat actief onderzoek naar moderne botnets ondernomen wordt.\\ \section{Command en Control servers} De hacker laat één bot functioneren als zogenaamde Command en Control server. Deze biedt elke bot een set taken en informatie (meestal in de vorm van een lijst e-mail adressen) aan. De C\&C-server is de spil van het botnet en moet dus koste wat kost verborgen worden. Voornamelijk oudere botnets waren volledig nutteloos als de C\&C-server uitgeschakeld was.\\ Een bekende methode om de C\&C-server te beschermen, is gebruik te maken van het fast-flux principe. Dit omvat simpelweg de methode om een bot aan te stellen als een poortwachter om de communicatie met de C\&C-server te bewerkstelligen; de communicatie loopt nooit direct van bot naar C\&C. Deze poortwachter verandert continu (binnen enkele minuten) van identiteit. Zolang de poortwachter lastig traceerbaar is en telkens een andere bot deze rol vervult, is het erg moeilijk voor onderzoekers om de echte C\&C-server te lokaliseren. Immers gaat niet alle communicatie van het botnet tussen de bots en één statische server.\cite{honeyFF} \section{Spam en communicatieprotocollen} In dit onderzoek is de focus gelegd op het versturen van spam. De onderzochte botnets Mega-D en Storm hebben beide hoogtijdagen gekend als het gaat om spam. Ze hebben beide gedurende de periode van elk ongeveer een jaar hun botnet in stand weten te houden en zogenaamde marktleider te zijn op het gebied van spam.\\ Voor de communicatie binnen een botnet moet gekozen worden voor een protocol. Mega-D werkt voornamelijk via het sterk verouderde en onveilige SMTP, terwijl Storm gebruik maakt van het niet langer gebruikte peer-to-peer Overnet protocol. Protocollen zijn een set van regels over de communicatie tussen computers. Er staan afspraken in over de manier waarop de communicatie dient te beginnen, dient te verlopen en dient te worden afgesloten. Verder zijn er nog veel regels mogelijk, zoals regels over het afhandelen van fouten bij de communicatie en de verificatie van data. Zodoende is het van essentieel belang bij de opsporing en bestrijding van botnets om de gebruikte protocollen grondig te onderzoeken. \chapter{Methode} Het eerste punt voor dit onderzoek betrof het selecteren van een goed botnet om ons onderzoek naar te doen. De keuze viel op Storm vanwege de grote aandacht die dit botnet had ontvangen. Echter was Storm alweer flink gedaald in aantal en productiviteit, waardoor de keuze was gemaakt om ook Mega-D, een botnet dat net vol in de piek zat, te onderzoeken. \\ Bij het onderzoek is gekeken naar zowel de verschillen als de overeenkomsten tussen de botnets om zodoende verschillende strategieën, evenals algemene eigenschappen te ontdekken. In dit deelonderzoek wordt de vragen over de levensverwachting en de productiviteit van de verschillende botnets beantwoord. Voor het onderzoek lag de focus vooral op informatie over de bestrijding van de twee botnets. Daar de bestrijding van Mega-D in volle gang was, werd van tijd tot tijd zinnige nieuwe informatie gepresenteerd die opgenomen kon worden in het verslag. Deze bronnen bevatten echter vaak speculaties, waardoor er gewacht moest worden met het trekken van definitieve conclusies tot de echte onderzoekers met antwoorden kwamen. Naast wetenschappelijke artikelen is voor dit onderzoek vaak gebruik gemaakt van onderzoeken en analyses van toonaangevende bedrijven gespecialiseerd in anti-virus-software en algemene beveiligingssoftware zoals SecureWorks, Symantec, Marshal en McAfee. Deze bedrijven bieden nauwkeurige en betrouwbare analyses van botnets en de bijbehorende malware. (Voorbeeld: \cite{secureWorksStormDDOS}) \\ Deze informatiebronnen zijn voornamelijk gebruikt voor de technische vraagstukken bij het onderzoek. Voor onderzoek naar Mega-D bleek Marshal\cite {marshall} een goede bron van informatie te zijn. Voor een zorgvuldig antwoord op de onderzoeksvraag is in de bronnen gezocht naar de sterke en wellicht zwakke eigenschappen van de twee botnets. Als vervolg deelonderzoek zijn de zwakheden van enkele communicatieprotocollen onder de loep genomen. Hierbij zijn de definities gebruikt zoals opgesteld in het theoretische kader.\\ Hier is de focus gelegd op de punten waar de botnets misbruik maken van zwakheden in de protocollen, in de hoop dichter bij effectieve oplossingen te komen tegen het spam-probleem.\\ Als laatste hebben we een experiment uitgevoerd om twee Uppaal modellen van SMTP en SMTP-auth op te stellen. Met deze modellen is geprobeerd een visuele weergave te geven van de veranderingen die zijn doorgebracht op SMTP. Dit experiment staat naast het tweede deelonderzoek in het kader van misbruik en oplossingen tegen misbruik voor SMTP. Als laatste moet uit het experiment naar voren komen of SMTP-auth echt een verbetering is ten opzichte van zijn voorganger. \chapter{Resultaten} \section{Botnet-onderzoek} \subsection*{Storm botnet} \subsubsection{Achtergrond van het botnet} Het Storm botnet is ontstaan begin 2007 en ontdekt op de dag dat de malware gelanceerd werd. Haar naam heeft het te danken aan de beruchte verspreidingsmails met als titel ``230 dead as storm batters Europe.''. Vanaf die dag wist Storm uit te groeien tot een netwerk van waarschijnlijk miljoenen computers. Nu is Storm echter ver over zijn piek heen. De grote aandacht die het netwerk trok heeft geleid tot vele tegen acties, ook van Microsoft. Er wordt gespeculeerd dat het de doodsteek is geweest van Storm, hoewel moeilijk te bepalen is of het netwerk echt kapot is. Storm is altijd maar voor een klein deel actief. Om deze reden is er tot nu toe nog geen accuraat beeld van hoeveel computers Storm heeft geïnfecteerd. Recent zijn vrijwel alle bots offline gegaan. Onderzoekers zoals Bruce Schneier vrezen dan ook dat Storm ofwel wordt opgedeeld in kleinere delen en zo verkocht worden, ofwel dat Storm in een winterslaap is gegaan om zich voor te bereiden op een tweede fase. Zeker is dit allerminst. De kans bestaat ook dat de hackers werken aan een nieuw botnet; wellicht één die met minder bombarie gelanceerd wordt.\\ \subsubsection{De communicatie tussen de geïnfecteerde computer en de Command en Control server} De communicatie tussen de geïnfecteerde computers en de bestuurders van Storm wordt mede mogelijk gemaakt door het gebruik van een aangepast Overnet protocol. Overnet is oorspronkelijk bedacht ten behoeve van peer-to-peer netwerken. In het speciaal het Edonkey2000 peer-to-peer netwerk. \\ Het Overnet protocol bestaat uit twee hoofdonderdelen, de lokalisatie van bestanden verspreid over het netwerk en het downloaden/ophalen van de gevonden bestanden. Voor Storm is vooral de lokalisatie van het Overnet protocol van belang. De grootste verandering ten opzichte van de oorspronkelijke versie van Overnet is dat er geen bestanden over en weer worden gestuurd. Een geïnfecteerd systeem speelt de rol van client, zoekt binnen het Storm netwerk naar een gehashde URL. Deze URL bevat een website waarop de trojan programmaatjes kan downloaden die extra taken kunnen uitvoeren. De client heeft standaard een ruime lijst met computers die aangesloten zijn bij het Storm netwerk. De client stuurt dan een search query voor de gezochte gehashde URL naar deze lijst met computers. Als ze deze URL bezitten, dan krijgt de client een resulthash terug met de gehashde URL erin verpakt. Bezitten ze deze niet, dan sturen de gevraagde computers de search query door naar andere computers in het netwerk. \\ De communicatie via het Overnet protocol is beveiligd met een 40-bit encryptie. Deze encryptie is relatief zwak, hij is door onder andere researchteams of andere belanghebbenden met gemak te kraken. Maar de encryptie heeft nog een ander belangrijk nut. Dit is om de mogelijkheid open te hebben om te het botnet netwerk te splitsen in aparte sub netwerken. De encryptie zorgt voor dat bepaalde bots niet met elkaar kunnen communiceren zonder dat ze van de juiste encryptiesleutel gebruik maken.\\ \subsubsection{Functionaliteit en positie van de Command en Control server binnen het botnet} Het Storm botnet maakt in tegenstelling tot de meeste botnets gebruik van gedistribueerde Command en Control servers(C\&C-servers). Het gebruikte Overnet protocol stelt het Storm botnet in staat om meerdere variërende C\&C-servers tot haar beschikking te hebben. Door de oorspong van het peer-to-peer netwerk is het makkelijker voor Storm om zijn taken te verdelen. Om ontdekking van de C\&C-servers te voorkomen maakt Storm gebruik van het fast-flux principe. Het fast-flux principe lijkt op load-balancing. Op basis van het round-robin principe worden de geïnfecteerde computers als proxy gebruikt om de C\&C-servers af te schermen. Deze proxy's worden dus continu afgewisseld, waarbij de DNS-gegevens worden gewijzigd om de ontdekking van de servers door researchteams en andere geïnteresseerden te verhinderen.\\ \subsubsection{Infectiemethoden} Tot op heden heeft de Storm worm zich continu verspreid als een email-attachtment of een website waar de worm gedownload wordt.\\ Nadat de executable gedownload is, wordt hij zonder weten van de gebruiker uitgevoerd en creëert een system driver (wincom32.sys, ook bekend als Trojan.Peacomm), welke een bepaalde lading injecteert in het services.exe proces (dit is een van de standaard Windows-processen).\\ De methode die Storm hiervoor gebruikt lijkt veel op een hoogontwikkelde techniek die lijkt op de methode van Rustock (een ander botnet-trojan). Het is echter zo, in tegenstelling tot de naam van het bestand, dat wincom32.sys geen echt rootkit-bestand is. Het verschuilt zijn aanwezigheid niet, noch de sleutels die in het windows-register die zijn aangemaakt. Na het infecteren kan de trojan zonder waarschuwing de pc opnieuw opstarten. Met behulp van het peer-to-peer netwerk zoekt de trojan naar een gehashde URL om vijf andere bestanden te downloaden die het zware werk gaan uitvoeren. Joe Stewart \cite{secureWorksStormDDOS} heeft met een threat analyse van de trojan die vijf bestanden geïdentificeerd. \begin{description*} \item[game0.exe] {Dit bestand wordt herkend als \emph{Trojan.Abwiz.F}. Het zorgt voor de infectie in de wincom32.sys systeem driver.} \item[game1.exe] {Samen met game2.exe, game3.exe en game4.exe wordt het herkand als \emph{W32.Mixor.Q@mm}. Dit bestand opent poort TCP 25 op de ge\H{\i}nfecteerde machine.} \item[game2.exe] {Hij dient als een e-mailadres-verzamelaar: zodra hij nieuwe emails verzameld heeft, worden ze geupload als 1.JPG op een andere server.} \item[game3.exe] {Dit bestand verstuurt de spam naar de verzamelde e-mailadressen} \item[game4.exe] {Maakt contact met een C\&C-server om een configuratiebestand te downloaden. Als er DDOS-aanvallen worden uitgevoerd, zal dit bestand daar voor zorgen.} \end{description*} \subsubsection{Soorten aanvallen} Storm verstuurt onder andere spam, maar waarschijnlijk nog beruchter zijn Storms DDoS-aanvallen. \\ De DDOS aanval wordt uitgevoerd door game4.exe. Dit proces ontvangt een IP-adres als doel en het aanvalstype door een configuratiebestand te downloaden van een website die zit ingebouwd in de trojan. Het heeft nog wel als limiet dat het alleen ip-adressen kan aanvallen: het kan dus geen DNS-namen opzoeken.\\ Er kunnen verschillende types van DDoS-aanvallen worden uitgevoerd: \begin{itemize*} \item{80 TCP syn flood DDoS-aanval} \item{ICMP ping flood aanval} \item{Of beide DDoS-aanvallen tegenlijk} \end{itemize*} De doelen die Storm op dit moment heeft aangevallen zijn vrij divers, maar hebben vaak het oogmerk om het botnet in stand te houden. Zo zijn er aanvallen uitgevoerd op websites die het Warezov virus verspreidden (een concurrent van Storm) en op websites van onderzoekers die Storm onderzoeken (Joe Stewart) en algemene anti-spam sites (spamhaus.org en 419eater). Daarnaast is het Storm botnet prominent in het versturen van spam. Door het verspreiden van spam, mogelijk gemaakt door game3.exe, zorgt het ook voor een verspreiding van de Storm worm. Dit gebeurt voornamelijk met behulp van e-mail verstuurd met een bijlage of een link naar een website, waar een uitvoerbaar bestand wordt gedownload.\\ \newpage \subsection*{Mega-D botnet} \subsubsection{Achtergrond van het botnet} Mega-D botnet maakt gebruik van een malware-familie genaamd Ozdok om haar malware te verspreiden. Hierdoor wist dit botnet gedurende vele maanden onopgemerkt blijven en toch een grootte van vele tienduizenden bots bereiken. Security-bedrijven rekenden de simpel te verwijderen malware namelijk direct als onschuldige variant binnen de Ozdok-familie, waar al adequate technieken tegen bestonden.\\ Pas na een onderzoek van Marshall naar de bron van een massieve hoeveelheid spam uit spam traps, bleek dat deze onschuldige en simpel te verwijderen malware verantwoordelijk voor een ruime 30\% van alle gegenereerde spam. Blijkbaar was Mega-D's tactiek zo effectief, dat het deze geweldige grootte onopgemerkt kon bereiken. Wellicht meer dan de hackers zelf hadden kunnen hopen, aangezien de spam enkel over male enlargement products gaat. \cite{marshall} \\ \subsubsection{De communicatie tussen de geïnfecteerde computer en de Command en Control server} Zodra het Ozdok virus geïnstalleerd is op de geïnfecteerde computer, probeert het contact te maken met een website waarop de C\&C-server bekend is. Als de C\&C-server geïdentificeerd is, probeert het virus via port 80 contact te leggen met de C\&C-server. Deze data en commando's die verstuurd worden, zijn geen HTTP- of SSL-verkeer: het verkeer is gecodeerd door een apart algoritme. Deze manier van communicatie kan ervoor zorgen dat geïnfecteerde computers achter een proxy server geen contact kunnen krijgen met een C\&C-server. Als de connectie gelegd is, wordt er een testbericht gestuurd naar port 25 van de C\&C-server om de SMTP-communicatie te testen. Als dat succesvol blijkt, stuurt de C\&C-server een spam-template over de geëncodeerde verbinding via port 80. Het Ozdok virus houdt rekening met greylisting en probeert opnieuw te sturen na de time-out. Daarnaast probeert Ozdok rekening te houden met patronen in de error messages die de SMTP servers teruggeven als een spam mail niet aankomt. Zo kunnen de e-mails die nooit aan komen, met uit de e-mail-lijst van de botnetbeheerder gefilterd worden. \\ \subsubsection{Functionaliteit en positie van de Command en Control server binnen het botnet} De C\&C-server is één statische computer binnen het netwerk die aan de hand van een lijst met e-mailadressen zogenaamde spam-templates genereert die vervolgens doorgezonden worden aan de zombies. De C\&C-server ontvangt een testbericht op port 25 via SMTP protocol en stuurt de spam-template via port 80 met non-standaard encryptie. \\ \subsubsection{Infectiemethoden} Bij een computer die wordt geinfecteerd met de Ozdok trojan, wordt een aantal schadelijke bestanden in de windows-/system32- map geplaatst. \\ Ook wordt er een nieuw systeemproces (ICF) geregistreerd in het Windows register en schadelijke code wordt geïnjecteerd in het svchost.exe windows proces. Het proces svhost.exe wordt geregistreerd in de standaard firewall om dat proces volledige internet toegang te verschaffen. \\ Na een restart van de geïnfecteerde computer wordt het nieuwe ICF proces geladen in de achtergrond; svchost.exe zoekt contact met de C\&C-server zodat hij spam kan versturen.\\ \subsubsection{Soorten aanvallen} Het Mega-D botnet is opgericht om spam te verzenden. Het staat er niet om bekend ook DDoS-aanvallen te ondernemen en is er waarschijnlijk ook niet toe in staat. Dit past perfect bij Mega-D's tactiek om onopgemerkt te blijven. De spam is vrijwel geheel reclame voor male enlargement products van alle mogelijke soorten. Vandaar de naam Mega Dick, die wijselijk door onderzoekers is omgedoopt tot Mega-D. \\ \newpage \section{Protocollen-onderzoek} Natuurlijk zijn er buiten het bereik van dit onderzoek nog vele andere voorbeelden van protocollen die misbruikt worden door spammers, virusmakers, hackers en botnetbeheerders. De focus ligt hier echter op twee protocollen. SMTP is een bekend en veelgebruikt protocol voor het versturen van E-mail, terwijl Overnet een protocol is voor het delen van bestanden tussen peers. Misbruik van het SMTP-protocol vindt dus vooral plaats door de spammers en botnetbeheerders. Door te maskeren van wie de mail komt, kunnen deze groepen makkelijk low-cost e-mail versturen. SMTP is een oud protocol dat oorspronkelijk gebruikt werd voor communicatie tussen wetenschappers op het oude internet. Hierbij was nog geen behoefte aan een geforceerde verificatie, aangezien het netwerk vertrouwd was. Overnet wordt misbruikt door de makers van het Storm-botnet. Het protocol wordt gebruikt bij de communicatie en het transport van bestanden tussen de geïnfecteerde computers. Overnet's kracht bestaat uit het effectief en snel delen van bestanden. Dit wordt misbruikt door Storm om snel data te delen tussen bots en het net flexibel te houden. \\ \subsection*{Misbruik van SMTP} SMTP wordt veel gebruikt voor het versturen van e-mail over het internet. Dit protocol wordt ook veel misbruikt door spammers en botnets.\\ \subsubsection{Eigenschappen waar de botnets gebruik/misbruik van maken.} Storm en Mega-D halen veel voordeel uit de anonimiteit van SMTP. SMTP heeft als eigenschap dat er een afzender handmatig kan worden ingevuld, maar hier zitten verder geen restricties aan. Verder is SMTP wijdverspreid en kan in principe op elke poort ontvangen worden.\\ \subsubsection{Bekende oplossingen} SMTP-AUTH is een extensie van het protocol dat zorg draagt voor de betrouwbaarheid van de informatie over de afzender. Er is getracht deze extensie overal te implementeren. SMTP is echter te veelvuldig gebruikt om SMTP-AUTH een volledige oplossing te laten zijn voor het spamprobleem. \\ Een andere oplossing is poort TCP 25 af te sluiten, waardoor spam via de TCP 25 minder effectief wordt. Dit is echter ook bij lange na geen permanente oplossing, aangezien SMTP via andere poorten, hoewel niet de internationale default, wel gewoon mogelijk is. Steeds vaker wordt spam gedetecteerd op ongebruikelijke poorten. \\ Routers, met name die van servers binnen bedrijfsnetwerken kunnen dusdanig ingesteld worden, dat bedrijfscomputers enkel met elkáár kunnen communiceren via SMTP protocol. Computers van buitenaf, met goede of kwade bedoelingen, kunnen er echter niet bij. Dit heeft als nadeel dat medewerkers niet van buitenaf via SMTP met het netwerk kunnen communiceren, maar voorkomt misbruik van bedrijfsnetwerken als botnets. Op het moment wordt SMTP echter nog simpelweg te veel gebruikt om dit te realiseren. \\ \subsection*{Misbruik van het Overnet protocol} Overnet was oorspronkelijk een peer-2-peer communicatie protocol gebruikt voor het eDonkey2000 netwerk. Het Storm botnet maakt deels gebruik van de lokalisatie gebruikt voor Overnet. De lokalisatie is echter aangepast om URL's te ontvangen van de gevonden peers in plaats van muziek of databestanden.\\ \subsubsection{Eigenschappen waar het Stormbotnet gebruik/misbruik van maakt} Het peer-to-peer principe berust op het idee dat alle computers met elkaar bestanden delen. Normaal gesproken wordt er bij een peer-to-peer netwerk een bestand gelokaliseerd door meerdere peers te vragen of ze dat bestand hebben; zo niet, dan kennen ze misschien andere peers die dit bestand wel hebben. In het geval van Overnet wordt er niet naar een bestand gezocht, maar naar een URL waar het botnet diverse bestanden kan downloaden. Het voordeel waar het Storm botnet gebruik van kan maken, is dat de peers de onwetende geïnfecteerde computers zijn binnen het botnet. Oorspronkelijk is het Overnet protocol bedoeld om gebruikt te worden door bewuste gebruikers die deel willen nemen aan het peer-to-peer netwerk.\\ \subsubsection{Bekende oplossingen tegen misbruik} De enige oplossingen die om het misbruik van Overnet tegengaan is het ontmantelen van de geïnfecteerde computers of zorgen dat de geïnfecteerde computers niet gebruik kunnen maken van het Overnet peer-to-peer netwerk. Eigenlijk is dit niet meer als symptoombestrijding. Doordat het gebruikte Overnet protocol alleen door de geïnfecteerde computers gebruikt wordt, kan de buitenwereld hier niet echt actie tegen ondernemen. Overnet maakt echter wel gebruik van een bepaalde vorm van encryptie die door netwerkbeheerders herkend kan worden. Iemand met verstand van zaken kan de communicatie van Overnet blokkeren in de router. \\ \newpage \chapter{Discussie} \section{Vervolg onderzoek} Dit onderzoek heeft een beeld gegeven van de eigenschappen die botnets sterk en gevaarlijk maken. De resultaten zijn met name nuttig voor vervolgonderzoek, waarbij de focus moet liggen op het zoeken naar middelen tegen botnets, waarbij gebruik wordt gemaakt van de kennis die over botnets en hun toekomstige voorkomens bestaat. Ook is een beeld gegeven van de fouten/zwakheden in enkele protocollen die o.a. botnets op dit moment gebruiken waar kwaadwillenden misbruik van kunnen maken. De meeste protocollen zijn meer dan vijf tot tien jaar geleden opgezet en toen was er weinig aandacht voor de veiligheid die we tegenwoordig verwachten van systemen. Vervolgonderzoek kan gedaan worden naar oplossingen voor verbeterde, veiligere protocollen, die spam niet toelaten. \section{Valkuilen van het onderzoek} Er zijn wel degelijk heikele punten te bespeuren in dit onderzoek. De eerste en misschien belangrijkste is dat de onderzoeksvraag draait om botnets, terwijl de opzet van botnets hevig verandert in korte tijd. De vraag is dus ook of, behalve de voorspellende waarde die het onderzoek heeft, het veel bijdraagt aan de bestrijding van deze netwerken. Storm was al over zijn hoogtepunt, maar Mega-D is tijdens het onderzoek van zijn troon gestoten als marktleider in spam. Aanpassing van protocollen en bestrijding van symptomen zoals zichtbaar gemaakt in dit onderzoek is dan ook zeker niet voldoende. Er zal in de toekomst gewerkt moeten worden aan systemen die vooraf zo helder en solide zijn opgezet, dat een dergelijk misbruik onmogelijk is. Een ordening van het internet zou daarbij zeker geen kwaad kunnen. Daarnaast bevatten ook de wetenschappelijke bronnen over botnets veel speculaties. Botnets blijven nu eenmaal grote netwerken die actief proberen zo weinig mogelijk informatie prijs te geven. Hoewel de meeste speculaties gebaseerd zijn op grote hoeveelheden testdata blijft het een feit dat veel onderzoeken naar botnets resulteren in schattingen en vermoedens in plaats van onmiskenbare feiten. \newpage \chapter{Conclusie} Met behulp van de behaalde resultaten van het de deelonderzoeken Storm versus Mega-D en Misbruik van Overnet en SMTP kan de gestelde onderzoeksvraag \emph{Welke eigenschappen van botnets dragen bij aan hun productiviteit en lange levensverwachting en hoe maken ze misbruik van bestaande protocollen?} beantwoord worden. \\ De onderzoeksvraag wordt in drie delen beantwoord.\\ \section{Welke eigenschappen van een botnet dragen bij aan hun productiviteit?} De productiviteit van een botnet blijft moelijk te bevatten, het gaat hier sterk om de negatieve effecten die de botnets op zijn omgeving hebben. In het onderzoek is wel sterk naar voren gekomen dat de spam mogelijkheden van botnets zeer moeilijk tegen te gaan zijn. Hiervan wordt door de botnets sterk gebruik gemaakt. Van de slapende zombie-computers in het Storm botnet tot de specialisme van Mega-D. Één van de kenmerkende eigenschappen van Storm is dat het grootste deel van de geïnfecteerde computers op non-actief staat. Hoewel dit een goede invloed heeft op de levensverwachting van Storm, zou Storm een veel grotere speler worden op onder andere het spamvlak als het zijn bots zou activeren. Hieruit blijkt dat er angst is voor de onderzoekers. \\ Men kan echter wel zeggen dat het een effectieve speler is op de manier dat Storm DDOS aanvallen uitvoert. Dit komt onder andere door de strakke controle die de botnetbeheerders uitvoeren. Zo heeft Storm ook de reputatie om onderzoeksteams die naar Storm onderzoeken aan te vallen en zo het onderzoekswerk te hinderen. Maar ook anti-spam organisaties zijn hiervoor niet veilig. Een goede eigenschap van Mega-D is de specialisatie in het versturen van spam. Doordat zij zich puur richten op het versturen van spam hebben ze een groot aandeel in de spam-markt. Dit wordt versterkt door de eigenschappen die Mega-D heeft om anti-spam maatregels te omzeilen door een slimme werking van het hersturen van spam en het opschonen van de e-maillijsten. \section{Welke eigenschappen van een botnet verlengen de levensverwachting van botnets?} Levensverwachting van botnets, in het onderzoek tussen de twee botnets Storm en Mega-D is er naast de productiviteit ook gekeken naar de levensverwachting van botnets. De levensverwachting kan beïnvloed worden door een aantal eigenschappen welke een botnet kan bezitten. Voor Storm hebben de flexibele C\&C-servers een goede invloed op de levensverwachting van botnets. Waar veel botnets slecht een paar `statische' C\&C-servers hebben, dient het peer-to-peer netwerk van Storm voor flexibele mogelijkheden. Zo kan elke geïnfecteerde computer als een C\&C-server worden ingericht. \\ De flexibele C\&C-servers worden ook ondersteunt door het fast-flux principe, waar een farm van geïnfecteerde computer als poortwachter dienen. Vooral door de snelle wisseling van poortwachter is het zeer lastig om deze C\&C-servers neer te halen. \\ Storm heeft de reputatie om slechts maar ene klein deel van het botnet op actief te stellen. Om deze reden beschermt Storm zichzelf tegen ontdekking, alleen komt het wel ten koste van de productiviteit. \\ De encryptie die Storm sinds kort gebruikt werkt zowel in het voordeel als in het nadeel voor de levensverwachting van Storm. Door deze encryptie in te voeren zorgt Storm voor een toekomstvisie, hierdoor wordt eventueel het verhuur van delen van het botnet mogelijk gemaakt. Het nadeel echter is dat het de communicatie makkelijker te ontdekken maakt. Hierdoor kunnen de geïnfecteerde computers makkelijker gespot worden door netwerkbeheerders, maar ook de C\&C-servers zijn hierdoor kwetsbaarder. Ook de productiviteit wordt hierdoor verminderd. Mega-D is op zichzelf een kleine botnet. Door de Odzok-malware familie te gebruiken om computers te infecteren voor gebruik in het botnet, heeft een goed effect gehad op de levensverwachting. Lang werd de Ozdok trojan beschouwd als een relatief onschuldige malware en werd niet gedacht dat het onderdeel was van het Mega-D botnet.\\ De `statische' C\&C-servers hebben een groot negatief effect op de levensverwachting, dat heeft ook gebleken toen de C\&C-servers een paar weken uitvielen. Hierdoor heeft het Mega-D botnet geen spam meer kunnen versturen. \\ \section{Hoe worden er in botnets gebruik/misbruik gemaakt van protocollen?} Zowel in het Storm botnet als in het Mega-D botnet wordt misbruik gemaakt van protocollen, voornamelijk het Overnet en SMTP protocol. In de resultaten van het protocollenonderzoek is gebleken dat Overnet en SMTP twee protocollen zijn met de eigen zwakheden en specialiteiten. \\ Overnet wordt misbruikt door het Storm botnet, het vernieuwde protocol is gebaseerd op de lokalisatie-principes van het oorspronkelijke Overnet. Hierdoor bouwt Storm verder op een basis die is gelegd door andere partijen. Op deze manier maakt Storm misbruik van de gedachten achter het oorspronkelijke protocol.\\ Zowel Storm als Mega-D maken intensief gebruik van het SMTP protcol. Een van de grootste nadelen van het SMTP protocol is manier waarop SMTP de verzender vastlegd. De verzender kan deze namelijk zelf handmatig invullen als iemand anders. Zo kunnen de botnets anoniem de spam verzenden. \section{Hoe zien toekomstige botnets er uit?} Botnets passen zich razendsnel aan om de wetenschap een stap voor te blijven. Command en Control servers waren vroeger statische, snelle bots. Tegenwoordig neigen botnets steeds meer naar snel wisselende C\&C-servers waarbij alle bots in staat zijn deze rol te vervullen. Zo vormt de C\&C-server steeds minder de zwakke plek van het botnet en moet de wetenschap zich noodgedwongen focussen op detectie en verwijdering van de malware van de geïnfecteerde PC. De oudere botnets groeiden ongeremd tot groottes van vele miljoenen, maar trokken zoveel aandacht dat ze binnen no-time vernietigd werden. De nieuwere botnets zijn kleiner en minder open. Als ze maanden onopgemerkt blijven, is dat pure winst voor de beheerders. De huidige computers zijn ook zo snel geworden, dat de kleinere botnets in staat zijn om minstens zo veel mails te versturen als de oude, grotere botnets. Ook gebruiken de nieuwere botnets steeds sluwere methodes om detectie op computers te voorkomen. De code is vaak verdeeld in honderden delen, waarvan de combinatie omgegooid kan worden. Hierdoor werkt detectie van signatures slecht. Vaak zijn er zoveel varianten van de malware mogelijk, dat slechts aan symptoombestrijding gedaan kan worden. Als laatste kunnen onderzoekers rekenen op allerlei nieuwe foefjes die al de kop opgestoken hebben, zoals het herkennen van spam-traps, virtuele onderzoeksomgevingen en blacklisting. Bovendien worden steeds vaker bestaande accounts gebruikt om spam te versturen naar personen uit adresboeken. Het is bijzonder lastig om zo spam te herkennen, vooral nu de berichten steeds cryptischer en willekeuriger worden. \chapter[Bijlage experiment: \\ Uppaal model vergelijking SMTP vs. SMTP-auth] {Experiment:\\ \large{Uppaal model vergelijking SMTP vs. SMTP-auth}} \section*{Inleiding} Met behulp van de modeling tool Uppaal zijn de protocollen SMTP en SMTP-auth globaal gemodelleerd. Het belangrijkste doel van dit onderzoek was om de verschillen tussen SMTP en SMTP-auth inzichtelijk te maken. Van beide protocollen is een model gemaakt. Deze modellen zijn terug te vinden in de resultaten van het experiment. Het exact uitwerken van de protocollen is, gezien de beperkte tijd, niet mogelijk. Daarom zal er van bepaalde dingen worden geabstraheerd, en zullen we alleen kijken naar de "perfecte" manier waarop het protocol werkt, en niet naar de gevallen waarin er iets onverwachts gebeurt. \subsection*{Waarvan is er geabstraheerd?} Er is geabstraheerd van alle speciale gebeurtenissen die er kunnen optreden. De verbinding kan bijvoorbeeld middenin de transactie worden verbroken, of er kan een storing zijn. In het model wordt alleen het ideale geval weergegeven, namelijk het geval waarin alles goed gaat. Ook is er gekozen voor een iets versimpelde weergave van sommige onderdelen. Het is bijvoorbeeld mogelijk om meerdere ontvangers te specificeren, dit is niet in model verwerkt. Daarnaast zijn alle gegevens (afzender, ontvanger, e-maildata ect) opgeslagen als integers, oftewel getallen. Hier is voor gekozen omdat het in Uppaal alleen mogelijk is om getallen te gebruiken en geen Strings zoals logischer zou zijn. Dit maakt echter voor het model geen feitelijk verschil.\\ Er is ook geabstraheerd van het feit dat een server wellicht meerdere clients tegelijkertijd kan "bedienen" terwijl het in het model alleen mogelijk is om maar met één client tegelijkertijd verbinding te hebben. \newpage \section*{Resultaten} \subsection*{De Uppaal modellen} \begin{figure} \includegraphics[bb=75 0 594 500, scale=0.7]{smtp.jpg} \caption{SMTP model\\ De startsituatie bij het model is dat de server is opgestart en klaarstaat om een verbinding te maken met een client, en de client moet ook opgestart zijn en een e-mail willen versturen. De client maakt contact met de server door middel van het commando \emph{HELO} en stuurt hierbij zijn hostname mee. Daarna geeft hij achtereenvolgens de afzender en ontvanger door. De server stuurt de end-char door, waarmee de e-maildata moet worden afgesloten om het einde te markeren. De client geeft de e-maildata door en sluit af met de end-char. Als laatste roept de client het commando \emph{QUIT} aan en zo wordt de verbinding verbroken. De server is daarna weer klaar om een nieuwe verbinding aan te gaan.} \end{figure} \label{fig:by:table} \begin{figure} \includegraphics[bb=150 0 594 800, scale=0.6]{smtp-auth.jpg} \caption{SMTP-auth model\\ De startsituatie bij het model is dat de server is opgestart en klaarstaat om een verbinding te maken met een client, en de client moet ook opgestart zijn en een email willen versturen.\\ De client maakt contact met de server door middel van het commando \emph{EHLO} waarna de server reageert met het \emph{OK} commando. Als er nog geen \emph{TLS} verbinding is opgezet gebeurt dat eerst. Daarna maakt de client opnieuw verbinding met de server. Deze reageert nu op een andere manier waarna de client zich zal authenticeren. Als dit succesvol is wordt de email verstuurd net zoals bij SMTP. De server is daarna weer klaar om een nieuwe verbinding aan te gaan.} \end{figure} \newpage \subsection*{Vergelijking van SMTP en SMTP-auth Uppaal-modellen} Het vergelijken van de twee Uppaal modellen hebben een aantal overeenkomsten en verschillen opgeleverd. \subsubsection{Overeenkomsten} De kern van de informatie die verstuurd wordt van client naar server is gelijk gebleven. \subsubsection{Verschillen} Er bestaat een duidelijk verschil tussen SMTP en SMTP-auth. In SMTP wordt er zodra de server gevonden is direct een verbinding gemaakt, waarna de e-mail kan worden verzonden. SMTP-auth eist echter éérst een authenticatie, voordat de e-mail kan worden verstuurd. Deze authenticatie bestaat uit twee stappen: Eerst moet een beveiligde \emph{TLS} verbinding opgesteld worden en als dit voltooid is moet de client geverifiëerd worden. \section*{Conclusie} De beveiliging van de SMTP-auth protocol is een zeker een stap vooruit, ten opzichte van SMTP. Het is nu niet meer mogelijk om als willekeurige persoon in te loggen op een SMTP-server en een e-mail te versturen. SMTP-auth is echter nog niet 100 \% veilig. Het grote probleem van de ingevulde e-mailadres van de afzender, is nog niet opgelost met de extra authenticatie van de client. Op deze manier kan nog men zich nog steeds voordoen alsof men een e-mail stuurt vanaf een ander e-mailadres dan dat men werkelijk heeft. \section*{Discussie} Het is de vraag of het experiment zoals deze nu uitgevoerd is veel heeft toegevoegd aan het onderzoek. Er zijn veel abstracties aan vooraf gegaan, op deze manier is weinig complexiteit van de communicatieprotocollen overgebleven. Om dit te voorkomen had eerder beslist moeten worde er een model van SMTP en SMTP-auth gemaakt ging worden, dan waren de protocollen wellicht iets uitgebreider geweest. Het is echter nog wel duidelijk waar de verbeteringen voor het SMTP protocol zijn toegepast. De conclusie die getrokken is over de uitkomst van dit experiment kan in twijfel worden getrokken. Diverse onderdelen van het SMTP wordt anders gebruikt in de praktijk dan waarvoor het ontworpen was. \\ Een voorbeeld hiervan is dat het verzender-veld vaak gebruikt wordt op een manier waarop dit niet bedoelt was. Deze waarde is oorspronkelijk bedoeld om, als een e-mail niet kon worden verzonden, de e-mail terug te sturen naar de afzender met het bericht dat het niet verzonden was. Op dit moment gebruikt iedereen dit om te bepalen wie een e-mail heeft verstuurd. Je kunt de conclusie daarom in twijfel trekken omdat het betwistbaar is of het het protocol aangerekend kan worden dat men er op deze manier mee omgaat. \nocite{ieeeStormBrew} \nocite{ieeeFastZombies} \nocite{honeyTB} \nocite{honeyFF} \nocite{secureWorksStormDDOS} \nocite{swMegaDTrojan} \nocite{shadowInsideBotnet} \nocite{RFC-SMTP-AUTH} \nocite{RFC-SMTP} \bibliographystyle{is-alpha} \bibliography{RenD} \newpage \end{document}