Encrypted Client Hello'ya (ECH) rağmen İSS'ler girilen siteleri görebilir

Sevgili Yusuf’un dünkü videosunda takipçilerine tanıttığı ECH ile ilgili doğru olduğu kadar yanlış bir beklenti oluşabileceğini düşünüyorum. Başlıkta da yazdığım gibi ECH, ne İSS’lerden ne de diğer yetkilendirilmiş (BTK, sistem yöneticileri) veya saldırgan (korsan) gözlemcilerden ziyaret edilen web siteleri gizleyebilir. Sevgili Yusuf videosunun sonlarına doğru zaten İSS’lerin başka yöntemlerle bunu aşabileceğinden veya eski adıyla ESNI olan ECH’yi engelleyebileceklerinden bahsetti ama giriş kısmında İSS’lerin ECH yüzünden girilen web siteleri göremeyeceğini de söyledi.

Ben bunun öyle olmayacağını düşünüyorum çünkü Turk Telekom, Turkcell, Vodafone, TURKSAT, TurkNet gibi İSS’lerin halihazırda DNS sunucuları var. Bu sunucuların alan adı-IP adresi bilgilerini aldığı kaynakları ile Google DNS, Cloudflare DNS, Quad9 DNS, OpenDNS, NextDNS ve AdGuard DNS gibi üçüncü parti şirketlerin, kuruluşların kaynağı aynı yerlerdir. Yani btt.community’nin alan adı ve IP adresi bilgisi hepsinde mevcut olduğu için sırf TLS bağlantısı kurulurken SNI’da domain bilgisi şifreli diye girilen siteyi göremeyecek değiller.

İSS’lerden ziyaret edilen siteleri gizlemenin yolu VPN’den, Tor’dan, I2P’den ve diğer çeşitli proxylerden geçiyor. Bu değişmiş değil.

3 Likes

Demek istediğiniz şeyi anlıyorum. Tek bir IP altında tek bir sunucu barındırılıyor ise aslında tersinden bu çıkarımı yapabilirler diyorsunuz. Bir nebze haklılık payınız var. Fakat Cloudflare özelinde şöyle bir durum mevcut. Siz Cloudflarenin sunucularına bağlanıyorsunuz ve tüm istekleriniz bir nevi proxy aracılığı ile aktarılıyor. Yani Cloudlfareye ait 10-12 adet IP dışında gerçek anlamda bağlantıda olduğunuz bir IP olmuyor. Dolayısıyla siz Cloudflare ve/veya benzeri hizmet veren ve ECH’yi implemente etmiş bir hizmet sağlayıcı üzerinden bağlantı sağlıyor iseniz bu sefer tersinden sizin nereye bağlandığınız anlaşılamaz. ECH ve ESNI’ni artısı şuydu: eski dönemlerde o ilk paketler tamamen şifresiz gittiği için sizin hangi IP veya port kullanarak bağlandığınızdan bağımsız direk ilk paketi okuyup tamam bu kişi şu siteye gidiyor deme şansları vardı. Fakat şimdi VPN, TOR, I2P ye gerek kalmadan bu ilk paketler şifrelendiği için ISP’lerin başkaca yöntemlere başvurması gerekecek. Bir de bunun üstüne HTTP/3 (QUIC) ile birlikte TCP değil UDP portları kullanılmaya başlanınca işler onlar açısından daha da zorlaşacak.

Bonus bir bilgi de benden olsun size. Eğer Cloudflare’de bağlanmış bir domain’in sonuna /cdn-cgi/trace eklerseniz aranızdaki bağlantı şifrelenmiş mi şifrelenmemiş mi bunu görme şansınız var.

SNI = encrypted diyor ise tebrikler güvenli taraftasınız.
SNI = plaintext diyor ise maalesef halen eski şekilde istek gönderiyor tarayıcınız.

Mesela şu an bu siteye bağlandığımda tüm kaynaklar şu adresten geliyor şeklinde görünüyor: 172.67.206.176

Bu adresin btt.community’nin gerçek IP adresi olmadığını size gönül rahatlığı ile söyleyebilirim. Bu IP Cloudflare’nin yayınladığı IP listesinde mevcut. Yani Cloudlfare’ye ait bir IP. Listede 172.64.0.0/13 olarak geçen IP Range’i 172.64.0.0 ile 172.71.255.254 aralığını kapsamaktadır. /13 bir net maskesidir. Yani bizim bağlandığımız IP Cloudflareye ait. Şimdi ISP tersine bir arama ile ECH ve/veya ESNI kullandığınızda sizin nereye bağlandığınızı nasıl bulabilir ?

1 Like

Evet, CDN vs. gibi proxyler yüzünden birden çok siteye aynı IP’den bağlanılıyor. Fakat İSS’lerin DNS veri tabanlarında aynı IP’nin kaç ayrı domain için kullanıldığı ve bu domainler için aktarılan paket boyutları gibi bilgiler de mevcut. Bunun tespit edilmesi onlar için çok kolay olacaktır. Ayrıca ECH’nin hem sunucuda hem de istemcide aktif olması lazım. Köydeki Seyfullah emmiler Do53 üzerinden btt.community’nin IP’sini öğrenip giriyor (gerçek sunucu IP’si olmasa da olur.). Daha TLS fingerprinting var vs.

İşlerin biraz çetrefilli hale gelmesi başka bir şey.

2023 ilk çeyrek verilerine göre Cloudlfare’nin 7.59 Milyon websitesini filtrelediğinden bahsediliyor. Bir ikinci bilgide ise dünya üzerindeki trafiğin ortalama %20 gibi bir miktarı yine Cloudlfare’nin kendi servislerini doğrudan veya dolaylı olarak kullanıyor. Bu nedenle veri tabanını kullanarak anlamlı veri çıkarmaları mümkün değil.

MTU’dan bahsediyorsanız eğer default paket boyutları birçok faktöre göre değişiklik göstermektedir. Siz daha 3-Way-Handshake bittimi anlamadan kullanıcı siteye girmiş de olabilir tam tersine daha cypher değiş-tokuş etme aşamasında da olabilir. Paketlerin dolmasını beklemeden padding yaparak dolmuşcasına paket göndererek gecikmeyi (latency) azaltma yoluna gidenler de var. Dolayısıyla da buradan da bir şey çıkmayacak.

Eğer Business veya Enterprise pakette değilseniz Cloudflare’nin öntanımlı sertifikası ile muhattap oluyorsunuz. Bu aşamada TLS fingerprinting maalesef işe yaramayacaktır. Kullanıcı → Cloudflare → BTT şeklinde bir gidişat izlendiği için sitenin kendi sertifikası sadece (eğer isterse) Cloudflareye karşı kullanılacaktır.

Port 53 üzerinden DNS isteklerini gönderiyor dediniz fakat konu başlığı ECH özelinde olduğu için bunu gözardı ediyorum.

Neticeten söz konusu yöntemlerin (ECH/SNI özelinde) işe yaramayacağından bahsetmiş oldum. Eğer bunun aksini haklı çıkarabilecek bir yöntem olsa idi emin olun ISS ve hükümetler kullanıcıları gizlice takip etmek yerine istemedikleri siteleri gerçekten engelleyebilirdi. Çünkü sizin hangi siteye girdiğinizi görmek yerine istemedikleri sitelere girmemenizi sağlamaları daha kazançlı olur onlar için. Eğer bu dedikleriniz işlevsel olsaydı Çin’in kocaman bir firewall kurarak çözme yoluna gitmezdi ayrıca.

Bir ek bilgi daha verip konuya ayrı bir bakış açısı kazandırmak istiyorum. Cloudflare son zamanlarda şöyle bir şeye başvurdu. Cacheleri aktarırken Üst - orta - alt ve yerel sunucular olarak ağ akışını birden fazla noktadan geçirmeye başladı. Free pakette dahi bu var. Bu da aslında şu anlama geliyor. Eğer isterlerse bir gecede ansızın paketlerin geçmesi gereken HOP noktalarını ve atlama sayısını (3-5-10 gibi) randomize edip giren çıkan paketi dahi takip etmenizi engelleyebilirler. Herkes bir havuza birşeyler atıyor sonra onlar bir yerlerden dışarı çıkıyor. İçeri giren paket çıktı mı o pakete cevap geldi mi o bile belli olmayacak artık. Tor’daki onion rooting tarzı bir şeye doğru evrilecek gibi geliyor bana bu sistem ileride.

2 Likes

Şimdi doğru mu anladım? Domain şifrelense bile, eğer site cloudflare gibi bir hizmeti kullanmadan hostlanıyorsa, ip adresinden nereye girdiğimizi tespit edebilirler; cloudflare kullanıyorsak, siteye bağlandığımızda aslında cloudflare bilgisayarlarına bağlanırız, o bilgisayarlar sitenin hostlandığı bilgisayardan verileri alıp bize gönderir, dolayısıyla isp ana sitenin adresini göremez ip’den de tespit edemez?

Kısmi olarak evet. Siz a cadde b sokak c apartmanında oturuyorsunuz. Şimdi oraya gelen bir mektup şifreli olsa ve kime gittiği belli olmasa dahi orada sadece siz veya 1-2 kişi yaşıyor ise kime gittiğini tersinden giderek bulmak kolay. Bu şekliyle konu sahibi haklı. Böyle bir ihtimal ve sorun mevcut.

Evet işin güzel kısmı zaten bu. İstanbul, Merkez, Cloudflare posta istasyonu adresli bir posta gönderiyorsunuz mesela. Şimdi istanbul dediğiniz yer (belki) 18 Milyon vardır. Tersinden kişiyi bulmayı geçtim o posta adresini buluyorsa şükretmek lazım. Cloudflarenin yaptığı da tam olarak bu. Siz ve Cloudflare dışında kimse gerçek adresi ve alıcıyı bilmiyor.

Hatta Cloudlfare şöyle bir sisteme geçeceğini (zamanı belirsiz) taahhüt etti geçenlerde. Sizin hangi domaini sorguladığınızı dahi kendisi görmeyecekmiş eğer söz konusu projeyi başarabilirlerse. Bunu şuna benzetmek lazım. Bir bankadan özel kasa kiraladınız (mesela isviçre). Anahtar sizde ve numarayı sadece siz biliyorsunuz. Sizi kasa odasına alıyorlar ve gidiyorlar. Siz kendi kasanızı açıp istediğiniz şeyi koyup veya alıp çıkabilirsiniz. Banka sizin ne yaptığınızı bilemez. Bu gelecekte getirecekleri sistemde de öyle yapacaklar. Size bir domain listesi hazırda sunulacak ama siz hangisi veya hangilerine baktınız bunu bilemeyecek. İstediğiniz şekilde siteye gideceksiniz ve gezeceksiniz. Cloudflare istese dahi bakamayacak, bulamayacak sizin gittiğiniz rotayı

Ayrıntılı açıklama için çok teşekkürler, bana ve diğer okuyuculara yeni bilgiler sağladınız. :point_up:t4: Yani kısacası bu gelişmeden tam randıman almak için bütün webi Cloudflare, Akamai gibi firmaların proxyleri altına gizleyelim iyisi mi.

Konu ECH özelinde olsa da ben ECH’nin kendisinden ziyade ona rağmen İSS’lerin enstrüman sayısının ve örneklem sayısının fazlalığına dikkat çektim. Do53 veya diğer şifreli protokolleri kullanan müşterilerin SNI verisinde alan adı olacaktır. CF veya sunucunun kendi IP’sinin ne olduğu bu şekilde de öğrenilecektir. Btt özelinde sunucunun IP adresi siz CF’ye geçene kadar zaten İSS’lerin DNS kayıtlarında yerini almıştır. Burada konu zaten sunucuların gerçek IP’leri değil.

Cloudflare’in 1.7 milyon civarı IPv4’ü varmış ama veri bilimi de gelişiyor olmalı. Bunun mümkün olmayacağını söylemek biraz abartılı gibi geldi.

Bunun dışında website traffic fingerprinting de var. Bu yüzden VPN kullanıcılarının dahi ziyaret ettikleri web siteleri tahmin ediliyor.

Çin örneği makul gelebilir fakat yüz milyonlarca nüfusun ülke dışındaki sunuculara erişimini engellemek amaçlanıyorsa en garanti yöntemi uygulamaktan başka ne yapabilirlerdi ki.

İSS’ler zaten otomatik router kurulumu yaptığında varsayılan DNS sunucu olarak kendi sunucularını seçiyorlar ve SuperOnline gibi kendi cihazınızı kullanmanıza izin vermeyen firmalarda farklı DNS sunucu da tercih edemiyorsunuz.

Dostlar zaten bu VPN’in ya da TOR’un yerini tutamaz tutmayacaktır da zaten siz teknik olarak tartışmışsınız ama bir İSS kullanıcıyı takip etmek istiyorsa yeni gelen sistemlerle çok daha ek bir çaba sarf etmesi gerekecek olay bundan ibaret. Genel bir mahremiyet ve güvenlik sağlamış oluyoruz. Sansürlemeyi daha zorlaştırmış oluyoruz. Yoksa tabii ki anonim olmak için VPN veya TOR hala çok daha iyi seçenekler.

1 Like