Z zaprezentowanej na konferencji Black Hat prezentacji dwóch Francuzów wyłania się ciekawy obraz Skype jako aplikacji, która stanowi realne zagrożenie dla sieci korporacyjnych. Publikujemy skuteczne recepty jak zablokować Skype.
Skype zrobiło karierę jako program oferujący bezpłatne rozmowy VoIP z wykorzystaniem komputerów lub tanie rozmowy, zwłaszcza międzynarodowe, na numery stacjonarne. Mniej entuzjazmu wykazują wobec Skype obrońcy prywatności oraz administratorzy sieci, dla których Skype jest wielką zagadką. Niedawne wystąpienie dwóch Francuzów, Philippe Biondi i Fabrice Desclaux na konferencji Black Hat 2006 rzuciło nieco więcej światła na sposób działania tego programu.
Komunikacja Skype jest bardzo "udziwniona". Program nie stosuje żadnego ze znanych protokołów VoIP takich jak SIP czy H.323. Protokoły te są ustandaryzowane, otwarte i wszyscy wiedzą co jest w nich przesyłane. W przypadku Skype jest inaczej - nikt nie wie, co tak naprawdę przesyłają między sobą klienci Skype, ponieważ protokół komunikacji jest tajny. Użytkownikom Skype pozostaje wierzyć w mętne zapewnienia producentów, wcześniej autorów znanej aplikacji Kazaa, że protokół jest bezpieczny i szyfrowany.
Odkrywamy tajemnice
Przeprowadzona przez Biondi i Desclaux analiza pokazała, że protokół Skype jest o wiele bardziej tajemniczy, niż się to wydawało na początku. Szyfrowanie pakietów Skype jest dwupoziomowe - najpierw każdy pakiet jest szyfrowany algorytmem AES, z kluczem wymienianym między węzłami Skype przy pomocy RSA. Ten etap zapewnia poufność transmisji.
Drugi raz pakiety są szyfrowane za pomocą algorytmu RC4, z kluczem opartym m.in. o adresy IP. Etap ten ma na celu tylko ukrycie zawartości pakietu przed filtrami, zaporami i systemami wykrywania włamań - dzięki użyciu RC4 w każdym pakiecie tylko kilka pierwszych bajtów jest stałych, a cała reszta wygląda jak dane losowe.
Poza tym Skype stosuje kilka innych technik omijania firewalli. Tak jak wiele aplikacji P2P, korzysta ze zmieniających się portów UDP, a jeśli to nie działa to próbuje łączyć się na port 80/tcp, który zwykle jest odblokowany. Jeśli jest on wypuszczony tylko przez serwer proxy, to Skype próbuje "ukraść" hasło do proxy z ustawień Internet Explorera. Nawet pomimo najszczerszych chęci trudno więc uznać Skype za program budzący zaufanie i nadający się do zastosowań korporacyjnych, nawet pomimo niewątpliwych atutów jakim są niskie ceny połączeń SkypeOut.
Badania Francuzów ujawniły także, że sama aplikacja Skype jest wielokrotnie szyfrowana i stosuje sztuczki utrudniające analizę jej działania za pomocą dizasemblera i debuggera. Nie przeszkodziło im to jednak w odkryciu kilku jej sekretów.
Autorzy Skype popełnili kilka błędów, na przykład w systemie szyfrowania RC4 zastosowali ten sam ciąg kluczowy do zaszyfrowania dwóch fragmentów pakietu. Dzięki własnościom XOR jak i każdego innego szyfru strumieniowego, umożliwia to łatwe "zdjęcie ciągu kluczowego". Technika ta może być wykorzystana przez systemy IDS/IPS do wykrywania ruchu Skype.
Skype jako wielki botnet?
Poza opisanymi wyżej podejrzeniami, do Skype można mieć szereg bardzo poważnych zarzutów - aplikację tę można uznać za potencjalne zagrożenie bezpieczeństwa dla każdej sieci.
Program Skype podłączony do sieci może być bowiem wykorzystywany do wykonywania zdalnych komend - protokół Skype pozwala na zdalne zlecanie każdemu węzłowi np. połączeń do innych systemów. Francuscy badacze zademonstrowali jak węzeł Skype można łatwo zmienić w zdalny skaner sieciowy, który może skanować wnętrze sieci w której działa.
Dzięki obecności w Skype kilku błędów typu przepełnienie bufora i sterty (heap overflow), Skype może łatwo stać się największą na świecie siecią komputerów "zombie" czyli botnetem.
Istnieje także możliwość - jeśli zmienić startowe adresy IP i klucze RSA - zbudowania własnej sieci Skype. Co gorsza, taką sieć można także podłączyć do oficjalnej, zapewniając tym samym komunikację z innymi użytkownikami. Ktoś, kto to zrobi będzie mógł - dzięki znajomości ustawionych wcześniej przez siebie kluczy - przejmować i podsłuchiwać rozmowy.
Szyfrowanie protokołu tylko pogarsza sprawę, ponieważ praktycznie czyni ruch Skype nieprzezroczytym dla systemów wykrywania włamań.
Kiedy chcemy blokować Skype
Francuscy badacze usystematyzowali również stałe elementy w pakietach Skype, co pozwoliło im na przygotowanie regułki dla linuksowego firewalla iptables blokującej ruch tej aplikacji po UDP:
* iptables -I FORWARD -p udp -m length --length 39 -m u32 --u32 '27&0x8f=7' --u32 '31=0x527c4833' -j DROP
Ponieważ jednak Skype komunikuje się także po TCP, konieczne jest blokowanie wszystkich adresów IP, które są wbudowane w binarny program Skype. Zawiera on listę adresów IP i portów systemów, z którymi łączy się program by wejść do sieci.
Inne artykuły poświęcone blokowaniu Skype
* Skuteczna metoda blokowania Skype
* Skype niepokoi NSA
* Verso filtruje Skype i P2P
Lista ta może zmieniać się, jeśli Skype było już wcześniej podłączone do sieci lub jeśli zainstalowano nowszą wersję Skype. Ta lista pochodzi z wersji 2.0.0.97.
#Prezentacja "Silver Needle in Skype":
*
www.secdev.org/conf/skype_BHEU06.handout.pdf
Lista adresów IP z którymi Skype łączy się po TCP
195.215.8.145:33033
130.234.81.46:57628
130.161.3.220:22555
131.94.221.207:48580
165.124.227.95:58821
128.197.181.49:56619
130.89.22.250:11013
129.27.140.33:57500
129.49.105.176:38045
143.89.56.23:1605
128.138.158.40:46554
193.140.250.54:40694
144.92.112.46:19313
212.247.25.102:17726
24.14.17.89:11419
213.112.251.102:41438
147.46.8.194:42860
128.122.50.102:12376
130.237.43.211:23619
130.235.74.125:62349
129.15.114.106:6045
81.161.187.55:6433
84.81.174.164:41451
81.24.96.6:39356
217.199.123.7:47762
140.125.41.137:14330
137.48.35.185:27167
140.114.45.184:63172
140.122.65.77:28156
68.2.88.235:52126
61.41.216.58:25403
131.234.20.39:1179
140.113.119.137:58523
128.176.61.12:11610
128.122.190.230:1284
130.237.67.73:3326
128.2.198.162:56862
24.226.160.23:42075
211.65.64.115:2666
58.5.40.133:64681
69.137.48.209:60277
193.147.161.197:38821
130.111.216.83:12787
222.121.185.244:42253
129.186.197.152:27971
129.64.55.43:4455
140.115.62.196:30666
139.91.23.2:5147
128.2.179.152:4788
128.233.26.47:48266
131.172.138.62:9705
128.59.19.230:36043
128.174.116.228:1725
131.96.170.140:34886
83.240.13.193:32400
80.109.18.220:7004
147.83.7.105:63878
132.239.95.167:11770
24.150.80.152:21152
138.4.8.22:9744
195.169.99.12:1189
211.53.35.154:65347
130.75.152.55:11911
137.110.125.206:29243
140.113.239.87:12371
137.82.22.134:25539
140.113.179.86:64404
129.116.232.79:1192
131.174.191.140:4433
131.204.99.79:3119
152.66.215.13:12736
139.82.24.94:60768
137.189.165.46:18924
213.180.124.68:57101
130.91.94.80:4036
81.216.216.152:38055
129.241.167.206:2287
67.175.121.246:32783
143.89.59.13:1340
129.241.31.92:49485
147.102.220.36:27250
130.91.117.125:17105
130.34.197.171:3419
128.12.179.47:3202
128.200.156.50:53383
128.148.61.111:8335
128.104.4.30:16504
128.210.67.162:25162
64.234.170.52:1154
128.42.62.10:65191
128.196.40.72:2329
18.170.1.75:42570
211.214.102.188:1579
129.24.25.227:6633
139.103.33.104:30816
134.7.42.38:24206
210.217.95.211:49918
128.42.70.155:11722
131.215.7.209:55816
129.186.5.15:25107
137.111.103.83:1386
131.151.20.161:1255
134.100.109.19:2042
140.114.202.30:22475
193.10.65.222:23684
85.115.100.55:9986
193.145.60.124:32581
152.2.10.42:1429
168.122.146.75:3614
24.28.72.110:3234
68.110.79.145:46276
140.113.13.33:10329
129.74.64.1:39652
165.230.205.77:29262
158.49.121.226:17930
68.171.32.200:45250
131.204.99.44:2894
129.2.28.102:1757
140.113.131.103:55506
171.64.103.12:1887
67.172.80.248:2953
158.39.25.157:18155
128.30.48.18:1073
85.115.107.135:39127
138.232.233.46:29794
221.253.118.201:1031
81.67.173.131:2234
24.14.218.197:39669
171.64.204.132:1243
128.143.41.3:33540
82.197.230.212:36634
82.45.1.59:21421
140.113.169.170:27458
129.79.206.130:1098
140.127.216.167:6519
140.118.196.132:4496
70.116.150.107:1260
140.112.214.44:40386
81.66.155.8:53648
143.107.88.97:3734
140.110.61.86:45381
24.63.64.98:1218
69.172.249.237:25427
164.8.253.173:5883
159.148.13.13:1412
195.139.104.228:1167
193.0.96.5:56558
82.75.229.246:30505
130.232.157.140:59206
24.150.90.28:32859
131.215.146.45:1417
143.107.246.50:1596
130.208.166.177:63608
145.97.229.211:6547
69.167.174.107:1834
131.238.77.178:39820
24.18.183.130:3160
143.89.46.72:53040
140.116.36.16:3541
68.108.10.9:35234
155.207.26.203:22705
220.121.43.206:58274
194.47.181.155:1160
82.100.79.181:2037
131.155.68.173:12913
137.113.103.6:4986
140.113.94.94:1048
150.135.220.233:31962
24.127.250.50:61783
68.65.250.14:4313
71.192.222.215:1248
152.2.10.32:59387
67.184.104.247:54977
140.192.35.19:1846
130.161.41.63:1150
147.83.149.108:28279
129.2.124.212:1534
130.236.36.107:1999
129.2.115.143:5496
170.140.124.180:1141
82.43.181.148:11500
130.179.198.236:43913
140.117.168.187:1046
128.135.191.190:1208
147.32.229.209:18891
130.15.104.68:4193
195.252.99.61:63979
140.113.214.107:33504
207.237.225.98:16502
140.112.239.223:4240
147.8.109.142:2929
69.140.76.20:21379
140.117.168.175:31302
128.122.184.18:51307
140.125.246.11:1263
165.230.205.72:1524
128.2.130.60:39288
58.5.158.181:11321
203.186.212.59:2157
84.25.55.205:13398
Artykuł pochodzi z idg.pl