Ultrasurf Bloklama-II(Snort, OpenBSD PF)

Ultrasurf antisansür yazılımı çeşitli network güvenlik cihazlarına yakalanmamak için çok akıllı yöntemler kullanıyor. Mesela ilk başlatıldığında çeşitli gerçek  domain isimlerine dns istekleri gönderiyor, bilinen sitelere(intel.com, microsoft.com, cnn.com vs  443. porttan bağlanmaya çalışıyor) arada da kendi proxylerine bağlantı isteği gönderiyor ve bağlantı kurabilirse devam ediyor, kuramazsa diğer proxy ip adreslerini deniyor. Böylece ip adresinden bloklama yapmak isteyenler logları izleyerek bloklama yaparlarsa gerçek ip adreslerine giden istekleri de bloklamış oluyorlar.

Vakti zamanında ip adresinden bloklamak için 200’e yakın ipye bağlantı yaptığını bulup bloklamıştım ama yetmedi:). Dolayısıyla bu işin ip bloklayarak olmayacağına bir iki gün kaybederek öğrendim.

Açık kod saldırı tespit ve engelleme sistemi Snort’un e-posta listelerinde de geçen gün Ultrasurf konusu açılmıştı. Birileri de hemen bir iki imza yazıp gönderdi listeye.  Malesef ki imzalar tamamen ip adreslerine yapılan bağlantıları izlemeye ve dns isteklerini yakalamaya yönelikti. Her iki imza da gerçekte bloklama işine yaramıyor. Snort kurallarını inceleyerke neden işe yaramayacağına bakalım

İlk Snort kuralı;

# Rule by SERPRO-Recife Security Team
alert udp $HOME_NET any -> $EXTERNAL_NET  53 (msg:”Possible External Ultrasurf  DNS Query”; content:”|00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00|”; classtype: policy-violation;threshold:type limit, track by_src,count 1, seconds5; sid: 1000059; rev:2; )

Bu kural Ultrasurf dns isteklerini yakalaybilse de alakasız dns isteklerini de yakalıyor. Yani false positive oranı çok yüksek bir kural, dolayısıyla engelleme için kullanılamaz.

İkinci Snort kuralı;

# IP POOL by Augusto Ferronato

var ULTRASURF_POOL
[205.196.136.9,210.21.31.114,118.171.251.158,202.75.48.227,61.197.186.36,202.99.10.38,131.107.100.158,66.249.93.102,218.169.186.93,203.13.134.161,59.117.240.222,72.246.89.133,114.45.22.115,
198.22.236.38,70.85.195.236,220.138.148.35,59.117.240.222,118.161.206.194,67.137.230.73,220.136.233.18,
208.96.32.3,65.49.14.12,61.197.186.36,64.62.138.28,195.39.222.218,202.67.56.65,65.49.14.12,114.44.44.158,
210.208.94.226,203.30.164.150,64.38.220.186,202.99.10.38,219.85.5.60]

alert tcp $HOME_NET any -> $ULTRASURF_POOL 443 (msg:”Ultrasurf
Connection Detected”; flow:established;classtype:policy-violation;
sid:5000000; rev:3;)

Bu da kısaca yukarıda belirtilen ip adreslerine yapılan 443 TCP bağlantılarını gördüğünde uyarı veren kural ve false positive çok yatkın zira aralarında gerçek sitelere ait ip adresleri de geçiyor. Ek olarak bunları bloklamaya başladığınızda Ultrasurf anında başka ip adreslerine bağlantı kurarak sizi uğraşlarınızla başbaşa bırakacaktır.

Peki nasıl bloklama yapacağım? Piyasada network seviyesinde sağlıklı bloklama yapabilen ticari IPS ürünleri olduğunu biliyoruz.

Bloklama konusunda en iyi ve en kesin yöntemi Squid ile anlatmıştım ama herkes Squid kullanmadığı için çoğu ortama uymuyor. Ben de bir arkadaş için alternatif yöntemler düşünürken aklıma aşağıda anlatacağım bloklama yöntemi geldi.

Firewall ile Ultrasurf bloklama;

Ultrasurf’ün bir özelliği de eğer bloklama yoksa proxy bağlantılarını hep aynı ip adresi üzerinden yapması. Eğer bu ip adresini bulabilirsem(Ultrasurf çalıştırıp 443. portu dinlemek ve sonrasında Explorer üzerinden internette gezinmek ip adresini bulmaya yetecektir.) sonra kullandığım güvenlik duvarından bu ip adresine giden paketlerin bandwidth değerini 5-6 Kb’e ayarlarsam hem ultrasurf ilgili ip adresine ulaşabileceği için ip adresi değiştirmeyecektir hem de Ultrasurf kullanan kişi bağlantının yavaşlığından dolayı Ultrasurf kullanmaktan vazgeçecektir:)

Yukardaki senaryoyu anlatan Packet Filter Güvenlik Duvarı Kuralı

ext_if=”vic0″
int_if=”vic2″


altq on $int_if cbq bandwidth 1Mb queue {ultrasurf, others}
queue ultrasurf bandwidth 6Kb
queue others bandwidth 994Kb cbq(default)
nat on $ext_if from !($ext_if) ($ext_if:0)
pass in quick on $int_if proto tcp from any to  65.49.2.113 port 443 queue ultrasurf
….

Diğer bir yöntem de yukarıdaki Snort kuralını aktif ederek hangi ip adreslerinin Ultrasurf kullandığını belirlemek ve ilgili ip adreslerinin sahiplerini uyarmak. Yukardaki ip adresleri eğer engelleme yapılmazsa Ultrasurf 9.4 versiyonunun default olarak ilk denediği ip adresleridir.

Bu işe kesin çözüm için yapılması gereken:

443. TCP portunu dinleyerel TLS1 bağlantılarında server hello mesajı içerisinde sertifika bilgisini aramaktır. Ultrasurf TLS bağlantısı  kuruyor gözükse de sunucu tarafı hello mesajında sertifika göndermiyor IPS ile bu alanı kontrol edip sertifika alanı boş olan TLS paketlerini bloklamak kesin çözüm olacaktır.

gmail-tls

This entry was posted in Linux Security, Privacy. Bookmark the permalink.

12 Responses to Ultrasurf Bloklama-II(Snort, OpenBSD PF)

  1. Serdar says:

    “Diğer bir yöntem de yukarıdaki Snort kuralını aktif ederek hangi ip adreslerinin Ultrasurf kullandığını belirlemek ve ilgili ip adreslerinin sahiplerini uyarmak.”

    Demişsiniz. Burada anlatmak istediğiniz nedir?

  2. admin says:

    Ilgili kuraldaki IP adresleri Ultrasurf’un ilk denedigi ipler. Bunları bloklamazsanız hep bu ip adreslerini kullanıyor, bloklama yapmadan izlemeye alıp kimlerin Ultrasurf kullandığını anlayıp uyarabilirsiniz.

  3. Aytekin says:

    Merhaba,
    … yada ilgili adreslere bağlantı yapan IP adreslerini yakalayıp kullanıcının tümden internetini bloklayan ve e-posta bildirimi yapan bir yapı kurmak. Sonra da bilgi işlemi aramasını beklemek tabi 😉

    Bu ve benzeri yöntemler işe yarar ama Ultrasurf’un ilk bağlandığı IP adreslerinde değişiklik olursa? Bundan ne kadar eminiz?

    Saygılar…

  4. admin says:

    Ultrasurf her yeni versiyonda yeni ip adresleri ekliyor. Yeni eklenen ip adresleri icin Ultrasurf’i farkli bir iki makinede calistirip agi dinlemek yeterli olacaktir.
    Eminlik kismi sadece tahmin, yani yarin farkli bir yontem uygulamaya baslarsa o zaman is degisiir.

  5. Ahmet says:

    Baş belaları bir tane değil, şu an iki tane 🙂
    Bizim kurum fortinet kullanıyor, evet fortinet ultrasurf u engelleyemiyor. Ama fortinet in engelleyemediği bir program daha var, o da Freegate. Freegate de aynı ultrasurf mantığı ile çalışıyor galiba. Yani karşı bağlantı serveri sabit değil. Bu da demek oluyor ki, baş belaları iki tane… Başka bir kurumda çalışan ve internetten exe uzantılı dosya indiremeyen bir arkadaşıma ultrasurf kullanmasını söylemiştim. Ultrasurf kullanmasına rağmen yine indiremediğini söyledi. Ya arkadaşım kendi tarayıcı ayarlarını iyi yapamadı, ya da kullandıkları Checkpoint firewal bu ultrasurf un trafiğini dinleyebiliyor. Acaba sizden rica etsem ultrsurf ile checkpoint firaaw i bir arada kullanarak neticelerini bize bildirir misiniz ? 🙂

  6. admin says:

    Checkpoint vs sifreli trafigin icerisine bakmadigindan .exe yi engellemesi mumkun degil. Belki domain politikalari exe kaydetmeye izin vermiyordur o yuzden kayitda problem yasaniyordur.
    Sadece Freegate yok, bunun gibi onlarca program var. Ama bu sekilde iyi calisanlarinin mantigi hep ayni.

  7. Ahmet says:

    Bir ufak özür borcum var size, geçen mesaj attığımda arkadaşım ultrasurf kullanmasına rağmen internetten herhangi bir exe indiremediğini söylüyordu. Benim aklıma ilk gelen ise, kullandıkları Checkpoint firewallin ultrasurf un şifreli trafiğini dinleyebileceği hususuydu. O yüzden size yazmıştım, acaba checkpoint ultrasurf un şifreli trafiğini dinleyebiliyor mu diye ? Bir de ekşisözlükte ultrasurf un kullandığı şifreleme sistemininin SSL dışında standartdışı ev yapımı bir sistem olduğu yazıyordu. Bence bir ihtimal ultrasurf standartdışı bir şifreleme kullanıyor ve bence bu şifreleme kırılabilir. Yine de bunu bir denemek lazım. Ama ben ne yazılımcı ne de hacker olmadığım için böyle bir şeyi deneyemem 🙂
    Arkadaşım ağ bağlantılarını düzelttiği zaman internete rahatça bağlanabilip exe indirebildiğini söyledi. Anlayacağınız ultrasurf ne domain politikası ne de firewall dinliyo..
    Sevgiler saygılar..

  8. anonim says:

    Ben de Pardus 2009 CD sini u95 aracılığı ile indirmeye çalıştı isem de 60 MB ta indirme iptal oldu. Normalde server FTP ye kapalı.
    Her halde yurt dışındaki kapasitesinin ancak % 5 i kullanılabilen fiberoptik altyapının ülhemizde de yaygın olarak kullanılmaya başlaması ile bantlar rahatlar da belki siz değerli bilgisayarcılar da üretken alanlara yönelirsiniz.
    Bırakınız seyretsinler,bırakınız indirsinler. Sizlere ve tüm insanlığa özgür bir dünya diliyorum.
    Öcüsüz rüyalar…

  9. admin says:

    Yurtdisi kapasitesinin %5’inin kullanildigi bilgisinin guncellenmeye ihtiyaci var:)

    Ultrasurf ile o kadar buyuk boyutlu dosyalarin indirilmesine izin verilmiyor.

    Ek olarak elestirmeden once blogumdaki search ozelligini kullanarak Ultrasurf kelimesini aratsaydiniz kimin ozgurluk kimin uretken islerle ugrastigini gorebilirdiniz.

  10. Alper Eğitmen says:

    zemena blogda dedikleri gibi gerçek ssl bağlantıları yapmaya başlarsa ne olacak peki:)

  11. Windows server 2008 firewall ile çok rahat blocklanabiliyor. ve ayrıca A.D ile uygulamanın tüm versiyonlarının hash ini yasaklamakta ayrıca yetiyor.

  12. admin says:

    @Alper:Daha once burada bahsettigim “Squid ile engelleme yontemi” SSL olsa da olmasa da engelleyebilir.

    @HasanHuseyin: Windows 2008 Firewall ile nasil engellenebiliyor? Var mi onerecegin bir link. Ek olarak AD ile hash’i yasaklamak cok kısıtlı bir cozum. Hash’i degistirmenin binbir yolu var dolayısıyla hash yasaklayarak bu is olmaz.

Leave a Reply

Your email address will not be published. Required fields are marked *

two × three =