autonomous nat traversal

11
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

Upload: ahmad-fandhi

Post on 12-Dec-2015

225 views

Category:

Documents


0 download

DESCRIPTION

menjelaskan tentang NAT TRansversal

TRANSCRIPT

Page 1: Autonomous NAT Traversal

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

Page 2: Autonomous NAT Traversal

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.

Page 3: Autonomous 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

Page 4: Autonomous NAT Traversal

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

Page 5: Autonomous NAT Traversal

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

bit 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.

Page 6: Autonomous NAT Traversal

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.

Page 7: Autonomous NAT Traversal

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

Page 8: Autonomous NAT Traversal

memiliki NAT. Tidak semua dapat menggunakan pesan ICMP palsu untuk dapat terhubung

dengan server peer yang bersangkutan.