Redet man von Anonymität im Internet, denken viele Nutzer vermutlich gleich an Tor. Das Thema lässt sich allerdings auch tiefergehend betrachten und bezieht sich nicht nur auf die Privatsphäre während des Surfens. In diesem Artikel werden wir euch einige der grundlegenden Konzepte erklären, die auch einem Malware-Forscher bei der Untersuchung dienlich sind. Wenn wir über Anonymität sprechen, kommen wir um die Beschäftigung mit Proxy-Servern und bestimmten Protokollen nicht herum, die in solchen Fällen für die Kommunikation genutzt werden. Denn diese Tools sind für die Einrichtung einer anonymen Verbindung fundamental.
Was ist ein Proxy und welche Arten von Proxys gibt es?
Ein Proxy ist nichts weiter als ein Tool, das als Vermittler in Kommunikationen agiert. Je nachdem, welche Art von Proxy genutzt wird, ist es allerdings möglich, die Informationen, die von den Nutzern gesendet werden, zu identifizieren – und das kann auf bestimmten Gerätschaften aufgezeichnet werden.
Es gibt viele verschiedene Zwecke, um einen Proxy zu nutzen: Bandbreiten verwalten, Einschränkungen in einem Netzwerk vornehmen (z.B. für das Herunterladen von Anwendungen oder Webseiten-Inhalten) oder den Zugriff auf bestimmte Seiten blockieren, um nur einige zu nennen.
Grundlegend ist ein Proxy immer die Schnittstelle zwischen dem Client-Gerät und dem Ziel-Gerät. Die am häufigsten genutzten Arten sind:
- Transparenter Proxy: Abgesehen davon, dass möglicherweise eine Anmeldung erfordert wird, werden Anfragen oder Antworten nicht modifiziert. Das bedeutet, dass auf Client-Seite keine Konfigurationen vorgenommen werden müssen. Verwendet ein Client einen transparenten Proxy, kommen alle an den Ziel-Server übermittelten Anfragen von der IP-Adresse des Proxy-Servers. Allerdings wird in den Header eine Zeile eingefügt, die auf die IP-Adresse hinweist, von der die Anfrage ursprünglich stammt.
- Anonymisierender Proxy: Zeigt dem Ziel-Server nicht die IP-Adresse des Nutzers an, von dem die Anfrage stammt, sondern die des Proxy-Servers. Vorsicht ist allerdings bei X-Forwarded-For-Headern geboten, da dort die Client-IP enthalten sein kann.
- Stark anonymisierender Proxy: Wurde konzipiert, um die Privatsphäre für den Nutzer sicherzustellen. Weder die IP-Adresse noch andere Arten von Informationen werden preisgegeben. Aufgrund des hohen Levels an Anonymität handelt es sich um die beliebteste Proxy-Art.
Im Anonymisierungs-Prozess genutzte Protokolle
Protokolle sind Sätze an Regeln, die die Kommunikation zwischen zwei Entitäten (Client – Dienst) ermöglichen, damit Informationen übermittelt werden können. Die am häufigsten vorkommenden Protokolle sind HTTP, SOCKS4 und SOCKS5:
- HTTP: HTTP Proxys (aufgrund des Protokolls, über das die gesamte Kommunikation stattfindet, so genannt) sind dafür ausgelegt, Anfragen zu erhalten und sie an die angeforderte Quelle umzuleiten. Generell werden sie für unverschlüsselte Verbindungen genutzt, wobei sie SSL und FTP unterstützen.
- SOCKS4: Dieses Protokoll wurde konzipiert, um den Traffic zwischen dem Client und dem Server über einen Vermittler (Proxy Server) zu verwalten. SOCKS4 unterstützt nur TCP-Kommunikationen und verfügt über keine Authentifizierungs-Methoden. Im Gegensatz zu SOCKS4 unterstützt die Erweiterung SOCKS4A auch die Auflösung von Domainnamen in IP-Adressen.
- SOCKS5: Dieser Nachfolger und die neueste Version des vorhergenannten Proxys unterstützt TCP- und UDP-Kommunikationen sowie die Authentifizierung des Clients beim Proxy.
Inwiefern hilft Anonymität bei der Untersuchung von Malware?
Wenn du eine Verbindung eingehst und direkt mit anderen Geräten kommunizierst, ist es wichtig zu wissen, welche Informationen du dabei sendest.
Stell dir vor, du führst eine Sicherheitsprüfung durch und versuchst zusammen mit relevanten Autoritäten, ein Netzwerk von Cyberkriminellen zu enttarnen. Hierbei wirst du in irgendeiner Form mit den Instanzen interagieren müssen, die die Verantwortlichen für die Ausführung ihrer Angriffe nutzen. Mithilfe von Anonymisierungsmethoden kann man als Ermittler seine eigene Identität (z.B. seine IP-Adresse) verschleiern.
Sollten die Kriminellen deine Handlungen bemerken, können sie bei mangelnder Anonymität mithilfe von öffentlich zugänglichen Aufzeichnungen und Informationen herausfinden, dass du versucht hast, von einem Netzwerk aus eine Verbindung herzustellen, das zu den Autoritäten gehört.
Darüber hinaus ist es für einen Ermittler hilfreich, ein Tool zu nutzen, mit dem automatisch Samples eines schädlichen Codes von Webseiten heruntergeladen werden. Wenn du hierbei keine Informationsspuren hinterlassen möchtest (sei es aus persönlichen oder Vertraulichkeitsgründen oder, weil es die Situation erfordert), sind Anonymisierungsmethoden wiederum von großem Nutzen.
Lasst mich als Beispiel die Untersuchung eines Botnets nehmen: Wenn du die Adresse identifiziert hast, wo sich die Verwaltungskonsole des Botmasters befindet und du versuchst, darauf zuzugreifen, gibt es zwei mögliche Szenarien:
- Im Falle einer direkten Interaktion erhält der Angreifer unter Umständen eine Warnung im Log und kann sich zusammenreimen, dass jemand – anstelle eines Bots – versucht, sich mit dem Server zu verbinden. Wenn er bemerkt, dass die Aktivität von einer bestimmten IP-Adresse ausgeht, versucht er vielleicht, sie zu blockieren und verweigert dann den Zugang zur Verwaltungskonsole. Der Ermittler erhält dann eine negative Antwort, wenn er versucht, sich Zugang darauf zu verschaffen – heißt, er kann seine Untersuchungen nicht weiterführen.
- Wendet der Ermittler eine Anonymisierungsmethode an, könnte das Resultat ähnlich ausfallen, allerdings mit dem Vorteil, dass nicht seine eigene IP-Adresse, sondern die des verwendeten Proxy-Servers blockiert wird. In diesem Fall muss man also sicherstellen, einen stark anonymisierenden Proxy zu nutzen, sodass keinerlei Spuren hinterlassen Darüber hinaus kann man so seine eigene Identität schützen und verhindern, dass der Kriminelle als Antwort einen Angriff gegen einen selbst ausführt.
Das Wichtigste bei alledem ist, dass man sich der Unterschiede zwischen HTTP, SOCKS4 und SOCKS5 bewusst ist. Bei Untersuchungen, seien es Sicherheitsprüfungen oder Malware-Analysen sollte man nichts dem Zufall überlassen. Deshalb sollte man sich immer vorher überlegen, welche Aktivitäten man durchführen wird, welchen Grad an Anonymität man dafür benötigt und welche Art der Verbindung dabei genutzt wird.
Fazit
Über das Konzept der Anonymität hinaus gibt es verschiedene andere Themen, die man je nach Anforderungen im Hinterkopf behalten sollte. Während Tor ein freies Netzwerk ist, das die Privatsphäre beim Surfen sicherstellt, gibt es auch andere Tools – z.B. Privoxy oder ProxyChains – die man hierfür nutzen kann.
In der täglichen Untersuchung von Malware muss man kontinuierlich evaluieren, welche Aktivitäten man ausführen möchte und ob sie eine Anonymisierung erfordern. Sollte dies der Fall sein, muss man sich fragen, welches Maß an Anonymität notwendig ist.