Kamis, 30 April 2009

Eksploitasi Keamanan( Pert XIII)

1. Network/Socket Programming

Keperluan akan komunikasi antar komputer membutuhkan suatu skema/aturan
komunikasi (protokol) dan implementasinya dalam hardware dan software.
Dalam sistem UNIX, disediakan cara untuk berkomunikasi dengan jaringan:
socket. Secara umum, socket adalah cara berkomunikasi dengan program
lain menggunakan deskriptor file Unix. Dalam Unix, setiap objek
dipandang sebagai file dan akses ke objek tersebut menggunakan
deskriptor file: suatu nilai intejer yang diasosiasikan dengan suatu
file yang dibuka. Socket yang akan dibahas di sini adalah socket
internet (DARPA). Socket internet lebih lanjut dibagi lagi dalam dua
jenis: stream sockets dan datagram (connectionless) sockets. Keduanya
didefinisikan dalam protokol standard yang dibuat oleh DARPA: TCP/IP.
Saat ini TCP/IP adalah standard defacto yang digunakan oleh banyak
jaringan komputer di dunia. Dari cara pengalamatan (alamat IP), asosiasi
socket dengan port, pembukaan koneksi, pertukaran paket, hingga
pemutusan koneksi akan dibahas di sini. Semuanya akan menggunakan bahasa
C dan raw socket library Linux.

2. Eksploitasi Keamanan Jaringan

Dua sumber lubang keamanan jaringan: kesalahan desain dan kesalahan
implementasi. Paper ini akan membahas eksploitasi keamanan jaringan
melalui manipulasi paket data TCP/IP melalui socket programming untuk
masing-masing sumber lubang keamanan.

ARP dan ICMP Redirection Game mengeksploitasi kesalahan desain protokol
ARP (Address Resolution Protocol) dan ICMP (Internet Common Message
Protocol). Akibat darinya adalah serangan DoS (Denial of Service),
spoofing, dan pengalihan trafik melalui komputer kita. Pengalihan trafik
ICMP memiliki potensi serangan DoS. Akan dibahas mengenai protokol ARP
dan ICMP, dan diungkapkan di mana protokol ini akan dieksploitasi.
Sebuah program C akan diberikan untuk mengimplementasikan mekanisme
serangan itu.

Suatu sumber lubang yang berasal dari kesalahan implementasi adalah
fragmentasi (pemotongan) paket IP dalam sistem operasi Linux dan Windoz.
Ada bukti bahwa sistem tersebut dapat crash ketika mengolah perakitan
(reassembly) paket dengan potongan paket IP yang tumpang tindih.
Implementasi Linux menunjukkan bahwa panjang potongan memang diperiksa
apakah terlalu besar, namun tidak diperiksa apakah terlalu kecil.

Contoh program yang akan diberikan akan menggunakan dasar pemrograman
socket Unix dan membentuk paket-paket yang akan menyebabkan
tereksploitasinya sistem operasi yang rentan. Program hanya digunakan
untuk pembuktian lubang keamanan, bukan untuk digunakan menyerang.

Tidak ada komentar: