Anonymity, Integrity and Reliability Issues with Open Proxies
Total Page:16
File Type:pdf, Size:1020Kb
Die approbierte Originalversion dieser Diplom-/Masterarbeit ist an der Hauptbibliothek der Technischen Universität Wien aufgestellt (http://www.ub.tuwien.ac.at). The approved original version of this diploma or master thesis is available at the main library of the Vienna University of Technology (http://www.ub.tuwien.ac.at/englweb/). Anonymity, Integrity And Reliability Issues With Open Proxies DIPLOMARBEIT zur Erlangung des akademischen Grades Diplom-Ingenieur im Rahmen des Studiums Wirtschaftsinformatik eingereicht von Christian Schmidt Matrikelnummer 0325576 an der Fakultät für Informatik der Technischen Universität Wien Betreuung Betreuer: PD Dr. Edgar Weippl Wien, 22.04.2010 (Unterschrift Verfasser) (Unterschrift Betreuer) Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Schmidt Christian Loitzbach 10 3240 Mank Hiermit erkläre ich, dass ich diese Arbeit selbständig verfasst habe, dass ich die ver- wendeten Quellen und Hilfsmittel vollständig angegeben habe und dass ich die Stellen der Arbeit – einschließlich Tabellen, Karten und Abbildungen –, die anderen Werken oder dem Internet im Wortlaut oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe der Quelle als Entlehnung kenntlich gemacht habe. Wien, 20. 04. 2010 (Unterschrift Verfasser/in) i Abstract An open proxy acts as a communication gateway in a network, which can be used without authentication. Client requests are transferred over the proxy as intermediary. Thus, open proxies are a significant danger for security as they cannot only intercept, but also modify data. After a theoretical introduction, this thesis focuses mainly on three research ques- tions. The first deals with proxylists which are available on Internet. What are possible attacks on the integrity of proxylists? In this regard we intend to smuggle in fake prox- ies into proxylists so that the list is useless for its users. Moreover, it will point out, how freely accessible proxies will be checked and classified according to availability, per- formance and anonymity. The second research question performs an analysis of logged Internet traffic trans- ferred over an open proxy. By implementing and providing an open proxy service, the question of what are open proxies used for will be answered. Especially, it will be an- alyzed which web attacks will be launched or which trusted personal information will be sent via an open proxy. Ultimately, the third research question provides answers to whether open proxies are an efficient channel for spreading malware. Do users trust the integrity of executable downloaded over not trustworthy proxies? We deployed an experiment offering an open proxy, which redirects all executable downloads to a pseudo-malicious applica- tion. ii Zusammenfassung Offene Proxies stellen für das Internet eine große Gefahr dar. Praktisch jeder Internet User kann sich die Identität eines offenen Proxies aneignen, um so anonym zu sur- fen oder im schlechtesten Fall gegen andere Internet Nutzer auftreten. In dieser Ar- beit wird zuerst versucht, die Grundfunktionalitäten eines Proxies zu erläutern und wie Proxies konfiguriert werden, sodass sie ohne Authentifizierung genutzt werden kön- nen. Neben einer Aufstellung von Erklärungsversuchen, warum es dieses Phänomen von offenen Proxies überhaupt gibt, wird anhand diverser Konfigurationen gezeigt, wie sie arbeiten und wie man sie generell auf Verfügbarkeit, Performance und Klassifika- tion abfragen kann. Nach diesen eher theoretischen Erläuterungen konzentriert sich die Arbeit auf drei Forschungsfragen. Die erste Frage geht auf die im Internet zu findenden Proxylisten ein. Wie lassen sich diese Proxylisten stören bzw. täuschen, um so die Qualität dieser Listen ernsthaft in Frage zu stellen? Wir starten den Versuch nicht-funktionierende Proxies in eine Proxyliste einzuschleusen, um sie die Integrität der Liste zu verletzen. Die zweite Forschungsfrage behandelt die Analyse eines mitgeloggten Internetver- kehrs, der über einen offenen Proxy geführt wird. Welche Beweggründe haben Inter- net Nutzer, dass sie mit offene Proxies im Internet surfen? Durch ein Experiment wird versucht herauszufinden, welche Aktivitäten durchgeführt werden, ob Web-Attacken gestartet werden, und welche vertrauenswürdigen, personenbezogenen Daten über einen offenen Proxy übertragen werden. Die dritte Forschungsfrage untersucht, wie gut man mit offene Proxies Malware ver- breiten kann. Wenn ein Nutzer eines offenen Proxies eine ausführbare Datei anfordert, dann obliegt es dem Proxybetreiber, welche Datei wirklich weiterleitet wird. In diesen Punkt wird evaluiert, welches Vertrauen diese Anwender einer eigentlich nicht ver- trauenswürdigen Quelle schenken. iii Acknowledgements First of all, I am deeply grateful to my advisor and mentor PD Dr. Edgar Weippl for giving me the opportunity to work on this thesis. I really appreciate his continuous sup- port and quality feedback during the writing process. I would like to acknowledge my brother Daniel for his careful proofreading as well as his comments and suggestions. Ultimately, I am much obliged to my parents for their encouragement. Thank you for supporting me in my life and for always believing in me! iv Contents Abstract ii Zusammenfassung iii Acknowledgements iv 1. Introduction2 1.1. Motivation...................................2 1.2. Related Works.................................3 1.3. Outline.....................................9 2. Basics and fundamentals 11 2.1. Fundamental Terms.............................. 11 2.1.1. Proxy Server.............................. 11 2.1.2. Open proxies............................. 13 2.1.3. Information Privacy - Offline versus Digital world......... 14 2.1.4. Meaning of anonymity........................ 16 2.2. Conceptual and functional categorization of proxy servers........ 16 2.2.1. Proxying concepts.......................... 16 2.2.2. Proxy functions and features..................... 20 2.3. Appearance of open proxies......................... 22 2.4. Risk and consequences of providing open proxies............. 23 3. Availability and classification issues of open proxies 24 3.1. Finding open proxies............................. 24 3.1.1. Proxylists................................ 25 3.1.2. Proxy Hunter.............................. 26 3.2. Proxy Checker................................. 27 3.2.1. Web-based possibilities....................... 28 v Contents 3.2.2. Host-based tools and scripts..................... 30 3.3. Identification of proxy usage - Does a user use a proxy?......... 34 3.4. Proxy’s anonymity classification....................... 38 3.4.1. Anonymity levels........................... 38 3.4.2. Proxy Judges.............................. 42 4. Technical introduction to implemente open proxies 44 4.1. Configuration of a Squid proxy as an open intermediary......... 44 4.1.1. Configuration and log files...................... 45 4.1.2. Monitoring of web traffic and web attack detection........ 47 4.1.3. Configuring a highly anonymous proxy............... 48 4.2. Implementing an open proxy via an Apache server............ 49 4.2.1. Bandwidth limitation......................... 50 4.2.2. Anonymization of Apache proxy server............... 51 4.2.3. Securing the Apache proxy server................. 52 4.2.4. Logfiles of Apache proxy server................... 55 5. How to annoy proxylists? 56 5.1. Description and goals............................. 56 5.2. How do proxylists receive their open proxies?............... 57 5.2.1. Static proxylist driven by user entries................ 57 5.2.2. Gaining open proxies by proxy leecher.............. 59 5.3. How fake proxies remain within proxylists?................. 63 5.4. Final results in this research......................... 70 6. What are open proxies used for? 72 6.1. Description and goals............................. 72 6.2. Different periods of open proxy runs.................... 73 6.3. Some high level statistics........................... 75 6.3.1. Top Users............................... 76 6.3.2. Users Stay Length Report....................... 78 6.3.3. Top Countries............................. 79 6.3.4. Top Pages............................... 80 6.3.5. Top Downloads............................ 81 6.3.6. Top Search Engines.......................... 84 6.3.7. Top Search Phrases.......................... 85 vi Contents 6.3.8. Top Operating Systems........................ 87 6.3.9. Top Browsers............................. 88 6.3.10. Top Unrecognized Browsers..................... 88 6.4. Analysis of web attacks............................ 90 6.4.1. What different types of attacks can you identify?.......... 91 6.4.2. Do attackers target Secure Socket Layer (SSL)-enabled web servers as their destinations? Why would they want to use SSL?..... 98 6.4.3. Are there any indications of proxy chaining?........... 99 6.4.4. Identify the different Brute Force Authentication attack methods. Are there any clear-text username/password credentials?.... 102 6.5. Summary.................................... 111 7. Open proxies for spreading malware? 112 7.1. Description and goals............................. 112 7.2. Introducing a disclaimer........................... 113 7.3. Redirector configuration........................... 115 7.4. Creating Malware............................... 117 7.5. Deployment and results of the experiment................. 120 7.6. Summary about RS 3............................. 126 8. Conclusion and Further works 127 A. Source code fragments 130 vii List of Figures 2.1. Illustration