IP Address Spoofing

Umumnya firewall filter packet berdasarkan source IP address, firewall akan memeriksa apakah packet berasal dari sumber sah atau tidak sah. Untuk menghindari Firewall atau IDS, attacker menggunakan teknik IP address spoofing.

IP address spoofing adalah teknik dengan menggunakan IP address lain, mengubah packet header dan mengirimkan request ke target. Packet akan nampak dikirim dari sumber yang sah, padahal dikirim oleh attacker.

Ketika target merespon, packet akan dikirimkan ke spoofed address, teknik ini umumnya digunakan dalam DoS attack. Jika spoofed address adalah alamat yang tidak ada, menyebabkan hang sampai session time out, hal ini menghabiskan resource pada target host.

Berikut contoh IP address spoofing menggunakan hping3

$ hping3 www.certifiedhacker.com -a 7.7.7.7

Perhatian: kita tidak dapat melakukan 3-way handshake dan membuka koneksi TCP menggunakan spoofed IP address.

IP Spoofing Detection Technique

Direct TTL Probes

Pada teknik ini, akan dikirimkan intial packet atau ping request ke source yang sah (IP address yang di spoofed). Dari response yang diterima, bandingkan TTL dengan packet yang akan diperiksa. Keduanya akan memiliki nilai yang sama jika protokol yang digunakan sama.

Initial TTL value tergantung protokol yang digunakan, untuk TCP/UDP nilainya adalah 64 dan 128, sementara untuk ICMP adalah 128 dan 255.

Jika reply dari protokol yang berbeda, kita harus periksa actual hop count untuk mendeteksi spoofed packets. Kurangi TTL value dari packet initial TTL untuk menentukan hop count.

Akan mudah bagi attacker untuk melancarkan serangan ini jika mengetahui jumlah hop antara source dan target.

Teknik ini baik digunakan jika attacker berada dalam subnet yang berbeda dengan target.

IP Identification Number

Spoofed packet dapat diidentifikasi dengan memantau IP identification (IPID) dalam IP packet headers.

Nilai IPID akan bertambah setiap system mengirimkan packet. Setiap packet IP memiliki angka “fragment identificaiton”, dimana ditambahkan setiap transmisi packet.

Untuk mengidentifikasi apakah sebuah packet spoofed atau tidak, kirimkan probe packet ke source IP address dan amati nilai IPID balasan. Nilainya harus lebih besar dan dekat dengan IPID probe packet. Jika IPID response jauh berbeda dengan IPID probe packet, dapat disimpulkan packet adalah spoofed.

TCP Flow Control Method

TCP menggunakan algoritma prinsip sliding window untuk mengoptimalkan flow control dari sender dan reciever. User dapat mengatur flow dari IP packet dengan field window size pada TCP header. Field ini menunjukan jumlah data maksimum yang dapat diterima oleh recipient, dan jumlah data maksimum yang dapat dikirmkan oleh sender tanpa acknowledgement. Sender akan berhenti mengirimkan data ketika window size diset 0.

Pada general control yang umum, sender berhenti mengirimkan data ketika intial window size telah habis. Attacker yang tidak mengetahui ACK packet mengandung informasi window size, dapat terus mengirimkan paket data ke target. Jika target menerima data packets melebih window size, dapat disimpulkan packet tersebut spoofed.

Agar teknik ini efektif dan dapat mendeteksi pada awal spoofing, nilai initial window size harus kecil.

Sebagian besar serangan spoofing terjadi selama handshake, karena sulit untuk membuat multiple spoofing reply dengan nomor urut yang benar. Karena itu, gunakan flow control spoofed packet pada proses handshake.

Pada TCP handshake, host mengirimkan inisial SYN packet, menunggu SYN-ACK reply sebelum mengirimkan ACK packet. Untuk memeriksa apakah kita mendapatkan SYN packet dari spoofed atau bukan, set SYN-ACK ke 0. Jika sender mengirimkan ACK dengan data, ini berarti sender adalah spoofed, karena jika genuine source akan merespon hanya dengan ACK tanpa data.

IP Spoofing Countermeasure

Berikut beberapa countermeasure yang dapat dilakukan:

Hindari trust relationship

Jangan hanya bergantung pada IP-based authentication. Attacker dapat berpura-pura menjadi trusted hosts dan mengirimkan packet yang berbahaya. Jika kita menerima packet dengan asumsi percaya karena berasal dari trusted host, paket yang berbahaya tersebut dapat mencapai target.

Karena itu disarankan untuk selalu memeriksa setiap paket, walaupun itu berasal trusted host. Hal ini dapat dilakukan dengan mengimplementasikan password authentication bersama dengan trust-relationship-based authentication.

Gunakan Firewalls dan Mekanisme Filtering

Selalu me-filter semua incoming dan outgoing packets untuk menghindari serangan. Salah satu cara adalah gunakan access control list (ACL) untuk memblokir unauthorized access atau incoming.

Kenapa harus memeriksa outgoing packet juga? karena untuk mencegah serangan dilakukan dari dalam network, misalnya hacker berhasil memasang sniffing program yang akan mengirimkan informasi network.

Acak Initial Sequence Number

Kebanyakan devices menggunakan ISN berdasarkan timed counters. Ini menyebabkan ISN dapat ditebak oleh attacker. Jika berhasil ditebak, attacker dapat membuat koneksi ke target dan membaca network traffic. Untuk mencegah hal ini, gunakan random initial sequence number.

Ingress Filtering

Mencegah spoofed traffic dari luar. Diaplikasikan pada router dengan mengkonfigurasi ACL.

Egress Filtering

Mencegah IP spoofing dengan memblokir outgoing packets.

Meggunakan Enkripsi

Gunakan enkripsi untuk maksimum network security, dan gunakan enkripsi yang kuat untuk setiap traffic tanpa membedakan lokasi dan type. IPSec dapat mencegah IP spoofing secara drastis, menyediakan data authentication, integrity dan confidentiality.

Gunakan encryption session pada router agar trusted host dapat berkomunikasi secara secure dengan local hosts.

Yang perlu diperhatikan, gunakan algoritma enkripsi terbaru agar enrkripsi kuat dan tidak mudah dijebol.

SYN Flood Countermeasure

Melakukan SYN Flood countermeasure juga dapat mencegah IP spoofing attacks.

Sharing is caring:

Leave a Comment