Mumble/Murmur Und Teamspeak - Sicherheitsanalyse, Maßnahmen Und Angriffsszenarien
Total Page:16
File Type:pdf, Size:1020Kb
Hochschule fur¨ Technik, Wirtschaft und Kultur Leipzig Fakult¨at Informatik, Mathematik und Naturwissenschaften Projektarbeit Mumble/Murmur und Teamspeak - Sicherheitsanalyse, Maßnahmen und Angriffsszenarien Autoren: Marcel Graef Marco Franke Studiengang: Medieninformatik Master Lehrveranstaltung: IT-Sicherheit (Aufbaukurs) WS 2012/13 Verantwortlicher Professor: Prof. Dr. rer. nat. Uwe Petermann Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung1 2 Vergleich von Mumble/Mumur und TeamSpeak 32 2.1 Anwendungsgebiete.............................2 2.2 Funktionsweise und Protokolle.......................2 2.3 Das Channel- und Rechtesystem......................4 2.4 Authentifizierung und Verwaltung der Clients..............5 2.5 Sprachcodecs................................6 2.5.1 CELP................................6 2.5.2 Speex................................7 2.5.3 CELT................................7 2.5.4 Opus.................................7 2.6 Unterstutzte¨ Betriebssysteme.......................8 2.7 Lizenzmodelle................................8 2.8 Weitere Besonderheiten...........................9 3 Sicherheitsanalyse und Ermittlung von Schwachstellen 10 3.1 Anforderungen und Schutzziele an Sprachkonferenzsysteme....... 10 3.1.1 Verfugbarkeit¨ ............................ 11 3.1.2 Vertraulichkeit........................... 11 3.1.3 Verbindlichkeit........................... 11 3.1.4 Weitere Anforderungen....................... 12 3.2 Typische Angriffsarten........................... 13 3.2.1 Computervirus........................... 13 3.2.2 Wurm................................ 13 3.2.3 Trojaner............................... 13 3.2.4 Exploit................................ 14 3.2.5 Backdoor.............................. 14 3.2.6 Rootkit............................... 15 3.2.7 Denial of Service.......................... 15 3.2.8 Spoofing............................... 15 3.2.9 Sniffing............................... 16 Marcel Graef & Marco Franke i Inhaltsverzeichnis 3.2.10 Port Scanning............................ 16 3.2.11 Brute-Force-Angriff......................... 16 3.2.12 Man-in-the-middle-Angriff..................... 17 3.2.13 Phishing............................... 17 3.2.14 Hijacking.............................. 17 3.3 Bedrohungen der Sprachkonferenzsysteme................ 18 3.3.1 M¨ogliche Angriffsziele....................... 18 3.3.2 Verursacher............................. 18 3.3.3 Verletzung der Schutzziele..................... 19 3.4 Ermittlung der Schwachstellen....................... 20 4 Realisierung einer Untersuchungsumgebung unter Betrachtung von Sicher- heitsmaßnahmen 22 4.1 Aufbau und Beschreibung der Untersuchungsumgebung......... 22 4.2 Installation und Inbetriebnahme der Spachkonferenzsoftware...... 23 4.2.1 TeamSpeak 3-Server........................ 23 4.2.2 TeamSpeak 3-Client........................ 24 4.2.3 Murmur-Server........................... 26 4.2.4 Clients Mumble........................... 27 4.3 Sicherheitsmaßnahmen........................... 29 4.3.1 Spachkonferenzsoftware....................... 29 4.3.2 Konfiguration der Server...................... 30 4.3.3 Sicherheitsrelevante Einstellungen des Betriebssystems..... 31 4.3.4 Router und lokale Firewall..................... 33 4.3.5 Nutzerverwaltung.......................... 37 4.3.6 Mensch als Schwachstelle...................... 38 5 Demonstration von Angriffsszenarien 40 5.1 Betrachtung des TeamSpeak 3-Server Query Interface.......... 40 5.1.1 Aufbau des Testprogramm..................... 40 5.1.2 Untersuchung der Anti-Flood-Protection............. 42 5.1.3 Brute-Force-Angriff auf das Query Interface........... 44 5.2 TeamSpeak 3-Server Query Interface Exploit............... 45 5.2.1 Funktionsweise von teamspeakrack................ 45 5.2.2 Einrichten einer Hintertur¨ ..................... 47 5.2.3 Null Pointer Dereferenzierung................... 49 5.2.4 Server mit Textnachrichten fluten................. 49 5.2.5 Weitere M¨oglichkeiten von teamspeakrack............ 50 5.3 Murmur Exploit fur¨ einen DoS-Angriff.................. 51 6 Resumee¨ und Ausblick 54 ii Marcel Graef & Marco Franke Inhaltsverzeichnis Literaturverzeichnis 56 Abbildungsverzeichnis 59 Tabellenverzeichnis 60 Abkurzungsverzeichnis¨ 61 Eigenst¨andigkeitserkl¨arung 63 Marcel Graef & Marco Franke iii 1 Einleitung Die Nutzung von Sprachkommunikationsdiensten hat im letzten Jahrzehnt drastisch zugenommen. Es gibt bereits zahlreiche Programme, die Sprachkonferenzen erm¨oglichen - beispielsweise TeamSpeak, Mumble/Murmur, Skype oder Ventrilo. Ein Grund fur¨ diese Entwicklung ist der Ausbau von DSL-Verbindungen sowie der Leitungskapazit¨at im Wide Area Network (WAN). Aber auch die Qualit¨at der Sprachubertragung¨ von Sprachkonferenzsystemen uber¨ IP-Netzwerke hat deutlich zugenommen. In dieser Arbeit werden zwei ausgew¨ahlte Sprachkonferenzsysteme untersucht. Dies ist zum Einen das propriet¨are TeamSpeak 3 und das quelloffene Mumble/Murmur. Die Ahnlichkeiten¨ und Unterschiede werden im Kapitel2 aufgezeigt. Dabei wird neben den grundlegenden technischen Details, Funktionsweisen und verwendeten Codecs auf die Lizenzmodelle eingegangen. Letzteres spielt gerade fur¨ Unternehmen eine wichtige Rolle. Neben den technischen Eigenschaften der Sprachkonferenzsysteme ist vor allem die Sicherheit von großem Interesse. Um diese in Kapitel3 zu analysieren, werden in Ab- schnitt 3.1 die Anforderungen und Schutzziele von Nutzern der Sprachkonferenzdienste aufgezeigt. Danach wird in Abschnitt 3.2 eine Ubersicht¨ typischer Angriffsarten gegeben. Mit Hilfe dieser Angriffsarten k¨onnen Angreifer Angriffsziele erreichen und stellen somit eine Bedrohung fur¨ das Sprachkonferenzsystem dar. Diese werden in Abschnitt 3.3 analysiert und klassifiziert. Durch diese systematische Betrachtung ist es m¨oglich, Schwachstellen von Sprachkonferenzsystemen zu identifizieren. Aufbauend auf diesen Erkenntnissen wird in Kapitel4 eine Untersuchungsumgebung aufgebaut und Maßnahmen zur Erh¨ohung der Sicherheit betrachtet und umgesetzt. Mit Hilfe dieser Untersuchungsumgebung wird in Kapitel5 aufgezeigt, dass die Sicherheit durch Sicherheitsmaßnahmen erh¨oht werden kann, aber durch kleine Fehler schnell betr¨achtliche Sicherheitsrisiken entstehen k¨onnen. Marcel Graef & Marco Franke 1 2 Vergleich von Mumble/Mumur und TeamSpeak 3 2 Vergleich von Mumble/Mumur und TeamSpeak 3 In diesem Kapitel werden die wesentlichen Merkmale von TeamSpeak 3 und Mum- ble/Murmur vorgestellt. Dabei wird auf den grundlegenden Aufbau, funktionale Eigen- schaften und vor allem auf die technischen Details wie Authentisierung, verwendete Codecs, Protokolle und Formate der Sprachkonferenzsoftware eingegangen. Auch werden die Lizenzmodelle von TeamSpeak 3 und Mumble/Murmur gegenubergestellt,¨ da diese eine wesentliche Rolle fur¨ Einrichtungen, Institutionen und Privatpersonen darstellen. 2.1 Anwendungsgebiete Das Hauptziel von TeamSpeak 3 als auch Mumble/Murmur ist es, einen Sprachkonfe- renzdienst bereit zu stellen, welcher eine m¨oglichst niedrige Latenzzeit besitzt und dabei trotzdem eine st¨orungsfreie und klare Audioqualit¨at bietet. Aber auch die Datenrate soll m¨oglichst gering (<25 kbit/s) gehalten werden. Gerade durch Erfullung¨ dieser Ziele wird die Software vor allem zur Kommunikation in Verbindung mit Online-Computerspielen verwendet. Aber auch in Netzwerken und Systemen mit beschr¨ankten Ressourcen wird TeamSpeak 3 oder Mumble/Murmur eingesetzt. [TSo12g], [MuM12a] 2.2 Funktionsweise und Protokolle Der Aufbau einer Kommunikationsverbindung wird mit einem klassischen Client-Server- Modell, wie in Abbildung 2.1 dargestellt, realisiert. Dabei wird bei TeamSpeak 3 zwischen dem so genannten TeamSpeak 3 Server und dem TeamSpeak 3 Client unterschieden. Analog dazu bezeichnet Mumble den Client und Murmur den Server. Jeder Client, der 2 Marcel Graef & Marco Franke 2.2 Funktionsweise und Protokolle sich auf einen Server verbindet, belegt einen so genannten Slot. Die Anzahl der Clients, die sich mit einem Server verbinden k¨onnen, ist damit auf die Anzahl der verfugbaren¨ Slots beschr¨ankt. Mit dem Server verbunden, k¨onnen sich die Clients gegenseitig sehen und untereinander kommunizieren. Dabei gibt es die M¨oglichkeit zur Sprach- oder Textkommunikation. [TSo12g], [MuM12c] Abbildung 2.1: Schematische Darstellung des Client-Server-Modells von TeamSpeak 3 und Mumble/Murmur Fur¨ den Verbindungsaufbau und zur Steuerung zwischen Client und Server verwenden beide Anwendungen das verbindungsorientierte Transmission Control Protocol (TCP), dies wird als Kontrollkanal bezeichnet. Fur¨ die Sprachubertragung¨ wird das User User Datagram Protocol (UDP) verwendet, da dies die Datenubertragung¨ nicht sichert und zu geringeren Verz¨ogerungen fuhrt.¨ Die Nutzung und Standard Ports dazu sind den Tabellen 2.1 und 2.2 zu zusammengefasst. TeamSpeak 3 Dienst Nutzung Standard-Port Sprachubertragung¨ TeamSpeak 3 Client 9987 UDP TCP Query telnet ip port 10011 TCP Tabelle 2.1: Ubersicht¨ uber¨ die genutzten Standard-Ports von TeamSpeak 3 zu den jeweiligen Diensten. Als IP-Telefonie-Protokoll verwendet TeamSpeak 3 das Softwareeigene, nicht offen Marcel Graef & Marco Franke 3 2 Vergleich von Mumble/Mumur und TeamSpeak 3 spezifizierte, TeamSpeak-Protokoll. Aus diesem Grund kann keine Aussage uber¨ die Verschlusselung¨ der Daten gemacht werden. Das TeamSpeak-Protokoll ist zu keinem anderen freien Protokoll wie SIP, H.323 und IAX kompatibel. Es existiert aber eine quelloffene Protokoll Alternative namens soliloque-server, welches kompatibel zum TeamSpeak-Protokoll ist. Das Mumble-Protokoll