Title (deu): Das Skype Protokoll

Author: Simmer, M. (Michael)

Description (deu): St. Pölten, FH-Stg. Information Security, Master Thesis, 2012

Description (deu): Ausgangslage
Mit Skype ist es möglich, kostenlos mit anderen Skype-Nutzern zu telefonieren, Videokonferenzen
zu führen und zu chatten. Zusätzlich ist es möglich, wenn man dafür bezahlt, auch Festnetztelefone
und Handys anzurufen, sowie SMS zu verschicken und spezielle WLAN-Access Points weltweit zu
nutzen. Dies macht Skype in Unternehmen sowie im Privatbereich zu einer beliebten und wertvollen
Applikation.
Für System- und Netzwerkadministratoren stellt Skype allerdings eine typische Blackbox dar, der
Netzwerktraffic ist verschlüsselt und die Applikation lässt sich weder debuggen, noch problemlos
mittels Reverse Engineering untersuchen. In Skype wurden sehr viele Vorsichtsmaßnahmen getroffen,
um zu verhindern, dass jemand herausfindet wie es funktioniert. Der Quellcode von Skype wird
verschlüsselt in den Arbeitsspeicher des Computers geladen und erst bei der Ausführung Stück für
Stück entschlüsselt. Nach der Ausführung des jeweiligen Blocks wird dieser wieder gelöscht. An vielen
Stellen im Quelltext finden sich Checksummen, welche sicherstellen, dass der Code nicht verändert
wird. Viele Skype Funktionen dienen nur dem Zweck, das Analysieren des Quellcodes zu verlängern,
da sie keine sinnvolle Aufgabe erfüllen.
Ziel
Skype verhält sich also wie typische Malware, was vielen Unternehmen zu denken gibt. Es ist wichtig
zu wissen, was im eigenen Unternehmensnetzwerk vor sich geht. Da sich die Verhaltensweise von
Skype nicht eindeutig feststellen lässt, wird es deswegen in vielen Unternehmen verboten und blockiert.
Das Ziel ist ein Skype-Client, welcher sich für jeden Interessenten einfach analysieren, sowie auf
Viren, Backdoors oder anderen Schadcode überprüfen lässt. Dies würde sich am besten mit einer Open
Source Version von Skype bewerkstelligen lassen. Um eine Open Source Version des Skype-Clients
zu schreiben, ist es notwendig, das Skype Protokoll zu kennen, um eine Interoperabilität zum original
Skype-Client möglich zu machen.
Ergebnis
In einem Versuchsaufbau wurde der Netzwerkverkehr zwischen Skype und dessen Kommunikationspartnern
aufgezeichnet und analysiert. Aus diesem aufgezeichneten Netzwerkverkehr wurde
mithilfe von bereits vorhandener Literatur eine Beschreibung des Skype Protokolls angefertigt. Diese
Beschreibung kann als Basis für die Implementierung eines Open Source Skype Clients herangezogen
werden, allerdings ist eine fertige Implementierung rein auf dieser Beschreibung noch nicht möglich.

Description (eng): Background
Skype makes it possible to talk, chat and start video conferences with other users for free. Also possible
are paid calls to landlines, cell phones and paid text messages to cell phones. There are also special
wireless access points just for Skype, which can be used for a little payment.
This makes Skype a popular und valuable tool in company and private environments.
For system and network administrators Skype is a typical black box, because the network traffic
is encrypted and debugging or reverse engineering is not possible without some tricks. Skype made
some precautions to prevent someone from finding out how it works. The source code of Skype is
encrypted in the memory and will be decrypted block by block, while executed code will be deleted
out of memory. The source code is also full of checksums, which ensures that the executed code of
Skype can’t be changed. Many of this precautions only serve the purpose of extending the analysis of
the source code.
Target
Skype behaves like malware. Since the behavior of Skype cannot be determined, it gives many
companies a reason to ban and block it. It is very important for a company to know what is going on in
their own corporate network.
The goal is a Skype client, which can be analyzed by anyone, who is interested in it. There must
be a possibility to check if there are any viruses, backdoors or other malicious code in it. To reach this
goal, it is necessary to write a open source Skype client, to achieve this, it is necessary to know the
Skype protocol. Otherwise a interoperability with the original Skype client can’t be guaranteed.
Result
In an experimental setup, the network traffic between Skype and it communication partner was recorded
and analyzed. Afterwards this network traffic was analyzed using findings of existing literature, creating
a description of the Skype protocol. This description can be used as a basis for the implementation of
a open source Skype client. A complete implementation purely on this description is not yet possible,
because many parts of the network traffic are still encrypted.

Object languages: German

Date: 2012

Rights: © All rights reserved

Classification: Skype

Permanent Identifier