SS orijinaldir, SSR ise orijinalden türetilen üçüncü parti bir versiyondur, orijinal protokolle uyumlu ve orijinalden daha fazla kamuflaj fonksiyonuna (protokol ve karışıklık) sahiptir.
İnternette SSR hakkında da çok fazla tartışma var, hem lehine hem karşı taraflı, ama sıradan kullanıcılar için. İster SS ister SSR olsun, şu anda duvarı normalde aşmanıza yardımcı olabilir.
Hangi istemci sürümü indireceğiniz, satın aldığınız SS hesabının sunucusuna SS mi yoksa SSR mi kurulu olduğuna bağlı. En orijinal SS fonksiyonu hangi istemci indirilirse indirilsin, kullanılabilir, ancak SSR'nin fonksiyonlarını (protokol ve karışıklık) kullanmak istiyorsanız, SSR istemcisini indirmelisiniz.
Ama endişelenmeyin, sağladığımız tüm düğümler SS ve SSR uyumluluğunu destekliyor. SSR kullanımı önerilir. Uyum içini önlemek için daha hızlı! Bir süre önce Shadowsocks hakkında çok fazla konuşma vardı ve son zamanlarda çok sayıda acemi "Shadowsocks Enhanced" (ShadowsocksR) olarak adlandırılan sisteme ilgi duyduğu açıkça ortaya çıktı. C++/Qt'de Shadowsocks uygulayan amatör bir geliştirici olarak, bu iki kızarmış tavuk hakkında kısaca görüşümü ifade etmek istiyorum.
ShadowsocksR
Geliştiricinin geçmişi ya da ekibi olup olmadığını bilmiyorum ama bildiğim kadarıyla, yazarının Shadowsocks C# istemcisini ikincil geliştirme için kapatıp GPL ihlali olarak kapattığı. Burada başka faktörlerden bahsetmeyeceğiz, gerçek şu ki GPL siyah-beyaz çok açık, ihlal etmek ihlal etmek. Ancak yazar kod tabanını açık kaynak olarak kullandı, bu da bir olayın sonu olarak kabul edilebilir ve daha fazla takip edilmesine gerek yok.
Clowwindy, Shadowsocks kod deposunu boşalttıktan sonra her şey değişti. Aşağıda sadece bir bilgi listesi bulunmaktadır:
ShadowsocksR yazarı, shadowsocks'la ilgisi olmayan ve artık ShadowsocksR'ı güncellemeyecek yeni bir proxy aracı yazmak için sıfırdan başlamak istediğini söylemiştir İki ya da üç gün sonra ShadowSocks'un silinmesi emredildi ve orijinal Shadowsocks projesi neredeyse tamamen ortadan kalktı ShadowsocksR'nin yazarı, orijinal shadowsocks protokolünün hatalı olduğunu (bir sonraki bölümde tartışılacak) ve tekrar odak noktasına döndüğünü söyledi ShadowsocksR yazarı, bir Google+ Grubu kurdu ve ShadowsocksR ile ilgili kodu güncelledi Shadowsocks güvenliği
Şimdi, ShadowsocksR yazarının Shadowsocks protokolündeki kusurun IV uzunluğunun çoğu durumda 16 bayt olduğu iddiasının açıklamasıyla başlayalım. İkinci yarısı doğru, birçok şifreleme algoritması 16 bayt uzunluğunda IV kullanıyor (özellikle popüler AES ve RC4-MD5), ne olmuş? Bu, aşağıdaki nedenlerle sözde "kusurlar" getirmez:
Her TCP bağlantısının el sıkışma aşamasındaki IV'si rastgele oluşturulur, şifreden hesaplanmaz, bu yüzden IV öngörülemez. Anahtar olmadan, IV'in bu kısmı ele geçirilse bile, şifreli metin çözülemez. Ve her yeni TCP bağlantısı rastgele oluşturulan bir IV kullanır; yani farklı TCP bağlantılarından alınan verilerin çok az ortak noktası vardır. Şifreli metnin şifresini çözmek için hem doğru IV hem de şifre gereklidir ve herhangi bir bağlantının şifreyle ilgili hiçbir özelliği yoktur. Çoğu IV 16 bayt uzunluğundadır, bu da 256'nın 16 kuvvetine karşı olası bir kombinasyonudur ve tüm IV'ler aynıyken kaba kuvvet kırılması imkansızdır, ikinci bir nokta eklemek ise bir daha fazla değildir. ShadowsocksR'nin yaklaşımına göre, ilk bağlantıdan önce kamulaştırma başlığını eklemek faydasızdır, kendi özellikleri açıktır ve sonraki IV veya sabit uzunluğun özünü hiç değiştirmez. Dördüncü bayt rastgele doldurulmuş verinin uzunluğunu söylediği için, sözde "probing" işlemi yaparken önceki yığını atlarsanız IV'yi yine de kesebilirsiniz. Ve birkaç puan önce de söylediğim gibi, bu rastgele IV alırsanız işe yaramaz. Eğer tespit için kullanılıyorsa, logonun sabit ilk versiyonu kimlik için gönderilen çıplak özelliktir. ShadowsocksR yazarı şu anda sunucunun shadowsocks çalıştırıp çalıştırmadığını tespit etmek için kullanılabilen aktif bir tespit betiği sunuyor ve mevcut çevrimiçi test raporlarına göre başarı oranı düşük değil (ama %100 değil). Bu bağlamda, Clowwindy orijinal sürümde otomatik bir banlanma çözümü sunmuş ve bu kötü amaçlı IP'leri otomatik olarak engellemiştir. libQtShadowsocks'a yeni bir yama ekledim ve bu yama, bu yöntemin tespitini engelliyor; bu yöntem rastgele olasılık doğrultusunda rastgele uzunlukta dizileri döndürüyor. Ancak bu, Shadowsocks protokolünün mükemmel olduğu anlamına gelmez, ShadowsocksR'ın "çözümü"nün odak noktası eğri olduğu anlamına gelir. Benim kişisel fikrim, güvenliği artırmak için açık anahtarlar ve özel anahtarlar kullanmak, ancak acemiler için çok dostane olmasa da, güvenlik geliştirilecek, özellikler azalacak (el sıkışma aşamasında IV göndermeye gerek yok) ve shadowsocks protokolü CCA güvenliği yönünde gelişmeli.
Güncellendi: 05-Eylül 2015
Başlık hatası (çözülemez) bulunduğunda, yanlış IV ve IP başarısız IV ve IP listesine eklenir; eğer IV başarısız IV listesinde zaten varsa veya IP başarısız IP listesinde zaten mevcutsa, bağlantı talebini gönderen IP kara listeye eklenir ve kara listedeki IP bağlantıyı doğrudan reddeder. Anti-algılama ile ilgili en güncel bilgiler için lütfen bu sayıya bakınız; bu makale anti-tespit için karşı önlemleri güncellemeyecektir.
Güncellendi: 06-Eylül 2015
Bu makale size Shadowsocks'un güvenliği konusunda çok endişelenmemenizi söylemek istiyor, mevcut protokol henüz büyük güvenlik açıklıkları yaşamadı ve ana portların sunucuları da potansiyel tehditleri düzeltmek için güncelleniyor. Ayrıca ShadowsocksR yazarıyla iyi iletişim kurdum ve beyaz listenin gelmesi biraz zaman alacak.
Güncellendi 24-Eylül 2015
Bu makalede bahsedilen Shadowsocks güvenliği daha çok sunucunun güvenliğine atıfta bulunur ve mevcut protokol, sunucuyu brute force algılamaya maruz bırakıp ardından güvenlik duvarları tarafından engellenme riski taşıyor (ancak tespit maliyeti çok yüksektir). İletilen içeriğin güvenliği endişelenmez; bunların hepsi endüstriyel düzeyde yüksek güçlü şifreleme algoritmalarıdır (RC4 ve TABLE hariç) ve iletilen içeriği kırmak neredeyse imkansızdır.
Güncellendi: 18-Kasım 2015
Shadowsocks, CCA'ya karşı güvenliğini tek bir doğrulama ekledi ve büyük portlar zaten desteklerini tamamladı. Shadowsocks'un amacının %100 hatasız veya %100 krotik geçirmez olmak değil, bağlantının hafif ve hızlı olmasını sağlamak ve ana akım saldırı yöntemlerini uygulamayı çok pahalı hale getirmek olduğunu tekrar vurgulamak önemlidir.
|