TOR'u Nasıl Bilirsiniz? Onion Servislerinin Perde Arkası

Kategori: Web Güvenliği - Güncellenme: 18 Şubat 2019 - Ziyahan Albeniz

TOR, nam-ı diğer The Onion Router, 2003 yılında TOR button olarak serüvenine başladığında amacı sadece istemcinin gizliliğini sağlayarak web'de gezinmesini sağlamaktı. Uyumlu olduğu browserlara kurulduğu takdirde farklı relay'ler üzerinden yani farklı düğümler üzerinden bağlantıyı hedefe ulaştırıyor, trafiğin geçtiği her bir katman soğan katmanları gibi sadece kendileri ile ilgili olan kabuğu sıyırıp, içindeki şifreli datayı, kendilerinin okuyabildiği nadir bilgilerden biri olan hedef bilgisini okuyarak sıradaki relay'e aktarıyordu.

Kamuoyunun ilgisini çeken, hem kullanıcı hem de destekçi sayısı gün be gün artan Tor Button önce Tor Browser Bundle'a sonrasında da Tor Browser olarak anılan ve bugün dahi kullandığımız Mozilla Firefox üzerine bina edilen bir tarayıcıya dönüştü.

TOR'un bu tarihsel evriminde 2004 özel bir yere sahip. Çünkü bu tarih itibariyle TOR yalnızca istemcinin gizliliğini koruyan değil, web gibi kaynakların özgürce paylaşıldığı bir ortama düşen sansür ve baskı gölgesinden nasibini almış muhaliflere, gazetecilere, dezavantajlı gruplara da seslerini duyurma imkanı veren bir servisi devreye soktu. Önceleri hidden servis olarak adlandırılan bu servis 2015 yılında Onion Services olarak anılmaya başlandı.

Onion Services gerek domain, gerek hosting hizmeti olarak üçüncü parti bir hizmet sağlayıcıya gerek kalmaksızın kendi web sitenizi host edebilmenizi ve TOR servisi üzerinden erişilebilmesini sağlıyor.

TOR Servislerini sadece web uygulamalarını servis etmek için değil, NAT'ın arkasındaki uygulamaları internete açmak zorunda kalmaksızın TOR networküne bağlayan kullanıcılar da tercih ediyor. Aynı zamanda Tor servisleri, chat uygulamaları, SSH servisleri vb. gibi servisler tarafından da tercih ediliyor.

TOR servisini başlatmak çok kolay. TOR'un ayarlarını ihtiva eden torrc dosyasında aşağıdaki ayarları yaparak yeni bir Onion Servis başlatmanız mümkün.

torrc

Yukarıdaki güncellemeyi torrc dosyasında yapıp, TOR servisini yeniden başlattığınızda Onion Service oluşturulacak ve kullanıma hazır duruma gelecek.

Dosyadaki talimatlar çok önemli: HiddenServiceDir ve HiddenServicePort.

HiddenServiceDir talimatı, Onion Service'inize TOR network'ü üzerinden erişilebilecek adresinizin yazılı olduğu hostname isimli dosya ve private_key isimli özel anahtarınızı ihtiva edecek klasörünüzün adı. Dosyalar servis başlatıldığında buraya kaydedilecek.

console

hostname isimli dosyayı görüntülediğinizde servisinize erişimde kullanılacak .onion uzantılı domaini görebilirsiniz:

hostname

Görüldüğü üzere zw4gc4ynslwe32mj.onion isimli domain artık bizim Onion Servisimize erişmek için kullanılacak domain adı.

domain

Peki bu domain adı nasıl oluştu? Değiştirme şansımız var mı? Zaman zaman daha şık, hatırlanabilir Onion Service adlarına denk geliyoruz, örneğin Facebook, facebookcorewwwi.onion gibi bir domain kullanıyor. Böyle bir domain alabilmek mümkün mü?

Onion domainini oluşturmak için Tor servisi öncelikle bir RSA anahtar çifti oluşturuyor. Yukarıdaki ekran görüntüsünde gördüğünüz private_key dosyası RSA anahtar çiftimizden private key'i içeriyor:

privateKey

.onion uzantılı domain adını oluşturmak için ise Tor servisi public anahtarın öncelikle SHA-1 algoritması ile bir özetini alıyor. Aldığı bu özetin 80 bitlik kısmını base32 şeması ile encode ederek 16 karakter uzunluğunda bir metne ulaşıyor. İşte zw4gc4ynslwe32mj.onion domainindeki zw4gc4ynslwe32mj kısmının oluşma hikâyesi bu şekilde.

Domain adı public key'den meydana geldiği için domain'i bilen bir istemci doğrudan doğruya sunucunun public key'ini de doğrulayabildiği için bu sisteme self-certifying adı veriliyor.

Hâlâ sorunuza cevap vermedik değil mi? facebookcorewwwi.onion (Facebook's Core WWW Infrastructure) gibi domainler nasıl elde ediliyor? Bunun için hatırı sayılır bir işlemci gücü kullanmalısınız. Yukarıda adım adım sıraladığımız işlemleri tekrar ederek hedef anahtar kelimenin (örneğin facebook) önek olarak içerisinde geçtiği sonuçları üretmeye devam ediyorlar. Bu tip domainlere Vanity domainler deniliyor. Bunu servis olarak sunan kimi web siteleri de var.

Gördüğünüz üzere şayet vanity, yani okunaklı bir onion domaininiz yoksa, onion domainlerin kendine mahsus bir takım dezavantajları var. Bu domainlerin okunması, hatırda tutulması, yazılması bir hayli zor. Dolayısıyla TOR kullanıcıları Onion Servislere erişmek istediklerinde bir dizi tehlike ile karşı karşıya kalıyorlar.

Bildiğiniz gibi web kullanıcıları için en önemli doğrulama domain üzerine yapılan doğrulamadır. Nitekim browser üreticileri dahi domain name'i, yani adres çubuğundaki değeri bu bakımdan önemsiyorlar. Peki onion uzantılı adreslerin, hedef site hakkında, çoğunlukla neredeyse hiçbir fikir vermediği Tor networkünde kullanıcılar bu tehlikelerden nasıl korunuyorlar? Kullanıcıların bu servislerdeki tehdit algısı, aldıkları tedbirler neler?

Bir kere üzerinde akademik bir çalışma yapmaya değecek kadar bu servisleri kullanan kullanıcı olduğunu belirtmeliyiz. Örneğin 2016 yılında Facebook, onion servisini (facebookcorewwwi.onion) kullanan kullanıcı sayısının 1 milyona yaklaştığını duyurdu. 2018 Haziran ayında da Tor servisi ile ilgili açıklanan rakamlar günlük 100 bin civarındaydı. Dolayısıyla kullanıcıların bu servisleri kullanım alışkanlıkları, tehdit algıları üzerinde çalışılmayı hakeden esaslı bir konu.

Nitekim 2018 yılında bu olaya el atan Princeton Üniversitesi araştırmacıları Tor kullanıcılarının servislerle nasıl etkileşime girdiğine dair 18 sayfalık bir akademik araştırma yayınladılar. Usenix'deki sunumun akademik bir çıktısı olan çalışma, kullanıcı alışkanlıklarına dair önemli bilgiler sunuyor.

Araştırma 17 kullanıcı ile yapılan röportaj ve 517 katılımcının cevapladığı anketten yola çıkarak insanların Tor'u nasıl algıladıkları ve kullandıklarına dair bir panorama sunuyor.

Araştırmacılar ayrıca B tipinde bir DNS kök sunucusundan aldıkları 2 günlük sorgu datasından bu sunuculara sızan .onion uzantılı 15 bin 471 domaini de tahlil ediyorlar.

Elde edilen bulgular pek çok gerçeğe ışık tutuyor. Örneğin TOR kullanıcılarının en çok sorun yaşadıkları alanlar şöyle:

  1. Mevcut Tor servislerini bulmak
  2. Tespit ettikleri bu servisleri bir sonraki ziyaretleri için saklamak ve hatırlamak
  3. Oltalama saldırılarını ayırt etmek.

Katılımcılar .onion uzantılı domainlere yüzde 47.58 oranına sosyal medya üzerinden ulaştıklarını belirtiyorlar. Bunu yüzde 46.42 oranı ile arama motorları takip ediyor. Arama motoru denilince Tor Network'ünün meşhur The Hidden Wiki'si ve Ahmia'yı kullanarak erişiyorlar. (https://ahmia.fi/)

Yüzde 46.23 oranında da bu sitelere rastgele erişildiği belirtiliyor.

Vanity domainler bu erişime kolaylık sağlayabilir. Ancak bunun dezavantaja dönüştüğü noktalar da var. Örneğin facebookcorewwwi.onion domain'i Facebook önekini içerdiği için güven aşıladığı kesin. Fakat yeterli kaynağa sahip biri de, yeterli zaman ve işlemci gücü kullanarak benzer domainler üretebilir.

Şubat 2018 ile birlikte Tor Project yeni nesil bir onion servisini geliştirdiğini duyurdu. Buna göre domainler artık 16 karakter değil, 56 karakter uzunluğunda olacak, public key, checksum ve versiyon bilgilerini de içerecek. Aynı zamanda Elliptic Curve algoritmasını kullanarak bu yeni servis sadece public key hash'inin değil, tüm bir public key'in de domaine gömülü olmasını sağlayacak. Bu şüphesiz güvenlik konusunda bir iyileştirme demek, fakat domainler daha uzun olacağı için okunabilirlik ve hatırlanabilirlik konusundaki şikayetler azalmak yerine artacak. Ayrıca public key'in özetinin alındığı ve deprecate olan SHA-1 özet algoritması yerine SHA-3 kullanılıyor.  

Peki burada bir soru soralım. SSL/TLS teknolojisi kimlik ispatında çok önemli bir yere sahip. Niçin browser üreticileri, özellikle de Tor Browser'ı geliştiren ekip, valid domain'den hareketle servisin onion domainini üretecek bir eklenti geliştirmiyorlar?

Facebook.com 'u ele alalım. Hali hazırda SSL/TLS implementasyonu olan bu servisin public key'inden hareketle yukarıdaki işlemleri yaparak onion uzantılı bir domain üretecek bir eklenti geliştirip kullanıcının işini kolaylaştırsalar? Denemeye değer.

Araştırmaya dönelim.

Peki Tor kullanıcıları girdikleri sitenin geçerliliğin, gerçekten de girmek istedikleri site olup olmadığını nasıl doğruluyorlar?

Domain yanıltıcı olabilir. Zira yukarıda da belirttiğimiz gibi örnekleri içeren domainler üretmek yeterli kaynağa sahip bir saldırganın da becerebileceği bir iş.

Pek çok domain örneğin Facebook kimlik doğrulamada EV sertifikalarını kullanıyor. Hani şu tüm adres satırını kaplayan sertifikalar. Bu sertifikaların alınma zorluğu sahtecilikleri engelleyebilir, tabii ki. Fakat EV sertifikaları, başvuru süreci, bizatihi Tor servislerinin varlık amacı olan anonimity konusunda tavizler verilmesine yol açacak. Özellikle de yayıncılar için. Dolayısıyla bu seçenek herkes için uygulanabilir bir seçenek değil.

Tor kullanıcıları da bu nedenlerden ötürü kendilerince müracaat ettikleri birkaç yol ile girdikleri sitelerin geçerliliğini doğruluyorlar.

Örneğin sitelere copy/paste yani kopyala yapıştır metotları ile girmenin daha az hataya yol açacağını düşünenlerin oranı yüzde 64.41.

Bookmark seçeneğini kullanan kullanıcılar ise yüzde 52.42. Adres çubuğuna dikkat ettiğini söyleyen kullanıcılar yüzde 45.45; SSL/TLS sertifikasına baktıklarını söyleyen kullanıcılar ise yüzde 35.16

Sitelerin geçerli kopyalarından yani Tor networkü dışından erişilebilir halde olan kopyalarından .onion adresleri edindiklerini söyleyen kullanıcı oranı ise yüzde 39.85. Örneğin Facebook, resmi sitesi olan Facebook.com üzerinden facebookcorewwi.onion domainini duyurmuştu.

Araştırmacılar bulgularını aşağıdaki maddeler ile özetliyor:

  1. Varsayılan olarak gizli oldukları için .onion uzantılı domainleri keşfedebilmek gerçekten zor.
  2. Vanity domainler hatırlanmaya imkan verseler de yanlış bir güvenlik algısına yol açabilmeye elverişliler.
  3. Kullanıcılar .onion domainleri doğrulamak için stabil bir araç ve metoda sahip değiller.

Araştırmanın ayrıntılarına ulaşmak için lütfen tıklayınız.

Netsparker

Tam isabet, hızlı ve kolay kullanım

DEMO SÜRÜMÜNÜ İNDİR