Psiphon'un Teknik Bir Açıklaması
03.12.2014 - 3 dk okuma
Güncellendi: 04.06.2021
Son zamanlarda sorulan iki soruya açıklık getirmek için bir güncelleme hazırladık: basitçe anlatmak gerekirse, Psiphon nedir ve bir VPN hizmetinden nasıl farklıdır; ayrıca teknik tasarım belgesi en son güncellendiğinden beri neler değişti?
Psiphon 3, binlerce proxy sunucusundan oluşan, merkezi olarak yönetilen ve coğrafi olarak çeşitlilik gösteren bir ağdır. Altyapımızın büyük kısmı bulut sağlayıcılarında barındırılmaktadır. Psiphon 3, istemciler ve sunucular arasında güvenli bağlantı şifrelemesi içeren bir "tek atlamalı" mimaridir. En popüler platformlar için istemciler sunuyoruz: Windows, Android ve iOS (alfa aşamasında).
Psiphon açık kaynaklıdır. Hizmetimiz güçlü bir gizlilik politikası sunar; kullanıcı hesapları yoktur ve kullanıcı ağ adresleri günlüğe kaydedilmez.
Psiphon, standart VPN hizmetlerinden birkaç temel açıdan ayrılır:
- Ağın tamamını tek bir kullanıcıya ifşa etmeden her kullanıcıya erişebileceği bir avuç sunucu sağlamayı amaçlayarak, sunucu alt kümelerini kullanıcılara dağıtma stratejileri uyguluyoruz. Bu hedefe ulaşmak için, ağımızın boyutu -- ve özellikle ağ adreslerimizin çeşitliliği -- yalnızca trafik yükümüzün bir sonucu değildir.
- DPI engellemesini atlatmak için protokol gizleme kullanıyoruz.
Psiphon'un teknik tasarım belgesi güncelliğini yitirmiştir ve aşağıda, projenin 2011'de başlatılmasından bu yana uyguladığımız başlıca teknik değişikliklerin çok kısa bir özeti yer almaktadır.
- DPI parmak izi tespitini azaltmak için gizlenmiş SSH protokolünü ekledik. Tamamen rastgele görünen bu protokol, her Psiphon sunucusu için benzersiz bir gizleme anahtarıyla dağıtılır.
- HTTP trafiğinin DPI tabanlı beyaz listeye alınmasını engellemek için protokolümüze isteğe bağlı bir HTTP öneki ekledik. Bu basit önek, normal ifade tabanlı DPI'ın (nDPI ve l7-filter) Psiphon trafiğini HTTP olarak sınıflandırması için yeterlidir ve bunu dağıttığımız dönemde gerçek bir hasmı alt etmek için yeterli olmuştu.
- Gömülü ve keşif sunucusu kavramlarını güçlendirmek için uzaktan sunucu listeleri ekledik. Keşif yalnızca mevcut bir sunucuya bağlıyken gerçekleşirken, uzaktan sunucu listeleri tüm sunucular engellendiğinde bile indirilebilir. Uzaktan sunucu listeleri S3 üzerinden dağıtılır ve URL'de ayırt edici bir paket (bucket) adı olmadan https://s3.amazonaws.com üzerinden erişilir. Bu sayede, bir hasmın tüm S3'ü engellemeden veya HTTPS trafik analizi uygulamadan uzaktan sunucu listelerimizi engellemesi zorlaşır.
- E-posta artık önemli bir istemci yayma mekanizmasıdır. Kullanıcıların gönderdiği e-posta adresine bağlı olarak özel sponsor/kanal Psiphon istemcilerine ait bağlantıları ve ekleri döndüren bir otomatik yanıtlayıcımız var.
- 2012 yılında bir Android istemcisi yayınladık. İlk sürüm, Android'in WebView bileşenine dayalı gömülü bir tarayıcı içeriyordu. 2012/2013 yıllarında, tüm Android uygulamalarını Psiphon üzerinden tünelleyen tüm cihazı tünelleme desteğini ekledik. (Root yetkisi olan Android 2.2+ cihazlar için) bir iptables tüm cihaz modumuz; ve (tüm Android 4+ cihazlar için) tun2socks ile Android'in VpnService özelliğini kullanan bir tüm cihaz modumuz bulunmaktadır. Eklenen diğer özellikler arasında çıkış bölgesi seçimi ve proxy zincirleme yer almaktadır.
- Şu anda alfa testinde olan bir iOS istemcimiz var. Bu uygulama gömülü bir tarayıcıya sahiptir.
- Uygulama içi geri bildirim mekanizmamız, kullanıcılardan bize iletiler ve isteğe bağlı tanılama bilgileri gönderir. Bu sistem, birçok platform sorununu ve engelleme sorununu gidermemize yardımcı oldu.
- Keşif algoritmalarındaki değişiklikler: Keşif algoritmalarımız, ağımızı optimize etmeye yönelik devam eden sürecin bir parçası olarak gelişmektedir. Başlıca değişiklikler arasında keşif sunucularının yayılma kanalları arasında paylaşılması ve günün saatinin bir boyut olarak eklenmesi yer alır.
- Bağlantı algoritmalarındaki optimizasyonlar: İstemcilerimiz artık bağlanırken aynı anda birçok sunucuya bağlantı başlatır ve "en iyi" bağlantıyı korur. Bu, engellenen bağımsız sunucuların bağlantı sürecini duraklatmaması sayesinde kullanıcı bekleme süresini azaltmanın yanı sıra yük dengelemeye de yardımcı olur.
- İstemci otomatik yükseltmesi, artımlı indirme ve bant dışı indirme sitelerini (dijital imzalarla kimliği doğrulanmış) kullanacak şekilde geliştirildi. Bu değişiklikler, engelleme dönemlerinde yeni bir istemcinin dağıtılabilme olasılığını artırdı.