Sudah banyak artikel di ilmuhacking
yang membahas teknik serangan man in the middle (MITM), namun belum
pernah saya menjelaskan secara detil tentang apa itu mitm attack. Mitm
attack merupakan jenis serangan yang sangat berbahaya dan bisa terjadi
di mana saja, baik di website, telepon seluler, maupun di peralatan
komunikasi tradisional seperti surat menyurat. Oleh karena itu saya
pikir perlu ada satu artikel khusus yang membahas tentang mitm attack
terlepas dari apapun dan dimanapun implementasi teknisnya.
Bukan Sekedar Sniffing
Mungkin
banyak yang mengira tujuan dari serangan mitm adalah untuk menyadap
komunikasi data rahasia, seperti yang sniffing. Sniffing bisa disebut
sebagai passive attack karena pada sniffing attacker tidak melakukan
tindakan apa-apa selain memantau data yang lewat. Memang benar dengan
serangan mitm, seorang attacker bisa mengetahui apa yang dibicarakan
oleh dua pihak yang berkomunikasi. Namun sebenarnya kekuatan terbesar
dari mitm bukan pada kemampuan sniffingnya, namun pada kemampuan
mencegat dan mengubah komunikasi sehingga mitm attack bisa disebut
sebagai jenis serangan aktif.
Gambar di bawah ini adalah skenario yang bisa dilakukan attacker dengan serangan mitm.
sniffing,intercepting,tampering,fabricating
Pada
gambar tersebut terlihat ada 4 macam serangan yang bisa dilakukan
dengan MITM. Berikut adalah penjelasan dari jenis serangan tersebut
dalam skenario seperti gambar di atas.
- Sniffing: Charlie mengetahui semua pembicaraan antara Alice dan Bob.
- Intercepting: Charlie mencegat pesan dari Alice ketika Alice ingin menutup percakapan dengan “Bob I’m going to sleep, Bye!”. Dengan begini Bob mengira Alice masih berkomunikasi dengannya.
- Tampering: Charlie mengubah jawaban Bob kepada Alice dari account Paypal bob menjadi charlie.
- Fabricating: Charlie menanyakan nomor social security number kepada Bob, padahal pertanyaan ini tidak pernah diajukan oleh Alice.
Dengan cara mitm ini bisa dibayangkan betapa besar potensi kerusakan yang bisa dilakukan Charlie kepada Alice dan Bob.
Proses Terjadinya Serangan Man-in-The-Middle
Dalam
serangan mitm, seorang attacker akan berada di tengah-tengah
komunikasi antara dua pihak. Seluruh pembicaraan yang terjadi di antara
mereka harus melalui attacker dulu di tengah. Attacker dengan leluasa
melakukan penyadapan, pencegatan, pengubahan bahkan memalsukan
komunikasi seperti yang sudah saya jelaskan sebelumnya.
Sekarang
mari kita lihat proses terjadinya MITM dalam contoh kasus Alice
berkomunikasi dengan Bob. Charlie sebagai attacker akan berusaha berada
di tengah antara Alice dan Bob. Agar Charlie berhasil menjadi orang
ditengah, maka Charlie harus:
- menyamar sebagai Bob dihadapan Alice
- menyamar sebagai Alice dihadapan Bob
Charlie acts as fake Bob and fake Alice
Dalam
mitm, Alice mengira sedang berbicara dengan Bob, padahal dia sedang
berbicara dengan Charlie. Begitu juga Bob, dia mengira sedang berbicara
dengan Alice, padahal sebenarnya dia sedang berbicara dengan Alice.
Jadi agar bisa menjadi orang di tengah Charlie harus bisa menyamar di
dua sisi, tidak bisa hanya di satu sisi saja.
Kenapa
Alice dan Bob bisa terjebak dan tertipu oleh Charlie? Itu karena Alice
dan Bob tidak melakukan otentikasi dulu sebelum berkomunikasi.
Otentikasi akan menjamin Alice berbicara dengan Bob yang asli, bukan Bob
palsu yang diperankan oleh Charlie. Begitu juga dengan otentikasi, Bob
akan berbicara dengan Alice yang asli, bukan Alice palsu yang
diperankan oleh Charlie.
Pentingnya Otentikasi: Who Are You Speaking With?
Otentikasi
adalah proses untuk membuktikan identitas suatu subjek, bisa orang
atau mesin. Proses membuktikan identitas seeorang ada banyak cara,
namun semuanya bisa dikelompokkan dalam 3 kategori:
- What you know: PIN, password, pasangan kunci publik-privat
- What you have: smart card, kunci, USB dongle
- What you are: fingerprint, retina
Secara
singkat otentikasi menjawab pertanyaan “Who are you speaking with?”.
Pertanyaan itu sangat penting diketahui sebelum dua pihak berkomunikasi.
Bila dua pihak berkomunikasi tanpa sebelumnya melakukan otentikasi,
maka keduanya bisa terjebak berbicara dengan orang yang salah, yaitu
orang yang menyamar menjadi lawan bicaranya. Bila sampai ini terjadi
maka akibatnya bisa sangat fatal, salah satunya adalah terjadinya mitm
attack.
Bila dua orang yang sudah
saling mengenal berbicara dengan tatap muka langsung, maka tidak
mungkin keduanya terjebak dan tertipu berbicara dengan orang yang
salah. Otentikasi menjadi sangat penting bila kedua pihak berbicara
melalui media komunikasi jarak jauh seperti telpon atau internet. Dalam
komunikasi jarak jauh, kita hanya bisa mendengar suara lawan bicara
kita, jadi sangat besar kemungkinan kita berbicara dengan orang yang
salah.
Jadi cara untuk mencegah
serangan MITM adalah dengan melakukan otentikasi sebelum berkomunikasi.
Bahkan walaupun otentikasi dilakukan oleh salah satu pihak saja, itu
sudah cukup untuk mencegah mitm. Mari kita lihat kembali contoh Alice,
Bob dan Charlie, bila otentikasi hanya dilakukan oleh Bob, sedangkan
Alice tidak. Karena tidak adanya otentikasi Alice, maka Charlie bisa
menyamar sebagai Alice di hadapan Bob, namun Charlie tidak bisa menyamar
sebagai Bob di hadapan Alice. Kenapa Charlie tidak bisa menyamar
menjadi Bob? Sebab Alice akan menguji keaslian Bob dengan otentikasi,
sehingga penyamaran Charlie sebagai Bob palsu akan terbongkar dan Alice
tidak akan mau melanjutkan komunikasi.