Derin paket incelemesi nedir?
Sıradan ağ donanımı bir paketi nereye gittiğine bakarak yönlendirir. Derin paket incelemesi ise içinde ne olduğuna bakar. Bir yönlendiriciyi bir sansür sisteminden ayıran tek fark budur ve bir VPN'in bir hafta çalışıp ertesi hafta erişilemez hâle gelmesinin sebebi de budur.
Yüzeysel inceleme ile derin inceleme
Ağdan geçen her paket iç içe geçmiş bir dizi başlık taşır. En dıştaki bağlantıyı tanımlar, ardından IP başlığı kaynak ve hedef adresi verir, sonra TCP ya da UDP başlığı kaynak ve hedef portu verir. Sıradan bir yönlendiricinin işini yapması için yalnızca bunlar gerekir: hedefi oku, tabloya bak, ilet. Yükü hiç açmaz, açmasına da gerek yoktur.
Derin paket incelemesi, bu başlıkların ötesine, yükün içine — yani uygulamanın gönderdiği asıl baytlara — bakma pratiğidir. Bir DPI motoru bir hat üzerine satır içi yerleşir, paketlerden bayt akışını yeniden birleştirir ve ardından hangi protokolün konuşulduğunu, mümkün olduğunca da ne söylendiğini belirlemeye çalışır. "Derin" denmesinin sebebi, pakete yönlendirmenin gerektirdiğinden daha derine inmesidir.
- Yüzeysel filtreleme adrese ve porta göre engeller: "203.0.113.10'a giden her şeyi düşür" ya da "1194 portuna giden her şeyi düşür". Ucuzdur, kabadır ve adres ya da port değiştirilerek kolayca aşılır.
- Derin inceleme davranışa göre engeller: "OpenVPN el sıkışmasına benzeyen her şeyi, nereye giderse gitsin ve hangi portta olursa olsun düşür". İşletmesi çok daha pahalıdır ve adres ya da port değiştirmek işe yaramaz.
Bir DPI motoru gerçekte neye bakar
Bir DPI motoru bir protokolü bütünüyle anlamaya nadiren kalkışır. Bir protokolü diğerinden güvenilir biçimde ayıran en ucuz işareti arar, çünkü milyonlarca akış taşıyan bir hatta kararı birkaç milisaniye içinde vermek zorundadır. Pratikte dört işaret ailesinden yararlanır.
- Birebir bayt desenleri
- Bilinen konumlarda beliren sabit diziler ya da yapılar. Bir TLS kaydının ilk baytları tanınabilirdir; SSH başlığı, BitTorrent el sıkışması ya da bir OpenVPN kontrol paketinin işlem kodu düzeni de öyle. Bilinen bir konumda desen eşleştirmek neredeyse bedavadır.
- Şifreli protokollerin içindeki açık meta veriler
- Şifreleme her şeyi gizlemez. Standart bir TLS el sıkışması istenen ana bilgisayar adını Server Name Indication alanında açık olarak gönderir; eski TLS sürümlerinde sunucunun sertifikası da görünür. Bu meta veri, bir filtrenin başka türlü anlaşılmaz olan bir bağlantı hakkında sahip olduğu en zengin bilgi kaynağıdır.
- El sıkışma parmak izleri
- İçerik şifreli olsa bile pazarlığın biçimi şifreli değildir. Bir istemcinin önerdiği şifre takımlarının tam listesi, TLS uzantılarının sırası, ilk kayıtların boyutları — bunlar bir tarayıcı, bir mobil uygulama ve bir VPN istemcisi arasında farklılık gösterir ve bir parmak izine özetlenebilir.
- İstatistiksel davranış ve zamanlama
- Paket boyutları, gönderme-indirme oranı, bir bağlantının zaman içindeki ritmi. Bir görüntülü görüşme, bir dosya indirmesi ve her şeyi aynı anda taşıyan bir tünelin her birinin ayırt edilebilir bir profili vardır ve bir sınıflandırıcı, yükten tek bir bayt okumadan bunun üzerinde eğitilebilir.
Pratikte en çok ilk ikisi önemlidir. Kesindirler, ucuzdurlar ve çok az yanlış pozitif üretirler; filtreleme sistemlerinin önce onlara uzanmasının ve protokol tasarımcılarının çabalarının çoğunu bunları ortadan kaldırmaya harcamasının sebebi budur.
Şifreleme neyi gizler, neyi gizlemez
Şifreli bir bağlantının bir gözlemci için anlaşılmaz olduğu yaygın bir varsayımdır. Değildir. Şifreleme yükün gizliliğini korur. Tek başına ne bir bağlantının var olduğunu, ne uç noktaların kim olduğunu, ne büyüklüğünü, ne süresini, ne de hangi protokolün konuşulduğunu gizler.
| Özellik | Görünür mü? | Not |
|---|---|---|
| IP adresiniz | Evet | IP başlığındadır; yanıtın size ulaşması için olmak zorundadır. |
| Hedef IP adresi | Evet | Aynı sebeple. Ters DNS çoğu zaman işletmeciyi açık eder. |
| Hedef port | Evet | Hizmeti ima eder: HTTPS için 443, SSH için 22 gibi. |
| İstenen ana bilgisayar adı | Genellikle | Encrypted Client Hello kullanılmıyorsa TLS SNI alanında açık gönderilir; o da henüz yaygın olmaktan uzaktır. |
| Sayfa içeriği | Hayır | El sıkışma tamamlandıktan sonra kayıt katmanı tarafından korunur. |
| Aktarılan bayt miktarı ve zamanlama | Evet | Şifreleme bunu asla gizlemez. Dolgu bulanıklaştırabilir; hiçbir şey ortadan kaldırmaz. |
| İstemci yazılımı parmak izi | Genellikle | El sıkışmanın kendisi herhangi bir anahtar üzerinde anlaşılmadan önce gönderilir. |
Pratik sonuç şudur: bir filtrenin engelleme kararı vermek için hiçbir şeyi çözmesi gerekmez. Yalnızca hiç şifrelenmemiş kısımlardan yola çıkarak bu bağlantının düşürmesi söylenen bir kategoriye ait olup olmadığına karar vermesi yeter. Bu çok daha kolay bir problemdir ve modern sansür sistemleri tam da bunu çözmek üzere kurulmuştur.
Bir karar nasıl uygulanır
Bir akış sınıflandırıldıktan sonra sistemin buna göre hareket etmesi gerekir. Seçilen yöntem kurulum hakkında çok şey söyler ve genellikle istemci tarafından birbirinden ayırt edilebilir.
- Sessiz düşürme. Paketler yanıtsız atılır. Bağlantı askıda kalır ve sonunda zaman aşımına uğrar. Kendini belli etmek istemeyen bir filtrenin en yaygın davranışıdır.
- Sahte sıfırlama. Sistem, karşı taraftan gelmiş gibi taklit edilmiş bir TCP RST paketi enjekte eder. Bağlantı aniden ölür, çoğu zaman birkaç paket çoktan akmışken — ki bu güçlü bir ipucudur: gerçekten erişilemeyen bir sunucu hiç yanıt vermez.
- DNS manipülasyonu. Ad sorgusu yanlış bir adresle ya da hiçbir adresle yanıtlanır; henüz bağlantı denenmeden. Ucuzdur ve farklı çözücülerin yanıtları karşılaştırılarak kolayca görülür.
- Hız kısma. Akışa izin verilir ama işe yaramaz hâle gelecek kadar sınırlandırılır. Atfetmesi daha zordur, çünkü dikkatli ölçüm olmadan sıradan tıkanıklıktan ayırt edilemez.
- Etkin sondalama. Sistem yerinde engellemek yerine uç noktayı kaydeder ve daha sonra kendisi ona bağlanıp istemci taklidi yaparak orada ne çalıştığını doğrular. Sunucu yalnızca bir vekilin vereceği bir yanıt verirse adres engel listesine eklenir.
Bu, tünel protokollerinin tasarımını neden belirler
Bir filtrenin yük yerine el sıkışmaları ve meta verileri okuduğunu kabul ederseniz, bir tünelin tasarım hedefi tümüyle değişir. Şifreli olmak artık yeterli değildir. Bağlantının, filtrenin geçmesine izin vermeye karar verdiği trafikten kendisini ayıran hiçbir işaret sunmaması gerekir — ki bugünün internetinde bu, sıradan bir web sunucusuna giden sıradan TLS demektir.
Bu kitaplığın başka yerlerinde ele alınan protokollerin aynı birkaç fikirde buluşmasının sebebi budur: protokole özgü bayt desenlerini hattan kaldırmak, TLS el sıkışma parmak izini gerçek bir tarayıcıyla eşleştirmek, kendisi bir işaret olan bir ana bilgisayar adı göndermekten kaçınmak ve kimliği doğrulanmamış bir sondaya tam olarak sıradan bir web sunucusunun vereceği yanıtı vermek. Bunların her biri yukarıdaki işaretlerden birini ortadan kaldırmak için vardır.
Aynı sebeple, bir tünel protokolünün hiçbir dürüst tarifi DPI'yı büsbütün yenmeyi vaat etmez. Bir filtre işletmecisi politikayı her zaman genişletebilir — örneğin trafik kategorilerini istisna yerine varsayılan olarak engelleyerek — ve hiçbir protokol tasarımı, tanımlayamadığı her şeyi reddeden bir ağda ayakta kalamaz.
Sık sorulan sorular
Derin paket incelemesi şifreli trafiğimi okuyabilir mi?
Şifreleme sağlamsa ve ağ, cihazınıza güvenmeye zorlandığı kendi sertifikasını sunmuyorsa yükü okuyamaz. Okuyabildiği şey, şifreli yükün dışındaki her şeydir: her iki IP adresi, port, trafiğin boyutu ve zamanlaması, el sıkışma parmak izi ve çoğu bağlantıda istediğiniz ana bilgisayar adı.
Derin paket incelemesi yasal mı?
Tümüyle yargı bölgesine ve bunu kimin yaptığına bağlıdır. Bir ağ işletmecisinin güvenlik ya da kapasite amacıyla kendi trafiğini incelemesi olağan ve genellikle yasaldır; başkalarınca yapılan dinleme genellikle değildir. Bu teknik değil hukuki bir sorudur ve bulunduğunuz yerde geçerli kuralları ayrıca kontrol etmekte fayda vardır.
VPN derin paket incelemesini durdurur mu?
Bir VPN incelemeyi engellemek yerine incelemenin ne görebildiğini değiştirir. Trafiğinizin içeriği yerel ağ için anlaşılmaz hâle gelir, ama VPN'e giden bağlantının kendisi görünür kalır ve sınıflandırılabilir. Doğru sınıflandırılıp sınıflandırılmayacağı, tünelin sıradan trafiğe ne kadar benzediğine bağlıdır.
Beni engelleyenin DPI olduğunu nasıl anlarım?
İpucu, arızanın biçimidir. Kurulup sonra aniden kopan bir bağlantı enjekte edilmiş sıfırlamalara; hiç yanıt almadan askıda kalan bir bağlantı sessiz düşürmeye; farklı çözücülerde farklı çözümlenen bir ad ise DNS manipülasyonuna işaret eder. Bunları sırayla elemek sorun giderme rehberinde anlatılıyor.