4 poin oleh GN⁺ 2025-06-02 | 1 komentar | Bagikan ke WhatsApp
  • Ini adalah alat yang mengurung program Linux apa pun dalam lingkungan jaringan terpisah dan mengirim semua trafik melalui Tor, sehingga mengurangi risiko kebocoran yang selama ini bergantung pada pengaturan proxy per aplikasi
  • Intinya adalah network namespace di kernel Linux: aplikasi hanya melihat onion0, bukan antarmuka sistem, sehingga koneksi yang melewati jalur ini menjadi lebih sulit
  • torsocks yang ada menggunakan metode menimpa fungsi libc, sehingga data bisa bocor pada binary statis atau pemanggilan yang tidak melewati libc, seperti di ekosistem Zig
  • oniux adalah alat Rust khusus Linux berbasis Arti dan onionmasq, sedangkan torsocks adalah implementasi C berbasis CTor yang lintas platform dan telah digunakan selama lebih dari 15 tahun
  • Pengguna dapat menjalankan curl, bash, hexchat, dan lainnya dengan menambahkan oniux di depan perintah yang sudah ada, tetapi perlu diingat bahwa ini adalah alat baru dan eksperimental

Masalah isolasi Tor yang ingin diselesaikan oniux

  • Saat menjalankan aplikasi atau layanan yang membutuhkan privasi, semua paket benar-benar harus keluar hanya melalui Tor
  • Jika pengaturan proxy salah dimasukkan atau system call terjadi di luar wrapper SOCKS, data bisa terekspos
  • oniux adalah utilitas command-line yang menyediakan isolasi jaringan Tor untuk aplikasi pihak ketiga dengan menggunakan namespace Linux
  • Ia berjalan di atas Arti dan onionmasq, memasukkan program Linux ke network namespace tersendiri, lalu merutekannya melalui Tor
  • Di bagian atas dokumentasi terdapat peringatan bahwa oniux kini memiliki situs web tersendiri, dan nomor versi dalam tulisan ini sudah sangat lama

Peran namespace Linux

  • Namespace adalah fitur isolasi kernel Linux yang diperkenalkan sekitar tahun 2000
  • Fitur ini dapat memisahkan bagian tertentu dari aplikasi secara aman dari bagian sistem lainnya
  • Namespace terbagi ke dalam beberapa bentuk sesuai objek yang diisolasi
    • Network namespace
    • Mount namespace
    • Process namespace
    • Dan berbagai bentuk lainnya
  • Resource sistem Linux umumnya dapat diakses secara global oleh semua aplikasi
    • Jam sistem operasi
    • Daftar seluruh proses
    • Sistem file
    • Daftar pengguna
  • Namespace mengontainerkan sebagian aplikasi dari bagian lain sistem operasi, dan Docker juga menggunakan fitur ini saat menyediakan primitive isolasi

Cara menggabungkan Tor dan namespace

  • oniux menjalankan setiap aplikasi di dalam network namespace yang tidak dapat mengakses antarmuka jaringan seluruh sistem
  • Namespace tersebut hanya diberi antarmuka jaringan kustom onion0, bukan antarmuka sistem seperti eth0
  • Cara ini bergantung pada primitive keamanan yang disediakan kernel sistem operasi untuk mengisolasi akses Tor bagi aplikasi apa pun
  • Berbeda dari pendekatan SOCKS, ini dapat mengurangi situasi ketika sebagian koneksi tidak melewati SOCKS yang sudah dikonfigurasi akibat kesalahan developer, lalu data bocor

Perbedaan oniux dan torsocks

  • torsocks adalah alat yang menimpa fungsi libc terkait jaringan untuk mengirim trafik ke proxy SOCKS yang disediakan Tor
  • Pendekatan ini lebih lintas platform dibanding oniux, tetapi data bisa bocor pada system call yang tidak melalui libc yang di-link secara dinamis
  • Khususnya binary statis murni dan aplikasi di ekosistem Zig berada di luar cakupan dukungan torsocks
  • oniux

    • Merupakan aplikasi mandiri
    • Menggunakan namespace Linux
    • Berfungsi pada semua aplikasi
    • Strukturnya membuat kebocoran data tidak mungkin terjadi bahkan untuk aplikasi berbahaya
    • Khusus Linux
    • Alat baru dan eksperimental
    • Menggunakan Arti sebagai engine
    • Ditulis dalam Rust
  • torsocks

    • Membutuhkan daemon Tor yang sedang berjalan
    • Menggunakan hack preload ld.so
    • Hanya berfungsi pada aplikasi yang melakukan system call melalui libc
    • Aplikasi berbahaya dapat membuat system call dengan raw assembly sehingga data bisa bocor
    • Lintas platform
    • Telah teruji selama lebih dari 15 tahun
    • Menggunakan CTor sebagai engine
    • Ditulis dalam C

Instalasi dan contoh penggunaan

  • Diperlukan sistem Linux dan toolchain Rust
  • Instalasi dilakukan dengan cargo install
cargo install --git https://gitlab.torproject.org/tpo/core/oniux --tag v0.4.0 oniux
  • Permintaan HTTPS sederhana dapat dijalankan melalui Tor
oniux curl https://icanhazip.com
  • Permintaan IPv6 juga didukung
oniux curl -6 https://ipv6.icanhazip.com
  • Akses ke onion service juga dimungkinkan
oniux curl http://2gzyxa5ihm7nsggfxnu52rck2vv4rvmdlkiu3zzui5du4xyclen53wid.onion/…
  • Logging dapat diaktifkan dengan RUST_LOG=debug
RUST_LOG=debug oniux curl https://icanhazip.com
  • Jika menjalankan seluruh shell melalui Tor, semua proses di dalamnya dapat diisolasi
oniux bash
  • Di lingkungan desktop, aplikasi grafis juga dapat diisolasi
oniux hexchat

Alur kerja internal

  • oniux pertama-tama membuat proses anak dengan system call clone(2)
  • Proses anak diisolasi di dalam network, mount, PID, dan user namespace miliknya sendiri
  • Setelah itu, proses anak me-mount salinan /proc miliknya sendiri, lalu mengatur pemetaan UID/GID sesuai UID dan GID proses induk
  • Agar aplikasi melakukan resolusi nama melalui Tor, oniux membuat file sementara berisi entri nameserver dan melakukan bind mount file itu ke /etc/resolv.conf
  • Proses anak menggunakan onionmasq untuk membuat antarmuka TUN bernama onion0
  • Kemudian antarmuka dikonfigurasi melalui operasi rtnetlink(7), termasuk pekerjaan seperti pemberian alamat IP
  • Proses anak mengirim file descriptor antarmuka TUN ke proses induk melalui Unix Domain socket
  • Proses induk menunggu pesan ini setelah eksekusi clone(2) pertama
  • Setelah pengiriman selesai, proses anak melepaskan semua capability yang diperolehnya saat menjadi proses root di user namespace
  • Terakhir, perintah yang diberikan pengguna dijalankan dengan fitur pustaka standar Rust

Status eksperimental dan catatan penggunaan

  • oniux adalah fitur yang relatif baru dan menggunakan software Tor baru seperti Arti dan onionmasq
  • Saat ini ia bekerja sesuai harapan, tetapi torsocks telah digunakan selama lebih dari 15 tahun dan memiliki lebih banyak pengalaman di dunia nyata
  • Tujuannya adalah agar oniux juga mencapai tingkat kematangan yang mirip dengan torsocks

1 komentar

 
ndrgrd 2025-06-03

Tor sepertinya tidak buruk untuk privasi, tetapi saya kurang yakin apakah ini alat yang cocok untuk anonimitas. Ada juga cerita bahwa node keluar sudah dikuasai oleh lembaga negara.