Ultrasurf Trafiğini Tespit Etmek
Bildiğiniz üzere, Ultrasurf internet kısıtlamalarını aşmak için geliştirilmiş, Firewall kurallarını aşmak, içerik filtreleme sistemlerini atlatmak ve trafiğin izlenmesini engellemek için kullanılabilecek pratik bir araç.
Uygulamanın çalışma prensibini kabaca şu şekilde;
- Ultrasurf’un bağlantı kurduğu ip adresleri sürekli değişiyor, ultrasurf’un kullandığı ip adreslerini tespit ettikçe engellemek çoğu zaman işe yaramaz ve uzun vaadeli bir çözüm değildir.
- Kendi suncularına standart dns isteğinde bulunuyor ve araya sahte dns kayıtları yerleştiriyor. DNS Sunucuları recursive değil.
- Dns istekleri gelmezse önce kendine ait ip adreslerine http baglantisi talep ediyor daha sonra netbios ile ismi anons ediyor.
- Ultrasurf asla domain adresi kullanmıyor.
- İnternet erişimi varsa, kendine ait sunuculara gerçek bir https bağlantısı kurup tüm trafiği https tünelinden aktarıyor.
Ultrasurf, tüm uygulamalarda kendine ait sertifika ile SSL bağlantısı kurmaktadır. Uygulamayı tespit etmek için en pratik yöntem bu sertifikanın kullanıldığı trafiği yakalamak.
Ultrasurf’e ait SSL Handshake paketi;
Snort imzası,
#Ozan UCAR @2013
#SSL Client Hello Hex Value 16 03 00 00 61 01 00 00 5d 03
alert tcp $HOME_NET any -> $EXTERNAL_NET 443 (msg: “Ultrasurf”; flow:to_server,established; content:”|16030000610100005d03|”; classtype:policy-violation; sid:1000099;)
Trafik tespi edildiğinde oluşan örnek bir kayıt;
01/06/14-23:01:41.885614 ,1,1000099,0,”Ultrasurf”,TCP,x.x.x.241,26434,65.49.14.82,443,17301,Potential Corporate Privacy Violation,1,
Ultrasurf trafiğini engellemek için, bu alert kuralını drop olarak değiştirebilir veya Snort’un react modülünü kullanabilirsiniz.
Not: Bu çalışma Snort 2.9.5.5 ile Ultrasurf 1304 sürümü kullanılarak FreeBSD işletim sistemi üzerinde denemiştir.
Yazar: Ozan UÇAR
[email protected]