Skype Security WDCM Dresden Friedemann Wulff-Woesten Eine kritische Auseinandersetzung
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Skype Security WDCM Dresden Friedemann Wulff-Woesten Eine kritische Auseinandersetzung mit der populären Voice-over-IP Lösung in Zeiten der „Staatstrojaner“
Screenshot: http://www.f-secure.com/v-descs/trojan-downloader_osx_flashback_i.shtml
Glück im Unglück Screenshot: http://www.f-secure.com/v-descs/trojan-downloader_osx_flashback_i.shtml
Remote Forensic Software (aka Staatstrojaner) • Warum Skype per Trojaner überwachen? (Datei muss auf Rechner gelangen, Trojaner darf nicht von Virenscannern erkannt werden... Anschaffungskosten für Behörden vergleichsweise hoch) • Warum nicht gleich Pakete beim ISP abgreifen bzw. Skype zur Herausgabe der Daten bringen?
mögliche Antworten • Skype selbst hat keine Gesprächsdaten (virtuelle Punkt-zu-Punkt-Verbindung zwischen Teilnehmern) Skype hat z.Zt. „nur“ IP-Adressen zu Benutzernamen bei der Registrierung und beim Geld aufladen auf Skype-Konto (z.B. Paypal) Quelle: http://cryptome.org/isp-spy/skype-spy.pdf • P2P Netz (basierend auf KaZaA) teilweise Gespräche über Relays (wenn beide hinter NAT; Rechner nicht von Skype, sondern von anderen Nutzern - meist unwissentlich - bereitgestellt: „Relay Nodes“)
mögliche Antworten • Nachrichten und Gespräche geXORT mit AES- Session Key im ICM-Modus • Skype Protokoll bewusst sehr konfus, geschlossen alles öffentliche Wissen nur durch Reverse Engineering erhalten (welches Skype untersagt)
mögliche Antworten • Skype-Nutzer sind oft mobil (Apps für alle möglichen mobilen Geräte, Skype funktioniert auch über 3G-Netz sehr gut oder in der Kneipe mit kostenlosem WiFi um die Ecke → ständig wechselnde ISPs und Einwahlknoten, kaum feste IPs) • verschlüsselte UDP-Pakete nach nicht standardisiertem Protokoll, bei mehreren ISPs → müssen einem Nutzer erst einmal zugeordnet werden → nicht unmöglich, aber nicht für jede Landesbehörde machbar
„Skype was made by clever people“ • Schutz der Skype-Software vor Reengineering (Anti-Debugging, Code Check, Verschlüsselung des Binaries, Code Obfuscation) • Verschlüsselung der reinen Signalisierung mit RC4 • Einsatz von asymmetrischen (RSA) und symmetrischen Kryptoverfahren (AES) zur Verschlüsselung der Kommunikation und Authentifizierung der Nutzer
„Skype was made by clever people“ • AES 256 Transport Layer Encryption (Ende-zu-Ende) • RSA 1024bit Schlüssel zur Aushandlung der symmetrischen AES Schlüssel • Berechnung nutzt Login und Passwort des Skype Nutzers • Public Key des Nutzers wird signiert mit 2048 bit RSA Zertifikat • Super Nodes halten Public Key und Login der Nutzer, signiert von Skype
„Skype was made by clever people“ • AES 256 bit, RSA 1024 bit, 2048 bit RSA Zertifikat → vergleichsweise „teuer“ zu brechen, wenn man allein die Kryptoalgorithmen angreift
Wie funktioniert Skype? • für Firma Skype wunderbar: Netzwerk braucht kaum Server (auf die Anzahl der Nutzer gesehen, man geht von > 663 Mio. registierten aus) • Load wird auf „Cloud“ verlagert • Aufpassen bei Traffic-Limit der eigenen Leitung: Skype hat massiven Overhead (ich selbst war in Tests oft Relaynode, wenn ich lange online war, dann ca. 10kB/s pro vermitteltem Gespräch)
Skype nodes • ordinary node („normaler Benutzer“) • supernode • relay node
Skype P2P Netzwerk Skype login server super node super node super node super node
Login • Versuch, irgendeinen Supernode (aus Hostcache) zu erreichen - in letzter Zeit sieht man viele SN aus Microsoft IP-Adressbereichen • IP und Port • IP und Port 80 • IP und Port 443 • nachdem erfolgreich mit SN verbunden, Authentifizierung gegenüber Skype Login Server
Login • Client sendet 0x1603010000 Server sendet 0x1703010000 • in meinem Falle sehr oft 2.17.22.161 (Datennetz der DTAG) • Skype mundtod machen: einfach Pakete mit 0x170301 verwerfen (Achtung! Andere Handshakes per SSL funktionieren u.U. auch nicht mehr!)
Login: das sieht dein ISP Screenshot: Wireshark
First Startup • ui.skype.com - „hello world“ • Skype checkt dort ebenfalls für Updates
„magic“ supernode • Verteilung des Skype Nutzerverzeichnisses, sind untereinander verbunden • wird man, wenn man • öffentliche IP hat und genügend Bandbreite • genug RAM • genug CPU-Power • ordentliche Uptime
relay node • Weiterleitung der Kommunikation von Clients, die nicht direkt miteinander kommunizieren können (Firewall, NAT) • großer Vorteil: ICQ und Konsorten funktionieren fast nie, denn „Lieschen Müller“ ist zu hoher Wahrscheinlichkeit hinter NAT und hat kein UPnP aktiv • Nachteil: Skype in Unternehmen...
Woher kommen nun die abgehörten Daten?
BRD • in Deutschland wurde Skype nachweislich erfolgreich mit Software der Firma Digitask abgehört (aka 0zapftis) http://ccc.de/de/updates/2011/analysiert-aktueller-staatstrojaner • es wird nichts weiter getan, als den Anruf den Skype-API als Extra-Datenstream an einen Server in den USA auszuleiten (kein Knacken von Verschlüsselung oder Befassen mit Skype Protokoll) • Daten wurden vor Gericht als Beweise verwendet
Regime unter Mubarak • in Ägypten wurde Skype mit der Software Finfisher abgehört (von GAMMA aus UK geliefert, in Deutschland entwickelt) • ebenfalls Trojaner, Protokoll wird nicht angegriffen • hatte gravierende Folgen für Regimegegner Screenshot: http://www.scribd.com/doc/50105199/Gamma-s-Anti-Skype-Finfisher-Spy-Software
Belarussische Methode • einfacher, aber effektiver Hack: Skype-Login und -Passwort per Trojaner abschnorcheln • auf weiterem Rechner Skype Instanz öffnen und mit richtigen Login-Daten einloggen • Skype synchronisiert automatisch die Clients und sendet Nachrichten an 2. Instanz • Tool: UFR Stealer
Belarussische Methode • ebenfalls im Einsatz: „Remote Manipulator System“ • Entwickler: TeknotIT • Dropper als „Skype.exe“ getarnt, mit Skype-Logo (MD5 z.B. 43fe19eb0896979568b986b8e7fd0e42) • Binary auch auf Rechnern von Regimegegnern in Polen gefunden
Belarussische Methode • allerdings: sehr leicht zu erkennen (Kaspersky: RemoteAdmin.Win32.RMS) • Binary trägt Decription „RMS Component“ • relevante Dateien in C:\Program Files\Remote Manipulator System – Server • ebenfalls Dynamische Bibliothek in C:\WINDOWS\system32\RWLN.dll • Prozesse: rutserv.exe (SYSTEM), rfusclient.exe (user)
Belarussische Methode • Auswirkungen: fast alles umsetzbar, Funktionalität des Trojaners geht sehr weit über Überwachung von Skype hinaus • in Deutschland würde diese Software nicht nur gegen ein Urteil des BVerfG zur Quellen-TKÜ verstoßen
Beobachtungen: • keiner greift das Skype Protokoll direkt an • Datenausleitung per Skype API (Digitask) oder direkt Mikrofon abgegriffen (RMS) • Kryptoalgorithmen wie AES, RSA, RC4 werden nicht angegriffen
Advanced: Skype in China • in China kann man normalen Skype Client nicht downloaden • stattdessen HTTP-Redirect auf Programm TOM-Skype, (http://www.skype.com auf http://skype.tom.com) entwickelt von TOM Group Limited (China)
Advanced: Skype in China Screenshot: http://www.nartv.org/mirror/breachingtrust.pdf, Seite 9
Advanced: Skype in China • Textchat wird gefiltert und auf Keywords gescannt, ggf. zensiert (Nachrichten werden nicht angezeigt) • wenn Match positiv, Upload des Chatprotokolls auf Server in China • es ist egal, ob auf der anderen Seite ein „normaler“ Skype-Client spricht • Logging-Server sind offen wie Scheunentor
weitere Sicherheitsbedenken ...
Skype Netzwerk missbrauchen • paralleles Netz aufbauen • http://www.blackhat.com/presentations/bh-europe-06/bh- eu-06-biondi/bh-eu-06-biondi-up.pdf • IP Adressen zu Nutzern mit Aufwand (leistungsfähige Rechner und Zeit) durch Sicherheitslücken im Protokoll herausfindbar, siehe Paper: „Exploiting P2P Communications to Invade Users’ Privacy“ http://cis.poly.edu/~ross/papers/skypeIMC2011.pdf
Skype Client missbrauchen • Skype für Mac < 5.1.0.922 → weiterleiten auf Webseite mit Malware → bei Browser Sicherheitslücke → root shell http://www.purehacking.com/blogs/gordon- maddern/skype-bug-full-disclosure • heap-based buffer overflow • Skype traut allen, die sein Protokoll sprechen
zer0-day (Windows Client) • http://www.exploit-db.com/download_pdf/18010 • Persistent Cross Site Scripting Vulnerability • Persistent Software Vulnerability • Standby Remote Buffer Overflow Vulnerability • Denial of Service Vulnerability • Memory Corruption Vulnerability
History-Datei angreifen • http://cryptome.org/isp-spy/skype-log-spy.pdf • wird gern verwendet, wenn bei Hausdurchsuchungen Rechner mitgenommen werden • häufigste Angriffsstelle!
(not) everything is lost
Tipps • SIP Clients als Alternative nur verschlüsselt! → unverschlüsseltes SIP können 12-Jährige mit Wireshark abhören • mit Netzwerkfilter / Personal-Firewall (Mac OS X: Little Snitch), Skype‘s Datenverkehr (Ziel-IPs und Menge) kontrollieren & einschränken (IP Block, etc.) • Chats könnten per OTR gecryptet werden
Idee • cooles Tool, dass sich per Skype API in offiziellen Client einklinkt und OTR auf die Chats wirft • kann Adium (http://adium.im/) das?
Tipps • Privatanwender in Deutschland brauchen nicht in Panik verfallen (Abhören von Skype ist in BRD nicht ganz billig, es muss Straftat vorliegen) • Skype in Firmen nicht nutzen (quasi nicht administrierbar und undurchsichtig, auch wegen Botnetz-Gefahr) • kommerzielle Alternativen in Betracht ziehen
Tipps: Skype (etwas) kontrollieren • nicht automatisch starten lassen • nicht automatisch einloggen lassen • Benutzername & sicheres Passwort verwenden, nirgendwo anders benutzt • Ports 80 und 443 deaktivieren, auf bestimmten Port festlegen (z.B. 41234) • Supernode-Funktion deaktivieren (geht nur auf Windows per Registry-Schlüssel) • Filesharing-Funktion deaktivieren (auch Registry)
Zukunft • Paranoia Attack: Microsoft könnte Abhörschnittstelle implementieren • sehr viel wahrscheinlicher: ausgefuchste Trojaner, nicht nur für Windows • OpenSource Skype Client: http://skype-open-source.blogspot.com/
Quellen und Wiki • http://wiki.eisenrah.com/wiki/Skype
Kontakt • Mail: friedemann@wulff-woesten.de • XMPP/Jabber: eisenrah@gmail.com • Skype: eisenrah - beware :)
Sie können auch lesen