DPI, VPN'leri nasıl engeller
VPN'leri engelleyen bir ağ nadiren tek bir şey yapar. Her biri her bağlantıya uygulanabilecek kadar ucuz birkaç tespit yöntemini aynı anda çalıştırır ve bir tünelin kullanılabilir kalması için hepsinden sağ çıkması gerekir. Her birinin yaptığı şu.
Engelleme tekil değil, katmanlıdır
Bir filtreleme kurulumunu tek bir duvar yerine bir dizi kapı olarak düşünmek yardımcı olur. Bir bağlantı önce bir adres listesiyle karşılaştırılır, sonra protokolü sınıflandırılır, sonra meta verisi kurallarla eşleştirilir ve sonra — belki saatler sonra — uç noktası, orada ne çalıştığını doğrulamak için sondalanabilir. Bir kapıyı geçmek, bir sonrakine yakalanacaksanız hiçbir şey ifade etmez.
Bu aynı zamanda birçok kişinin kafasını karıştıran bir deneyimi de açıklar: haftalarca kusursuz çalışan bir tünelin, sizin tarafınızda hiçbir şey değişmeden durması. Trafiğiniz hakkında hiçbir şey değişmedi. Uç nokta bant dışı biçimde tespit edilip bir listeye eklendi.
Birinci kapı: protokol parmak izleri
En eski ve en ucuz yöntem, bir VPN protokolünü kendi el sıkışmasından tanımaktır. VPN protokollerinin çoğu, tehdit modelinin bir sınıflandırıcı değil bir dinleyici olduğu dönemde tasarlandı ve kendilerini hat üzerinde açıkça ilan ederler.
| Protokol | Onu ele veren şey | Tespit zorluğu |
|---|---|---|
| PPTP / L2TP | Kendine ait protokol numaraları ve sabit portlar; el sıkışması şaşmaz biçimde tanınır. | Çok kolay |
| IPsec / IKEv2 | UDP 500 ve 4500, ayırt edici bir IKE alışverişiyle. | Çok kolay |
| WireGuard | İlk el sıkışma mesajı sabit boyutlu ve bilinen bir konumda sabit bir tür baytı taşır, UDP üzerinde. | Çok kolay |
| OpenVPN | Kontrol kanalındaki tanınabilir işlem kodu yapısı; 443 portundaki TCP kipinde bile. | Kolay |
| Shadowsocks (ilk sürümler) | Hiç el sıkışması yok, ki bu başlı başına sıra dışıdır; ilk sürümler etkin sondalamaya karşı da savunmasızdı. | Orta |
| TLS'e sarılmış tüneller | Tümüyle TLS'in ne kadar sadık taklit edildiğine bağlıdır; alışılmış ipucu el sıkışma parmak izi uyuşmazlığıdır. | Orta ile zor arası |
İkinci kapı: el sıkışmadaki ana bilgisayar adı
Kendini TLS olarak sunan her şey için sıradaki kontrol Server Name Indication alanıdır — istemcinin istediği, şifreleme başlamadan önce açık olarak gönderilen ana bilgisayar adı. Tek bir adresin birçok siteye hizmet verebilmesi için vardır ve yürürlükteki hemen her filtreleme sistemi tarafından okunur.
- Kara liste: ana bilgisayar adı bir listede geçiyorsa bağlantı düşürülür. Site düzeyindeki engellemelerin çoğu böyle çalışır.
- Beyaz liste: ana bilgisayar adı bir listede geçmiyorsa bağlantı düşürülür. Çok daha saldırgandır, bazı kurumsal ve ulusal ağlarda kullanılır ve etrafından dolaşmak çok daha zordur.
- Tutarlılık denetimi: ana bilgisayar adı, çözümlendiği adresle ya da sunucunun sunduğu sertifikayla karşılaştırılır. Uyuşmazlık şüpheli sayılır.
Encrypted Client Hello bunun standartlaşmış çözümüdür: ana bilgisayar adını şifreler, böylece bir gözlemci okuyamaz. Yaygınlaşması kısmidir, ağın da denetiminde olabilecek DNS kayıtlarına bağlıdır ve neredeyse hiç kimsenin kullanmadığı bir ağda onu kullanıyor olmanız başlı başına bir işarettir. Durumu iyileştirir; kapıyı kapatmaz.
Üçüncü kapı: bu TLS gerçek bir tarayıcıya benziyor mu?
TLS'in kendisi yanlış görünüyorsa bir tüneli TLS'e sarmak yeterli değildir. İstemcinin açılış mesajı sıralı bir şifre takımı, desteklenen grup, imza algoritması ve uzantı listesi taşır. Tam bileşim uygulamadan uygulamaya değişir — bir Go programı, bir OpenSSL programı ve Chrome açıkça farklı Client Hello'lar üretir — ve kısa bir parmak izine özetlenebilir.
Bir bağlantı bir web sunucusuyla konuşan bir tarayıcı olduğunu iddia ediyor ama bir Go ağ kütüphanesinin TLS parmak izini taşıyorsa, tek başına bu uyuşmazlık onu sınıflandırmaya yeter. Ciddi uygulamaların yalnızca TLS kullanmakla yetinmemesinin sebebi budur: belirli bir tarayıcının el sıkışmasını bayt bayt yeniden üretirler ve tarayıcılar değiştikçe bunu sürdürmek zorundadırlar.
Dördüncü kapı: etkin sondalama
En kalıcı tespit yöntemi trafiğinizi hiç sınıflandırmaz. Sistem, tanımadığı bir adrese bağlandığınızı not eder ve sonra kendisi o adrese bağlanıp istemci taklidi yapar. Kararı, geri gelen şey verir.
Gözlem
İtibarı olmayan, eşleşen bir DNS geçmişi bulunmayan ve sıra dışı bir trafik profili taşıyan bir adrese giden akış, sonradan bakılmak üzere kaydedilir.
Sondalama
Sistem o adrese kendi bağlantısını açar; kimi zaman oturumunuzdan yakaladığı baytları yeniden oynatır, kimi zaman bilerek anlamsız veri gönderir.
Hüküm
Sıradan bir web sunucusu normal bir yanıtla ya da bir TLS uyarısıyla karşılık verir ve kendisine ne saçmalık gönderilirse gönderilsin aynı davranır. Naif bir vekil farklı yanıt verir — askıda kalabilir, hemen kapatabilir ya da hiçbir web sunucusunun vermeyeceği bir karşılık verebilir.
Eylem
Yanıt anormalse adres engel listesine girer ve o port, kullanan herkes için çalışmaz olur.
Savunma, sunucunun geçerli kimlik bilgisi olmayan herkes için — düşmanca girdi altında bile — sıradan bir siteden gerçekten ayırt edilemez olmasıdır. Bu ailedeki protokoller bunu, kimliği doğrulanmamış bağlantıları gerçek bir web sunucusuna ileterek ve yanıtı ona bırakarak başarır; böylece sonda gerçek bir site alır, çünkü gerçekten birine ulaşmıştır.
Beşinci kapı: adres itibarı
Hat üzerinde olan bitenden bağımsız olarak, adreslerin kendisi de itibar taşır. Tanınmış barındırma sağlayıcılarına ait aralıklar yaygın biçimde veri merkezi alanı olarak etiketlenir ve bazı ağlar bunları varsayılan olarak kısıtlar ya da ek doğrulamaya tabi tutar. Herkese açık bir listede yayımlanmış adresler — sağlayıcı tarafından, bir uygulama mağazası açıklamasında ya da bir forum gönderisinde — hiçbir inceleme olmadan engellenebilir.
Hiçbir protokol tasarımı buna çare olmaz. Bu, trafiğin değil adresin bir özelliğidir. Uç nokta rotasyonunun var olma sebebi budur; geniş biçimde paylaşılmış kamuya açık bir uç noktanın, dar dağıtılmış bir uç noktadan daha kısa ömürlü olmasının sebebi de.
Altıncı kapı: engellemek yerine bozmak
Engelleme göze çarpar ve şikâyet davet eder. Yavaşlatma çarpmaz. Muhtemelen-tünel olarak sınıflandırılmış bir akış birkaç yüz kilobite kadar şekillendirilebilir; bu, mesajlaşmayı kullanılabilir, videoyu imkânsız bırakır ve tıpatıp tıkanmış bir ağ gibi görünür.
İstemci tarafından imzası şudur: bağlantı normal kurulur, bir iki saniye tam hızla veri aktarır ve sonra düşük ve kuşkulu biçimde kararlı bir hıza oturur — kararlılık asıl ipucudur, çünkü gerçek tıkanıklık dalgalanır. Bunu doğrulamanın yolu, aynı anda alakasız bir hedefe kurulmuş bir kontrol bağlantısıyla karşılaştırmalı ölçüm yapmaktır.
Protokol tasarımı neyi çözebilir, neyi çözemez
| Yöntem | Protokol tasarımı çözebilir mi? |
|---|---|
| Protokol el sıkışma parmak izi | Evet — hiç üretmeyerek ya da bir tarayıcınınkini üreterek. |
| TLS parmak izi uyuşmazlığı | Evet — gerçek bir istemcinin el sıkışmasını birebir yeniden üreterek. |
| El sıkışmadaki ana bilgisayar adı | Kısmen — makul bir ad ödünç alarak ya da desteklendiği yerde şifreleyerek. |
| Etkin sondalama | Evet — sıradan bir sunucunun vereceği yanıtın aynısını vererek. |
| Adres engel listeleri | Hayır — bu trafikle değil adresle ilgilidir. |
| İstatistiksel trafik analizi | Kısmen — dolgu ve ritim düzenleme maliyeti artırır, bedeli aktarım hızıdır. |
| Varsayılan-reddet beyaz listesi | Hayır — yalnızca adı geçen hedeflere izin veren bir ağdan hiçbir şey geçmez. |
Dürüst özet şudur: protokol tasarımı ilk dördünü iyi karşılar, beşincisi hakkında hiçbir şey yapamaz ve son ikisinin yalnızca maliyetini artırır. Bir tünelin tespit edilemez olduğu yönündeki her iddia, henüz kararlı bir işletmeciyle karşılaşmamış bir sistemi tarif ediyordur.
Sık sorulan sorular
VPN'im aylarca çalıştı, sonra birden durdu. Neden?
Çoğu zaman trafiğinizde bir şey değiştiği için değil, uç nokta adresi tespit edilip engel listesine alındığı içindir. Bu tespit etkin sondalamayla, adresin herkese açık bir listede belirmesiyle ya da yalnızca hacimle olabilir: alışılmadık ölçüde uzun ömürlü trafik taşıyan tek bir adres dikkat çeker.
WireGuard DPI tarafından engelleniyor mu?
Tanınması en kolay protokollerden biridir, çünkü ilk el sıkışma mesajı sabit boyutludur ve bilinen bir konumda sabit bir tür baytı taşır. Protokol parmak izine göre filtreleyen ağlarda genellikle erkenden engellenir. Bu, filtrelenmeyen bir ağdaki — mükemmel olduğu — protokol kalitesi hakkında hiçbir şey söylemez.
443 portu kullanmak VPN'i tespit edilemez yapar mı?
Hayır. İnceleme sıradanlaştığı andan itibaren 443 portu bir saklanma yeri olmaktan çıktı; önemli olan üzerindeki trafiğin oraya ait olan HTTPS'e benzeyip benzemediğidir. 443'te değiştirilmeden çalışan bir VPN protokolü, varsa, daha da göze çarpar; çünkü açıkça olmadığı bir şey olduğunu iddia etmektedir.
Bir ağ bütün VPN'leri engelleyebilir mi?
Yalnızca açık bir onaylı hedef listesine izin veren bir ağ bunu yapabilir — çok sayıda sıradan kullanımı bozma pahasına. Çoğu ağ bu kadar ileri gitmez, çünkü yan hasar kabul edilemez; trafiğin izin verilene benzemesine alan bırakan da budur.