ARP Spoofing

1,413 views
1,274 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,413
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
94
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

ARP Spoofing

  1. 1. TUGAS MATA KULIAH KEAMANAN SISTEM INFORMASI II5166 ARP SPOOFINGMETODE PENYERANGAN, DETEKSI DAN PENGAMANAN BENI KRISBIANTORO 23210318 MAGISTER TEKNOLOGI MEDIA DIGITAL DAN GAME INSTITUT TEKNOLOGI BANDUNG 2011
  2. 2. DAFTAR ISIDAFTAR ISI .....................................................................................................................iiDAFTAR GAMBAR ......................................................................................................... iiiDAFTAR TABEL ............................................................................................................. ivABSTRAK........................................................................................................................ vBAB I PENDAHULUAN.................................................................................................... 1 1.1 Latar Belakang ....................................................................................................... 1 1.2 Permasalahan ........................................................................................................ 1 1.3 Tujuan.................................................................................................................... 2BAB II KAJIAN PUSTAKA................................................................................................ 3 2.1 Protokol TCP/IP ..................................................................................................... 3 2.2 Model Lapisan TCP/IP ........................................................................................... 3 2.3 Pengalamatan .......................................................................................................5 2.4 MAC Address ...................................................................................................... 6 2.5 ARP (Address Resolution Protocol) ...................................................................... 7BAB III PEMBAHASAN ................................................................................................. 10 3.1 ARP Spoofing ...................................................................................................... 10 3.3 Tujuan ARP Spoofing .......................................................................................... 14 3.4 Metode Deteksi ARP Spoofing ........................................................................... 18 3.5 Pengamanan Terhadap ARP Spoofing................................................................ 19 3.6 Algoritma untuk Penanggulangan ARP Spoofing............................................... 20BAB IV KESIMPULAN ................................................................................................... 23BIBLIOGRAPHY ............................................................................................................24 ii
  3. 3. DAFTAR GAMBARGambar 1. Model Lapisan TCP/IP ................................................................................... 4Gambar 2. Alamat pada Host ....................................................................................... 7Gambar 3. ARP Request ............................................................................................... 8Gambar 4. ARP Response ............................................................................................. 8Gambar 5. Isi Tabel ARP ............................................................................................... 9Gambar 7. Isi Tabel ARP pada kondisi tidak terspoofing.............................................. 10Gambar 8. Isi Tabel ARP ketika terjadi spoofing .......................................................... 10Gambar 9. Program spoofing ..................................................................................... 12Gambar 10. Program deteksi terjadinya IP konflik ....................................................... 13Gambar 11. Program recovery spoofing ....................................................................... 13Gambar 12. Sniffing dari luar jaringan ......................................................................... 14Gambar 13. Sniffing dari dalam jaringan ....................................................................... 16Gambar 14. Pseucode ARP request dan ARP response yang diperbaiki ..................... 22 iii
  4. 4. DAFTAR TABELTabel 1. Paket ARP response yang dirimkan ke host A ................................................. 15Tabel 2. Paket ARP response yang dikirimkan ke host A.............................................. 16Tabel 3. Paket ARP response yang dikirim ke host B ................................................... 17 iv
  5. 5. ABSTRAKProtokol ARP berfungsi untuk melakukan resolusi IP address suatu host untukdidapatkan MAC addressnya. Tabel ARP menyimpan padanan MAC address dan IPaddress yang dikenali oleh host pada jaringan. Protokol ARP mempunyai kelemahandimana isi tabel ARP dapat dimodifikasi (spoofing) oleh penyerang pada ARP requestdan ARP response karena tidak terdapat mekanisme “authentifikasi”.ARP spoofing dapat diperkecil serangannya dengan metode yang ada, tetapi tetaptidak dapat dihilangkan. Untuk itu perlu ada perubahan pada algoritma ARP requestdan ARP response yang dapat mencegah terjadinya manipulasi terhadap isi tabelARP.Keyword: ARP, spoofing, ARP request, ARP response. v
  6. 6. BAB I PENDAHULUAN1.1 Latar BelakangAddress Resolution Protocol (ARP) adalah sebuah protokol dalam TCP/IP Protocolyang digunakan untuk melakukan resolusi IP address ke dalam Media Access Control(MAC) address. Ketika sebuah host dalam jaringan mencoba untuk mengakses hostlain dengan menggunakan IP address, maka IP address yang dimiliki oleh host yangdituju harus diterjemahkan terlebih dahulu ke dalam MAC address agar frame-framedata dapat diteruskan ke tujuan dan diletakkan di atas media transmisi, setelahdiproses terlebih dahulu oleh Network Interface Card (NIC). Hal ini dikarenakan NICberoperasi dengan menggunakan alamat fisik yang berupa MAC address daripadamenggunakan alamat logis (alamat IP) untuk melakukan komunikasi data dalamjaringan. Jika memang alamat yang dituju berada di luar jaringan lokal, maka ARPakan mencoba untuk mendapatkan MAC address dari antarmuka router lokal yangmenghubungkan jaringan lokal ke luar jaringan (di mana komputer yang ditujuberada).Setiap host akan menyimpan ARP broadcast request ini kedalam ARP cache. ARPcache ini akan disimpan di RAM dan besifat sementara. ARP cache ini berisi tabel IPhost serta phisical address komputer. ARP cache akan bertambah jika ARP Requestmendapat jawaban.Pada jaringan yang terdiri dari banyak host dengan berbagai jenis pengguna, makaperlu untuk disadari akan munculnya berbagai jenis ancaman dan serangan yangberakibat kepada tidak terpenuhinya aspek Confidentiality, Integrity danAuthentication. Salah satu bentuk serangan dalam jaringan adalah berupa ARPspoofing yaitu dengan memalsukan atau memodifikasi isi dari ARP cache yang ada disuatu host yang diserang. Dengan melakukan ARP spoofing, penyerang dapatmengalihkan paket data yang berasal dari host korban untuk dibelokkan ke hostpenyerang untuk selanjutnya dilakukan sniffing (penyadapan) terhadap data-datayang berasal dari host korban.Pada tulisan kali ini akan dibahas mengenai teknik penyerangan pada kegiatan ARPspoofing, tindakan pengamanan dan penanggulangannya yang diharapkan dapatmemperkecil kemungkinan terjadinya ARP spoofing.1.2 Permasalahan a. Bagaimana teknik serangan ARP spoofing? 1
  7. 7. b. Bagaimana cara mendeteksi ARP spoofing? c. Bagaimana teknik pengamanan terhadap serangan ARP spoofing?1.3 Tujuan a. Memahami teknik dan algoritma untuk melakukan ARP spoofing. b. Memahami metode untuk mendeteksi terjadinya ARP spoofing di dalam jaringan. c. Melakukan teknik pengamanan terhadap serangan ARP spoofing. 2
  8. 8. BAB II KAJIAN PUSTAKA2.1 Protokol TCP/IPInternet Protocol Suite (umumnya dikenal sebagai TCP/IP) adalah seperangkatprotokol yang digunakan untuk komunikasi internet dan jaringan lain yang serupa.Penamaan ini berasal dari dua protokol yang paling penting di dalamnya, yaitu:  Transmission Control Protocol (TCP), dan  Internet Protocol (IP),Saat ini jaringan berbasis IP merupakan perpaduan dari beberapa perkembanganyang mulai dimulai pada tahun 1960-an dan 1970-an, yaitu Internet dan LAN (LocalArea Network), yang muncul di pertengahan tahun 1980-an ke-akhir. Lebih lanjutsetelah jaringan TCP/IP dikenal dan banyak digunakan, muncullah berbagai layananbaru yang dapat berjalan di atas protokol TCP/IP, misalnya email, telnet, ftp, gopher,dan yang paling phenomenal adalah kedatangan layanan WWW (World Wide Web)pada awal tahun 1990-an yang membuat banyak tertarik untuk mengakses Internet.Internet Protocol Suite, seperti banyak protokol suite, dapat dilihat sebagai satu setlayers. Setiap lapisan memecahkan sejumlah masalah yang didalamnya melibatkantransmisi data, serta menyediakan fungsi layanan yang berkaitan dengan lapisan yanglebih atas dari beberapa lapisan dibawahnya. Lapisan atas adalah secara logis lebihdekat dengan pengguna dan menangani data yang lebih abstrak, sementara lapisanlebih bawah digunakan untuk menerjemahkan data ke dalam bentuk akhir yang dapatdikirim melalui media jaringan. [7]Model TCP/IP terdiri dari empat (4) lapisan (menurut RFC 1122). Dari terendah ketertinggi, yaitu:  Link Layer  Internet Layer  Transport Layer  Application Layer2.2 Model Lapisan TCP/IPTidak seperti model OSI, model TCP/IP bukanlah standard internasional dandefinisinya dapat berbeda-beda. Namun demikian, sering dipakai sebagai modelpraktis untuk mengerti dalam mencari kesalahan pada jaringan Internet. Mayoritasjaringan Internet memakai TCP/IP. Model TCP/IP dibuat agar dapat lebih mudah 3
  9. 9. dimengerti untuk dipelajari dan diimplementasikan. Model TCP/IP dari jaringandigambarkan dalam lima lapisan berikut: Gambar 1. Model Lapisan TCP/IP (Diadopsi dari [8])Dibandingkan dengan model OSI, maka di lapisan TCP/IP ini lapisan ke lima hingga ketujuh tergabung menjadi lapisan paling atas (lapisan aplikasi). Sementara empatlapisan berikutnya adalah sama.Model TCP/IP dapat dibandingkan dengan orang yang mengantarkan surat ke sebuahbangunan di pusat kota. Orang terlebih dulu perlu menggunakan jalan (lapisan Fisik),meperhatikan lalu-lintas lain di jalan (lapisan Data Link), belok di tempat yang benaruntuk meneruskan perjalanan ke jalan lain dan tiba di alamat yang benar (lapisanInternet), pergi ke lantai dan kamar yang benar (lapisan Transport), dan akhirnyamemberikannya kepada seorang resepsionis yang bisa mengambil surat tersebut(lapisan Aplikasi). Saat surat di berikan kepada resepsionis, pengatar bebas untukkembali.Fungsi dari tiap lapisan pada model TCP/IP adalah sebagai berikut:1. Lapisan aplikasiBertanggung jawab untuk menyediakan akses kepada aplikasi terhadap layananjaringan TCP/IP. Protokol ini mencakup beberapa protokol, antara lain:  Dynamic Host Configuration Protocol (DHCP),  Domain Name System (DNS),  Hypertext Transfer Protocol (HTTP),  File Transfer Protocol (FTP),  Telnet, Simple Mail Transfer Protocol (SMTP), 4
  10. 10.  Simple Network Management Protocol (SNMP), dan masih banyak protokol lainnya.Dalam beberapa implementasi stack protokol, seperti halnya Microsoft TCP/IP,protokol-protokol lapisan aplikasi berinteraksi dengan menggunakan antarmukaWindows Sockets (Winsock) atau NetBIOS over TCP/IP (NetBT).2. Lapisan TransportBerguna untuk membuat komunikasi menggunakan sesi koneksi yang bersifatconnection-oriented atau broadcast yang bersifat connectionless. Protokol dalamlapisan ini adalah Transmission Control Protocol (TCP) dan User Datagram Protocol(UDP).3. Lapisan InternetBertanggung jawab untuk melakukan pemetaan (routing) dan enkapsulasi paket-paket data jaringan menjadi paket-paket IP. Protokol yang bekerja dalam lapisan iniadalah:  Internet Protocol (IP),  Address Resolution Protocol (ARP),  Internet Control Message Protocol (ICMP), dan  Internet Group Management Protocol (IGMP)4. Lapisan PhisikBertanggung jawab untuk meletakkan frame-frame jaringan di atas media jaringanyang digunakan. TCP/IP dapat bekerja dengan banyak teknologi transport, mulai dariteknologi transport dalam LAN (seperti halnya Ethernet dan Token Ring), MAN danWAN (seperti halnya dial-up modem yang berjalan di atas Public Switched TelephoneNetwork (PSTN), Integrated Services Digital Network (ISDN), serta AsynchronousTransfer Mode (ATM). [8]2.3 PengalamatanProtokol TCP/IP menggunakan dua buah skema pengalamatan yang dapat digunakanuntuk mengidentifikasikan sebuah komputer dalam sebuah jaringan atau jaringandalam sebuah internetwork, yakni sebagai berikut:1. Pengalamatan IPBerupa alamat logik yang terdiri atas 32-bit (empat oktet berukuran 8-bit) yangumumnya ditulis dalam format www.xxx.yyy.zzz. Dengan menggunakan subnet maskyang diasosiasikan dengannya, sebuah alamat IP pun dapat dibagi menjadi duabagian, yakni Network Identifier (NetID) yang dapat mengidentifikasikan jaringanlokal dalam sebuah internetwork dan Host identifier (HostID) yang dapat 5
  11. 11. mengidentifikasikan host dalam jaringan tersebut. Sebagai contoh, alamat205.116.008.044 dapat dibagi dengan menggunakan subnet mask 255.255.255.000 kedalam Network ID 205.116.008.000 dan Host ID 44. Alamat IP merupakan kewajibanyang harus ditetapkan untuk sebuah host, yang dapat dilakukan secara manual(statis) atau menggunakan Dynamic Host Configuration Protocol (DHCP) (dinamis).2. Fully qualified domain name (FQDN)Alamat ini merupakan alamat yang direpresentasikan dalam nama alfanumerik yangdiekspresikan dalam bentuk <nama_host>.<nama_domain>, di mana <nama_domain>mengindentifikasikan jaringan di mana sebuah komputer berada, dan <nama_host>mengidentifikasikan sebuah komputer dalam jaringan. Pengalamatan FQDNdigunakan oleh skema penamaan domain Domain Name System (DNS). Sebagaicontoh, alamat FQDN id.wikipedia.org merepresentasikan sebuah host dengan nama"id" yang terdapat di dalam domain jaringan "wikipedia.org". Nama domainwikipedia.org merupakan second-level domain yang terdaftar di dalam top-leveldomain .org, yang terdaftar dalam root DNS, yang memiliki nama "." (titik).Penggunaan FQDN lebih bersahabat dan lebih mudah diingat ketimbang denganmenggunakan alamat IP. Akan tetapi, dalam TCP/IP, agar komunikasi dapat berjalan,FQDN harus diterjemahkan terlebih dahulu (proses penerjemahan ini disebut sebagairesolusi nama) ke dalam alamat IP dengan menggunakan server yang menjalankanDNS, yang disebut dengan Name Server atau dengan menggunakan berkas hosts(/etc/hosts atau %systemroot%system32driversetchosts) yangdisimpan di dalam mesin yang bersangkutan. [12]2.4 MAC AddressMAC address adalah sebuah alamat jaringan yang diimplementasikan pada lapisandata-link dalam tujuh lapisan model OSI, yang merepresentasikan sebuah nodetertentu dalam jaringan. Dalam sebuah jaringan berbasis Ethernet, MAC addressmerupakan alamat yang unik yang memiliki panjang 48-bit (6 byte) yangmengidentifikasikan sebuah komputer, interface dalam sebuah router, atau nodelainnya dalam jaringan. MAC Address juga sering disebut sebagai Ethernet address,physical address, atau hardware address.Dalam sebuah komputer, MAC address ditetapkan ke sebuah NIC yang digunakanuntuk menghubungkan komputer yang bersangkutan ke jaringan. MAC addressumumnya tidak dapat diubah karena telah dimasukkan ke dalam ROM. Beberapakartu jaringan menyediakan utilitas yang mengizinkan pengguna untuk mengubahMAC address, meski hal ini kurang disarankan. Jika dalam sebuah jaringan terdapatdua kartu jaringan yang memiliki MAC address yang sama, maka akan terjadi konflikalamat dan komputer pun tidak dapat saling berkomunikasi antara satu dengan 6
  12. 12. lainnya. Beberapa kartu jaringan, seperti halnya kartu Token Ring mengharuskanpengguna untuk mengatur MAC address (tidak dimasukkan ke dalam ROM), sebelumdapat digunakan.Karena MAC address harus unik, maka badan Institute of Electrical and ElectronicsEngineers (IEEE) bertugas mengalokasikan blok-blok dalam MAC address. 24 bitpertama dari MAC address merepresentasikan siapa pembuat kartu tersebut, dan 24bit sisanya merepresentasikan nomor kartu tersebut. Setiap kelompok 24 bit tersebutdapat direpresentasikan dengan menggunakan enam digit bilangan heksadesimal,sehingga menjadikan total 12 digit bilangan heksadesimal yang merepresentasikankeseluruhan MAC address. [11]2.5 ARP (Address Resolution Protocol)ARP merupakan protokol dalam TCP/IP Protocol Suite yang bertanggungjawab untukmelakukan resolusi IP address ke dalam Media Access Control (MAC) address. ARPdidefinisikan di dalam RFC 826. Ketika sebuah aplikasi yang mendukung protokolTCP/IP mencoba untuk mengakses sebuah host TCP/IP dengan menggunakan IPaddress, maka IP address yang dimiliki oleh host yang dituju harus diterjemahkanterlebih dahulu ke dalam MAC address agar frame-frame data dapat diteruskan ketujuan dan diletakkan di atas media transmisi (kabel, radio, atau cahaya), setelahdiproses terlebih dahulu oleh Network Interface Card (NIC). Hal ini dikarenakan NICberoperasi dalam lapisan fisik dan lapisan data-link pada tujuh lapis model referensiOSI dan menggunakan alamat fisik daripada menggunakan alamat logis (sepertihalnya IP address atau nama NetBIOS) untuk melakukan komunikasi data dalamjaringan. [6]Mekanisme dari protokol ARP adalah sebagai berikut:1. Ketika sebuah host dengan IP address 132.92.121.1 MAC address 00:80:48:E3:D2:69 ingin mengirim data ke host lain dengan IP address 132.92.121.2, maka host tersebut harus mengetahui terlebih dahulu MAC address host yang dituju. Gambar 2. Alamat pada Host (Diadopsi dari [6])2. Jika ternyata MAC address host tujuan ini tidak ada di dalam cache ARP, ARP bertugas mencari di dalam jaringan (lokal) dengan mengirimkan broadcast ke 7
  13. 13. jaringan. Maka host 132.92.121.1 akan mengirimkan ARP Request menanyakan MAC address host 132.92.121.2, yang di tandai dengan MAC address 00:00:00:00:00:00 pada MAC address target di pesan ARP Request. Gambar 3. ARP Request (diadopsi dari [6])3. Host 132.92.121.2 dengan MAC address 00:80:AD:17:96:34 yang berada di LAN memonitor permohonan dari host 132.92.121.1. Maka host 132.92.121.2 akan menjawab dengan ARP responnse, yang memberikan MAC address host 132.92.121.2. Host lain yang tidak sesuai akan diam saja. Gambar 4. ARP Response (Diadopsi dari [6]) 8
  14. 14. 4. Informasi MAC address host 132.92.121.2 akan dimasukan ke dalam tabel ARP yang ada di host 132.92.121.1. Selanjutnya setelah penerima mendapatkan MAC address host tujuan, paket dapat dikirim ke host tujuan. Gambar 5. Isi Tabel ARP (Diadopsi dari [6]) 9
  15. 15. BAB III PEMBAHASAN3.1 ARP SpoofingARP spoofing atau disebut juga dengan ARP cache poisoning, merupakan metodehacking dengan memanipulasi atau memalsukan isi dari tabel ARP yang terdapatpada satu host di dalam jaringan. Protokol ARP berasaskan mutually trust, yang jugasifatnya adalah “stateles”. Untuk melakukan resolve dalam ARP sebuah host akanmelakukan broadcast ke jaringan. Setiap host dalam jaringan yang tidak menerimarequest dapat mengirim paket ARP response secara random. Ketika ARP buffermenerima ARP response, dalam hal ini tanpa harus ada mekanisme authentikasiterlebih dahulu, maka akan dilakukan update isi ARP cache secara dinamis denganseketika. Mekanisme ARP request dan ARP response yang seperti ini sangatmemungkinkan untuk terjadinya ARP spoofing. [10] Gambar 6. Isi Tabel ARP pada kondisi tidak terspoofing Gambar 7. Isi Tabel ARP ketika terjadi spoofing 10
  16. 16. ARP spoofing dapat dilakukan dengan menggunakan bantuan program atau toolsyang ada, misalnya WinArpSpoofer. WinArpSpoofer merupakan program yangdidesain untuk memanipulasi isi dari tabel ARP pada suatu host dalam jaringan lokal.Keistimewaan program ini adalah dapat digunakan untuk merubah nilai MAC addressrouter yang ada di dalam tabel ARP host yang mengakibatkan semua paket dapatmembelokkan semua paket dalam jaringan lokal yang seharusnya dilewatkan router(gateway). Setelah semua paket berhasil dibelokkan dan dikumpulkan, program akanmeneruskan paket-paket tadi ke router. Jika program ini digabungkan dengan paketsniffer maka bisa didapatkan user ID atau password pengguna dalam jaringan jikapaket-paket tadi mengandung informasi user ID atau password. [1]1. Class CbuildPacketCbuildPacket merupakan class yang ada di dalam program WinArpSpoofer yangdigunakan untuk membuat dan mengirim paket ARP ke dalam jaringan.Fungsi dan fitur yang terdapat dalam dalam program WinArpSpoofer antara lain:a. Dapat menarik dan mengumpulkan semua paket yang ada dalam jaringan lokalb. Dapat melakukan scanning dan memperlihatkan semua host yang aktif dalam jaringan dalam waktu yang singkatc. Selama melakukan spoofing tabel ARP, dapat bertindak seakan-akan dirinya berfungsi sebagai gateway lain (atau ip-forwareder) tanpa diketahui oleh pengguna dalam jaringand. Dapat mengumpulkan dan meneruskan paket dengan melakukan filter inbound, outbound atau keduanya untuk dikirimkan ke Internete. Sebuah tabel ARP dapat disusun secara otomatis dalam waktu yang cukup singkat (sekitar 30 detik), selain itu program ini juga dapat tetap melakukan spoofing secara terus-menerus dengan periode tertentuf. Jika misalkan terdapat lebih dari sebuah NIC terpasang pada suatu host, program ini mampu untuk melakukan scanning dan spoofing terhadap sebuah NIC yang telah ditentukan.2. Metode spoofinga. Melakukan spoofing tabel ARP ARPrequest: Attacker -> Target with (aIP, AttackerMAC, TargetIP,TargetMAC) atau, ARPreply: Attacker -> Target with (aIP, AttackerMAC, TargetIP,TargetMAC) 11
  17. 17. ARPrequest yang berisi informasi yang tidak benar dikirimkan ke host target dan host target mengetahui bahwa MAC address dari host A adalah MAC address penyerang berdasarkan isi tabel ARP. Akan tetapi, semua paket yang dikirimkan oleh target kepada host A ternyata akan dikirimkan ke penyerang. ARPreply merupakan paket yang digunakan untuk menjaga proses ARP spoofing. Seperti sebelumnya, target mengetahui bahwa MAC address dari A adalah MAC address yang dipunyai oleh penyerang berdasar isi tabel ARP. Sebagai akibatnya, semua paket yang dikirimkan oleh target kepada A akan dikirimkan ke penyerang. #include <packet32.h> #include <BuildPacket.h> CString Target; // Ethernet Address of Target CString Attacker; // Ethernet Address of Attacker CString Gateway; // Ethernet Address of Gateway CString TargetIP; // IP Address of Target CString AttackerIP; // IP Address of Attacker CString GatewayIP; // IP Address of Gateway CString TargetMAC; // MAC Address of Target CString AttackerMAC; // MAC Address of Attacker CString GatewayMAC; // MAC Address of Gateway . . . void SpoofApp::SpoofTarget() { CBuildPacket *arpPacket = new CBuildPacket; arpPacket.OpenAdapter( AdapterName ); // To open an adapter arpPacket.BuildARP( // To build a ARP packet Attacker, Target, ARPOP_REQUEST // for Transmission on MAC // layer GatewayIP, AttackerMAC, // Spoof IP address of // Gateway to Attacker IP TargetIP, TargetMAC // ); arpPacket.SendPacket(); // Send a packet to network arpPacket.CloseAdapter(); // To close the adapter } Gambar 8. Program spoofing (Diadopsi dari [1])b. Mengetahui apakah terdapat IP address yang sama dalam jaringan ARPreply: Attacker -> Target with (TargetIP, aMAC, TargetIP,TargetMAC) atau, 12
  18. 18. ARPrequest: Attacker -> Target with (TargetIP, aMAC, TargetIP,TargetMAC) Digunakan agar host target mengetahui bahwa terdapat IP address yang sama dalam jaringan. Jika terjadi maka target host akan memunculkan pesan “terdapat ip address yang konflik”. void SpoofApp::CollideTargetIP() { CBuildPacket *arpPacket = new CBuildPacket; arpPacket.OpenAdapter( AdapterName ); // To open an adapter arpPacket.BuildARP( // To build a ARP packet Attacker, Target, ARPOP_REQUEST // for Transmission on MAC // layer TargetIP, AttackerMAC, // Collision because source // TargetIP is dest TargetIP TargetIP, TargetMAC // ); arpPacket.SendPacket(); // Send a packet to network arpPacket.CloseAdapter(); // To close the adapter } Gambar 9. Program deteksi terjadinya IP konflik (Diadopsi dari [1])c. Melakukan pemulihan terhadap spoofing (unspoofing) ARPreply : Attacker -> Target with (aIP, aMAC, TargetIP,TargetMAC) Jika paket ARPreply yang benar dikirimkan ke host target, proses spoofing dihentikan dan tabel ARP host target akan dipulihkan. void SpoofApp::UnspoofTarget () { CBuildPacket *arpPacket = new CBuildPacket; arpPacket.OpenAdapter( AdapterName ); // To open an adapter arpPacket.BuildARP( // To build a ARP packet Attacker, Target, ARPOP_REPLY // for Transmission on MAC layer GatewayIP, GatewayMAC, // To recover spoofed ARP Table TargetIP, TargetMAC // ); arpPacket.SendPacket(); // Send a packet to network arpPacket.CloseAdapter(); // To close the adapter } Gambar 10. Program recovery spoofing (Diadopsi dari [1]) 13
  19. 19. 3.3 Tujuan ARP SpoofingUmumnya attacker melakukan ARP spoofing dengan tujuan adalah sebagai berikut:[4]1. SniffingSniffing adalah penyerang memposisikan diri di antara dua host yang sedangberhubungan untuk mendapatkan informasi yang saling dikirimkan. Penyerang harusmenjaga agar komunikasi antara dua host ini tetap berjalan tanpa terputus. Untuk itupenyerang ketika menerima pesan dari host pengirim harus meneruskan pesantersebut ke host penerima secara terus menerus. [2][10]Ada 2 jenis kegiatan sniffing yang dapat terjadi, yaitu sniffing dari dalam jaringan dansniffing dari luar jaringan.a. Sniffing dari luar jaringanDiasumsikan terdapat host A dan host B yang terletak pada suatu jaringan yang samadan saling berhubungan antara yang satu dengan yang lain. Sementara terdapat hostC yang terletak di luar jaringan sebagaimana terdapat pada Gambar 1. Gambar 11. Sniffing dari luar jaringan (Sumber [4])Jika penyerang, dalam hal ini adalah host C, ingin melakukan sinffing terhadapkomunikasi yang terjadi antara host A dan host B maka hubungi harus dilakukan 14
  20. 20. dengan melewati router. Karena arah dari pesan adalah dari dalam jaringan menujukeluar jaringan maka penyerang harus melakukan modifikasi pada TTL (Time to Live)dari IP untuk meyakinkan bahwa terdapat cukup waktu untuk mengirimkan paketrespon ke host tujuan. Host C akan mengirimkan paket ARP response ke host A.Format dari paket ini dapat dilihat pada Tabel 1: Tabel 1. Paket ARP response yang dirimkan ke host A Source MAC Source IP Address Destination MAC Destination IP Address Address Address0C-1C-2C-3C-4C-CC 10.1.1.200 0A-1A-2A-3A-4A-AA 10.1.1.100Ketika host A menerima paket ARP response, maka isi dari buffer (cache ARP) akandiupdate dengan data yang baru. Begitu host A berhasil dispoof, ketika host Abermaksud mengirim pesan ke host B, maka tanpa disadari sebenarnya pesantersebut akan dikirimkan ke host dengan MAC address dari host C.ARP merupakan protokol yang hanya dterdapat di dalam jaringan LAN (Local ArenaNetwork). Untuk kasus ini karena host C berada di luar jaringan yang dipisahkan olehrouter, maka host A tidak dapat mengirimkan pesan keluar router. Host C akanmelakukan update tabel routing milik host A dengan menggunakan protokol ICMP(Internet Control Message Protocol). Pesan yang tadinya akan dikirimkan ke host B,pertama kali akan dilewatkan router dan selanjutnya diteruskan ke penyerang.Dengan demikian host C telah berhasil melakukan sniffing terhadap semua trafik hostA yang ditujukan kepada host B.b. Sniffing dari dalam jaringanDi sini diasumsikan host A akan melakukan hubungan dengan host B. Sementarapenyerang, yaitu host C, akan melakukan sniffing terhadap isi pesan komunikasiantara host A terhadap host B seperti terlihat pada Gambar 2. 15
  21. 21. Gambar 12. Sniffing dari dalam jaringan (Sumber [4])Berdasar IP address yang diketahui, penyerang C dapat memperoleh MAC addressdari host lain dengan cara mengumpulkan pesan ARP request dan ARP response ataudengan menggunakan perintah PING yang ada di protokol ICMP. Host akan mengestNIC (Network Interface Card) pada mode promiscuous dengan fungsi pengirmanulang.Host C akan mengeluarkan paket ARP spoofing dan mengirim paket respon ke host A.Format dari paket ini digambarkan pada Tabel 2: Tabel 2. Paket ARP response yang dikirimkan ke host A Source MAC Source IP Address Destination MAC Destination IP Address Address Address0C-1C-2C-3C-4C-CC 10.1.1.200 0A-1A-2A-3A-4A-AA 10.1.1.100Berkat kelemahan pada protokol ARP, host A akan menerima paket respon yangdibuat oleh host C dan secara otomatis mengupdate isi buffer ARP. Untukmenghindari kegagalan pada proses spoofing, maka host C harus mengirimkan paketARP reponse secara terus menerus untuk mmempertahankan proses spoofing ini.Dengan prinsip yang sama, host C mengirimkan paket ARP response ke host B.Format dari paket ARP response yang dikirimkan ke host B terlihat pada Tabel 3: 16
  22. 22. Tabel 3. Paket ARP response yang dikirim ke host B Source MAC Source IP Address Destination MAC Destination IP Address Address Address0C-1C-2C-3C-4C-CC 10.1.1.100 0B-1B-2B-3B-4B-BB 10.1.1.200Komunikasi antara host A dan host B sekarang berhasil disusupi oleh penyerang sertapernyerang dapat menerima dan meneruskan pesan dari kedua pihak yangberkomunikasi tanpa diketahui. [2]2. IntersepBerdasar kepada sniffing dari dalam atau luar jaringan, jika penyerang C menyamarsebagai host A dan mengirimkan pesan yang tidak benar kepada host B untukmenguasai jalur komunikasi, maka host B tidak dapat berkomunikasi dengan host A.Di sini penyerang akan mengambil alih dan berkomunikasi dengan host A denganmenggantikan dirinya seakan-akan sebagai host A. Jika sukses maka tujuan host Cmelakukan intersep telah tercapai.3. Malice attackingBentuk-bentuk dari serangan antara lain:a. Penyerang mengirim paket respon ke semua ARP request, kemudian mengisinya dengan MAC address yang sama yang sebenarnya tidak ada ke dalam paket respon. Akibatnya host-host menjadi tidak dapat mencari alamat phisik dari host yang dituju dan komunikasi akan terhenti.b. Penyerang mengirim paket ARP response yang berisi MAC address yang tidak ada ke host tujuan yang membuat host tersebut mengupdate isi ARP buffer. Host akan kehilangan paket respon setelah menerima pesan dari host lain dan tidak dapat menjaga terjadinya komunikasi.c. Penyerang mengirim paket ARP response ke semua request, kemudian mengisi semua paket respon dengan MAC address yang sama yang sebetulnya MAC address tersebut adalah tidak ada. Akibatnya akan muncul aliran data ke gateway dari host-host dalam jaringan dan beban dari gateway akan naik secara signifikan. Jaringan akan padat dan macet sehingga mengakibatkan komunikasi menjadi terhenti. 17
  23. 23. 3.4 Metode Deteksi ARP SpoofingARP spoffing merupakan ancaman yang cukup serius dalam keamanan jaringanterutama karena lalu lintas jaringan dari suatu host dapat dibelokkan ke host lain yangmelakukan serangan untuk didapatkan paket jaringannya. ARP spoofing dapatdideteksi dengan melakukan pengecekan antara IP address dan MAC address yangterdapat di dalam ARP buffer apakah sesuai dengan yang seharusnya atau tidak.Beberapa metode yang dapat digunakan untuk mendeteksi adanya ARP spoofing didalam jaringan, antara lain: [4]1. Metode Echo timeBiasanya ketika sebuah host yang terkena serangan dan mendapatkan ARP palsuakan didapatkan informasinya oleh penyerang. Agar supaya host yang diserang dapatterus dipalsukan nilai ARP buffernya, maka penyerang harus terus menerusmemberikan informasi yang berisi informasi ARP palsu kepada host yang diserang.Dengan demikian maka nilai Echo time dari suatu host yang melakukan seranganpada jaringan akan menjadi meningkat dibandingkan dengan Echo time ketikajaringan normal, karena host tersebut cukup sibuk untuk terus-menerus mengirimkaninformasi ‘sampah’ kepada host yang diserangnya.2. Melakukan pencocokan IP addressKetika sebuah host menerima ARP request, maka dia akan melakukan pengecekanterhadap IP address di dalam frame yang direquest dan IP address dari host tersebut.Jika nilainya adalah sama, maka kemungkinan ada host lain dalam jaringan yangmelakukan spoofing. Host juga dapat mengirimkan paket request untuk mengecek IPaddress ini secara berkala, jika ternyata IP address yang diterima adalah frameresponse dari IP address host maka kemungkinan juga ada host lain yang melakukanspoofing.3. Melakukan analisa terhadap ARP answerMenurut mekanisme dari ARP spoofing, penyerang yang ingin melakukan pemalsuanARP harus mengirim suatu report text dari ARP palsu secara periodik dan terusmenerus. System dapat dikonfigurasi untuk melakukan wiretap terhadap report textini dalam jaringan, jika system mendeteksi banyak frame tanpa adanya ARP answer,maka dapat disimpulkan bahwa terlah terjadi pemalsuan ARP.4. Mendeteksi frame dataMeskipun paket respon ARP yang terkena spoofing tidak meninggalkan alamat daripenyerang, tetapi frame ARP respon mengandung informasi dari alamat penyerang.Pada kondisi normal, MAC address sumber dan MAC address tujuan di dalam head 18
  24. 24. dari frame seharusnya sesuai dengan ARP message di dalam frame paket data. Jikatidak sama maka kemungkinan terjadi spoofing.5. Pemeriksaan dengan softwareDengan menggunakan software utility untuk melakukan pengecekan kesesuaianantara IP address dan MAC address, misalnya Ethereal, NetWatch, NETCAM,ARPwatch dan sebagainya. [4]3.5 Pengamanan Terhadap ARP SpoofingBeberapa teknik penanggulangan terhadap serangan ARP spoofing yang dapatdilakukan antara lain: [4]1. Metode update ARP cacheUntuk protokol ARP yang menerima ARP response dan melakukan update isi ARPcache tanpa adanya ARP request, ini akan memungkinkan timbulnya kondisi ARPspoofing. Sehingga diperlukan rule untuk proses update dari ARP cache. Ditetapkanbahwa proses urutan penerimaan pada protokol ARP seharusnya adalah: pertama kalimengirimkan ARP request, baru kemudian dilanjutkan dengan paket ARP responseyang sesuai. Paket nonresponse response atau respon yang tidak sesuai akandihapus, sehingga dapat mencegah ARP spoofing secara efisien.2. Mengeset nilai ARP secara statisPada kondisi yang umum, nilai dari ARP cache (padanan IP address dengan MACaddress) akan berubah secara dinamis. Kondisi ARP cache yang berubah secaradinamis ini memungkinkan untuk terjadinya ARP spoofing. Jika nilai tabel ARP ini disetsecara statis atau manual oleh administrator jaringan, maka paket ARP spoofing tidakdapat melakukan perubahan terhadap ARP cache. Dengan demikian maka tidak akanterjadi ARP spoofing. Akan tetapi mengeset table ARP secara manual merupakanpekerjaan yang cukup memakan waktu dan belum lagi jika terjadi kesalahan nilai yangdiset. Jika konfigurasi jaringan berubah, maka nilai tabel ARP juga harus ikut diubah,sehingga tidak efisien.Mengeset ARP statis dari IP address 192.168.0.1 dengan MAC address 00-1e-58-3f-c5-de dapat dilakukan dengan memberikan perintah sebagai berikut: [5] arp -s 192.168.0.1 00-1e-58-3f-c5-de 19
  25. 25. 3. Eliminasi dari perangkat switchMenggunakan perangkat switch pada jaringan akan membagi sebuah jaringan yangsecara phisik berukuran besar menjadi segment-segment yang lebih kecil. Ternyatateknik ini juga dapat digunakan untuk memperkecil kemungkinan terjadinya ARPspoofing atau setidak-tidaknya mencegah terjadinya ARP spoofing menyebar keseluruh jaringan yang besar jika menggunakan perangkat hub.Pada perangkat switch (terutama switch yang manageable), terdapat kemampuanuntuk melakukan binding IP address dengan MAC address secara statis yang dapatdiset oleh administrator jaringan. Switch akan membandingkan alamat pengirimdengan informasi yang berkaitan dengan port dari alamat pengirim yang dipunyainyaketika menerima pesan. Jika ternyata tidak sesuai, maka port tersebut akan diblokiruntuk sementara waktu sampai masalah ini tidak muncul. Fungsi isolasi yang ada diswitch ini mirip dengan yang terdapat pada perangkat router. Dengan karakteristikperangkat yang seperti ini, maka ARP palsu tidak dapat menyebar dan melintasijaringan untuk menyerang host atau server yang terdapat dalam jaringan. [9] [3]4. Enkripsi dataBerdasarkan kepada terjadinya ARP spoffing, maka tujuan akhirnya adalah berupakegiatan sniffing untuk mencuri data yang keluar masuk dari host yang berhasildikuasai. Kejadian ini adalah termasuk sulit untuk dilakukan pemeriksaan. Untukmenghindari terjadinya kebocoran data karena sniffing, maka dapat dilakukan prosesenkripsi pada saat proses pengiriman data di kedua sisi pengirm dan penerima.Sehingga misalkan ketika paket tersebut dapat disadap oleh penyerang, tetapiinformasi di dalamnya tetap aman dan tidak dapat dibongkar, tanpa mengetahuikunci atau algoritma dekripsi yang digunakan.5. Mengecek isi ARP cache secara periodikAdministrator dapat menganalisa ARP request dan ARP response secara periodik,selanjutnya memeriksa ARP response untuk meyakinkan bahwa tidak dicurigaikemungkinan terjadi ARP spoofing. Juga secara periodik dilakukan pemeriksaan yangberkaitan dengan isi ARP cache suatu host, IP address dan MAC address.3.6 Algoritma untuk Penanggulangan ARP SpoofingARP spoofing biasanya dilakukan dengan melakukan modifikasi pada paket ARPrequest dan ARP response atau melakukan pengubahan isi dari ARP buffer dengantujuan spoofing. Teknik pengamanan terhadap ARP spoofing yang telah dijabarkanpada bagian di depan mempunyai keterbatasan, sehingga diperlukan teknik yang lainuntuk menghadapi ARP spoofing. 20
  26. 26. Diperlukan adanya perbaikan dari algoritma ARP request dan ARP response yangselama ini digunakan karena dengan tidak adanya mekanisme authentikasi, terbuktiprotokol ARP rawan untuk dilakukan ARP spoofing. Teknik di bawah ini diharapkandapat memperbaiki protokol ARP yang sudah ada, dengan berdasarkan pada konsepARP request dan ARP response yang diterima untuk mencegah terjadinyapengubahan pada ARP cache. Dengan demikian diharapkan dapat mencegahterjadinya spoofing secara lebih efektif.struct ether_header{ u_int8_t ether_dhost[6]; // Destination MAC address of data frame u_int8_t ether_shost[6]; // Source MAC address of data frame u_int16_t ether_type;};The algorithm is described by natural language and C languageif(ntohs(ether_protocol->ether_type)==0x0806) //ARP packetvoid ARPRequest (){ GetIpNetTable() //read ARP cache if(have MAC-IP mapping) { if( in ARP cache IP==arp_protocol ->arp_source_ip_address ) { Send_ARP_Response(); } else if(have the same MAC and in ARP cache source IP != arp_protocol->arp_source_ip_address) { if(ether_protocol-> ether_shost !=arp_protocol->arp_source_ethernet_address) { Droppacket(); NoSetIpNetEntry(); //didn’t refresh ARP cache; } else { use arp_protocol->arp_source_ip_address obsequent resolution MACof sender; if(requester’s MAC==arp_protocol->arp_source_ethernet_address) { SetIpNetEntry(); // refresh ARP cache Send_ARP_Response(); } else { 21
  27. 27. Droppacket(); NoSetIpNetEntry(); } } } } else if (haven’t MAC-IP mapping) { if(ether_protocol->ether_shost!=arp_protocol->arp_source_ethernet_address) { Droppacket(); NoSetIpNetEntry(); } else { use arp_protocol->arp_source_ip_address obsequent resolution MAC ofsender; if(requester’s MAC==arp_protocol->arp_source_ethernet_address) { SetIpNetEntry(); Send_ARP_Response(); } else { Droppacket(); NoSetIpNetEntry(); } } }}void ARPResponse (){ The processing is just as ARPRequest ();} Gambar 13. Pseucode ARP request dan ARP response yang diperbaiki (Diadopsi dari [4]) 22
  28. 28. BAB IV KESIMPULANDari pembahasan yang telah ditulis, dapat disimpulkan beberapa hal sebagai berikut:1. Pada ARP spoofing, penyerang biasanya memanfaatkan kelemahan pada protokol ARP yang mempunyau karakteristik “stateles” untuk menyebarkan ARP palsu yang dapat mengancam masalah keamanan pada jaringan.2. Ada beberapa teknik untuk mendeteksi ataupun menanggulangi ARP spoofing pada jaringan: baik dengan menerapkan kebijakan yang sesuai, dengan bantuan software utility, maupun dari sisi design jaringan yang baik dengan penggunaan perangkat keras jaringan yang dapat mengeliminasi terjadinya penyebaran ARP spoofing.3. Meskipun demikian, serangan ARP spoofing tetap saja bisa terjadi kapanpun tanpa dapat dihindari. Melakukan penyempurnaan terhadap protokol ARP dapat diusulkan agar kelemahan dari protokol ARP terhadap munculnya ARP spoofing ini dapat dihilangkan. 23
  29. 29. BIBLIOGRAPHY[1]. CodeGuru (2004, Maret 31), Spoofing the ARP Table of Remote Computers on a LAN, Available: http://www.codeguru.com/cpp/i- n/network/basicnetworkoperations/article.php/c6861 (Diakses: 20 Oktober 2011)[2]. Dood, D., (2011, Sept 15), Network Security: Arp Cache Poisoning and Sniffing Packets, Available: http://security.sys-con.com/node/1945802 (Diakses: 28 Oktober 2011)[3]. King, J., Lauerman, K., (2010), ARP Poisoning Attack and Mitigation Techniques, Available: http://www.cisco.com/en/US/prod/collateral/switches/ps5718/ps708/white_pap er_c11_603839.html (Diakses: 4 Desember 2011)[4]. Liu, Y., Dong, K., Dong, L., & Li, B., Research of the ARP Spoofing Principle and a Defensive Algorithm, International Journal of Communications, Issue 4, Vol 1, pp. 143-147, 2007[5]. Microsoft TechNet, (2005, Januari 21), Add a static ARP cache entry, Available: http://technet.microsoft.com/en-us/library/cc781485%28WS.10%29.aspx (Diakses: 10 Desember 2011)[6]. Open Source Telkom Speedy, (2010, Juni 20), Address Resolution Protocol, Available: http://opensource.telkomspeedy.com/wiki/index.php/ARP (Diakses: 10 Desember 2011)[7]. Open Source Telkom Speedy, (2011, Agusuts 17), TCP/IP, Available: http://opensource.telkomspeedy.com/wiki/index.php/Protokol_internet (Diakses: 10 Desember 2011)[8]. Stevens, W. R., TCP/IPIllustrated (Volume1: The Protocols), Addison-Wesley, 1994[9]. Vidya, S., & Bhaskaran, R., Subnet Based Intrusion Detection Scheme for Tracking down the Origin of Man-In-The-Middle Attack, International Journal of Computer Science Issues. Vol. 8, Issue 5, No 1, September 2011[10]. Whalen, S., (2001, April), An Introduction to ARP Spoofing, Available: http://www.rootsecure.net/content/downloads/pdf/arp_spoofing_intro.pdf 24
  30. 30. [11]. Wikipedia, (2011, Oktober 23), MAC Address, Available: http://id.wikipedia.org/wiki/MAC_address (Diakses: 10 Desember 2011)[12]. Wikipedia, (2009, April 23), Transmission Control Protocol/Internet Protocol, Available: http://id.wikipedia.org/wiki/Transmission_Control_Protocol/Internet_Protocol (Diakses: 10 Desember 2011) 25

×