tor

Jaringan Tor menurut penelitian: cara kerja, serangan yang terbukti, dan batas anonimitasnya

Rangkuman riset tentang Tor: desain onion routing, serangan korelasi lalu lintas dan website fingerprinting, relay jahat dari Spoiled Onions sampai KAX17, keamanan onion service, sensor dan pluggable transport, serta apa artinya bagi developer.

  • tor
  • anonimitas
  • privasi
  • keamanan
  • riset

Tor adalah jaringan anonimitas paling banyak dipakai di dunia, dan sekaligus salah satu sistem keamanan yang paling banyak diteliti. Sejak makalah desainnya terbit pada 2004, ratusan makalah akademik mencoba memecahkan, mengukur, dan memperbaikinya. Hasilnya adalah gambaran yang cukup jelas: Tor sangat baik untuk sebagian ancaman, dan tidak dirancang untuk ancaman lainnya.

Tulisan ini merangkum apa yang ditemukan penelitian tentang Tor: bagaimana cara kerjanya, serangan apa yang benar-benar terbukti, insiden nyata di jaringan, dan apa artinya bagi developer yang menjalankan layanan atau sekadar ingin memahami batasnya. Ia melengkapi OPSEC untuk developer: Tor adalah salah satu alat, bukan pengganti disiplin OPSEC.

Cara kerja: onion routing

Ide onion routing berasal dari Naval Research Laboratory di Amerika Serikat pada pertengahan 1990-an (Goldschlag, Reed, dan Syverson, Hiding Routing Information, 1996). Tor adalah generasi keduanya, dijelaskan oleh Dingledine, Mathewson, dan Syverson dalam Tor: The Second-Generation Onion Router (USENIX Security 2004).

Klien Tor membangun circuit melalui tiga relay yang dipilih secara acak, dengan bobot sesuai bandwidth:

PosisiYang diketahui relayYang tidak diketahui
Guard (entry)alamat IP penggunatujuan akhir
Middleguard dan exitpengguna dan tujuan
Exittujuan akhir dan isi lalu lintas (bila tidak dienkripsi TLS)alamat IP pengguna

Klien menegosiasikan kunci terpisah dengan setiap relay, lalu membungkus data dalam tiga lapis enkripsi. Setiap relay hanya membuka satu lapis, seperti mengupas bawang. Data dikirim dalam cell berukuran tetap (512 byte) agar ukuran pesan tidak langsung terlihat. Daftar relay yang sah ditetapkan oleh sekelompok kecil directory authority yang setiap jam menerbitkan consensus bersama.

Yang penting dipahami: tidak ada satu relay pun yang mengetahui pengguna dan tujuannya sekaligus. Tetapi desain Tor dari awal menyatakan dengan terbuka bahwa ia tidak melindungi dari pengamat yang bisa melihat kedua ujung circuit. Tor memilih latensi rendah agar bisa dipakai untuk web; konsekuensinya, pola waktu dan volume lalu lintas tetap terlihat. Hampir semua serangan di bawah ini berangkat dari batas desain itu.

Serangan korelasi lalu lintas

Bila penyerang bisa mengamati lalu lintas yang masuk ke guard dan yang keluar dari exit, ia cukup mencocokkan pola waktu dan ukurannya. Tidak perlu memecahkan enkripsi apa pun.

  • Murdoch dan Danezis (Low-Cost Traffic Analysis of Tor, IEEE S&P 2005) menunjukkan bahwa bahkan penyerang yang hanya menjalankan satu relay biasa bisa memperkirakan relay mana yang dipakai sebuah circuit, dengan membebani relay lain dan mengamati perubahan latensinya.
  • Johnson dan rekan-rekannya (Users Get Routed: Traffic Correlation on Tor by Realistic Adversaries, ACM CCS 2013) mensimulasikan penggunaan Tor dalam jangka panjang. Kesimpulannya: penyerang yang menjalankan relay dengan bandwidth setara relawan besar bisa mendeanonimisasi sekitar 80% pengguna dalam enam bulan pemakaian rutin. Penyerang di level Autonomous System (AS) atau Internet Exchange Point bahkan lebih berbahaya, karena posisinya di jalur internet tidak perlu menjalankan relay sama sekali.
  • Sun dan rekan-rekannya (RAPTOR: Routing Attacks on Privacy in Tor, USENIX Security 2015) memperlihatkan bahwa routing internet yang asimetris memperbesar peluang AS melihat setidaknya satu arah lalu lintas di kedua ujung, dan bahwa pembajakan BGP bisa dipakai untuk sengaja mengalihkan lalu lintas guard melewati penyerang.
  • Nasr, Bahramali, dan Houmansadr (DeepCorr, ACM CCS 2018) memakai deep learning untuk korelasi aliran. Dengan hanya sekitar 900 paket per aliran, akurasinya sekitar 96%, sementara metode sebelumnya dalam pengaturan yang sama hanya sekitar 4%.

Inilah alasan Tor memakai guard yang tetap. Øverlier dan Syverson (Locating Hidden Servers, IEEE S&P 2006) menunjukkan bahwa bila relay pertama dipilih ulang di setiap circuit, cepat atau lambat penyerang akan terpilih. Dengan satu guard yang dipakai berbulan-bulan, peluang itu tidak hilang, tetapi tidak lagi bertambah setiap kali circuit baru dibuat.

Website fingerprinting

Website fingerprinting lebih murah daripada korelasi: penyerang cukup melihat sisi pengguna, misalnya ISP atau jaringan Wi-Fi kantor. Setiap situs punya pola unik dari urutan, arah, dan jumlah cell yang dimuatnya, dan pola itu bisa dikenali dengan machine learning.

  • Panchenko dan rekan-rekannya (WPES 2011) adalah salah satu yang pertama menunjukkan bahwa serangan ini realistis pada Tor.
  • Juarez dan rekan-rekannya (A Critical Evaluation of Website Fingerprinting Attacks, ACM CCS 2014) memberi koreksi penting: banyak hasil sebelumnya mengandalkan asumsi yang terlalu menguntungkan penyerang, misalnya pengguna hanya membuka satu tab dan hanya mengunjungi situs dari daftar kecil. Dalam open world yang realistis, base rate fallacy membuat tingkat alarm palsu menjadi masalah besar.
  • Sirinam dan rekan-rekannya (Deep Fingerprinting, ACM CCS 2018) memakai CNN dan mencapai akurasi di atas 98% pada lalu lintas Tor tanpa pertahanan dalam closed world. Pertahanan padding WTF-PAD masih bisa ditembus dengan akurasi di atas 90%, sementara Walkie-Talkie menahan akurasi top-1 di sekitar 49,7%.

Riset ini mendorong Tor menambahkan kerangka circuit padding agar pertahanan semacam ini bisa diterapkan tanpa mengubah protokol dasar. Masalahnya belum selesai: padding menambah beban bandwidth, dan setiap pertahanan baru biasanya diikuti model serangan yang lebih kuat.

Relay jahat di jaringan nyata

Tor dijalankan oleh relawan, jadi siapa pun bisa menambahkan relay. Penelitian dan insiden berikut menunjukkan apa yang terjadi ketika sebagian relawan itu ternyata penyerang.

  • Spoiled Onions (2014). Winter dan rekan-rekannya (Spoiled Onions: Exposing Malicious Tor Exit Relays, PETS 2014) membuat pemindai exit bernama exitmap dan menemukan 65 exit relay yang jahat atau salah konfigurasi, termasuk yang melakukan serangan man-in-the-middle HTTPS dan SSL stripping. Sebagian besar kemudian diberi tanda BadExit.
  • Serangan "relay early" (2014). Pada 30 Juli 2014 Tor Project mengumumkan bahwa sekitar 115 relay non-exit yang bergabung sejak 30 Januari 2014 menjalankan serangan Sybil yang dikombinasikan dengan konfirmasi lalu lintas: mereka menyisipkan sinyal tersembunyi lewat urutan perintah RELAY dan RELAY_EARLY. Serangan ini tampaknya menyasar pengguna dan operator onion service. Relay-relay itu dihapus pada 4 Juli 2014 dan celahnya ditutup (CVE-2014-5117).
  • SSL stripping exit (2020). Peneliti independen nusenu melaporkan satu pelaku yang pada puncaknya, Mei 2020, menguasai lebih dari 23% kapasitas exit seluruh jaringan. Exit itu menurunkan koneksi HTTPS ke HTTP di situs mixer Bitcoin lalu mengganti alamat dompet tujuan.
  • KAX17 (2021). nusenu juga menemukan kelompok yang sejak sekitar 2017 menjalankan relay, kebanyakan guard dan middle, dengan puncak lebih dari 900 relay sekaligus. Relay non-exit tidak bisa mengubah lalu lintas, tetapi posisinya cocok untuk deanonimisasi. Tor Project menghapus ratusan relay yang diduga milik kelompok ini pada November 2021. Tidak ada bukti publik bahwa deanonimisasi benar-benar dilakukan, tetapi kemampuannya ada.

Dua pelajaran dari sini. Pertama, HTTPS wajib bahkan di dalam Tor: serangan exit 2020 hanya berhasil pada situs yang masih bisa diakses lewat HTTP. Kedua, mendeteksi relay jahat adalah pekerjaan terus-menerus, dan sebagian besar dilakukan oleh peneliti dan relawan, bukan oleh mekanisme otomatis.

Onion service

Onion service (dulu hidden service) membalik arah perlindungan: server juga tersembunyi. Klien dan server sama-sama membangun circuit ke titik temu (rendezvous point), sehingga keduanya tidak saling mengetahui alamat IP.

Biryukov, Pustogarov, dan Weinmann (Trawling for Tor Hidden Services, IEEE S&P 2013) menunjukkan bahwa desain generasi lama (v2) bocor: dengan menjalankan relay yang menjadi HSDir, penyerang bisa mengumpulkan hampir semua alamat onion dalam sekitar dua hari, mengukur popularitasnya, dan bahkan memblokir layanan tertentu. Onion service v3, yang hadir di Tor 0.3.2 (akhir 2017), memperbaikinya dengan kriptografi ed25519 dan key blinding: HSDir tidak lagi bisa mengetahui alamat onion dari deskriptor yang disimpannya. Alamatnya pun menjadi 56 karakter. Dukungan v2 dihentikan pada 2021.

Ancaman yang lebih baru adalah serangan DoS terhadap onion service. Karena server tidak melihat alamat IP klien, pembatasan berbasis IP tidak berlaku. Sejak Tor 0.4.8 (2023), operator bisa mengaktifkan pertahanan proof-of-work: dalam kondisi normal pertahanan ini diam, tetapi saat diserang klien harus menyelesaikan teka-teki komputasi yang makin sulit sebelum terhubung.

torrc: onion service v3 dengan pertahanan proof-of-work
HiddenServiceDir /var/lib/tor/situs/
HiddenServicePort 80 127.0.0.1:8080
HiddenServicePoWDefensesEnabled 1

Sensor dan pluggable transport

Bagi banyak pengguna, ancaman utama bukan deanonimisasi, melainkan pemblokiran. Daftar relay publik, jadi sensor bisa memblokir semuanya dengan mudah. Jawaban Tor adalah bridge (relay yang tidak dipublikasikan) dan pluggable transport yang menyamarkan lalu lintas Tor.

  • Winter dan Lindskog (How the Great Firewall of China is Blocking Tor, FOCI 2012) menemukan bahwa Great Firewall memakai active probing: begitu melihat koneksi yang mencurigakan, sensor menghubungi server tersebut sendiri untuk memastikan apakah itu bridge Tor, lalu memblokirnya.
  • obfs4 membuat lalu lintas terlihat seperti byte acak dan tidak merespons probe tanpa rahasia yang benar.
  • meek (Fifield dan rekan-rekannya, Blocking-resistant communication through domain fronting, PETS 2015) menyembunyikan lalu lintas di balik CDN besar, sehingga memblokirnya berarti memblokir layanan populer. Banyak CDN kemudian menutup domain fronting.
  • Snowflake (Bocovich dan rekan-rekannya, USENIX Security 2024) memakai ribuan proxy WebRTC sementara yang dijalankan relawan dari browser. Karena kumpulan proxy-nya terus berganti, sensor sulit mendaftar dan memblokirnya satu per satu.

Deanonimisasi yang tidak memecahkan Tor

Kasus-kasus deanonimisasi yang paling banyak diberitakan jarang memecahkan protokol Tor. Yang dieksploitasi biasanya adalah lapisan di atasnya:

  • Celah browser. Pada 2013, FBI memakai eksploit Firefox (CVE-2013-1690) terhadap pengunjung situs yang di-hosting Freedom Hosting. Muatan eksploitnya mengirim alamat IP asli ke server di luar Tor. Pola yang sama dipakai dalam kasus Playpen pada 2015.
  • Aplikasi yang membocorkan IP. Le Blond dan rekan-rekannya (One Bad Apple Spoils the Bunch, LEET 2011) menunjukkan bahwa BitTorrent lewat Tor membocorkan alamat IP asli di dalam protokolnya, dan bocoran itu bisa dipakai untuk mengaitkan aliran lain dari pengguna yang sama.
  • Kesalahan operasional. Pengelola Silk Road dilacak terutama lewat jejak di forum publik dan akun yang memakai identitas aslinya, bukan lewat kelemahan Tor.

Tor Browser ada justru untuk menutup celah semacam ini: konfigurasi yang seragam agar semua penggunanya tampak sama, first-party isolation, dan tingkat keamanan yang bisa mematikan JavaScript. Menjalankan aplikasi biasa melalui proxy Tor tidak memberi perlindungan yang sama.

Apa artinya bagi developer

Jangan blokir Tor tanpa alasan yang jelas

Tor dipakai jurnalis, peneliti, pengguna di negara yang menyensor, dan orang yang sekadar tidak ingin dilacak. Memblokir semua exit relay juga memblokir mereka. Bila ada penyalahgunaan, batasi aksi yang berisiko (pendaftaran massal, percobaan login berulang) dengan rate limit atau CAPTCHA, bukan seluruh akses baca. Daftar exit resmi tersedia di https://check.torproject.org/torbulkexitlist bila Anda perlu memberi perlakuan khusus.

Sediakan alamat onion

Situs biasa bisa menawarkan alamat onion agar pengguna Tor tidak perlu keluar lewat exit relay sama sekali. Ini menghilangkan risiko exit jahat dan mengurangi beban jaringan. Header Onion-Location memberi tahu Tor Browser bahwa versi onion tersedia:

Header HTTP untuk menawarkan versi onion
Onion-Location: http://alamatonionanda56karakter.onion/

Jangan jadikan Tor satu-satunya lapisan

Riset korelasi lalu lintas menunjukkan bahwa penyerang yang bisa melihat kedua ujung pada akhirnya akan menang. Tor menaikkan biaya pengawasan secara signifikan, tetapi data yang sangat sensitif tetap butuh enkripsi ujung ke ujung, kebiasaan OPSEC yang konsisten, dan model ancaman yang jujur tentang siapa yang mungkin mengamati jaringan.

Kesimpulan

Dua dekade penelitian memberi gambaran yang konsisten. Kriptografi Tor jarang menjadi titik lemah. Yang menjadi batas adalah keputusan desain yang disengaja: latensi rendah membuat korelasi lalu lintas dan fingerprinting tetap mungkin, jaringan relawan membuka ruang bagi relay jahat, dan aplikasi di atasnya sering membocorkan lebih banyak daripada jaringannya sendiri. Di sisi lain, riset yang sama menghasilkan perbaikan nyata: guard tetap, onion service v3, circuit padding, pertahanan proof-of-work, dan Snowflake. Bagi developer, pelajarannya praktis: wajibkan HTTPS, pertimbangkan alamat onion, jangan blokir Tor secara membabi buta, dan pahami bahwa anonimitas jaringan hanya satu bagian dari keamanan.

Referensi