Tracking and Mitigation of Malicious Remote Control Networks
Total Page:16
File Type:pdf, Size:1020Kb
Tracking and Mitigation of Malicious Remote Control Networks Inauguraldissertation zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften der Universität Mannheim vorgelegt von Thorsten Holz aus Trier Mannheim, 2009 Dekan: Prof. Dr. Felix Christoph Freiling, Universität Mannheim Referent: Prof. Dr. Felix Christoph Freiling, Universität Mannheim Korreferent: Prof. Dr. Christopher Krügel, University of California, Santa Barbara Tag der mündlichen Prüfung: 30. April 2009 Abstract Attacks against end-users are one of the negative side effects of today’s networks. The goal of the attacker is to compromise the victim’s machine and obtain control over it. This machine is then used to carry out denial-of-service attacks, to send out spam mails, or for other nefarious purposes. From an attacker’s point of view, this kind of attack is even more efficient if she manages to compromise a large number of machines in parallel. In order to control all these machines, she establishes a malicious remote control network, i.e., a mechanism that enables an attacker the control over a large number of compromised machines for illicit activities. The most common type of these networks observed so far are so called botnets. Since these networks are one of the main factors behind current abuses on the Internet, we need to find novel approaches to stop them in an automated and efficient way. In this thesis we focus on this open problem and propose a general root cause methodology to stop malicious remote control networks. The basic idea of our method consists of three steps. In the first step, we use honeypots to collect information. A honeypot is an information system resource whose value lies in unauthorized or illicit use of that resource. This technique enables us to study current attacks on the Internet and we can for example capture samples of autonomous spreading malware (malicious software) in an automated way. We analyze the collected data to extract information about the remote control mechanism in an automated fashion. For example, we utilize an automated binary analysis tool to find the Command & Control (C&C) server that is used to send commands to the infected machines. In the second step, we use the extracted information to infiltrate the malicious remote control networks. This can for example be implemented by impersonating as a bot and infiltrating the remote control channel. Finally, in the third step we use the information collected during the infiltration phase to mitigate the network, e.g., by shutting down the remote control channel such that the attacker cannot send commands to the compromised machines. In this thesis we show the practical feasibility of this method. We examine different kinds of malicious remote control networks and discuss how we can track all of them in an automated way. As a first example, we study botnets that use a central C&C server: We illustrate how the three steps can be implemented in practice and present empirical measurement results obtained on the Internet. Second, we investigate botnets that use a peer-to-peer based communication channel. Mitigating these botnets is harder since no central C&C server exists which could be taken offline. Nevertheless, our methodology can also be applied to this kind of networks and we present empirical measurement results substantiating our method. Third, we study fast-flux service networks. The idea behind these networks is that the attacker does not directly abuse the compromised machines, but uses them to establish a proxy network on top of these machines to enable a robust hosting infrastructure. Our method can be applied to this novel kind of malicious remote control networks and we present empirical results supporting this claim. We anticipate that the methodology proposed in this thesis can also be used to track and mitigate other kinds of malicious remote control networks. i Zusammenfassung Angriffe gegen Nutzer sind einer der negativen Seiteneffekte heutiger Netze. Das Ziel eines Angreifers ist es, die Maschine des Opfers zu kompromittieren und Kontrolle über diese zu erlangen. Die Maschine wird dann dazu benutzt, Denial-of-Service Angriffe durchzuführen, Spam-Nachrichten zu verschicken oder für weitere schädliche Zwecke. Aus der Sicht eines Angreifers sind solche Angriffe noch effizienter, wenn er es schafft, eine große Anzahl an Maschinen gleichzeitig zu kompromittieren. Um alle diese Maschi- nen kontrollieren zu können, setzt der Angreifer ein malicious remote control network auf, das heisst einen Mechanismus, der es dem Angreifer erlaubt, eine große Anzahl an kompromittierten Maschinen zu kontrollieren, um diese für rechtswidrige Aktionen zu benutzen. Die bekannteste Art dieser Netze sind sogenannte Botnetze. Weil diese Netze einer der Hauptfaktoren derzeitiger Missbräuche im Internet sind, benötigen wir neuartige Ansätze, um sie in einem automatisierten und effizienten Prozess stoppen zu können. In dieser Arbeit konzentrieren wir uns auf dieses offene Problem und stellen eine allgemeine Methodik vor, um die Grundursache hinter ma- licious remote control networks zu stoppen. Die Grundidee unserer Methodik besteht aus drei Schritten. Im ersten Schritt benutzen wir Honeypots. Ein Honeypot ist ein Informationssystem, dessen Funktion darin besteht, von Angreifern auf unerlaubte oder nicht autorisierte Weise benutzt zu werden. Diese Technik erlaubt es uns, gegenwärtige Angriffe im Internet zu erforschen und wir können beispielsweise Kopien von Schad- software (malware), die sich selbständig verbreitet, in einem automatisierten Prozess sammeln. Wir analysieren die gesammelten Daten in einem automatisierten Verfahren, um Informationen über den Fernsteuerungsmechanismus zu extrahieren. Wir benutzen beispielsweise ein automatisiertes Programm zur Analyse von Binärdateien, um den Com- mand & Control (C&C) Server zu finden, mit dessen Hilfe Kommandos zu den infizierten Maschinen gesendet werden. Im zweiten Schritt benutzen wir die extrahierten Informa- tionen, um das malicious remote control network zu infiltrieren. Dies kann beispielsweise umgesetzt werden, indem wir das Verhalten eines Bots simulieren und uns in den Fernsteuerungskanal einschleusen. Letztendlich benutzen wir im dritten Schritt die in der Infiltrierungsphase gesammelten Informationen, um das Netz abzuschwächen. Dies geschieht beispielsweise, indem der Kommunikationskanal geschlossen wird, so dass der Angreifer keine Befehle mehr zu den kompromittierten Maschinen senden kann. In dieser Arbeit demonstrieren wir die praktische Umsetzbarkeit der vorgeschlagenen Methodik. Wir untersuchen verschiedene Typen von malicious remote control networks und erörtern, wie wir alle auf automatisierte Art und Weise aufspüren können. Als erstes Beispiel untersuchen wir Botnetze mit einem zentralen C&C-Server: Wir erläutern, wie die vorgeschlagenen drei Schritte in der Praxis umgesetzt werden können und präsentieren empirische Messergebnisse, die im Internet gesammelt wurden. Zweitens erforschen wir Botnetze mit einem Peer-to-Peer-basierten Kommunikationskanal. Eine Abschwächung dieser Botnetze ist schwieriger, da kein zentraler C&C-Server existiert, der abgeschaltet werden könnte. Dennoch kann unsere Methodik auch auf diese Art von Netzen angewandt werden und wir stellen empirische Messergebnisse vor, die unsere Methode untermauern. Als dritten Fall analysieren wir fast-flux service networks. Die iii Idee hinter diesen Netzen ist, dass der Angreifer die kompromittierten Maschinen nicht direkt missbraucht. Stattdessen benutzt er sie dazu, ein Proxy-Netzwerk mit Hilfe dieser Maschinen aufzubauen, das dann eine robuste Hostinginfrastruktur ermöglicht. Unsere Methodik kann auch auf diese neuartige Art von malicious remote control networks angewandt werden und wir präsentieren empirische Ergebnisse, die diese Behauptung bestätigen. Wir erwarten, daß die in dieser Arbeit vorgeschlagene Methodik auch dazu benutzt werden kann, weitere Arten von malicious remote control networks zu verfolgen und abzuschwächen. iv Acknowledgements A thesis is the result of a longer process and often involves collaboration with many different people. I would like to take the opportunity and acknowledge in this section all the individuals who helped me with the work on my thesis during the past years. First of all, I would like to express my gratitude to my advisor, Prof. Dr. Felix Freiling, for making this thesis possible. He opened me a door to the fascinating world of computer science and shared his insight and wisdom with me. His supervision, advice, and guidance from the early stages of this research on helped me to complete this work. In particular, the discussion about methodologically sound approaches were always insightful and taught me scientific thinking. I would also like to thank Prof. Dr. Christopher Krügel for his inspiring work and the interesting discussions we had. Our research interests overlap to a large degree and his many impressive publications stimulated my research interests over the years. I am really looking forward to work closely together with him in the near future. There are still lots of open problems and opportunities for further work in this area. In addition, I would like to thank all members of the Laboratory for Dependable Distributed Systems. Without the support from Maximillian Dornseif, Martin Mink, Lucia Draque Penso Rautenbach, Zina Benenson, Michael Becher, Carsten Willems, Christian Gorecki, Philipp Trinius, Markus Engelberth, and Jan Göbel, there would not have been such a pleasant and prolific