Ultrasurf Programı Üzerinde Bir İnceleme Yazdığım bu yazımda ultrasurf programının ne amaçla kullanıldığı ve çalışma mantığı ile ilgili bilgilere yer verdim.bu bilgileri edinebilmek için kullandığım araçlardan taradığım kaynaklardan bahsettim.umarım faydalı olur. Ultrasurf yazılımını kurup denemenin yanı sıra, ultrasurf hakkında geçerli bilgiler edinebilmek için yazılımın kaynağına yöneldim ve yazılımcının hazırladığı kullanıcı rehberini çevirmeye başladım.rehber hem yazılımın kullanımı hem de çalışma mantığı ile ilgili bilgileri barındırıyordu,asıl amaçları,yazılımın çıkış noktası,hedefleri ve kullanıcıya erişim hizmetini sağlarken izledikleri yollardan bahsediliyordu. Sarı kilit session ınızın SSL üzerinden kurulduğunun göstergesi,sarı kilit e sağ tıklayıp sertifikanın nereden alındığını görebilirsiniz. UltraSurf User s Guide Ultrasurf UltraReach Internet Corp tarafından çıkarılmış -en iyi- (anti-sansür) sansürkarşıtı ürünlerinin sancak gemisidir.kullanıcıların internet mahremiyetini korur ve baskıcı internet sansürlerinin yaşandığı ülkelerde herhangi bir sitenin güvenle ve özgürce ziyaret edilebilmesini sağlar. Program yeşil bir yazılımdır,bilgisayara kurmaya gerek yoktur.çalıştırılabilir dosyayı (.exe uzantılı dosya)çift tıklayarak basitçe programı başlatabilirsiniz. Kullanıcılar bu exe uzantılı dosyayı flash bellekte veya e-mail kutusunda barındırabilir. Ve bu programı herhangi bir bilgisayarda hiç iz bırakmadan kullanabilirsiniz.
(Ultrasoft iconu,dünyayanın heryerine yelken açmış bir yelkenlidir.) Güvenliğiniz için dosya ismini yada uzantısını dilediğiniz gibi değiştirebilirsiniz. Ultrasurf kullanıcıların internet gizliliğini ve gizli gezintisini korur. Ip adresini ve location u (konumu)gizler; browsing geçmişini,cookieleri ve daha fazlasını da tabi. Ultrasurf standart güçlü şifreleme işleyişi olan ve genellikle online bankacılık,online alışveriş gibi ticari data transferi için kullanılan SSL(Sequre Sockets Layer) ı kullanır. Ultrasofta gelen tüm datalar İçeriğini kullanıcıdan başka hiçkimsenin göremeyeceğinden emin olacağınız biçimde kuvvetle şifrelenir. Ultrasurf https tunneling (https tünelleme) yi destekler.kullanıcılar web sitelerini ziyaret ederken Https ile gezinirler.çünkü Https li içerik zaten şifrelenmiştir.bu tarz web sitelerdeki içerik Ultrasuft ile (çift kat) double şifrelenmiş olur. Ultrasurf içerisinde web mail,http tabanlı data akışı,javascript ve DHTML de olmak üzere,tüm http tabanlı protocolleri destekler. Ayrıca ultrasoft güçlü hem download u hem de upload ı kuvvetle şifrelenmiş biçimde yapabilmenize de olanak sağlar. Ultrasoft bir trojan yada virüs müdür,sorusuna gelecek olursak; Aslında hiçbiri,ultrasoft kullnıcılara firewall u güvenle kırmalarını sağlayacak ileri bir teknoloji sunar.bu bir anti sansür yazılımdır ve trojan yada virüs değildir.bazı antivirus yazılımları ultrasoft u bir trojan olarak nitelendirebiliyor,çünkü ultrasoft firewallları kırabiliyor.tabi ki bu yanlış bir nitelendirmedir.ultrasoftun bilgisayarınızdaki herhangi bir dökümana dokunmayacağına inanabilirsiniz. Ek Bilgi -- Firewall -- Tünelleme yöntemiyle firewall lar aşılabilir.firewalları kısaca özetleyecek olursak,bu sistemler paket filtreleme,durum denetimi ve proxy service ile çalışır,paket başlıklarındaki protokol bilgilerini kullanmanın yanısıra, IP adresi ve port numarsına göre de engelleme yapabilirler. L7 firewallar (bu firewall lar imza yada davranış tabanlı çözümleme yaparlar )hariç gönderilen paketin içeriği ile ilgilenmezler. Paket gönderip,dönen cevapları inceleyerek,sistemde firewall olup olmadığı anlaşılabilir.
Firewall lar SSL kullanılarak(l7 firewallar da dahil olmak üzere),ip parçalama ve encoding yöntemi ile atlatılabilir. Buraya kadar herşey mükemmel,madem sistem SSL (Sequrty Socket Layer )ve HTTPS tünelleme kullanıyor, biz de bu konuların mantığı nedir biraz inceleyelim. Ek Bilgi -- HTTPS Tünelleme -- Tünelleme işlemi HTTPS protokolü üzerinden yapılıyorsa HTTPS Tünelleme adını alır.bu protokolde veriler browserdan servera yada serverdan browsera güvenli biçimde aktarılır.binary bir protocoldür. HTTPS tünelleme,http tünelleme gibi proxy mantığıyla çalışır. Kullanıcı browser kullanarak, HTTPS trafiğini proxy üzerinden geçirebilir. Farklı olarak, data trafiği şifreli biçimde aktarılır ve ağ trafiğinizi sniff eden üçüncü bir makine olsa bile, trafiğiniz çöp karakterler şeklinde görüneceği için üçüncü kişi için bir anlam taşımaz. Trafik proxy üzerinden aktarıldığında,veriler bu binary protokol ile gönderildiğinden proxy hiçbirşey anlamaz.proxy nin görevi sadece server- client arası veri değişimi için binary akışa izin
vermektir.böylece proxy server ı şaşırtıp herhangi bir servera bağlanılabilir,veri değişimi gerçekleştirilebilir.o anda biz işlem yaparken proxy, sadece http aktarım yaptığımızı sanar. Bu tünelleme size browser gibi internet uygulamalarında,firewall lara rağmen gizli biçimde gezinebilmenizi ve Proxy i desteklemeyen protokollere(telnet,ftp) doğrudan tünelleme yapabilmenizi sağlar. İçerik filtrelemek için https trafiğini izlemeniz gerektiğinde,https trafiğini proxy üzerinden geçirerek yada SSL ile içeriğini okuyarak filtreleme yapabilirisiniz.
Https üzerinden yapılan tünelleme yöntemi en çok tercih edilen yöntemlerden biridir. SSL in Çalışma Mantığı SSL den bahsedecek olursak, SSL bir web server ile bir browser arasında şifreli bir bağlatı kuran,standart bir güvenlik teknolojisidir.bu bağlantı,web server ile browser arasındaki veri akışının gizli ve bir bütün halinde aktığını garanti eder. Bir SSL bağlantısı yapabilmek için web serverlar SSL sertifikası gerektirir.web server ınıza web sitenizi ve şirketinizi tanımlayan pekçok soruya cevap veren bir SSL isteği gönderdiğinizde web serverınız public ve private olmak üzere iki kriptografik key yaratır.bu keyler hakkında ilerleyen paragraflarda daha spesipik ayrıntılardan bahsedeceğim.yüzeysel bahsetmek gerekirse public key herkesin ulaşabileceği bir key dir,tabiri caizse halka açık,umumi.private key ise sadece sertifika otoritesi tarafından biliniyor.neyse devam edelim. Web server ımız bizim için iki key üretti.daha sonra web servera bizim (Certificate Signing Request) sertifika imza isteğimiz- CSR miz gidiyor.ssl sertifikası işlenirken sertifika otoritesi kullanıcı detaylarımızı ve SSl kullanmamıza izin onay verecek web server sertifikamızı private keyimiz ile imzalayacak ve web serverımız,web sitemiz ile client browser ı arasında şifreli bir bağlantı açacak. Dip not :SSL de handshake process (HTTPS) protokolü üzerinden yapılır. Dip not :SSL deki simetrik şifreleme session datalarını şifrelemek amacıyla kullanılır.ssl deki asimetrik şifreleme ise session key ini gizlice paylaşmak için yapılır.session key public key ile şifrelenir ve sadece client session key i bilebilir. Dip not : Public anahtarın isteyen kişilerce kullanımını yaygınlaştırmak amacıyla erişime açılmasına sertifika denir.
Tabi işler her zaman bu kadar olumlu yürümeyebilir,eğer SSL key lerinin talep edildiği adres yanlışsa,sertifikanın süresi dolmuşsa yada birşeylerden şüpheleniliyorsa tarayıcı ihtiyacı olan keyleri alamaz ve sertifika geçersiz tanımlanıp,güvenli oturum başlatılmaz. Sertifika Yaşam Döngüsü
Bir Sertifika Örneği : Gelelim bu şifreli bağlantının derinliklerine, SSL şifrelemelerini açık anahtarlı şifreleme yöntemine göre yapar.bu anahtarlar, aslında digital olarak kodlanmış yazılımlardır ve bu yöntemde crypt ve encrypt işlemi için farklı anahtarlar bulunur (public,private). Alıcı ve gönderici tarafın her birinde gizli ve açık olmak üzere birer çift anahtar bulunur. Açık anahtar sadece gizli anahtar sahibi tarafından oluşturulabilir ve açık anahtar adından da anlaşılabileceği gibi herkese açıktır.gizli anahtarın göndericiden alıcıya aktarımı gibi bir durum sözkonusu değildir.bunun yerine veriyi her alıcı için ayrı ayrı şifreleme yöntemini kullanıyoruz. Bu bize iş yükü getirsede her kullanıcı kendi gizli anahtarını kullanarak şifreyi çözebiliyor. Böylece tek bir anahtarı alıcıdan göndericiye ileterek,anahtarın güvenliğini tehlikeye atma durumundan kurtuluyoruz.göndericiden alıcıya ileteceğimiz datanın
güvenliğinden nasıl emin olamıyorsak,aynı yöntemle gönderilen anahtarın güvenliğinden de söz etmek mümkün değildir. Tabi bu yöntem çok güvenli görünmesine rağmen henüz ispatlanmış değildir.temel mantık çift-tek yönlü fonksiyon dönüşümüne dayanır ve fonksiyonun kendisinin hesaplanması mümkünken,tersinin dönüşümünün mümkün olmaması,en azından polinomal süreç içerisinde. Böylece anahtar dağıtımı ve elektronik imza özelliklerini asimetrik kriptografinin, gizlilik hizmetini simetrik kriptografinin sağladığı güvenli bir altyapıya kavuşabiliriz. Dip not : SSL de 128 bitin sadece 48 biti şifrelenmiştir. Sertifika Talep Standardı ve SSL: Burada sertifikanın katmanlarını görüyorsunuz.
Peki sertifika kavramını neden bu kadar anlattınız diye soracak olursanız, SSL sertifikaları encryption ve identification için kullanılır. Yani network trafiğiniz güvende mi?,doğru kişiyle konuştuğunuza emin misiniz? Sorularının cevapları şimdilik bu sertifika uygulamasında gizli. Bu kadar sistemi tanıttığımız yeterli sanırım,şimdi çalışma mantığından biraz uzaklaşıp sistem gerçeklemek üzerine çalışalım. Ultrasurf ü çalıştırmadan önce, internete çıktığımız ip adresimiz ;
Ultrasurf ü çalıştırdıktan sonra, internete çıktığımız ip adresimiz ; Ultrasurf ün IP mizi değiştirdiğini gördük, bunun olduğuna wireshark ve tcpdump ile trafik analizi yaparken de şahit olacağız. Peki değişen bu ip hangi yolla tanımlanıyor ait diye soracak olursanız açıkçası fikir yürütmek güç.
Çalışma mantığını tespit etmeye başlayalım.bunun için iki araç kullanacağız. -Wireshark
-Tcpdump Ultrasurf çalışmaya başlar başlamaz, gerçek domain adreslerine dns sorguları gönderiyor. Bunu yaparken dışarıya açık portlarımızdan rastgele bir seçim yapıyor ve bu portu kullanarak istek gönderiyor. Sorgulara olumsuz cevaplar gelmeye başladığında diğer proxyleri deniyor. Localde ise 9666 portunu kullanıyor ve bu porttan http/https proxy kuruyor.ie ayarlarını 127.0.0.1:9666 olarak ayarlıyor.
Devamında internete 443. Portu kullanarak (https bağlantı ile) çıkıyor. Ultrasurf 9666 portunu sadece localhostta kullanması ve internete çıkarken 443. Portu kullanması sebebiyle block engeline takılmıyor.
Tabi gerçek domainlerden sorgu göndermesi bizim için problem çünkü Ip ye göre loglanmış kayıtlardan bloklama yapmayı denediğimizde loğlardan elde ettiğimiz bu ip ; domainin gerçek ip si olmadığından bu girişimle aslında ip nin gerçek sahibini engellemiş oluyoruz.
Zemana geliştiricilerinin farkettiği çelişkili durumların bir kısmıyla trafiği analiz ederken ben de karşılaştım.görünen o ki ultrasurf geliştiricileri yazılımlarını tanıtırken pembe yalanlar söylemişler.tabi Zemanacılar analiz yaparken kendi yazdıkları extra bir simülatör de kullanmışlar ve Ultrasurf ün SSL kullanmadığına eminler.onların tespitine göre ; Ultrasurf 443(https) portunu kullandığı halde aslında SSL bağlantısı kurmuyor,uygun portu ve paket başlığını kullanarak,ssl protokolüymüş gibi davranıyor. SSL olmasa da, SCSI IOCTL_STORAGE_QUERY_PROPERTY metodunu kullanarak aldığı HDD seri numarasından bir key oluşturup, bu key ile şifreliyor.yani Ultrasurf kendine özgü bir mutant bir SSL bağlantısı oluşturuyor. Ayrıca programın https bağlantılarının çoğunun fake olduğunu görmüşler ve nmap ile taradıklarında çıktılar, Taiwan üzerinde Windows bir makineyi işaret etmiş. Tabi bu sunucunun işlevi ile ilgili farklı yorumları var. Sahte https bağlantıya ihtiyaç duyma sebebi olarak ana firewall un akıllı kural oluşturmasını güçleştirmek olduğunu tahmin ediyorlar.
Dilerseniz bu simulatoru http://download.zemana.com/products/anti-ultrasurf/anti- UltraSurf_1.0.1.32.msi linkinden elde edebilirsiniz. Peki Ultrasurf ü nasıl engelleriz?
Ultrasurf ün çalışmaya başlar başlamaz internete çıktığımız ip adresini değiştirdiğini başka bir ip üzerinden internete çıktığımızı gösterdiğini farketmiştik. Ultrasurf ü ip bloklayarak engelleyemeyiz.çünkü Siz ip bloklama yaparken ultrasurf boş durmuyor, blokladığınız ip yi değiştirerek başka ip ler denemeye başlıyor.internete çıkmak için kullanılan 443. Port http üzerinden ( https ) çok büyük whitelistler oluşturmadığı sürece bloklanmıyor.yani 443. Port kapatılmadığı yada belirli uygulamaların kullanımı için ayrılmadığı sürece tam anlamıyla koruma sağlanamıyor.sadece belirli uygulamaların kullanımına sunulan portta,istenilenlerin dışında hiçbir uygulama çalışmıyor. Koruma sağlamanın bir yolu bu olabilir. Firewall kullanılarak yapılacak bloklamada,amacımız tam olarak ultrasurf ü bloklamak değil,kullanıcıyı yıldırmak,şöyle ki,explorer üzerinden çalışan malum programın çalıştığı anda 443. Portu dinleyerek ip yi elde edebilir ve elde ettiğimiz bu ip ye giden paketlerin bandwith değerlerini büyük oranda düşürürsek,hem ip yi bloklamadığımız için ultrasurf replikasyon yapma gereği duymayacak, hemde bağlantı hızından sıkılan kullanıcı engelli bölümlere girme ısrarından vazgeçecektir. Snort kullanrak engelleme yapmak için de izlenmesi gereken mantık şu ; Ultrasurf ün SSL bağlantısında kullandığı,client Hello mesajlarının ultrasurf için klasik uygulamalardan farklı olduğu görülmüş.bu tespit kullanılarak,443. Porttan bu değerin geçtiği paketleri yakalayıp engellemek gerek. Normalde (TLS,SSL in geliştirilme sürecinde kazandırılan ek özelliklerden sonra TLS olarak anılmaya başlanmıştır) TLS1 bağlantılarında server hello mesajında sertifika mesajı aranıyor,fakat Ultrasurf SSL i taklit ettiği için bu bağlantı yapılıyor gibi görünse de sertifika alınmıyor ve boş kalıyor, işte yukarıda söylendiği gibi bu sertifika alanı boş olan TLS Paketlerini engelleyerek kesin bir çözüm getirebileceğimizden bahsediliyor. Elde ettiğimiz Ip sahiplerini,ip lerinin böyle bir amaçla kullanıldığından haberdar etmek de dar kapsamda bir çözüm olabilir. Bir başka yöntem olarak, squid kullanılarak tüm SSL bağlantıları loglanabilir.ultrasurf 443.porttan interneternete çıkarken ip leri kullanıyordu.eğer 433.porta bağlanmış hedef olarak ip adresi seçen istekler bloklanırsa ultrasurf bloklanablir. Araştırdığım bir başka kaynakta da Application Control uygulayan UTM cihazlarını incelemenin faydalı olacağından bahsedilmişti. UltraSurf programı bir kere bağlantıkdan sonra temp klasörüne bazı dosyalar atıyor ve bu dosyalardaki bilgileri kullanarak IPS uygulanmış,https yasaklanmış olsa bile,dilediğinde çıkış yapabiliyor. Ultrasurf firewall arkasından çalışması için yazılmış bir uygulama ve sürekli güncelleniyor.firewall ların açıklıklarından faydalanarak atlatma yapıyor. Sürekli güncellendiği için UTM cihazlarının bu uygulama karşısında pek de başarılı olmadığına değinilmiş. Aynı zamanda bilgisayarınızdaki portların kapalı olmasının çok da önemi yok,vpn kullanarak girdiği makinede sanal port açarak,bağlantı gerçekleştirebiliyor. Ultrasurf ile internette gezinmenin güzel bir yöntemi de verileriniz, https ve ultrasurf un harddiskten elde ettiği key ile çift kat şifrelendiği için,kamusal alanda ortak bir networke bağlandığınızda ağ trafiğini sniff eden birileri olsa bile,içeriğini anlamaları mümkün değil Dinlediğiniz İçin Teşekkürler! Kaynaklar:
http://www.bga.com.tr http://blog.lifeoverip.net/2008/07/23/ultrasurf-engelleme/ http://blog.lifeoverip.net/2009/05/17/ultrasurf-bloklama-iisnort-openbsd-pf/ http://www.enderunix.org/docs/openvpn.pdf http://www.kamusm.gov.tr/tr/bilgideposu/belgeler/teknik/aaa/index.html?kriptolojinedir.html http://necil.wordpress.com/2008/07/29/ssl-sertifikasi-nedir-ne-ise-yarar http://info.ssl.com/article.aspx?id=10241 http://www.cozumpark.com/forums/post/178834.aspx http://www.cozumpark.com/forums/post/254206.aspx http://blog.zemana.com/2009/01/ultrasurf-proxy-analizi.html