"Anonim" ile ne demek istiyoruz?
Anonimlik düzeyiniz, "birinin bilmesini istemediğiniz bilgileri öğrenmesi ne kadar zor" olduğu şeklinde tanımlanabilir. Kim olduğunuz, nerede bulunduğunuz, kiminle iletişim kurduğunuz ve ne zaman iletişim kurduğunuz gibi. "Mükemmel" anonimlik burada kullanışlı bir kavram değildir. Yazılımlar sizi bilgisayar kullanmayan veya İnternet üzerinde olmayan insanlara dönüştürmez. Bunun yerine, yalnızca sitelere göz atanlardan, veri alışverişinde bulunanlara, güçlü kuruluşlar veya devletler tarafından keşfedilmekten korkanlara kadar, olabilecek herkesin gerçek gereksinimlerini karşılamak için yeterli anonimlik sağlamaya çalışıyoruz.
I2P tarafından özel gereksinimleriniz için yeterli anonimliğin sağlanıp sağlanamadığı sorusu zor bir sorudur. Ancak bu sayfa, gereksinimlerinizi karşılayıp karşılamadığına karar verebilmeniz için I2P uygulamasının çeşitli saldırılar altında nasıl çalıştığını keşfederek bu soruyu yanıtlanmanıza yardımcı olacaktır.
I2P ağının aşağıda açıklanan tehditlere karşı direnci hakkında daha fazla araştırma ve inceleme yapılmasını memnuniyetle karşılarız. Var olan literatürün daha fazla gözden geçirilmesine (çoğu Tor ağına odaklanmıştır) ve I2P ağına odaklanan özgün çalışmalara gerek var.
Ağ Topolojisi Özeti
I2P, birçok diğer sistemin fikrini temel alır. Ancak ilgili literatürü gözden geçirirken birkaç önemli nokta akılda tutulmalıdır:
- I2P özgür bir yöneltme karma ağıdır. İletiyi oluşturan kişi, iletilerin gönderileceği yolu (gidiş tüneli) açık olarak tanımlar ve ileti alıcısı, iletilerin alınacağı yolu (geliş tüneli) açık olarak tanımlar.
- I2P ağında resmi giriş ve çıkış noktaları yoktur. Tüm eşler karışıma tam olarak katılır ve ağ katmanında giriş ya da çıkış vekil sunucuları yoktur (ancak uygulama katmanında birkaç vekil sunucu bulunur)
- I2P tamamen dağıtılmıştır. Merkezi denetim veya bir otorite yoktur. Bazı yönelticiler, ağın geri kalanıyla uyumluluğu bozmadan, karma basamakları (tünelleri oluşturmak ve tünel uç noktasında iletmeyi denetlemek için gerekli anahtarları vermek) veya dizin tabanlı profil oluşturmak ve seçmek için değiştirilebilir. Ancak elbette bunu yapmak şart değildir (ve hatta kişinin anonimliğine zarar verebilir).
Varlığı yalnızca ileti alan belirli bir sıçrama veya tünel ağ geçidi tarafından bilinen ve çoğunlukla düşük gecikme süreli bir karma ağın daha yüksek gecikme süreli iletişim için kapsama trafiği sağlamasına olanak tanıyan önemsiz gecikmeler ve toplu işleme stratejilerini uygulamaya yönelik planları belgeledik (e-posta gibi). Ancak, anlamlı bir koruma sağlamak için önemli gecikmelerin gerekli olduğunun ve bu tür gecikmelerin uygulanmasının önemli bir zorluk olacağının farkındayız. Bu gecikme özelliklerini gerçekten uygulayıp uygulayamayacağımız şu anda net değil.
Teoride, ileti yolu boyunca yönelticiler, iletiyi bir sonraki eşe iletmeden önce, var olan uygulama bunu yapmasa da, rastgele sayıda sıçrama eklenebilir.
Tehdit Modeli
I2P tasarımı, 2003 yılında, şunların ortaya çıkmasından kısa bir süre sonra başladı. [Onion Routing], [Freenet] ve [Tor]. Tasarımımız, o dönemde yayınlanan araştırmalardan önemli ölçüde yararlanıyor. I2P, birkaç onion yöneltme tekniği kullanır. Bu nedenle Tor ağına yönelmiş olan önemli akademik ilgiden yararlanmayı sürdürüyoruz.
Anonimlik literatüründe (büyük ölçüde Trafik Analizi: İletişim kuralları, saldırılar, tasarım sorunları ve açık sorunlar) ortaya konulan saldırılardan ve analizlerden yola çıkarak, tanımlanmış çeşitli saldırılar ve I2P savunmaları aşağıda kısaca açıklanmıştır. Yeni saldırılar tanımlandıkça bu listeyi güncelliyoruz.
I2P ağına özgü olabilecek bazı saldırılar da vardır. Bu saldırıların tümüne bir yanıtımız yok. Ancak araştırmayı ve savunmamızı geliştirmeyi sürdürüyoruz.
Ayrıca, var olan ağın mütevazı boyutu nedeniyle bu saldırıların çoğu olması gerekenden çok daha kolay yapılabiliyor. Ele alınması gereken bazı sınırlamaların farkında olsak da, I2P yüz binlerce veya milyonlarca katılımcıyı desteklemek için tasarlanmıştır. İnsanları bilgilendirmeyi ve ağı büyütmeyi sürdürdükçe, bu saldırıları yapmak çok daha zor hale gelecek.
Ağ karşılaştırmaları ve "garlic" terminolojisi sayfalarını gözden geçirmenin yardımı olabilir.
Kaba kuvvet saldırıları
Tüm düğümler arasında aktarılan tüm iletileri izleyerek ve hangi iletinin hangi yolu izlediğini ilişkilendirmeye çalışarak, küresel bir pasif veya aktif saldırgan tarafından bir kaba kuvvet saldırısı yapılabilir. Ağdaki tüm eşler sık sık ileti gönderdiğinden (hem uçtan uca hem de ağ bakım iletileri), ayrıca bir uçtan uca iletinin yolu boyunca boyutu ve verileri değiştiğinden, bu saldırıyı I2P ağına yüklemek önemsiz olmalıdır. Ek olarak, yönelticiler arası iletişim hem şifrelemiş hem de akışkan olduğundan (iki tane 1024 baytlık ileti bir tane 2048 baytlık iletiden ayırt edilemez kılındığından), dış saldırganın iletilere de erişimi yoktur.
Bununla birlikte, güçlü bir saldırgan eğilimleri belirlemek için kaba kuvvet kullanabilir. Bir I2P hedefine 5 GB veri gönderebilir ve herkesin ağ bağlantısını izleyebilirse, 5 GB veri almayan tüm eşleri ortadan kaldırabilir. Bu saldırıyı yenmek için teknikler vardır ancak maliyeti aşırı derecede yüksek olabilir (Tarzan taklitleri veya sabit oranlı trafik gibi). Çoğu kullanıcı bu saldırıyla ilgilenmez, çünkü onu yapmanın maliyeti aşırı yüksektir (ve genellikle yasa dışı bir faaliyet gerektirir). Ancak, örneğin büyük bir internet hizmeti sağlayıcısındaki veya bir internet alıp verme noktasındaki bir gözlemci hala bu saldırıyı yapabilir. Buna karşı savunma yapmak isteyenler, düşük bant genişliği sınırları belirlemek ve I2P siteleri için yayınlanmamış veya "Şifrelenmiş kiralama kümeleri" (EncryptedLeaseSets) kullanmak gibi uygun karşı önlemleri almak isteyeceklerdir. Önemsiz gecikmeler ve kısıtlanmış rotalar gibi diğer karşı önlemler şu anda uygulanmamaktadır.
Tüm ağ trafiğini yöneltmeye çalışan tek bir yönelticiye veya yöneltici grubuna karşı kısmi bir savunma olarak, yönelticiler, tek bir eş üzerinden kaç tünelin yöneltilebileceği ile ilgili sınırlamalar içerir. Ağ büyüdükçe, bu sınırlamalar üzerinde yeni ayarlamalar yapılabilir. Eş değerlendirmesi, seçme ve kaçınma ile ilgili diğer mekanizmalar, eş seçimi sayfasında tartışılmaktadır.
Zamanlama saldırıları
I2P iletileri tek yönlüdür ve mutlaka bir yanıt gönderileceği anlamına gelmez. Bununla birlikte, I2P ağı üzerindeki uygulamaların büyük olasılıkla iletilerinin sıklığına bakılarak tanınabilir kalıpları olacaktır. Örneğin, bir HTTP isteği, HTTP yanıtını içeren büyük bir yanıt iletisi dizisine sahip küçük bir ileti olacaktır. Bir saldırgan, bu verileri ve ağ topolojisinin geniş bir görünümünü kullanarak, iletiyi aktarmak için çok yavaş olan bazı bağlantıları diskalifiye edebilir.
Bu tür bir saldırı güçlüdür. Ancak I2P üzerinde uygulanabilirliği net değildir. Sıraya alma, ileti işleme ve kısıtlama nedeniyle ileti gecikmelerindeki çeşitlilik genellikle bir iletinin tek bir bağlantı üzerinden geçirilme süresini karşılar veya aşar Hatta saldırgan, ileti alınır alınmaz bir yanıt gönderileceğini bilir. Yine de otomatik yanıtları ortaya çıkaracak bazı senaryolar vardır. Streaming kitaplığı (SYN+ACK ile), garantili teslimat ileti kipini ("Veri iletisi" + "Aktarım durumu iletisi" DataMessage+DeliveryStatusMessage ile) sağlar.
İletişim kuralı temizleme veya daha yüksek gecikme olmadan, küresel aktif saldırganlar önemli bilgiler elde edebilir. Bu nedenle, bu saldırılarla ilgilenen kişiler gecikmeyi artırabilir (önemsiz gecikmeler ya da gruplama stratejileri kullanarak), iletişim kuralı temizlemeyi veya diğer gelişmiş tünel yöneltme tekniklerini içerebilir. Ancak bunlar I2P ağında uygulanmaz.
Referanslar: Anonim Sistemlere Karşı Düşük Kaynaklı Yöneltme Saldırıları
Ara kesit saldırıları
Düşük gecikmeli sistemlere yönelik kesişme saldırıları son derece güçlüdür. Hedefle periyodik olarak iletişim kurulur ve ağda hangi eşlerin olduğu izlenir. Zamanla, düğüm kayması gerçekleştikçe, saldırgan, bir ileti başarıyla geçtiğinde çevrimiçi olan eş kümelerini basitçe keserek hedef hakkında önemli bilgiler elde eder. Ağ büyüdükçe bu saldırının maliyeti önemli olmaya başlar. Ancak bazı senaryolarda gene de yapılabilir.
Özetle, bir saldırgan aynı anda tünelinizin her iki ucunday bulunuyorsa başarılı olabilir. I2P uygulaması, düşük gecikmeli iletişim ile buna karşı tam bir savunma sağlamaz. Bu durum, düşük gecikmeli onion yöneltmenin doğal bir zayıflığıdır. Tor, benzer bir sorumluluk reddi beyanı verir.
I2P üzerinde uygulanan kısmi savunmalar:
- eşlerin katı sıralanması
- yavaşça değişen küçük bir gruptan eş profilinin belirlenmesi ve seçimi
- Tek bir eş üzerinden yöneltilen tünel sayısının sınırlandırılması
- Aynı /16 IP aralığındaki eşlerin tek bir tünelin üyesi olmasının önlenmesi
- I2P siteleri veya diğer barındırılan hizmetler için, birden çok yönelticide eşzamanlı barındırmayı veya birden çok barındırmayı destekliyoruz.
Toplamda bile, bu savunmalar tam bir çözüm değildir. Ayrıca, güvenlik açığımızı önemli ölçüde artırabilecek bazı tasarım seçimleri yaptık:
- Düşük bant genişliği olan "koruyucu düğümler" kullanmıyoruz
- Birkaç tünelden oluşan tünel havuzları kullanıyoruz ve trafik tünelden tünele kayabiliyor.
- Tüneller uzun ömürlü değildir; Her 10 dakikada bir yeni tüneller inşa edilir.
- Tünel uzunlukları yapılandırılabilir. Tam koruma için 3 sıçramalı tüneller önerilirken, birçok uygulama ve hizmet varsayılan olarak 2 sıçramalı tünelleri kullanır.
Gelecekte, önemli gecikmeleri karşılayabilen eşler için olabilir (önemsiz gecikmeler ve toplu işlem stratejileri). Ek olarak, bu yalnızca diğer insanların bildiği hedefler için geçerlidir. Hedefi yalnızca güvenilir eşler tarafından bilinen özel bir grubun endişelenmesi gerekmez, çünkü bir saldırgan saldırıyı başlatmak için onlara "ping" gönderemez.
Referans: Bir hücre yeterlidir
Hizmet reddi saldırıları
I2P ağına karşı her birinin farklı maliyet ve sonuçları olan bir dizi hizmet reddi saldırısı yapılabilir:
Açgözlü kullanıcı saldırısı: Basit olarak, katkıda bulunmak istediklerinden çok daha fazla kaynak tüketmeye çalışan kişiler yapar. Buna karşı şu savunma yapılır:
- Varsayılanları, çoğu kullanıcının ağa kaynak sağlayacağı şekilde ayarlayın. I2P ağında varsayılan olarak trafiği kullanıcılar yöneltir. Diğer ağlardan keskin bir farkla, I2P kullanıcıları %95 oranında başkalarının trafiğini aktarır.
- Kullanıcıların ağa katkılarını (paylaşım yüzdesini) artırabilmeleri için kolay yapılandırma seçenekleri sağlayın. Kullanıcıların neye katkıda bulunduklarını görebilmeleri için "paylaşma oranı" gibi anlaşılması kolay ölçümleri görüntüleyin.
- Bloglar, forumlar, IRC ve diğer iletişim araçlarıyla güçlü bir topluluk oluşturun.
Açlık saldırısı: Kötü niyetli bir kullanıcı, ağda aynı varlığın denetimi altında olarak tanımlanmayan (Sybil için olduğu gibi) önemli sayıda eş oluşturarak ağa zarar vermeye çalışabilir. Bu düğümler daha sonra ağa herhangi bir kaynak sağlamamaya karar vererek var olan eşlerin daha büyük bir ağ veri tabanında arama yapmasına veya gerekenden daha fazla tünel isteğinde bulunmasına neden olur. Alternatif olarak, düğümler, seçilen trafiği düzenli olarak bırakarak ya da belirli eşlere bağlantıları reddederek kesintili hizmet sağlayabilir. Bu davranış, çok yüklü veya başarısız bir düğümün davranışından ayırt edilemeyebilir. I2P, eşler üzerinde profiller sağlayarak, düşük başarımlı eşleri belirlemeye çalışarak ve onları görmezden gelerek ya da nadiren kullanarak bu sorunları aşar. Sorunlu eşleri tanıma ve bunlardan kaçınma yeteneğini önemli ölçüde geliştirdik. Ancak bu alanda hala önemli çabalar harcanması gerekiyor.
Taşma saldırısı: Kötü niyetli bir kullanıcı ağa, bir eşe, bir hedefe ya da bir tünele taşma saldırısı girişiminde bulunabilir. Ağa ve eşlere taşma saldırısı yapılabilir ve I2P, standart IP katmanı taşmasını önlemek için herhangi bir şey yapmaz. Hedefin çeşitli geliş tüneli ağ geçitlerine çok sayıda ileti göndermesi ile bir hedefte taşma sağlanabilir. Ancak hedef bu durumu hem iletinin içeriğinden hem de tünel sınamalarının başarısız olmasından biliyor olacaktır. Aynı şey yalnızca tek bir tünelin taşması için de geçerlidir. I2P üzerinde ağ taşma saldırısına karşı bir savunma yoktur. Bir hedef ve tünel taşma saldırısı için hedef, hangi tünellerin yanıt vermediğini belirler ve yeni tüneller oluşturur. İstemci daha büyük bir yükün üstesinden gelmek isterse, daha fazla tünel eklemek için yeni bir kod yazılabilir. Öte yandan, yük istemcinin başa çıkabileceğinden fazlaysa, tünellere iletmeleri gereken ileti veya bayt sayısını azaltma komutu verebilirler (gelişmiş tünel işlemi uygulandıktan sonra).
İşlemci yükü saldırısı: Şu anda, insanların bir eşten uzaktan kriptografik olarak pahalı bir işlem gerçekleştirmesini isteyebileceği bazı yöntemler vardır ve bir saldırgan, işlemciyi aşırı yükleyerek bu eşe çok sayıda saldırı girişiminde bulunmak için bunları kullanabilir. Hem iyi mühendislik uygulamaları kullanmak hem de potansiyel olarak bu pahalı isteklere eklenecek önemsiz olmayan sertifikaları (HashCash gibi) zorunlu kılmak sorunu hafifletmelidir. Ancak hala bir saldırganın uygulamadaki çeşitli açıklardan yaralanabileceği yerler olabilir.
Taşma DOS saldırısı: Kötü niyetli bir kullanıcı, bir taşma yönelticisi olarak ağa zarar vermeye çalışabilir. Güvenilmez, kesintili ya da kötü niyetli otomatik doldurma yönelticilerine karşı var olan savunma zayıftır. Bir otomatik doldurma yönelticisi, aramalara kötü yanıt verebilir ya da hiç yanıt vermeyebilir ve ayrıca aradaki otomatik doldurma iletişimini engelleyebilir. Bazı savunmalar ve eş profili oluşturma uygulanıyor. Ancak daha yapılacak çok şey var. Ayrıntılı bilgi almak için ağ veri tabanı (netDB) sayfasına bakabilirsiniz.
Etiketleme saldırıları
Etiketleme saldırıları: I2P ağında, tünellerden geçen iletiler imzalandığından, ileti daha sonra yol boyunca daha fazla tanımlanabilmesi için değiştirilemez. Bununla birlikte, bir saldırgan geliş tünelinin ağ geçidiyse ve aynı zamanda o tünelde daha ilerideki bir katılımcı ise, gizli anlaşma ile aynı tünelde olduğunu belirleyebilir (ve benzersiz sıçrama kodu ve diğer güncellemeler eklenmeden önce, aynı tünel bu durumu hiçbir çaba harcamadan tanıyabilir). Bununla birlikte, tünel şifrelemesi, verileri geliş ve gidiş tünelleri için ayrı ayrı doldurup değiştirdiğinden, gidiş tünelindeki ve geliş tünelinin herhangi bir parçasındaki bir saldırgan işbirliği yapamaz. Bağlantılar şifrelenmiş ve iletiler imzalanmış olduğundan dış saldırganlar hiçbir şey yapamaz.
Bölümleme saldırıları
Bölümleme saldırıları - Bir ağdaki eşleri (teknik veya analitik olarak) bölmenin yollarını ararlar. Güçlü bir düşmanla uğraşırken ağın boyutunun anonimliğinizi belirlemede önemli bir rol oynadığını akılda tutmanız önemlidir. Bölümlenmiş ağlar oluşturmak için eşler arasında bağlantıları keserek teknik bölümleme, yerleşik I2P ağ veri tabanı tarafından işlenir. Burada ağı iyileştirmek için diğer bölümlere yönelik var olan bağlantılardan yararlanılmasını sağlamak amacıyla çeşitli eşler hakkında istatistikler tutulur. Ancak, saldırgan kontrolsüz eşlere olan tüm bağlantıları keserse, hedefi yalıtmış olur ve hiçbir ağ veri tabanı iyileştirmesi bunu düzeltemez. Bu noktada, yönelticinin yapmayı umabileceği tek şey, daha önce güvenilir olan önemli sayıda eşin kullanılamaz olduğunu fark etmek ve istemciyi bağlantısının geçici olarak kesildiği konusunda uyarmak olur (bu algılama kodu şu anda kullanılmıyor).
Yönelticilerin ve hedeflerin davranış biçimlerindeki farklılıkları arayarak ağı analitik olarak bölmek ve bunları buna göre gruplamak da çok güçlü bir saldırıdır. Örneğin, "Ağ veri tabanını" (netDB) hasat eden bir saldırgan, belirli bir hedefin "Kiralama kümelerinde" (LeaseSets) 5 gelen tünele sahipken diğerlerinin yalnızca 2 veya 3 tünele sahip olduğunu bilecek ve böylece saldırganın istemcileri seçilen tünel sayısına göre potansiyel olarak bölümlendirmesini sağlayacaktır. Tünel ağ geçitleri ve sıfır olmayan gecikmelere sahip belirli sıçramalar büyük olasılıkla öne çıkacağından, önemsiz gecikmeler ve yığın oluşturma stratejileri ile uğraşırken başka bir bölümleme yapılabilir. Bununla birlikte, bu veriler yalnızca belirli sıçramalara maruz kalır. Bu nedenle bu konuda etkili bir şekilde bölümleme yapmak için saldırganın ağın önemli bir bölümünü kontrol etmesi gerekir (ve yine de bu yalnızca olasılıklı bir bölümleme olacaktır, diğer tüneller veya iletiler bu gecikmelere sahip olduğundan hangisi olduğunu bilemezler).
Ayrıca "Ağ veri tabanı" (NetDB) sayfasında da tartışılmıştır (bootstrap saldırısı).
Önceleme saldırıları
Önceki saldırı, tünellerine katılarak ve (sırasıyla giden veya gelen tüneller için) önceki veya sonraki sıçramayı izleyerek hedefe 'yakın' olan eşleri görmek amacıyla pasif olarak istatistik topluyor. Zamanla, tamamen rastgele bir eşler örneği ve rastgele sıralama kullanarak, bir saldırgan hangi eşin istatistiksel olarak diğerlerinden daha "yakın" olduğunu görebilecek ve bu eş de hedefin bulunduğu yerde olacaktır.
I2P bunu dört şekilde önler: Birincisi, tünellere katılmak için seçilen eşler ağ boyunca rastgele örneklenmez. Bunlar, onları katmanlara ayıran eş seçimi algoritmasından türetilir. İkincisi, bir tünelde eşlerin katı sıralanmasıyla, bir eşin daha sık ortaya çıkması, kaynak oldukları anlamına gelmez. Üçüncüsü, izin verilen tünel uzunluğu (varsayılan olarak etkinleştirilmemiştir) ile 0 sıçramalı tüneller bile, ağ geçidinin ara sıra değişmesi normal tüneller gibi görüneceğinden makul bir inkar edilebilirlik sağlayabilir. Dördüncüsü, kısıtlanmış rotalar (uygulanmıyor) ile, yalnızca hedefle sınırlı bir bağlantısı olan eş hedefle iletişim kurarken, saldırganlar yalnızca bu ağ geçidine girer.
Geçerli tünel oluşturma yöntemi, önceki saldırıyla mücadele etmek için özel olarak tasarlanmıştır. Ayrıca kavşak saldırısı bölümüne bakabilirsiniz.
Referanslar: http://forensics.umass.edu/pubs/wright.tissec.2008.pdf 2004 yılından önceki saldırı belgesinin güncellemesi. http://forensics.umass.edu/pubs/wright-tissec.pdf.
Hasat saldırıları
"Hasat etmek", I2P çalıştıran kullanıcıların listesini derlemek anlamına gelir. Yasal saldırılar için ve yalnızca bir eş çalıştırarak, kiminle bağlantı kurduğunu görerek ve bulabildiği diğer eşlere olan referansları toplayarak diğer saldırılara yardımcı olacak veriler elde edilebilir.
I2P aslında, yalnızca bu bilgileri içeren dağıtılmış bir ağ veri tabanı olduğundan, bu saldırıya karşı etkili savunmalarla tasarlanmamıştır. Aşağıdaki faktörler, saldırıyı pratikte biraz daha zorlaştırır:
- Ağın büyümesi, ağı belirli bir oranda elde etmeyi zorlaştıracaktır.
- Otomatik doldurma yönelticileri, DOS koruması olarak sorgu sınırlarını uygular
- Bir yönelticinin bilgilerinin "Ağ veri tabanında" (NetDB) yayınlamasını engelleyen (aynı zamanda veri aktarımını da engelleyen) "Gizli kip" şu anda yaygın olarak kullanılmıyor ancak kullanılabilir.
Gelecekteki uygulamalarda, temel ve kapsamlı kısıtlanmış rotalarda, "gizli" eşler iletişim adreslerini ağ veri tabanında yayınlamadığından bu saldırı gücünün çoğunu kaybeder. Yalnızca erişilebilen tüneller kullanılır (herkese açık anahtarları gibi).
Gelecekte, yönelticiler, bir I2P düğümü olarak tanımlamanın riskli olacağı belirli bir ülkede olup olmadıklarını belirlemek için GeoIP verisini kullanabilir. Bu durumda, yöneltici otomatik olarak gizli kipi etkinleştirebilir veya diğer kısıtlı rota yöntemlerini yürürlüğe koyabilir.
Trafik İncelemesi ile Kimlik Belirleme
Kötü niyetli bir internet hizmeti sağlayıcı veya devlet düzeyinde güvenlik duvarı, bir yönelticiye giren ve çıkan trafiği inceleyerek bir bilgisayarın I2P çalıştırdığını belirleyebilir. Yukarıda tartışıldığı gibi, I2P, bir bilgisayarın I2P çalıştırdığını gizlemek için özel olarak tasarlanmamıştır. Ancak, taşıyıcı katmanı ve iletişim kurallarının tasarımında alınan çeşitli kararlar, I2P trafiğini tanımlamayı biraz zorlaştırmaktadır:
- Rastgele bağlantı noktası seçimi
- Tüm trafiği uçtan uca şifrelemek
- İletişim kuralı baytı veya diğer şifrelenmemiş sabit alanlar olmadan Diffie-Hellman anahtar alış verişi
- Hem TCP hem de UDP taşıyıcılarının eşzamanlı kullanımı. UDP taşıyıcısının bazı "Derin paket denetimi" (DPI) ekipmanları tarafından izlenmesi çok daha zor olabilir.
Yakın gelecekte, muhtemelen aşağıdakilerle birlikte I2P taşıyıcı iletişim kurallarını daha da karmaşık hale getirerek trafik analizi sorunlarını doğrudan ele almayı planlıyoruz:
- Özellikle bağlantı kuruluşunda el sıkışma sırasında, taşıyıcı katmanında rastgele uzunluklarda dolgu ekleme
- Paket boyutu dağıtım imzalarının incelenmesi ve gerektiğinde ek dolgu ekleme
- SSL veya diğer yaygın iletişim kurallarını taklit eden ek taşıyıcı yöntemlerinin geliştirilmesi
- Taşıyıcı katmanındaki paket boyutlarını nasıl etkilediklerini görmek için daha yüksek katmanlardaki dolgu ekleme stratejilerinin gözden geçirilmesi
- Tor ağına erişimi engellemek için çeşitli devlet düzeyinde güvenlik duvarları tarafından uygulanan yöntemlerin gözden geçirilmesi
- Doğrudan "Derin paket denetimi" (DPI) ve şaşırtma uzmanlarıyla çalışmalar
Referans: İletişim kuralı gizlemeyi kırmak ve iyileştirme
Sybil saldırıları
Sybil, saldırganın keyfi olarak çok sayıda gizli düğüm oluşturduğu ve artan sayıları diğer saldırıların yapılmasına yardımcı olmak için kullandığı bir saldırı kategorisini tanımlar. Örneğin, bir saldırgan, eşlerin rastgele seçildiği bir ağdaysa ve bu eşlerden biri olma 80&37; şansı istiyorsa, ağdaki düğüm sayısının beş katını oluşturur ve zarları atar. Kimlik özgür olduğunda, Sybil güçlü bir düşman için çok etkili bir teknik olabilir. Bunu ele almanın birincil tekniği basitçe kimliği 'özgür olmayan' hale getirmektir - Tarzan (diğerlerinin yanı sıra) IP adreslerinin sınırlı olduğu gerçeğini kullanırken, IIP yeni bir kimlik oluşturmak için 'ücret' almak amacıyla HashCash kullanır. Şu anda Sybil konusunu ele almak için herhangi bir özel teknik uygulamadık. Ancak yönelticinin ve hedefin veri yapılarına, gerektiğinde uygun değerde bir HashCash sertifikası (veya kıtlığı kanıtlayan başka bir sertifika) içerebilen yer belirtici sertifikaları katıyoruz.
HashCash sertifikalarının çeşitli yerlerde istenmesinin iki büyük sorunu vardır:
- Geriye dönük uyumluluğu korumak
- Klasik HashCash sorunu. Mobil aygıtlar gibi düşük kaliteli makinelerde hala uygulanabilirken, yüksek kaliteli makinelerde çalışmanın anlamlı kanıtları olan HashCash değerlerinin seçilmesi.
Belirli bir IP aralığındaki yöneltici sayısındaki çeşitli sınırlamalar, güvenlik açığını, makineleri birkaç IP bloğuna yerleştirme yeteneğine sahip olmayan saldırganlara karşı kısıtlar. Ancak bu, güçlü bir rakibe karşı anlamlı bir savunma sağlamaz.
Daha fazla Sybil tartışması için "Ağ veri tabanı" (NetDB) sayfasına bakabilirsiniz.
Arkadaş tüketme saldırıları
(Referans: In Search of an Anonymous and Secure Lookup 5.2. bölüm)
Bir yöneltici, ortak bir eş dışında tünel oluşturma isteklerini kabul etmeyi veya iletmeyi reddederek, bir tünelin tamamen kendi ortak yönelticileri kümesinden oluşturulmasını sağlayabilir. Bir Sybil saldırısındaki gibi çok sayıda gizli yöneltici varsa, başarı şansı artar. Bu, eşlerin başarımını izlemek için kullanılan eş profili oluşturma yöntemlerimiz tarafından biraz azaltılır. Ancak makalede belirtildiği gibi yöneltici sayısı f = 0,2 civarında veya 20% kötü niyetli düğümler varsa bu güçlü bir saldırı olur. Kötü amaçlı yönlendiriciler, hedef tarafından yönetilen profilleri manipüle etmek ve çekici görünmek amacıyla, hedef yönelticiyle olan bağlantıları da koruyabilir ve bu bağlantılar üzerinden trafik için mükemmel iletme bant genişliği sağlayabilir. Daha fazla araştırma ve savunma gerekli olabilir.
Şifreleme saldırıları
Uzun anahtarlarla güçlü şifreleme kullanıyoruz ve düşük düzeyli şifreleme sayfasında belirtildiği gibi I2P ağında kullanılan endüstri standardı şifreleme öncüllerinin güvenli olduğunu varsayıyoruz. Güvenlik özellikleri, yol boyunca değiştirilmiş iletilerin anında algılanmasını, size gönderilmeyen iletilerin şifresinin çözülmemesini ve ortadaki adam saldırılarına karşı savunmayı kapsar. 2003 yılında seçilen anahtar boyutları o zamanlar oldukça tutucuydu ve hala diğer anonimlik ağlarında kullanılanlardan daha uzun. Geçerli anahtar uzunluklarının, özellikle geleneksel, devlet düzeyinde olmayan saldırganlar için en büyük zayıflığımız olduğunu düşünmüyoruz. Hatalar ve ağın küçük boyutu çok daha endişe vericidir. Tabii ki, tüm şifreleme algoritmaları, daha hızlı işlemcilerin ortaya çıkması, şifreleme araştırmaları ve gökkuşağı tabloları, video oyun donanımı kümeleri gibi yöntemlerdeki gelişmeler nedeniyle sonunda eskiyor. Ne yazık ki, I2P, geriye dönük uyumluluğu korurken anahtarları uzatmak veya paylaşılan gizli değerleri değiştirmeyi sağlayacak kolay mekanizmalarla tasarlanmamıştır.
Eninde sonunda daha uzun anahtarları desteklemek için çeşitli veri yapılarını ve iletişim kurallarını yükseltmenin ele alınması gerekecek ve bu, tıpkı diğerleri için olduğu gibi önemli bir girişim olacaktır. Umuyoruz ki dikkatli bir planlamayla kesintiyi en aza indirebilir ve gelecekteki geçişleri kolaylaştıracak mekanizmalar uygulayabiliriz.
Gelecekte, birkaç I2P iletişim kuralı ve veri yapısı, iletilerin rastgele boyutlara güvenli bir şekilde dolgu eklenmesini destekler. Bu nedenle iletiler sabit boyutta yapılabilir veya Garlic iletileri rastgele değiştirilebilir. Böylece bazı dişler gerçekte olduğundan daha fazla alt diş içeriyor gibi görünebilir. Ancak şu anda Garlic, tünel ve uçtan uca iletiler basit rastgele dolgu eklemeyi içeriyor.
Otomatik doldurma anonimlik saldırıları
Yukarıda açıklanan otomatik doldurma DOS saldırılarına ek olarak, otomatik doldurma yönelticileri "Ağ veri tabanı" (NetDB) rolleri ve bu katılımcılarla yüksek iletişim sıklığı nedeniyle ağ katılımcıları hakkında bilgi edinmek için benzersiz bir şekilde konumlandırılmıştır. Otomatik doldurma yönelticileri toplam anahtar alanının yalnızca bir bölümünü yönettiği ve "Ağ veri tabanı" (NetDB) sayfasında açıklandığı gibi anahtar alanı günlük olarak değiştiği için bu biraz azaltılmıştır. Yönelticilerin otomatik doldurucularla iletişim kurmasını sağlayan özel mekanizmalar dikkatle tasarlanmıştır. Ancak, bu tehditler üzerinde daha fazla çalışılmalıdır. Belirli potansiyel tehditler ve karşı gelen savunmalar, gelecekteki araştırmaların konusudur.
Diğer ağ veri tabanı saldırıları
Kötü niyetli bir kullanıcı, bir ya da birkaç otomatik doldurma yönelticisi oluşturarak ve bunları kötü, yavaş veya hiç yanıt vermeyecek şekilde hazırlayarak ağa zarar vermeye çalışabilir. Bazı senaryolar "Ağ veri tabanı" (NetDB) sayfasında tartışılmıştır.
Merkezi Kaynak Saldırıları
Saldırıya uğrayabilecek veya saldırılar için bir vektör olarak kullanılabilecek birkaç merkezi veya sınırlı kaynak (bazıları I2P içinde olan, bazıları olmayan) vardır. Kasım 2007 tarihinden itibaren jrandom ortadan kaybolduğundan ve ardından Ocak 2008 tarihinde i2p.net barındırma hizmeti kaybedildiğinden, I2P ağının geliştirilmesi ve işletilmesinde çoğu şimdi dağıtılmış olan çok sayıda merkezi kaynak vurgulanmış oldu. Dışarıdan erişilebilen kaynaklara yapılan saldırılar, ağın işleyişini değil, esas olarak yeni kullanıcıların bizi bulma yeteneğini etkiler.
- Sitenin yansısı oluşturuldu ve herkese açık dış erişim için DNS round-robin kullanıyor.
- Yönelticiler artık birden fazla dış yeniden tohumlama konumunu destekliyor. Bununla birlikte daha fazla yeniden tohumlama sunucusuna gerek duyulabilir ve güvenilmez veya kötü amaçlı yeniden tohumlama sunucularının ele alınmasının iyileştirilmesi gerekebilir.
- Yönelticiler artık birden çok güncelleme dosyası konumunu destekliyor. Kötü niyetli bir güncelleme sunucusu büyük bir dosya gönderebilir, boyutun sınırlaması gerekir.
- Yönelticiler artık birden çok varsayılan güvenilir güncelleme imzalayıcısını destekliyor.
- Yönelticiler artık birden çok güvenilir olmayan otomatik doldurma eşini daha iyi idare ediyor. Kötü amaçlı otomatik doldurma üzerine daha fazla çalışma yapılması gerekiyor.
- Kod artık bir dağıtılmış kaynak denetimi sisteminde tutuluyor.
- Yönelticiler tek bir haber sunucusuna güveniyor. Ancak farklı bir sunucuyu gösteren sabit kodlanmış bir yedek adres vardır. Kötü niyetli bir haber sunucusu büyük bir dosya gönderebilir. Boyutun sınırlanması gerekir.
- Adres defteri abonelik hizmeti sağlayıcıları, eklenti barındırma hizmetleri ve atlama hizmetleri ile birlikte adlandırma sistem hizmetleri kötü amaçlı olabilir. Abonelikler için önemli korumalar, sonraki sürümlerde yapılan eklerle birlikte ilk olarak 0.6.1.31 sürümünde uygulandı. Ancak, tüm adlandırma hizmetleri bir miktar güvenmeyi gerektirir. Ayrıntılar için adlandırma sayfasına bakabilirsiniz.
- i2p2.de için DNS hizmetine bağlı kalmayı sürdürüyoruz. Bunu kaybetmek yeni kullanıcıları çekme yeteneğimizde önemli kesintilere neden olur ve kaybı i2p.net örneğinde olduğu gibi ağı (kısa ya da orta vadede) küçültür.
Geliştirme saldırıları
Bu saldırılar doğrudan ağ üzerinde değil, bunun yerine ya yazılımın geliştirilmesine katkıda bulunan herkese yasal engeller getirerek ya da geliştiricilerin yazılımı değiştirmesini sağlamak için var olan her yolu kullanarak geliştirme ekibinin peşine düşer. Geleneksel teknik önlemler bu saldırıları yenemez ve birisi bir geliştiricinin hayatını veya geçimini tehdit ederse (hatta yalnızca bir mahkeme emriyle birlikte hapis tehdidi altında bir tutuklama emri çıkarsa), büyük bir sorunumuz olur.
Bununla birlikte, iki teknik bu saldırılara karşı savunmaya yardımcı olur:
- Denetim, doğrulama, değişiklik ve iyileştirme için ağın tüm bileşenleri açık kaynak kodlu olmalıdır. Bir geliştiricinin güvenliği ihlal edilirse, fark edildiğinde topluluk açıklama isteğinde bulunmalı ve geliştiricinin çalışmasını kabul etmeyi bırakmalıdır. Dağıtılmış kaynak denetimi sistemimize yapılan tüm gönderimler şifrelenmiş olarak imzalanmıştır ve sürüm paketleyicileri, değişiklikleri önceden onaylananlarla sınırlamak için bir güvenilenler listesi sistemi kullanır.
- Ağın kendisi üzerinden geliştirme, geliştiricilerin anonim kalmasını sağlar ve geliştirme sürecini güvence altına alır. Tüm I2P geliştirmeleri I2P üzerinden yapılabilir. Bir dağıtılmış kaynak denetimi sistemi kullanılarak, I2P üzerinde bulunan dağıtılmış kaynak denetimi sistemi, IRC sohbet uygulaması, herkese açık site sunucuları, tartışma forumları (forum.i2p) ve yazılım dağıtım siteleri geliştirilebilir.
Ayrıca, herhangi bir savunmanın gerekmesi durumunda yasal önerilerde bulunan çeşitli kuruluşlarla ilişkilerimizi sürdürüyoruz.
Uygulama saldırıları (hatalar)
Olabildiğince deniyoruz. Çoğu önemsiz uygulamada tasarım veya uygulama sırasında hatalar bulunur ve I2P bir istisna değildir. I2P üzerinden çalışan iletişimin anonimliğine veya güvenliğine beklenmedik şekillerde saldırmak için kullanılabilecek hatalar olabilir. Tasarıma veya kullanımdaki iletişim kurallarına yönelik saldırılara karşı koymaya yardımcı olmak için, birçok gözün sistemi iyileştireceği umuduyla tüm tasarımları ve belgeleri yayınlıyoruz ve incelenmesi ile eleştirilmesini istiyoruz. belirsiz bir ortam oluşturarak güvenlik sağlanacağına inanmıyoruz.
Ek olarak, koda aynı şekilde davranılıyor ve yazılım sisteminin gereksinimlerini karşılamayan bir şeyi (değişiklik kolaylığı ile birlikte) yeniden işlemeye veya atmaya karşı isteksizlik çok az. Ağın ve yazılım bileşenlerinin tasarımı ve uygulanmasına ilişkin belgeler, güvenliğin önemli bir parçasıdır. Bunlar olmadan geliştiriciler, eksiklikleri ve hataları bulmak için yazılımı öğrenmeye yeterince zaman harcamak istemeyecektir.
Yazılımımızda, özellikle yetersiz bellek hataları (OOM), yöneltici konsolundaki siteler arası betik çalıştırma (XSS) sorunları ve çeşitli iletişim kuralları üzerinden yapılan standart olmayan girişlerden kaynaklanabilecek diğer güvenlik açıkları nedeniyle hizmet reddi ile ilgili hatalar bulunabilir.
I2P hala küçük bir geliştirme topluluğunun desteklediği ve akademik veya araştırma gruplarının neredeyse hiç ilgi göstermediği küçük bir ağdır. Bu nedenle, diğer anonimlik ağları üzerine yapılmış olabilecek incelemelerden yoksunuz. Katkıda bulunmak ve yardım etmek için insanları aramıza katmayı sürdürüyoruz.
Diğer Savunmalar
Engelleme Listeleri
I2P, bir dereceye kadar bir engelleme listesinde bulunan IP adreslerinde çalışan eşlerden kaçınacak şekilde geliştirilebilir. P2P karşıtı kuruluşların, devlet düzeyindeki potansiyel karşıtların ve benzerlerinin bulunduğu birkaç engelleme listesi, standart biçimlerde yaygın olarak bulunur.
Etkin eşler güncel engelleme listesinde gerçekten göründükleri ölçüde, yalnızca bir eş alt kümesi tarafından engelleme, ağı bölümlere ayırma, erişilebilirlik sorunlarını artırma ve genel güvenilirliği düşürme eğiliminde olacaktır. Bu nedenle, belirli bir engelleme listesi üzerinde anlaşmak ve varsayılan olarak etkinleştirmek isteriz.
Engelleme listeleri, kötü niyetliliğe karşı bir dizi savunmanın yalnızca bir parçasıdır (belki de küçük bir parçasıdır). Profil oluşturma sistemi, "Ağ veri tabanı" (NetDB) herhangi bir şeye güvenmemize gerek kalmaması için yöneltici davranışını ölçmek amacıyla büyük ölçüde iyi bir iş çıkarır. Ancak yapılabilecek daha çok şey var. Yukarıdaki listedeki konuların her biri için, kötü niyetleri algılamakta yapabileceğimiz iyileştirmeler var.
Bir engelleme listesi otomatik güncellemelerle merkezi bir yerde barındırılıyorsa, ağ bir merkezi kaynak saldırısına karşı savunmasızdır. Bir listeye otomatik abone olunması, liste hizmeti sağlayıcısına i2p ağını kapatma gücü verir. Tamamen.
Şu anda, yazılımımızla birlikte yalnızca geçmiş DOS kaynaklarının IP adreslerini listeleyen varsayılan bir engelleme listesi dağıtılıyor. Otomatik güncelleme mekanizması yok. Belirli bir IP aralığı I2P ağına ciddi saldırılar uygularsa, insanlardan forumlar, bloglar gibi bant dışı mekanizmalar aracılığıyla engelleme listelerini el ile güncellemelerini istememiz gerekir.