Minggu, 14 Maret 2010

IP Spoofing

Bagi orang IT yang sehari-harinya bergelut di dunia security (satpamnya IT), pasti sering sekali mendengar istilah IP Spoofing. Namun bagi orang awam, meskipun ‘pernah’ mendengarnya. Tapi mungkin belum tahu detil cara kerja dan konsepnya.

IP spoofing adalah salah satu teknik yang digunakan untuk mendapatkan akses secara ilegal (unauthorized) ke komputer lain. Hacker mengirimkan data ke komputer lain dengan alamat IP yang seakan-akan berasal dari komputer yang dikenal (trusted).
Agar bisa melakukan IP spoofing, hacker terlebih dulu harus mencari sasaran yang akan dijadikan korban sebagai sumber spoofing, kemudian merubah / intercept paket header data dan dikirimkan ke komputer yang menjadi target.

Jadi jelas bisa kita katakan bahwa tujuan menggunakan spoofing adalah untuk menyembunyikan identitas asli mereka. IP spoofing merupakan salah satu teknik yang populer digunakan. IP spoofing berawal di sekitar tahun 80-an dengan ditemukannya kelemahan pada protokol TCP yang dikenal dengan prediksi urutan atau rangkaian paket TCP (sequence prediction). Hal ini memancing para ahli lain untuk ikut membahas kelemahan ini pada protokol TCP/IP. Kevin Mitnick juga menggunakan teknik untuk meng-hack mesin Profesor Tsutomu Shimomura.

IP (Internet Protocol)

IP merupakan network protokol yang beroperasi pada layer ke 3 dari OSI (Baca artikel OSI layer). IP merupakan protokol yang termasuk ’connectionless’. Artinya tidak ada mekanisme yang dibutuhkan untuk memastikan informasi atau data yang dikirimkan sampai ke tempat tujuan (konfirmasi). Kalau kita membaca atau melihat IP header, dapat terlihat bahwa 12 bytes pertama berisikan informasi mengenai paket data tersebut. Sedangkan 8 bytes berikutnya berisikan alamat sumber dan tujuan. Dengan menggunakan tools tertentu, hacker dapat melakukan modifikasi alamat-alamat tersebut pada IP header – terutama alamat sumber untuk tujuan aktivitas IP spoofing. Karena sifatnya yang ’connectionless’ seperti penjelasan di atas, maka setiap paket data dikirimkan sendiri-sendiri tanpa ada ikatan antara paket satu dengan lainnya.

TCP – Transmission Control Protocol

Lain halnya dengan IP, TCP merupakan protokol yang connection oriented artinya ada langkah (step) konfirmasi yang dibutuhkan dalam komunikasi atau pada saat pengiriman data. Ingat 3-way handshake yang saya bahas di buku ’Hack Attack’ ? OK. Bagi yang belum baca, saya akan bahas sekilas. Pada saat satu host akan mengirimkan data dengan protokol TCP ke host lain, maka host sumber akan mengirimkan kode SYN ke host satunya. Host target kalau sedang idle atau bisa menerima kiriman data, akan reply dengan kode SYN-ACK. Yang kemudian host sumber akan me-reply lagi dengan kode ACK. Kalau di kehidupan sehari-hari, bisa digambarkan sebagai berikut, misalnya saya ingin ke rumah teman saya. Saya akan telpon dulu, ‘Hey, kamu ada di rumah ngak saat ini ?’. Kalau teman saya ngak ada, berarti telpon saya tidak akan direspon (tidak diangkat). Kalau ada, dia bilang, oh bisa, saya lagi ngak ada kerjaan. Berarti teman saya memberikan respon SYN-ACK. Selanjutnya saya akan memberikan konfirmasi ACK, OK, saya akan ke tempatmu sekarang. Jelas ?

Sama halnya dengan IP, TCP juga mempunyai header dalam setiap datagram. 12 bytes pertama dalam TCP header berisikan informasi seperti port dan informasi lain seperti sequence number yang dibutuhkan untuk menyusun kembali urutan data yang dikirimkan atau untuk menentukan paket data perlu di-kirim lagi atau tidak.

Setelah melihat penjelasan di atas dapat kita simpulkan bahwa TCP/IP design mempunyai konsekuensi terhadap berbagai serangan yang menggunakan teknik manipulasi header atau menebak nomor sequence sehingga dapat memicu session hijacking.

Pencegahan IP Spoofing

Lalu bagaimana pencegahan terhadap IP spoofing ?

1. Filtering di sisi router.

Implementasi kan ACL (access control list) yang melakukan block terhadap alamat IP private (192.x.x.x atau 10.x.x.x) di sisi interface downstream (dari luar ke jaringan internal). Juga lakukan blok alamat IP di luar alamat valid internal di sisi upstream interface (dari internal ke luar), hal ini untuk mencegah adanya usaha melakukan spoofing dari internal ke luar. Namun cara ini mempunyai kelemahan, yaitu tidak bisa mengontrol jika serangan dilakukan dari dalam (internal attack) terhadap korban di dalam satu jaringan yang sama.

2. Menerapkan enkripsi.

Hal ini untuk mencegah packet data di-hijack orang di tengah jalan. Karena data di transmisikan dari sumber ke tujuan dalam bentuk di-enkrip.

0 komentar:

copyright @ nofianto777 2011 || design by : doel_sumbang2001