You are on page 1of 31

MAKALAH

SERVER ERROR DAN KOMPUTER HANG

Oleh : Ariyanto 1008036137

UNIVERSITAS MUHAMMADIYAH PROF.DR.HAMKA


PROGRAM PASCA SARJANA ADMINISTRASI PENDIDIKAN JAKARTA 201 BAB I

PENDAHULUAN
Latar Belakang
Pada era global saat ini, keamanan jaringan internet harus sangat diperhatikan, karena jaringan Internet yang sifatnya publik dan global pada dasarnya tidak aman. Pada saat data terkirim dari suatu terminal asal menuju ke terminal tujuan dalam Internet, data itu akan melewati sejumlah terminal yang lain yang berarti akan memberi kesempatan pada user Internet yang lain untuk menyadap atau mengubah data tersebut..

Seiring dengan semakin berkembangnya system keamanan tersebut berdampak pula pada berkembangnya suatu bentuk usaha-usaha untuk mencari lubang keamanan lain. Diantaranya yaitu dengan melakukan pendeteksian, penyusupan bahkan penyerangan pada suatu target host dengan memanfaatkan protokol ICMP. ICMP (Internet Control message Protokol) adalah protocol pada TCP/IP yang bertugas mengirimkan pesan-pesan kesalahan dan kondisi lain yang memerlukan perhatian khusus. Hal ini dapat dilakukan dengan mengevaluasi pesan yang dihasilkan oleh ICMP. Jenis pesan pada ICMP ada dua yaitu ICMP Error Message dan ICMP Query Message Dengan memanfaatkan kedua message ini memungkinkan seorang hacker untuk mengumpulkan informasi sebanyak-banyaknya sebelum melakukan penyerangan ( ICMP sweep, traceroute, OS Fingerprinting) dan menyiapkan strategi yang diperlukan untuk melakukan penyerangan (ICMP route redirect, ICMP informational messages, ICMP router Discovery Messages dan ICMP flood). Usaha2 tersebut dapat dilakukan manual dengan cara mengevaluasi data-data request dan reply pada tcpdump atau dapat juga dilakukan secara otomatis dengan menggunakan tool yang saat ini sudah banyak beredar dan dapat didownload dari internet.

Maksud Tujuan
Dalam tugas akhir matakuliah sistem keamanan komputer dengan judul pemanfaatan protocol ICMP untuk ekploitasi jaringan komputer ini bertujuan untuk menambah wawasan penulis tentang keberadaaan protocol ICMP sebagai suatu tool powerfull yang dapat digunakan

untuk memberikan bermacam-macam informasi tentang host , device maupun jaringan. Selain itu juga ICMP dapat dimanfaatkan oleh seorang hacker / attacker untuk melakukan serangan.

Metode Penulisan Tugas akhir ini ditulis berdasarkan beberapa referensi yang didapatkan dari literatur mengenai keamanan jaringan internet. Analisa keamanan suatu jaringan dilakukan dengan menggunakan tool-tool sederhana yang sering digunakan oleh setiap pengguna komputer

BAB II DASAR TEORI PROTOKOL ICMP

Definisi dan karakteristik


ICMP (Internet Control Message Protocol) [1] adalah protocol yang bertugas mengirimkan pesan-pesan kesalahan dan kondisi lain yang memerlukan perhatian khusus. Pesan / paket ICMP dikirim jika terjadi masalah pada layer IP dan layer diatasnya (TCP/UDP). Karakteristik dari ICMP adalah : ICMP merupakan bagian internal dari IP dan diimplementasikan disetiap module IP ICMP digunakan untuk menyediakan feedback tentang beberapa error pada sebuah proses datagram. Tidak mendukung kehandalan pengiriman paket IP. Datagram/ paket bisa tidak terkirim dan tidak ada report pemberitahuan tentang kehilangan datagram. Jika diperlukan adanya kehandalan maka harus diimplementasikan pada layer transport ( pada arsitektur TCP /IP). Tidak ada respon ICMP yang dikirimkan untuk menghindari adanya perulangan tak terbatas, kecuali respon dari query message ( ICMP type 0, 8-10, 13-18). ICMP error message tidak pernah dikirimkan sebagai respon sebuah datagram untuk tujuan broadcast atau multicast.

ICMP Message
ICMP message dikirimkan didalam IP datagram. Format ICMP message dapat dilihat pada gambar 1. Dari gambar terlihat bahwa nomor protocol selalu 1 (ICMP) dan Type of Service selalu nol.

Gambar 1. Format ICMP Message ICMP error message


Setiap ICMP error message terdiri dari Internet Header (IP) dan sekurangnya 8 data octet (byte) pada datagram. Pada field Type menspesifikasikan tipe dari message, sementara error code pada datagram dilaporkan oleh ICMP message pada field Code. Pengertian setiap code bergantung dari tipe message.

Dibawah ini adalah tabel yang berisi penjelasan setiap tipe dan code

Tabel 1

Pada kondisi normal protocol IP berjalan baik dan menghasilkan proses penggunaan memori serta sumber daya transmisi yang efisien. Namun ada beberapa kondisi dimana koneksi IP terganggu, misalnya karena router yang crash, putusnya kabel atau matinya host tujuan. Pada saat ini ICMP berperan membantu menstabilkan kondisi jaringan. Hal ini dilakukan dengan cara

memberikan pesan-pesan tertentu, sebagai respons atas kondisi tertentu yang terjadi pada jaringan tersebut.
ICMP A server C Router D B

Link down

Gambar 2. Timbulnya ICMP

Sebagai contoh, pada gambar diatas, hubungan antar router A dan B mengalami masalah, maka router A akan secara otomatis mengirimkan paket ICMP Destination Unreachable ke host pengirim paket yang berusaha melewati host B menuju tujuannya. Dengan adanya pemberitahuan ini maka host tujuan tidak akan terus menerus berusaha mengirimkan paketnya melewati router B. Contoh diatas hanya sebagian dari jenis pesan ICMP. Ada dua tipe pesan yang dapat dihasilkan oleh ICMP yaitu ICMP Error Message dan ICMP Query Message. ICMP Error Message sesuai namanya dihasilkan jika terjadi kesalahan pada jaringan. Sedangkan ICMP Query Message ialah jenis pesan yang dihasilkan oleh protocol ICMP jika pengirim paket menginginkan informasi tertentu yang berkaitan dengan kondisi jaringan. ICMP Error Message dibagi menjadi beberapa jenis diantaranya : Destination Unreachable, Pesan ini dihasilkan oleh router jika pengiriman paket mengalami kegagalan akibat masalah putusnya jalur, baik secara fisik maupun secara logic. Destination Unreachable ini dibagi menjadi beberapa tipe. Beberapa tipe yang penting adalah: Network Unreachable, jika jaringan tujuan tak dapat dihubungi Host Unreachable, jika host tujuan tak bisa dihubungi Protocol at Destination is Unreachable, jika ditujuan tak tersedia protocol tersebut Port is Unreachable, jika tidak ada port yang dimaksud pada tujuan Destination Network is Unknown, jika network tujuan tak diketahui Destination Host is Unknown, jika host tujuan tidak diketahui

Time exceeded, Paket ICMP jenis ini dikirimkan jika isi field TTL dalam paket IP sudah habis dan paket belum juga sampai ke tujuannya. Sebagaimana telah diterangkan pada bagian IP diatas, tiap kali sebuah paket IP melewati satu router, nilai TTL dalam paket tersebut dikurangi satu. TTL ini diterapkan untuk mencegah timbulnya paket IP yang terus menerus berputar dinetwork karena suatu kesalahan tertentu, sehingga menghabiskan sumberdaya jaringan yang ada. Parameter Problem, paket ini dikirimkan jika terdapat kesalahan paameter pada header paket IP Source Quench, Paket ICMP ini dikirimkan jika router atau tujuan mengalami kongesti. Sebagai respons pada paket ini, pihak pengirim paket harus memperlambat pengiriman paketnya.

Redirect, paket ini dikirimkan jika router merasa host mengirimkan paket IP melalui router yang salah. Paket ini seharusnya dikirimkan melalui router lain. Sedangkan ICMP Query Messages terdiri atas: Echo dan Echo Reply. Bertujuan untuk memeriksa apakah system tujuan dalam keadaan aktif. Program ping merupakan program pengiriman paket ini. Responder harus menembalikan data yang sama dengan data yang dikirimkan. Timestamp dan Timestamp Reply. Menghasilkan informasi waktu yang diperlukan system tujuan untuk memproses suatu paket. Address mask, Untuk mengetahui berapa netmask yang harus digunakan oleh suatu host dalam suatu network. Sebagai paket pengatur kelancaran jaringan, paket ICMP tidak diperbolehkan membebani network. Karenanya paket ICMP tidak boleh dikirim saat terjadi problem yang disebabkan oleh: Kegagalan pengiriman paket ICMP Kegagalan pengiriman paket broadcast atau multica

BAB III PEMBAHASAN Exploitasi Keamanan Phase I - RECONNAISSANCE & SCANNING


Sebelum melakukan penyerangan diperlukan adanya usaha-usaha untuk melakukan pengumpulan informasi sebanyak-banyaknya mengenai target host diantaranya yaitu melakukan pendeteksian (detection host), Inverse mapping dan Traceroute. Dibawah ini adalah uraian yang dilakukan untuk proses pengumpulan informasi tersebut : Detection Host Dengan melakukan pendeteksian pada sebuah host dapat memberikan informasi penting bagi attacker. Hal ini dilakukan dengan mengidentifikasi sebuah komputer pada jaringan yang menjadi target yang dapat dicapai dari internet. Aktifitas yang dilakukan didalam melakukan pendeteksian host adalah sebagai berikut: ICMP Echo (Type 8) dan Echo Reply (Type 0) Kita dapat menggunakan sebuah ICMP Echo datagram untuk menentukan apakah sebuah target IP Address aktif atau tidak.dengan mengirimkan sebuah ICMP echo datagram ke sebuah target system dan menunggu ICMP reply. Jika ICMP diterima mengindikasikan bahwa target sedang aktif ( hidup) jika tidak ada respon berarti target host sedang tidak aktif (mati) atau ada

sebuah filter utk mencegah ICMP echo datagram ke dalam jaringan. Cara diatas dapat digunakan secara manual dengan menggunakan command ping dan snort trace.

Gambar 3. Mekanisme ICMP Echo

ICMP Sweep Fungsi dari ICMP sweep pada prinsipnya sama dengan ICMP echo dan ICMP echo reply yaitu untuk mencari tahu apakah system dalam keadaan hidup atau mati bedanya adalah untuk jaringan kecil sampai sedang masih bisa menggunakan command ping untuk melakukan pendeteksian host, namun untuk jaringan besar sebaiknya tidak menggunakan command ping karena untuk prosesnya membutuhkan waktu agak lama. Hal ini disebabkan karena setiap command Ping menunggu sebuah reply dari probed host sebelum dilanjutkan ke proses berikutnya.

Broadcast ICMP
Cara termudah untuk mengetahui host yang hidup pada sebuah target jaringan adalah dengan mengirimkan ICMP echo request ke broadcast address pada target jaringan tersebut. Sebuah permintaan (request) akan dikirim secara broadcast kesemua host pada target network. Host yang hidup akan mengirimkan ICMP echo reply.

Gambar 4. Broadcast ICMP

Traceroute
Tool penting lain yang berguna untuk memetakan konfigurasi jaringan suatu target adalah dengan menggunakan sebuah command sederhana yang dikenal dengan traceroute[3]. Kegunaannya adalah untuk mengirimkan secara serempak sebuah urutan paket dengan menambahkan nilai TTL (Time to Live). Ketika sebuah router lanjutan menerima sebuah paket terusan, maka akan mengurangi nilai TTL sebelum meneruskan nya ke router berikutnya. Pada saat itu jika nilai TTL pada sebuah paket mencapai nilai nol sebuah pesan time exceeded akan dikirim balik ke host asal. Dengan mengirimkan paket dengan nilai TTL 1 akan memperbolehkan router pertama didalam jalur paket untuk mengembalikan pesan time exceeded yang akan memperbolehkan / mengizinkan attacker untuk mengetahui IP address router pertama. Kemudian paket berikutnya dikirimkan dengan menambahkan nilai 1 pada TTL , sehingga attacker akan mengetahui setiap loncatan antara host asal dengan target host. Dengan menggunakan teknik ini, attacker tidak hanya mengetahui jejak jalur sebuah paket saat menuju target tetapi juga memberikan informasi topologi target network . Informasi ini sangat

penting untuk attacker didalam melakukan perencanaan penyerangan ke sebuah network. Contoh pemakaian command traceroute :

Fungsi dari trace route sendiri saat ini sudah semakin berkembang diantaranya yaitu : Mentrace lokasi geografik suatu system Mendapatkan informasi tentang topologi suatu jaringan Mendeteksi adanya firewall Mendeteksi OS Fingerprinting Inverse mapping adalah sebuah teknik yang digunakan untuk memetakan internal jaringan atau host yang dilindungi oleh sebuah filtering device. Biasanya beberapa system tersebut tidak terjangkau oleh internet. Dengan menggunakan routers,akan memberikan informasi arsitektur internal dari sebuah network. Attacker mengumpulkan / menyusun sebuah daftar IP, dimana daftar tersebut tidak ada disana, dan memanfaatkannya untuk menyimpulkan kemungkinan keberadaannya. Kemudian mengirimkan sejumlah paket sembarang ke suatu jaringan yang akan di probe. Ketika sebuah router baik itu interior ataupun exterior mendapatkan paket tersebut dan diproses lebih lanjut, router melihat pada IP addressnya dan memutuskan jalur routing. Ketika sebuah router mendapatkan paket dengan IP addressnya tidak terdapat pada jaringan tersebut, router mengirimkan ICMP host Unreachable atau ICMP Time Exceeded Error Message ke

Inverse Mapping

originating. Jika tidak didapatkan jawaban diasumsikan bahwa IP ini berada didalam jaringan yang diprobe.

OS Fingerprinting
Sebelum penyerangan dilakukan selain mengetahui adanya target host, sangatlah bermanfaat sekali jika mengetahui operating system yang digunakan dan service yang tersedia. Ketika port scanner dapat menentukan tipe dari service yang ditawarkan pada system, ICMP dapat juga digunakan untuk membantu menentukan operating system. Keuntungan dari penggunaan protocol ICMP didalam sebuah remote OS fingerprinting adalah memberikan kemudahan bagi ataccker untuk melakukan proses identifikasi OS secara diam-diam (tidak diketahui oleh target host). Dalam beberapa hal hanya diperlukan sebuah paket single yang dikirimkan untuk menentukan operating system yang digunakan oleh target system. Remote OS Fingerprinting adalah sebuah teknik yang mengeksploitasi perbedaan operating system setiap vendor didalam menangani network traffic. Dengan menggunakan protocol ICMP ada beberapa metode yang digunakan untuk melakukan Remote OS Fingerprinting diantaranya yaitu :

Menggunakan nilai IP TTL pada ICMP Echo Request


Dengan menggunakan nilai IP TTL pada ICMP Echo Request ( hasil dapat dilihat pada Tcpdump) dan membandingkannya dengan table ( hasil penelitian dari Ofir Arkin) maka akan didapat jenis Operating system yang sedang digunakan.

Tabel 2
Hasil Evaluasi Hasil keluaran pada Tcpdump dibandingkan dengan table 2 maka didapat operating system yang sedang aktif adalah unix. Bila dilihat pada table 2 nilai TTL 255 dimiliki oleh group unix, sedangkan group windows nilai TTLnya adalah 128 kecuali Windows 95 nilainya adalah 32. 15). Jika terdapat reply pada ICMP timestamps request precedence bit !=0 berarti OS yang digunakan yaitu kemungkinan Windows 98/98SE/ME, Ultrix atau Microsoft windows 2000 family. Untuk lebih detailnya dari kemungkinan OS diatas diperjelas lagi dengan di replykan sebuah TTL. Bila nilai TTL adalah 128 berarti OS yang digunakan yaitu kemungkinan windows 98/98SE atau ME. Namun bila TTLnya 255 berarti OS yang digunakan open VMS. Dari kemungkinan windows 98/98Se/ME di perjelas lagi dengan mengirimkan ICMP address mask request. Bila dikirimkan reply berarti OS yang digunakan yaitu Windows 98/98SE, namun bila tidak dikirimkan reply berarti Osnya Windows ME. Untuk evaluasi / analisa lebih detail diperlukan proses lanjutan menggunakan ICMP Timestamp Request Precedence Bits dan ICMP Address mask Request ( lihat diagram 1 pada hal

Alur diagram Request reply (hasil penelitian Ofir Arkan) [6] seperti dibawah ini:

Diagram 1 OS Fingerprinting dengan memanfaatkan ICMP ini dapat juga dilakukan seperti langkah dibawah ini: Langkah 1: Attacker mengirimkan sebuah paket UDP dengan menset DF bit ke sebuah target host dimana port UDPnya tertutup Langkah 2: Sebuah pesan ICMP Destination unreachable port akan dikembalikan ke attacker Langkah 3: Oleh karena itu host yang berbeda akan mengirim kembali paket ICMP yang berbeda. Operating system dapat ditentukan dengan memeriksa beberapa bit didalam paket kembalian. Jika melihat pada field precedence bits pada paket dan nilainya adalah 0xc0, operating system dapat disimpulkan adalah linux kernel 2.0.x / 2.2.x / 2.4.x atau sebuah route cisco atau sebuah network switch. Dalam hal ini untuk membedakan antara Linux kernel dan device networking , metode ICMP error Quoting Size fingerprinting dapat digunakan. Pada metode ini pengembalian paket ICMP diperiksa untuk sejumlah byte yang dikembalikan. Linux kernel akan mengembalikan sebuah perbedaan jumlah bytes dibandingkan dengan networking device, jadi dapat dibedakan keduanya. Satu langkah selanjutnya adalah dapat membedakan antara versi linux kernel. Dalam kasus ini kami akan melihat nilai IP TTL yang diset., linux kernel 2.0.x

mempunyai nilai inisial 64 sedangkan 2.2.x dan 2.4.x menggunakan nilai inisial 255. Sekarang untuk membedakan antara 2.2.x dan 2.4.x adalah melihat nilai IP ID pada paket. 2.4.1 2.4.4 mempunyai sebuah nilai samadengan nol tidak seperti 2.2.x. Jadi dengan melihat pada 1 pengembalian paket dari target, attacker dapat menentukan tipe dan versi dari operating system. Teknik lain seperti bagaimana sebuah host merespond sebuah ICMP timestamp request juga digunakan untuk membedakan antara operating system. X Probe [7] adalah sebuah tool untuk pendeteksian OS secara otomatis. IV. Phase 2- EXPLOITING SYSTEM Setelah selesai melakukan pengumpulan data yaitu pendeteksian, pemetaan topologi jaringan dan inverse mapping, dimana kegiatan tersebut dilakukankan pada phase 1 ke suatu target host, seorang attacker akan melakukan suatu eksploiting system yang dapat mengakibatkan denial of service dan distributed denial of service. Pada eksploiting system ini attacker memanfaatkan protocol ICMP. Karena protocol ICMP selain dapat digunakan untuk memberitahukan keadaan suatu jaringan juga dapat digunakan untuk melakukan serangan. Dibawah ini adalah scenario-skenario yang dimungkinkan untuk melakukan serangan / attack. ICMP ROUTE REDIRECT Sebuah pesan ICMP Route Redirect[8] dikirimkan ketika sebuah gateway / router menerima IP traffic dari sebuah host dan menemukan pada routing tabelnya bahwa seharusnya IP traffic tersebut diroutekan melalui gateway lain yang berada pada jaringan yang sama. Sebenarnya hal ini tidak menjadi masalah, tetapi melalui scenario dibawah ini terlihat bahwa hal ini dapat dieksploitasi dengan mengizinkan / memperbolehkan adanya man in the midle attack.

Gambar 6. ICMP Route Redirect Tujuan : Attacker (host) yang berpura-pura sebagai sebuah router ( posisinya pada G1) merencanakan untuk melakukan pengambilalihan gateway G1 agar dapat berhubungan / berkomunikasi dengan source host (target host) tanpa sepengetahuan source host bahwa G1 adalah attacker. Hal ini dilakukan karena routing eksisting yang berlaku yaitu souce host G2 destination host tidak melalui G1. Tujuan attack ini adalah attacker akan menyadap atau bahkan mengedit informasi-informasi yang dikirimkan dari source host ke destination host tanpa sepengetahuan source host dengan cara mengirimkan suatu message ICMP route redirect ke source host.

Tahapannya adalah sebagai berikut: Langkah 1: Attacker mengirimkan sebuah paket TCP open ke source host seolah-olah berasal dari destination host. Langkah 2: Ketika sebuah reply transit dari source host ke destination host melalui gateway G2, attacker mengirimkan sebuah pesan ICMP route redirect ke source host dengan berpura-pura sebagai G2. Langkah 3: Source host menerima pesan perubahan route dan segera melakukan perubahan rute pada routing tabelnya. Setelah itu semua trafik untuk destination host melalui G2 berubah menjadi melalui G1. Bila sebelumnya

jalur rutenya adalah Source host G2 Destination Host. Namun karena pengaruh dari dikirimkannya message ICMP route redirect oleh attacker menyebabkan routenya berubah menjadi Source host G1 G2 Destination host. Langkah 4: Tanpa sepengetahuan source host ,sekarang attacker dapat melakukan manipulasi data dengan cara membaca,merubah dan mengirimkan trafik ke destination host dengan menjelma sebagai man in the middle host. ICMP Informational Messages Eksploiting system kedua yang dilakukan oleh seorang attacker dikenal dengan ICMP Informational Message. Eksploiting system ini dilakukan dengan cara mengirimkan pesan oversized ke sebuah target host. Hal ini dapat berpotensi menyebabkan crash/reboot pada target host sehingga system menjadi hang. Beberapa OS tidak mengetahui bagaimana menangani paket dengan ukuran lebih besar dari ukuran maksimum yang ditetapkan oleh RFC. Spesifikasi TCP/IP menyebutkan bahwa maksimum besar paket yang dapat dihandle adalah sebesar 65536 octets/byte. Eksploitasi ini dilakukan dengan menggunakan command ping dengan membawa sebuah paket yang ukurannya lebih besar dari 65536 octets/bytes. Beberapa OS akan memeriksa ukuran dari paket ping tersebut, bila ternyata ukuran paket lebih besar dari 65536 octets, maka paket tersebut ditolak. Namun dalam perkembangannya ada beberapa tool yang tersedia diinternet dan dapat didownload yang memungkinkan atacker untuk mengirimkan ping dengan besar paket yang dapat disesuaikan. Salah satu contohnya adalah hping2 [9]. Jika target host tidak seutuhnya dipatch, OS akan membeku atau reboot setelah menerima satu kelebihan paket. Dengan mengeksploitasi fragmentation seperti oversized ICMP packet, dapat mengakibatkan beberapa OS menghentikan responnya dan mengharuskan untuk melakukan reboot untuk memulihkannya dari attack ini. Eksploitasi ini dapat dilakukan dengan menggunakan tool Ssping [10].). Lebih lanjut dapat juga mengunakan tool lain yaitu Jolt2 [11]. Pada attack ini pengiriman sejumlah besar paket ICMP fragmented ke target host akan menyebabkan sebuah host menghentikan responnya pada periode waktu tertetu pada saat proses penyerangan sedang berjalan.

Tool lain seperti teardrop [12] mengirimkan sebuah aliran paket fragmented ke target host dan mengembalikan secara bersamaan. Ketika sebuah host mencoba untuk menjalankan tool tersebut, didapatkan bahwa ukuran paket tidak sesuai dengan persyaratan. Hal ini mengakibatkan target host menjadi hang dan memerlukan re-boot sebelum dapat berfungsi kembali. ICMP Router Discovery Messages Eksploiting system ketiga yaitu ICMP Router Discovery Messages. Eksploiting system ini dilakukan dengan cara memanipulasi pesan yang dikirimkan oleh attacker dimana seolah-olah pesan itu berasal dari router sebenarnya (default router). Sebelum sebuah host A mengirimkan sebuah message ke suatu host B diluar subnet, host A harus dapat mengidentifikasi alamat router yang akan digunakan. Hal ini dapat dilakukan dengan membaca konfigurasi file pada saat start up dan pada beberapa multicast network dengan mendengarkan protocol routing. Pada ICMP router Discovery Protokol dapat menggunakan Router advertisement seperti pesan yang ada pada router solicitation yaitu suatu host dapat menemukan IP address sebuah router yang digunakan pada jaringan tersebut. Ketika sebuah host mulai diaktifkan, ia akan menggunakan pesan router solicitation untuk memeriksa address pada router. Jika pesan tidak otentik, attacker pada subnet yang sama dengan host dapat memalsukan pesan ini. Tahapannya adalah sebagai berikut: Langkah1 : Sebuah Host yang baru diaktifkan akan mengeluarkan pesan router solicitation untuk menemukan default router pada jaringan dimana host itu berada. Langkah 2 : Pada saat yang sama attacker mendengarkan pesan dan mengirimkan pesan palsu seolah-olah berasal dari default router. Langkah 3 : Default router pada host sekarang diset menggunakan IP address attacker Langkah 4 : Kemudian attacker dapat melakukan sniffing dan menjelma menjadi man in the middle attack untuk menyadap semua trafik outgoing yang melalui mesin attacker.

ICMP Flood

Gambar 7. ICMP Flood Eksploiting system terakhir dikenal dengan ICMP Flood. Seorang attacker melakukan eksploiting system ini bertujuan untuk membuat suatu target host menjadi hang, yang disebabkan karena pengiriman sejumlah paket yang besar ke arah target host. Eksploting system ini dilakukan dengan cara mengirimkan suatu command ping dengan tujuan broadcast atau multicast dimana sipengirim dibuat seolah-olah adalah target host. Semua pesan balasan dikembalikan ke target host, hal inilah yang membuat target host tersebut menjadi hang dan menurunkan kinerja jaringan. Bahkan hal ini dapat mengakibatkan terjadinya denial of service. Smurf [13] attacks sangat pandai: mereka menggunakan seluruh komputer pada jaringan untuk menghubungkan sejumlah besar trafik ke sebuah mesin dan jaringan yang menjadi korban. Sebuah smurf attack digambarkan seperti dibawah ini: Langkah 1: Attacker menemukan beberapa network intermediary yang akan merespon ke network broadcast address. Langkah 2: Attacker membuat jaringan diatas. IP address palsu (victim host) ICMP echo request dan mengirimkan sejumlah besar paket ke broadcast address pada

Langkah 3: Sekarang semua host pada jaringan akan merespon balik ICMP echo request dengan mengirimkan ICMP echo reply ke IP Address yang menjadi target (Victim host) Langkah 4: Hal ini akan mengakibatkan sejumlah besar ICMP echo replies tertuju ke victim dan jaringannya sehingga mengakibatkan penurunan performansi network dan denial of services.
Phase 3 MENGAMANKAN TRACKS Setelah attacker berhasil masuk dan mengendalikan sebuah sistem, salah satu jalan untuk

menyembunyikan informasi yang dikirimkan melalui sebuah network adalah dengan menggunakan suatu teknik yang disebut tunneling. Tunneling dilakukan dengan cara menyembunyikan satu protokol didalam protokol lain. Loki2 [14] adalah satu contoh implementasi yang menggunakan protokol ICMP dan UDP tunneling untuk mendapatkan sebuah kebalikan shell dari sebuah attacked sistem. Langkahnya adalah sebagai berikut: Langkah 1 : Attacker menjadi root pada sebuah victim sistem Langkah 2 : Attacker memakai Loki2 dan menyusunnya pada mesin Langkah 3: Langkah 4: Attacker mengunakan Loki2 client pada attacking mesin dan mendapat sebuah kebalikan shell pada victim host. Sekarang attacker mempunyai akses sell ke victim machine sementara tunneling traffic melalui paket ICMP normal. Seperti pada penyerangan, trafik yang dikirimkan antara Loki client dan Loki server hampir tersembunyi seolah2 tidak ada listening port terbuka pada victim machine dan bahkan trafik dapat dienkripsi dengan sebuah algoritma enkripsi seperti blowfish. Loki2 ketika diimplementasikan seperti sebuah module kernel akan menjadi lebih stealthier seolah2 tidak akan terproses oleh ICMP traffic yang berpotensi dideteksi oleh sebuah alert administrator. Dengan melihat pada DDOS attack saat ini, ICMP dapat digunakan dalam hampir semua tool untuk melindungi komunikasi antara DDOS client dan penanganan program atacker. Contohnya adalah TFN2K dan Stacheldrant

Upaya Pencegahan Ada beberapa upaya yang dapat dilakukan untuk mencegah adanya scanning atau attack menggunakan protocol ICMP terhadap suatu jaringan / host. Diantaranya yaitu: Untuk mencegah adanya usaha-usaha attacker masuk ke suatu jaringan yang sudah mengunakan Firewall / Filtering device disarankan agar melakukan bloking untuk semua trafik incoming ICMP kecuali untuk message dengan type 3 code 4 yaitu Fragmentation Needed dan Dont Fragment Bit , yang digunakan oleh Path MTU Discovery Process. Jika tipe trafik tersebut di blok dapat mengakibatkan turunnya kinerja jaringan. Pesan ICMP type 3 code 4 diperbolehkan untuk keluar masuk dari internet ke suatu jaringan yang sudah diproteksi. Namun harus dipahami mengenai aspek keamanannya jika pesan tersebut tidak diblok. Aspek keamanan yang mungkin terjadi adalah denial of service, inverse mapping dan host detection. Adapula tools seperti traceroute dan ping yang tetap diaktifkan. Namun penggunaan traceroute dan ping juga dapat menyebabkan adanya hal-hal yang dapat membahayakan jaringan seperti Inverse mapping.

Gambar 8. Filtering ICMP Penjelasan gambar 8: Dari internet ke intranet dan sebaliknya dilakukan blokir terhadap trafik ICMP Ketika melakukan pemblokiran ICMP error message seperti ICMP destination Unreachable, Network/Host/Protocol/Port Unreachable yang datang dari internet, host akan hang ketika destination system network / host tidak tercapai, atau ketika protocol pada mesin tujuan tidak tersedia. Host akan hang sampai waktu timeout habis. Dengan adanya masalah tersebut membuat sedikit tidak nyaman bagi host namun hal ini lebih baik bila kita tidak melakukan blok karena akan berdampak pada munculnya ICMP error message berbahaya lainnya didalam suatu jaringan. Dapat pula digunakan sebuah proxy server antara internet dan jaringan yang diproteksi. Proxy server tersebut hanya berbentuk sebuah tunnel.

PENINGKATAN KEAMANAN JARINGAN INTERNET


Ada beberapa cara lain selain yang diatas untuk meningkatkan keamanan pada jaringaninternet, diantaranya : Authentikasi
Metode authentikasi yang paling umum digunakan adalah penggunaan username beserta password-nya. Metode username/password ini ada berbagai macam jenisnya, berikut ini adalah macam-macam metode username/password:

Tidak ada username/password Pada sistem ini tidak diperlukan username atau password untuk mengakses suatu jaringan. Pilihan ini merupakan pilihan yang palin tidak aman.

Statis username/password Pada metode ini username/password tidak berubah sampai diganti oleh administrator atau user. Rawan terkena playbacks attacka, eavesdropping, theft,dan password cracking program.

Expired username/password Pada metode ini username/password akan tidak berlaku sampai batas waktu tertentu (30-60 hari) setelah itu harus direset, biasanya oleh user. Rawan terkena playback attacks, eavesdropping, theft, dan password cracking program tetapi dengan tingkat kerawanan yang lebih rendah dibanding dengan statis username/password.

One-Time Password (OTP) Metode ini merupakan metoda yang teraman dari semua metode username/password. Kebanyakan sistem OTP berdasarkan pada secret passphrase,yang digunakan untuk membuat daftar password. OTP memaksa user jaringan untuk memasukkan password yang berbeda setiap kali melakukan login.Sebuah password hanya digunakan satu kali.

Enkripsi
Enkripsi dapat digunakan untuk melindungi data, baik pada saat dintransmisikan maupun pada saat disimpan. Beberapa vendor menyediakan device device perangkat keras untuk enkripsi yang dapat digunakan untuk mengenkrip dan mendekrip data pada koneksi point-topoint.Enkripsi dapat didefenisikan sebagai proses proses konversi suatu informasi dalam bentuk yang dapat dibaca ke dalam bentuk yang tidak dapat dimengerti oleh pihak lain. Bila penerima data yang sudah dienkrip ingin membaca data semula, maka penerima tersebut harus mengkonversikan kembali ke bentuk semula melalui proses dekripsi. Deskripsi adalah invers dari proses enkripsi. Untuk melakukan proses dekripsi, penerima harus memiliki suatu data khusus sebagai kunci. Kunci tersebut harus didistribusikan dan dijaga secara hati-hati. Keuntungan menggunakan enkripsi adalah bila metode lain untuk melindungi data berhasil dibongkar oleh penyusup, maka data yang diperoleh oleh penyusup tersebut tidak ada

artinya bagi penyusup tersebut.Ada beberapa jenis paket enkripsi baik dalam bentuk perangkat keras maupun perangkat lunak. Paket perangkat lunak enkripsi terdapat dalam versi komersial

mau pun freeware. Perangkat keras enkripsi biasanya dibuat dengan prosesor khusus enkripsi dan jauh lebih cepat dibandingkan dengan perangkap lunak enkripsi. Namun,disisi lain, bila si penyusup memiliki akses terhadap perangkat keras enkripsi, makapenyusup tersebut dapat membuat skema dekripsi berbasis perangkat keras yangdapat digunakan untuk membuka informasi yang dapat dienkrip.
Data yang ditransmisikan dalam jaringan rentan terhadap penyadapan. Sering kali dilakukan enkripsi terhadap seluruh file sebelum mengirimkannya. Hal ini sering disebut end-toend-encryption.Data yang ingin dikirim biasanya disebut dengan plaintext. Data yang sudah dienkripsi biasanya disebut dengan ciphertext. Berikut ini adalah gambar yang menunjukan proses enkripsi dan dekripsi.

Plaintext dilambangkan dengan M (message). Plaintext dapat berupa aliran bit (stream of bits), file teks, aliran dari suara yang sudah didigitalisasi, dll. M adalah sebuah data biner. Ciphertext dilambangkan dengan C. Ciphertext juga merupakan data biner dengan ukuran yang mungkin sama atau lebih besar dari ukuran plaintext (apabila mengkombinasikan proses enkripsi dengan proses kompresi, ukuran dari ciphertext mungkin akan lebih kecil dari ukuran plaintext. Fugsi dari proses enkripsi dilambangkan dengan E. Dalam notasi matematis: E(M) = C Fungsi dari proses dekripsi dilambangkan dengan D. Dalam notasi matematis: D(C) = M Identitas berikut ini haruslah selalu benar: D(E(M)) = M Algoritma kriptografi, biasa disebut juga dengan cipher, adalah fungsi matematis yang digunakan untuk proses enkripsi dan dekripsi (biasanya terdapat 2 fungsi yang saling berhubungan, satu untuk enkripsi dan satu lagi untuk dekripsi) Apabila suatu algoritma harus dijaga kerahasian cara kerjanya untuk menjamin keamanan dalam proses enkripsi dan dekripsi,

maka algoritma ini disebut dengan algoritma terbatas (restricted algorithm). Algoritma ini biasanya digunakan untuk aplikasi yang tidak membutuhkan tingkat keamanan yang terlalu tinggi. Kriptografi modern menyelesaikan masalah ini dengan menggunakan sebuah kunci (key), yang biasanya dilambangkan dengan subscript K), notasi matematisnya dapat ditulis seperti berikut: EK (M) = C DK (C) = M DK (EK (M)) = M Beberapa algoritma menggunakan kunci (key) enkripsi dan kunci (key) dekripsi yang berbeda. Notasi matematisnya dapat ditulis sebagai berikut: EK1(M) = C DK2 (C) = M DK2 (EK1 (M)) = M

Apabila seseorang, yang tidak berhak mengetahui isi pesan yang dikirim,mengetahui algoritma enkripsi dan dekripsi, maka ia tidak akan dapat mengetahui isi pesan yang dikirim selama ia tidak mengetahui kunci yang digunakan dalam proses enkripsi dan dekripsi. Hal ini berarti algoritma dapat disebarluaskan. Ada terdapat 2 tipe dari algoritma yang menggunakan kunci, yaitu:

Symmetric Algorithms Algoritma adalah algoritma yang kunci untuk enkripsinya dapat dihitung dari kunci deskripsinya, berlaku untuk kebalikannya. Pada kebanyakan Symmetric Algorithms, kunci yang digunakan untuk enkripsi dan dekripsi adalah kunci yang sama.. Jadi pegirim dan penerima data harus menentukan kunci yang akan digunakan sebelum mereka dapat berkomunikasi secara aman.

Public-Key Algorithms Public-Key Algorithms didesain sedemikian rupa sehingga kunci yang digunakan untuk enkripsi berbeda dengan kunci yang digunakan untuk dekripsi ( kunci untuk dekripsinya tidak

dapat dihitung dari kunci enkripsinya). Algoritma ini disebuat dengan Public-Key karena kunci untuk enkripsinya dapat dibuat umum (public). Seorang yang benar-benar asing dapat mengenkripsi pesan dengan menggunakan kunci public tersebut tetapi hanya oran-orang tertentu saja yang dapat mendekrip pesan. Pada sistem yang seperti ini kunci untuk enkripsi disebut dengan public key, sedangkan kunci untk dekripsi disebut dengan privatekey. Untuk keperluan tertentu pesan akan dienkripsi dengan private key dan didekrip dengan public key, ini digunakan pada digital signature.Berikut ini akan dibahas mengenai beberapa algoritma enkripsi.

DES(Data Encryption Standard)


DES merupakan mekanisme enkripsi data yang sangat populer dan dapat digunakan. DES mengenkripsikan data dengan ukuran 64-bit . Plaintext sebesar 64 bit dienkripsi dan menghasilkan 64 bit ciphertext. Algoritma DES diciptakan oleh IBM pada tahun 1960-1970. DES termasuk ke dalam Symmetric Key Cryptosystem Block Cipher Encryption. Block Cipher membagi sebuah pesan dalam beberapa blok sebesar n bits, kemudian meng-enkripsi setiap blok tersebut dengan sebuah kuncirahasia dengan menggunakan algoritma khusus.DES merupakan tranformasi informasi dalam bentuk plain teks ke dalam bentuk data terenkripsi yang disebut dengan ciphertext melalui algoritma khusus dan seed value yang disebut dengan kunci. Bila kunci tersebut diketahui oleh penerima,maka dapat dilakukan proses konversi dari Chipertext kedalam bentuk aslinya.Panjang dari kunci yang dipergunakan adalah 56 bit ( kunci ini biasanya mempunyai panjang 64 bit , tetapi setiap 8 bit digunakan sebagai parity checking. Parity bit ini merupakan least significant bit dari setiap byte kunci ini). Keamanan dari sistem ini bergantung dari kunci ini. Brute force attack dengan mencoba segala kombinasi membutuhkan 256 kombinasi atau sekitar 7 x 1017 atau 70 juta milyar kombinasi Kelemahan potensial yang dimiliki oleh semua sistem enkripsi adalah kunci harus diingat, sebagai mana sebuah password harus diingat. Bila kunci diketahui oleh pihak lain yang tidak diharapkan maka data asli akan dapat terbaca. Bila kunci terlupakan maka pemegang kunci tidak akan dapat membaca data aslinya. Garis besar dari algoritma DES ini adalah seperti berikut:

Seperti telah disebutkan di atas bahwa dalam proses mengenkripsi, DES akan membagi data yang akan dienkripsi menjadi beberapa blok yang masing-masingnya terdiri dari 64 bit. Setelah inisial permutasi, blok data terpecah menjadi 2 bagian,bagian kiri dan bagian kanan, yang masing-masing panjangnya sebesar 32 bit. Pada proses enkripsi terdapat 16 tingkat operasi yang identik, biasa disebut dengan fungsi f,fungsi ini akan mengkombinasikan data dengan kunci. Setelah 16 tingkat selesai maka data pada bagian

kanan dan data pada bagian kiri akan digabungkan, dan setelah final permutasi, yang merupakan invers dari inisial permutasi, maka algoritma dari DES ini selesai.

RSA RSA merupakan public-key algorithm yang paling populer. RSA dapat digunakan untuk proses enkripsi dan sebagai digital signatures. Keamanan RSA didapat dari sulitnya untuk memfaktorkan bilangan yang besar. Public key dan private key adalah fungsi dari pasangan bilangan prima yang besar. Untuk dapat mengembalikan plaintext dengan menggunakan public key dan ciphertext adalah ekuivalen dengan memfaktorkan perkalian dari 2 bilangan prima yang dipilih sebagai public key dan private key. Oleh karena itu, Keamanan RSA didapat dari sulitnya untuk memfaktorkan bilangan yang besar. Berikut ini langkah-langkah untuk mengenerasikan public key dan private key :

1. Hasilkan dua buah integer prima besar, p dan q Untuk memperoleh tingkat keamanan
yang tinggi pilih p dan q yang berukuran besar, misalnya 1024 bit. 2. Hitung m = (p-1)*(q-1) 3. Hitung n = p*q

4. Pilih e yg relatively prime terhadap merelatively prime terhadap m artinya faktor pembagi
terbesar keduanya adalah 1, secara matematis disebut gcd(e,m) = 1. Untuk mencarinya dapat digunakan algoritma Euclid.

5. Cari d, sehingga e*d = 1 mod (m), atau d = (1+nm)/e Untuk bilangan besar, dapat digunakan
algoritma extended Euclid. 6. Kunci publik : e, n Kunci private : d Apabila B ingin mengenkripsi message M untuk A maka yang harus dilakukan B adalah : a. Ambil kunci publik A yg otentik (n, e) b. Representasikan message sbg integer M dalam interval [0,n-1] c. Hitung C = M ^ e (mod n) d. Kirim C ke A Sedangkan untuk mendekripsi pesan M yang dikirim, hal-hal yang harus dilakukan oleh adalah menggunakan kunci pribadi d untuk menghasilkan M = C^(d) (mod n)

BAB IV KESIMPULAN
Dari hasil penulisan diatas kesimpulan yang didapat adalah: Protokol ICMP yang sebelumnya banyak digunakan untuk mengirimkan pesan-pesan kesalahan dan kondisi lain yang memerlukan perhatian khusus, pada saat ini sudah banyak digunakan untuk melakukan eksploitasi suatu system.

Ada dua jenis pesan yang dihasilkan oleh protocol ICMP yang digunakan untuk proses evaluasi yaitu ICMP error message dan ICMP query message. Cara-cara eksploitasi menggunakan protocol ICMP ini dilakukan secara bertahap. Tahap pertama yaitu Reconnaisance & scanning

Tahap kedua : Eksploiting sistim Tahap ketiga : Mengamankan tracks Tahap keempat : Melakukan pencegahan Tools-tools yang digunakan untuk melakukan hal diatas adalah ping, nmap, tracert, snort dll

Seperti sudah disebutkan diatas bahwa dengan memanfaatkan protocol ICMP dapat digunakan untuk mengeksploiting system. Hal ini sudah banyak dilakukan oleh para attacker. Mereka memanfaatkan pesan-pesan yang dihasilkan oleh protocol ICMP untuk melakukan suatu pendeteksian, penyadapan bahkan penyerangan kesuatu target sehingga dapat berakibat denial of service dan system menjadi hang.

Karena berbahayanya pemanfaatan pesan ICMP ini oleh para attacker, maka disarankan untuk melakukan perlindungan kepada jaringan-jaringan pada setiap perusahaan. Diantaranya yaitu dengan menggunakan firewall atau filtering device lainnya. Penggunaan Firewall ini diharapkan dapat melakukan filter terhadap pesan-pesan ICMP dan bahkan melakukan bloking terhadap trafik ICMP.

Untuk meningkatkan keamanan jaringan internet dapat menggunakan beberapa metode, contohnya metode authentikasi, penggunaan metode enkripsi-dekripsi, dan menggunakan Firewall

REFERENSI [1]. Lindsay van Eden, The Truth About icmp. 17 May 2001 URL : http:/www.sans.org/infosecFAQ/threats/ICMP.html [2]. Ankit Fadia, Tracing the traceroute: A White Paper, 30 April 2002 URL : http://www.neworder.box.sk/newsread.php?newsid=4036 [3]. NMAP URL : http://www.insecure.org/nmap , 10 Dec 2001 [4]. URL : http://www.visualware.com/visuaalroute/index.html [5]. URL :http://www.hlembke.de/prod/3dtraceroute [6]. Offir Arkin, X Remote ICMP based OS Fingerprinting techniques August 2001 URL : http://www.sys-security.com/archieve/papers/x_v1.0.pdf [7]. Fyodor Yarochin & Ofir Arkin. X probe tool URL http://www.sys-security.com/html/projects/X.html [8]. Christopher Low. ICMP attack illustrated. 11 Dec 2001 URL :http://rr.sans.org/threats/ICMP_attacks.php [9]. URL :http://www.securityfocus.com/tools/641

[10]. URL :http://packetstormsecurity.orf/Exploit_code_archive/ssping.zip [11]. URL : http://razor.bindview.com/publish/advisories/adv_jolt2.html [12]. URL : http://packetstormsecurity.org/Exploit_Code_Archive/teardrop.c [13]. URL : http://cs.baylor.edu/~donahoo/NIUNNet/hacking/smurf/smurf.c [14]. URL : http://www.phrack.org/show.php?p=51 [15]. Onno W. Purbo, TCP/IP : Standar, Desain dan Implementasi [16]. Budi Rahardjo, Keamanan Sistem Informasi Berbasis Internet, 2001 [17]. Pete Schuyler. Getting More Out of ICMP. 16 may 2001 URL : http://www.sans.org/infosecFAQ/audit/more_ICMP.htm

You might also like