Sabtu, 24 November 2012

MAN IN THE MIDDLE


Man in The  Middle Attack atau MITM attack adalah serangan dimana attacker berada di tengah bebas mendengarkan dan mengubah percakapan antara dua pihak. Serangan Man in The Middle merupakan suatu tipe serangan yang memanfaatkan kelemahan Internet Protocol.

Serangan Man-In-The-Middle sering disingkat MITM di kriptografi dan keamanan komputer adalah bentuk aktif menguping di mana penyerang membuat koneksi independen dengan korban dan pesan relay antara mereka, membuat mereka percaya bahwa mereka berbicara langsung satu sama lain melalui koneksi pribadi, padahal sebenarnya seluruh percakapan dikendalikan oleh penyerang. Penyerang harus mampu mencegat semua pesan terjadi antara kedua korban dan menyuntikkan yang baru, yang langsung dalam banyak keadaan (misalnya, seorang penyerang dalam jangkauan penerimaan terenkripsi Wi-Fi jalur akses nirkabel , dapat menyisipkan dirinya sebagai seorang Man-In-The-Middle.

Konsep dasar serangan ini secara umum adalah penyerang berada ditengah – tengah atau diantara dua komputer yang sedang berkomunikasi, sehingga secara teknis memungkinkan penyerang untuk melihat, mengubah dan mengontrol data yang dikirim antar dua komputer tersebut, mesin penyerang secara fisik tidak harus terletak diantara dua computer, namun rute paket yang dikirimkan atau ditujukan kepada host lain harus melalui mesin penyerang

Berikut adalah contoh ilustrasi Man in the middle :
PC A adalah client sedangkan PC B adalah server, maka penyerang (PC C) harus menjadi “Legitimate Server” bagi “Real Client” (PC A) dan juga sebagai “Legitimate Client” bagi “Real Server” (PC B). Pada aktivitas normal PC A dan PC B dapat mengirimkan data tanpa harus melewati PC C. Namun pada aktivitas yang tidak normal data yang dikirim PC A untuk PC B harus melewati PC C terlebih dahulu. PC A menganggap data yang diterima adalah berasal dari PC B, begitu juga sebaliknya pada PC B. Serangan ini mengakibatkan keaslian dan kerahasiaan data tidak terjamin.
Ada berbagai kegiatan atau istilah kejahatan dunia maya yang termasuk dalam kegiatan Man in the middle, antara lain adalah :
1.      Sniffer
Sniffer yang juga dikenal sebagai Network Analyzers atau Ethernet Sniffer ialah sebuah aplikasi yang dapat melihat lalu lintas data pada jaringan komputer. Dikarenakan data mengalir secara bolak-balik pada jaringan, aplikasi ini menangkap tiap-tiap paket dan kadang-kadang menguraikan isi dari RFC (Request for Comments) atau spesifikasi yang lain. Berdasarkan pada struktur jaringan (seperti hub atau switch), salah satu pihak dapat menyadap keseluruhan atau salah satu dari pembagian lalu lintas dari salah satu mesin di jaringan. Perangkat pengendali jaringan dapat pula diatur oleh aplikasi penyadap untuk bekerja dalam mode campur-aduk (promiscuous mode) untuk "mendengarkan" semuanya (umumnya pada jaringan kabel).


2.      Spoofing
Spoofing adalah situasi di mana seaeorang berhasil menyamar sebagai user  dengan memalsukan data dan dengan demikian mendapatkan keuntungan tidak sah.

3.      Interception
Merupakan ancaman terhadap secrecy dimana orang yang tidak berhak namun berhasil mendapatkan akses informasi dari dalam sistem komputer.

4.      Modification
Merupakan ancaman terhadap integrity dimana orang yang tidak berhak dapat mengakses maupun merubah suatu informasi.

5.      Fabrication
Menambahkan objek atau informasi palsu pada informasi yang asli.sehingga data atau informasi berubah.

Serangan Dalam MITM

Berikut Beberapa Serangan yang Biasa Dilakukan dalam Kejahatan MITM :


1.      Address Resolution Protocol Spoofing / ARP Spoofing
Sesungguhnya ARP berfungsi sebagai pengelola atau perantara hubungan antara MAC (Media Access Control) dengan IP (Internet Protocol) pada perangkat jaringan. Namun masalah dalam ARP apabila pengalamatan MAC dan IP disalah gunakan, hal ini disebut dengan ARP Spoofing. Dimana memungkinkan penyerang untuk mengambil frame data pada Local Area Network, memodifikasi dan menghentikan traffic. Serangan ini hanya dapat terjadi pada jaringan yang menggunakan protocol ARP. ARP Spoofing dapat dicegah apabila kita menggunakan VLAN dan Banwidth Managemen, VLAN hanya akan mengirimkan paket data melalui port yang memiliki VLAN- ID yang sama sehingga terjadi segmentasi secara logic. Begitu juga dengan Banwidth Managemen yang membatasi jumlah paket data.

2.      Domain Name System Spoofing / DNS Spoofing
Usaha memasukan informasi palsu oleh orang yang tidak berwenang untuk memberikan informasi tersebut. Penyerang dapat mengarahkan korban dari situs web atau tujuan yang sah ke salah satu situs yang merupakan dibawah kendali penyerang.


3.      Media Access Control Flooding / MAC Flooding
Penyerang memanfaatkan switch yang menggunakan Content Adressable Memory yang memiliki informasi mengenai MAC adderess terhubung dengan switch. CAM table memiliki aktivitas maksimum dimanfaatkan oleh penyerang dengan cara mengirimkan request dengan jumlah yang sangat besar. Sehingga CAM table mengalami kelebihan beban (overload) dan pada saat itu terjadi, switch yang bertindak sebagai hub mengirimkan data tanpa melihat MAC Address dan mengirimkan data pada semua host termasuk kepada penyerang. Dengan kata lain MAC Flooding dilakukan penyerang dengan cara membanjiri switch dengan paket – paket dengan alamat MAC yang berbeda sehingga memberati CAM table.

Contoh Kasus

Berikut Contoh Kasus Yang Terjadi Pada Kejahatan MITM :
Kasus Man In The Middle pada Mandiri Internet Banking


Man In The Middle biasanya terjadi diakibatkan kelalaian pengguna yang tidak melakukan otentifikasi oleh pengguna internet. Sehingga pengguna tidak tahu apakah pengguna berkomunikasi dengan seseorang yang dituju atau server yang valid atau dengan server yang palsu.
Berikut ini bedasarkan sumber yang kami dapatkan, kami akan membahas tentang studi kasus Man In the Middle yang terjadi pada Internet Banking Bank Mandiri. Sang Attacker tidsk menggunakan ARP Spoofing atau cara penyerangan lain dalam melancarkan aksinya, melainkan menggunakan SSL Strip dalam melakukan serangan MITM.
SSLStrip adalah tool yang diciptakan Moxie Marlin spike untuk melakukan serangan MITM terhadap pengguna situs yang dilindungi dengan https. untuk melakukan mitm attack pada protokol http  (bukan HTTPS), dengan maksud untuk menyerang situs-situs yang dilindungi dengan https. SSL Strip sebagai “the person in the middle”, akan mencegah peralihan dari http ke https dengan secara aktif mengubah response dari server sehingga pengunjung akan tetap berada dalam protokol http.
Cara peralihan dari http ke https dan tambahan cara SSLStrip mencegah peralihan itu:
  • Memberikan link menuju URL https: SSLStrip akan mengubah link berawalan https menjadi http. Sehingga yang muncul di browser korban bukan link ke https melainkan link ke http.
  • Memberikan response redirect ke URL https: SSLStrip akan mengubah header Location dari URL berawalan https menjadi http.
  • Menggunakan META tag auto refresh ke URL https: SSLStrip akan mengubah url https menjadi http.
  • Menggunakan javascript untuk load halaman https: SSLStrip akan mengubah url https menjadi http.
Untuk lebih jelasnya berikut adalah gambar yang menunjukkan salah satu cara kerja SSLStrip mencegah korban beralih dari http ke https.

Opening Bank Front Page
Membuka halaman awal situs Bank
Pada gambar di atas korban mengakses web server bank dengan URL http://bank/. Request tidak secara langsung dikirim ke web server, namun melalui SSL Strip dulu. SSL Strip meneruskan request tersebut ke web server. Kemudian web server menjawab dengan memberikan html berisi link ke URL https://bank/login/ kepada SSL Strip. Sebelum response html diterima oleh browser, SSLStrip mengubah response tersebut dengan mengubah URL https menjadi http biasa sehingga HTML yang diterima di browser korban berisi link ke URL http://bank/login/ bukan https://bank/login/.

Opening login page
Halaman awal login
Korban mengklik link pada halaman yang muncul browsernya, tentu saja link ini bukan ke https://bank/login/ melainkan ke http://bank/login/. Dengan cara ini browser tetap dalam protokol http bukan dalam protokol https seperti seharusnya, dengan kata lain SSL Strip berhasil mencegah browser beralih ke protokol https. Request ke http://bank/login/ tersebut dikirimkan ke SSL Strip. Kemudian SSL Strip tidak meneruskan request tersebut ke http://bank/login/, melainkan membuat request baru ke https://bank/login/. Kemudian web server mengirimkan response dari response tersebut ke SSL Strip. Seperti biasanya SSL Strip akan mengubah response dari server tersebut untuk mencegah peralihan ke https. Response yang telah diubah ini kemudian dikirimkan ke browser korban sehingga korban tetap melihat halaman yang sama persis seperti ketika dia membuka https://bank/login/. Dengan tampilan yang sama persis ini, korban mengira sedang membuka https://bank/login/, padahal sebenarnya dia sedang membuka http://bank/login/. Perhatikan bahwa koneksi antara browser dengan SSL Strip adalah dalam http biasa, sedangkan dari SSL Strip ke web server dalam https.

http://kopastuntas.files.wordpress.com/2011/01/sslstrip_flow3.png
Submit username dan password
Setelah muncul halaman login dan korban mengira sedang membuka https://bank/login, kemudian korban memasukkan username dan password dan mengklik tombol Login. Browser akan membuat POST request ke http://bank/login/ yang diterima oleh SSL Strip. Karena protokolnya adalah http, maka SSL Strip dengan mudah bisa membaca username dan password yang dimasukkan korban. SSL Strip kemudian akan mengirimkan username dan password korban degan POST request ke https://bank/login/.  Seperti biasa jawaban dari web server akan dimodifikasi dulu seperlunya oleh SSL Strip sebelum dikirimkan ke browser korban.
Perhatikan bahwa korban sejak awal hingga login mengakses situs dengan http, sedangkan SSL Strip di tengah-tengah membuat koneksi https ke web server yang sebenarnya. Jadi walaupun browser mengakses dengan http, namun response yang diterima browser berasal dari koneksi https yang dibuat oleh SSL Strip.