Anda di halaman 1dari 8

Autonomous NAT Traversal

Disusun oleh :
Rio Trilaksono P

(115060800111098)

Irfandi Achmad

(115060800111047)

Alvin Noor Afyudin (115060802111002)


Muhammad Murtadho (115060807111153)
Adi Wiratama (115060807111156)

Arsitektur Jaringan Terkini


2013/2014

Permasalahan
Kebanyakan jaringan yang ada sekarang menggunakan teknologi NAT untuk memfasilitasi
lebih dari satu komputer komputer menggunakan satu IP public. Hal ini sangat bermanfaat baik
untuk menghemat ketersediaan IP publik, maupun untuk keamanan jaringan lokal. Banyak pula
user yang menggunakan NAT karena pengaturan default hardware dari provider. Selain beberapa
keuntungan di atas juga ada masalah yang ditimbulkan karena peer (host) dalam jaringan NAT
tidak bisa saling terhubung.
Hampir semua implementasi NAT tidak dapat meneruskan inbound traffic yang tidak sesuai
dengan pencocokan outbound request. Sehingga konfigurasi NAT tidak selalu menjadi alternatif.
NAT melarang inbound request yang tidak sesuai dengan outbound request, NAT Traversal
dapat menyediakan cara untuk melakukan inbound request pada jaringan NAT. Tetapi, berbagai
macam teknik NAT Traversal membutuhkan beberapa fasilitas dari pihak ketiga. Pendekatan
dasar untuk hal ini adalah server, pada private network di belakang jaringan NAT diberitahu oleh
pihak ketiga bahwa client ingin membangun koneksi. Kemudian server memulai koneksi menuju
client. Dengan cara ini server harus menjaga koneksi dengan pihak ketiga yang dapat ditemukan
oleh client, dan pihak ketiga tersebut bekerja menggunakan protokol spesifik.
Tujuan dari paper Autonomous NAT Traversal adalah menjalankan NAT Traversal tanpa
bantuan pihak ketiga. Karena dengan menggunakan pihak ketiga menambah kerumitan software
dan berpotensi menciptakan vulnerability (celah keamanan) baru. Sebagai contoh, jika jaringan
anonymizing yang menggunakan NAT Traversal dengan bantuan pihak ketiga, penyerang dapat
memonitor koneksi atau bahkan volume trafik dari peers dibelakang NAT yang mengakibatkan
serangan deanonymization. Masalah lain adalah berkurangnya persediaan IPv4 Global karena
host pihak ketiga sebagai penyedia jaringan NAT Traversal.

Ide Utama / Usulan Ide


Ide dasar dari Autonomous NAT transversal berasal dari nat transversal yang membutuhkan
pihak ketiga untuk komunikasi antar Host yang berada dalam NAT yang berbeda.Setelah server
menyadari dari alamat IP dari klien, terhubung ke klien (mirip dengan metode NAT traversal
yang melibatkan pihak ketiga). Ide kunci untuk memungkinkan server untuk mempelajari klien
Alamat IP untuk server untuk secara berkala mengirim pesan ke a, alamat IP yang dikenal tetap.
Pendekatan paling sederhana menggunakan ICMP Pesan REQUEST ECHO ke alamat IP yang
tidak terisi, seperti sebagai 1.2.3.4. Sejak 1.2.3.4 tidak dialokasikan, REQUEST ICMP akan tidak
akan diteruskan oleh router tanpa default route; ICMP DESTINATION pesan Unreachable yang
mungkin dibuat oleh orang-router dapat hanya diabaikan oleh server. Sebagai hasil dari pesan
yang dikirim ke 1.2.3.4, NAT akan memungkinkan routing balasan dalam menanggapi
permintaan ini.klien akan mengirimkan pesan ICMP yang menunjukkan TTL_EXPIRED. Pesan
tersebut bisa sah ditransmisikan oleh router Internet dan alamat pengirim tidak akan diharapkan
untuk mencocokkan IP target server.Server mendengar (palsu) balasan ICMP dan setelah
menerima memulai koneksi ke IP pengirim ditentukan dalam ICMP menjawab. Jika klien
menggunakan alamat IP routable secara global, ini sepenuhnya bermasalah dan baik TCP atau
UDP dapat digunakan untuk membuat sambungan bi-directional jika klien mendengarkan pada
port telah disepakati sebelumnya. Dalam kasus di mana tidak ada pelabuhan yang telah
disepakati sebelumnya, sebuah nomor port dapat dalam banyak kasus dikomunikasikan sebagai
bagian dari payload dari RESPON ICMP ECHO, yang biasanya tidak diperiksa terhadap muatan
yang sesuai ICMP ECHO REQUEST oleh implementasi NAT
2.1.1 NAT-to-NAT
Komplikasi lebih lanjut muncul jika kedua klien dan server berada di belakang NAT.
Dalam hal ini, sering klien tidak akan dapat untuk mengirimkan respon ICMP palsu ke
server karena pembatasan- tions yang dikenakan oleh pelaksanaan NAT klien. Satu ide yang
mungkin untuk menghindari masalah ini adalah untuk klien untuk mengirim pesan yang
sama bahwa server mengirimkan kecuali dengan TTL 1 nya NAT. Jika NAT menerima paket
meskipun alamat IP pengirim palsu mungkin secara teoritis menghasilkan diinginkan ICMP
respon dan meneruskannya ke jaringan eksternal. Namun, dalam prakteknya kita tidak
menemukan Nat mana menghasilkan pesan ICMP diperlukan menggunakan TTL dari 1

karya. Bahkan jika klien mampu mengirimkan ICMP respon palsu, langkah berikutnya; di
mana kedua klien dan server menyadari yang lain alamat IP dan sekarang berniat untuk
membangun TCP atau Koneksi UDP masih bisa rumit. Alasannya adalah bahwa Sistem NAT
dapat mengubah nomor port sumber outbound pesan. Tanpa pihak ketiga, baik klien dan
server akan harus menebak pencocokan sumber dan nomor port tujuan
seperti yang dipilih (mungkin secara acak) oleh masing-masing NAT im-mereka
plementations. Tergantung pada jenis NAT implementasi (kerucut penuh, dibatasi
kerucut, port-dibatasi, simetris),menemukan port yang benar dapat mengambil
beberapa pesan yang dapat di kurangi oleh server.
2.1.2 Menggunakan paket UDP bukannya ICMP echo request
Alternatif untuk pengirim mengirimkan ICMP Echo, alamat IP yang dikenal memiliki
pengirim mengirimkan paket UDP ke fixed, IP dikenal address dan port. Dalam hal ini, klien
lagi akan menempa ICMP TTL kadaluarsa pesan, hanya saja kali ini menggunakan UDP
Format. Kerugian utama dari variasi ini adalah bahwa pengirim harus menebak UDP
pengirim nomor port eksternal ketika berpura-pura respon ICMP. Sejak beberapa
implementasi NAT acak mengubah orang nomor port, server mungkin memiliki untuk
mengirim paket UDP menggunakan beberapa port pengirim untuk memberikan klien
kesempatan yang cukup menebak dengan benar. Keuntungan utama dari teknik ini adalah
bahwa tidak ada server lagi perlu mengirim menggunakan soket RAW, yang dapat
mengurangi hak istimewa yang diperlukan untuk server. Perhatikan bahwa server masih
harus mampu untuk mendengarkan jawaban ICMP, yang mengharuskan Soket RAW di
Linux. Dalam kasus NAT penuh kerucut, menggunakan Paket UDP bukannya ICMP echo
request juga memiliki keuntungan dari membangun pemetaan port yang kemudian dapat
digunakan sebagai metode alternatif untuk menghubungi peer. Perbedaan lain antara dua
pendekatan adalah mungkin payload yang dapat tertanam dalam respon. Dengan ICMP echo
request, payload dapat sebagai besar sebagai izin ukuran paket dan karenanya hanya dibatasi
oleh MTU jaringan fisik masing-masing. Well-formed ICMP UDP TTL balasan melebihi di
sisi lain hanya dapat berisi 32 bit payload: ICMP TTL MELEBIHI respon berisi 64 bit

pertama dari payload dari paket IP asli. Dalam 64 bit, 16-bit bidang checksum UDP dan 16bit UDP

Bagaimana usulan metode dilakukan


Terdapat tiga implementasi untuk melakukan usulan metode yang ada pada paper ini. Berikut
penjelasan dari implementasinya
Implementasi di NAT-Tester Framework
Implementasi kita di NAT-Tester framework digunakan untuk mengumpulkan data untuk
paper ini. Ini mentransmisikan berbagai maca tipe paket menggunakan taw socket dan
menggunakan libcap untuk menentukan pesan mana yang diteruskan oleh NAT. Pengguna
tersedia untuk W32 atau Linux. Implementasi ini berguna untuk peneliti yang tertarik untuk
meneliti berbagai macam metode NAT traversal lainnya.
Implementasi pada pwnat tool
Pwnat tool1 adalah GNU/Linux bisa mengimplementasikan sendiri dari autonomous
NAT traversal. Setelah mengkontak server dibelakang NAT kemudia menetapkan jalur dengan
TCPsemantics dengan menggunakan paket UDP. Ini mendukunf kedua user dan server dibelakan
NAT. Target pengguna dari implementasi ini adalah end user.
Implementasi di GNUnet Framework
Sudah diciptakan reusable implementasi dari ICMP berdasarkan metode NAT traversal di
GNUnet, framework milik GNU untuk mengamankan jaringan peer to peer.implementasinya
dibagi menjadi 3 komponen utama:
ICMP Server
Komponen ini adalah program kecil yang menyediakan inti ICMP berdasarkan
fungsinya terhadap server. Kode ini secara berkala menghasilkan pesan ICMP ECHO
REQUEST dan juga melisten tanggapan dari TTL EXCEEDE yang dating.
ICMP Client
Komponen ini adalah biner kecil yang mengirim pesan ICMP (palsu) tunggal ke
alamat IP yang ditetapkan command line. Penambahan argument dapat diberikan yang
akan ditafsirkan sebagai nomer port untuk dikirim digabung dengan pesan respon ICMP
yang palsu.

Transpot Plugin
Komponen ini mengimplementasi transport plugin GNUnet dan peer to peer
framework spesifik dari GNUnet. Tergantung pada bagaimana peer ini di konfigurasi, ini
mengontrol ICMP server atau klien dan akhrinya membentuk jaringan antar peer
Bagaimana hasil penggunaan metode
Metode ini telah diimplementasikan / di ujicoba dengan menggunakan NAT-Tester. Tipe
implementasi NAT yang diujicoba ada 4, yaitu full cone, restricted cone, port-restricted,
symmetric). Pengujian ini dilakukan dengan mempetimbangkan 2 kasus, yaitu yang
menggunakan ICMP ECHO REQUEST dan yang menggunakan transfer paket UDP.
Hasilnya adalah, semua macam NAT tadi memforward pesan ICMP palsu untuk UDP, sedangkan
yang menggunakan ICMP ECHO REQUEST hanya sebagian saja. Kebanyakan dari NAT juga
mempertahankan port sumber mereka. Sehingga pada akhirnya NAT, secara virtual mencegah
client mereka untuk mengirimkan pesan ICMP palsu tersebut.

Kelebihan dan Kekurangan


Kelebihan pada autonomous NAT Travesal ini antara lain dapat menghubungkan peer peer
yang berada di bawah NAT. Dengan adanya hubungan antar peer ini maka kita dapat saling
berkomunikasi antar jaringan yang berbeda NAT. Hal ini juga dapat dilakukan pada jaringan
yang tidak memiliki NAT ( IP nya bersifat public ), dengan menggunakan pesan balasan ICMP
yang palsu. Kelebihan lain dari autonomous NAT Traversal ini adalah tidak terlalu menggunakan
pihak ketiga dalam pembangunan jaringan antar NAT tersebut.
Kekurangan dari usulan ide ini adalah keamanan yang kurang terjamin karena tidak
menggunakan pihak ketiga yang cukup terjamin sekuritasnya. Selain itu, kadang perlu
melakukan penebakan pada port NAT, karena terkadang ada tipe NAT yang berbeda beda dan
dapat berubah port secara random. Cukup rumit untuk melakukan koneksi antar jaringan yang

memiliki NAT. Tidak semua dapat menggunakan pesan ICMP palsu untuk dapat terhubung
dengan server peer yang bersangkutan.

Anda mungkin juga menyukai