Memoles e-Banking Guna Menangkal Serangan Sinkronisasi Token: Bagaimana serangan ‘sinkronisasi token’ bekerja? (bagian 2 dari 3 tulisan)

Untuk mengambil pelajaran dari kasus serangan yang sudah terjadi, kita perlu mengingat kembali salah satu prinsip dasar untuk menganalisis keamanan sistem teknologi informasi, yaitu:

Keamanan total dari suatu sistem dapat dipandang sebagai sebuah rantai yang dibentuk oleh sekumpulan mata-rantai yang saling berhubungan. Untuk mematahkan keamanan, penyerang cukup mencari dan memutuskan mata-rantai yang paling lemah.

Metode serangan ‘sinkronisasi token’ yang terjadi sepenuhnya sejalan dengan prinsip di atas. Penyerang mengarahkan serangannya ke titik paling lemah dari rangkaian keamanan, yakni pengguna serta perangkat (PC, tablet) dan juga lingkungan di sisi pengguna. Serangan ini memiliki aspek teknis, yakni penggunaan malware ataupun tool serangan lainnya, dan sekaligus aspek social engineering, yakni strategi untuk mengecoh pengguna. Bagian artikel ini akan memaparkan skenario dasar serangan terhadap sistem keamanan eksisting.

1. Mekanisme pengamanan yang ada saat ini

Dalam kondisi normal, sistem internet banking telah memiliki beberapa mekanisme pengamanan yang merealisasikan kriteria keamanan berikut ini:

  1. Otentikasi server internet banking. Pengguna, melalui personal computer (PC) yang digunakannya, harus dapat memastikan bahwa server internet banking yang dituju adalah benar-benar server yang valid,
  2. Enkripsi komunikasi antara PC dan server. Komunikasi antara PC pengguna dan server internet banking harus dijamin kerahasiaannya sehingga harus terenkripsi, dan
  3. Otentikasi pengguna. Server internet banking harus dapat memastikan bahwa pengguna yang menggunakan layanan adalah benar-benar pengguna internet banking yang sah.

Kriteria (1) dan (2) dipenuhi dengan menerapkan protokol HTTPS.  Dalam protokol ini, pertama-tama, PC pengguna akan mengotentikasi server internet banking dengan cara memeriksa digital certificate-nya. Berikutnya, PC dan server akan membentuk jalur komunikasi yang terenkripsi untuk menjaga kerahasiaan data.

pengamanan internet banking

Gambar 1 Mekanisme pengamanan internet banking

Kriteria keamanan (3) direalisasikan dengan menggunakan two-factor-authentication yang terdiri dari faktor what-you-know dan what-you-have. Untuk faktor what-you-know, pengguna harus mengetahui dan memasukkan username dan password ke halaman login internet banking. Untuk faktor what-you-have, pengguna harus memasukkan password-token-sekali-pakai (token one time password, token-OTP) yang diminta. Token-OTP ini sampai ke tangan pengguna dengan dua cara, yaitu (1) menggunakan token-device yang dapat membangkitkan token-OTP atau (2) menerima token-OTP dari Bank melalui SMS yang dikirim ke ponsel pengguna. Gambar 1 memperlihatkan mekanisme pengamanan utama layanan internet banking. Gambar 2 memperlihatkan dua alternatif protokol keamanan untuk dua jenis sistem token, yaitu token-device dan sms-token.

protokol keamanan internet banking

Gambar 2 Protokol keamanan internet banking untuk kasus token-device dan sms-token (simplified)

Untuk melakukan login ke halaman internet banking, pengguna hanya perlu memasukkan username dan password yang merupakan faktor otentikasi what-you-know. Untuk melakukan berbagai jenis transaksi (pembayaran, transfer dll), pengguna memerlukan faktor otentikasi tambahan yakni  token password yang merupakan faktor otentikasi what-you-have. Username  dan password dapat digunakan secara berulang untuk melakukan login sedangkan token-OTP hanya dapat digunakan untuk satu kali transaksi. Untuk transaksi berikutnya, pengguna harus membangkitkan kembali token-OTP (atau mendapatkan token-OTP yang baru melalui SMS).

Serangan ‘sinkronisasi token’ yang terjadi baru-baru ini tidak secara langsung mematahkan berbagai mekanisme keamanan yang dijelaskan di atas. Yang terjadi adalah, serangan tersebut mencegah mekanisme pengamanan bekerja sebelum mekanisme tersebut berfungsi.

Mengapa demikian?

Hingga saat ini, protokol HTTPS masih sangat aman digunakan untuk mengotentikasi server serta mengamankan jalur komunikasi antara klien dan server. Protokol ini menggunakan algoritma enkripsi standar yang kuat dan dijamin keamanannya. Kondisi yang sama juga berlaku pada mekanisme pengamanan token-OTP. Mekanisme ini masih sangat aman karena token dibangkitkan dengan menggunakan algoritma kriptografi standar yang aman. Kelemahan yang ditemukan saat ini, baik untuk HTTPS ataupun sistem token, adalah kelemahan yang masih bersifat teoritis. Secara praktis, keduanya masih sangat aman untuk digunakan.

Jika dua mekanisme pengamanan (HTTPS dan sistem token) tersebut masih aman, lalu bagaimana penyerang dapat melakukan transaksi dengan menggunakan account pengguna yang sah?

2. Bagaimana serangan ‘sinkronisasi token’ dapat menembus keamanan internet banking

Dalam kasus serangan ‘sinkronisasi token’, penyerang dapat melakukan transaksi transfer dari rekening milik nasabah yang sah ke tujuan rekening yang dikehendakinya. Ini berarti penyerang dapat mengakses layanan internet banking dan bertindak seolah-olah sebagai nasabah yang sah. Bagaimana ini bisa terjadi? Untuk ini, penyerang harus mencuri seluruh faktor otentikasi pengguna, yaitu username, password dan token-OTP .

Dalam protokol internet banking, otentikasi terhadap pengguna dilakukan setelah koneksi HTTPS terbentuk. Karena protokol HTTPS ini mengenkripsi data yang dipertukarkan antara PC pengguna dan server internet banking, maka penyerang tidak dapat mencuri username, password ataupun token-OTP dengan cara melakukan intercept terhadap komunikasi data yang sedang berlangsung.

Namun demikian, penyerang masih mungkin mencuri username, password ataupun token-OTP (ketiganya selanjutnya kita sebut credential) dengan cara:

  • Menanamkan malware-keylogger ke PC pengguna. Keylogger ini akan mengintip dan merekam pengetikan credential dan kemudian mengirimkannya kepada penyerang. Keylogger ini berjalan di PC pengguna yang tidak terlindung oleh protokol HTTPS.
  • Melakukan shoulder sniffing, yaitu mengintip secara visual (atau menggunakan kamera) pengetikan credential yang dilakukan oleh pengguna.
  • Mencegah terbentuknya protokol HTTPS dan dengan demikian penyerang dapat mencuri credential pengguna dengan melakukan intercept terhadap paket data yang dikirimkan oleh PC pengguna.

Sekali penyerang berhasil mencuri username  dan password, maka ia dapat menggunakannya kapanpun untuk melakukan login ke halaman internet banking sepanjang pengguna tidak mengubah username dan password tersebut. Kasus token-OTP sangat berbeda. Token-OTP ini hanya berlaku untuk satu transaksi saja sehingga penyerang tidak dapat menggunakannya untuk mengeksekusi transaksi yang lain. Token-OTP yang valid adalah token-OTP yang dibangkitkan at-the-moment oleh pengguna dengan menggunakan device token pada saat pengguna melakukan transaksi (atau yang dikirimkan at the moment juga pada saat transaksi berlangsung).

Konsekuensinya adalah, untuk dapat melakukan transaksi atas nama pengguna yang sah, penyerang harus memiliki kendali terhadap token-device yang dipegang oleh pengguna yang sah. Teknik serangan yang memungkinkan hal tersebut terjadi adalah tipe serangan man-in-the-middle-attack (MITM). Dalam teknik ini, penyerang harus dapat melakukan intercept, modifikasi, membuat pesan baru, dan juga me-replay pesan. Karena protokol HTTPS dirancang untuk menangkal serangan MITM, maka penyerang harus melancarkan serangan MITM sebelum protokol HTTPS antara PC-pengguna dan server internet banking terlaksana. Gambar 3 memperlihatkan apa yang dilakukan oleh penyerang yaitu mencegah berjalannya protokol HTTPS dan kemudian melakukan MITM.

HTTPS failed

Gambar 3 Penyerang mencegah terlaksananya protokol HTTPS dan kemudian melakukan serangan MITM

Seperti yang sudah dijelaskan di bagian sebelumnya, serangan ‘sinkronisasi token’ ini tidak mematahkan mekanisme keamanan internet banking, namun ia hanya mencegah mekanisme tersebut bekerja sejak dari awal. Prinsipnya adalah, penyerang sejak awal akan membelokkan (redirect) paket data dari PC pengguna untuk berkoneksi dengan server/PC penyerang dan bukan berkoneksi dengan server internet banking. Setelah itu, penyerang akan melanjutkan dengan serangan MITM. Pembelokan paket data ini dapat dilakukan dengan berbagai cara, diantaranya adalah:

  • Menanamkan tool di dalam proxy server. Ini dapat dilakukan jika koneksi internet harus melalui proxi server. Penyerang akan menggunakan proxy server sebagai sarana untuk melakukan MITM. Tool yang tertanam dalam proxy server akan bertindak sebagai man-in-the-middle.
  • Menyerang DNS server (DNS Poisoning). Serangan ini akan me-redirect permintaan koneksi ke alamat web internet banking yang valid ke arah server/PC penyerang. Serangan ini dapat dilakukan terhadap DNS server di lingkungan perusahaan. Serangan mungkin juga dilakukan terhadap DNS server yang dijalankan oleh ISP. Selanjutnya, server penyerang akan berfungsi sebagai man-in-the-middle.
  • Memodifikasi perangkat user (PC, smartphone, tablet). Penyerang akan  mengubah file system tertentu dalam perangkat pengguna untuk me-redirect alamat web internet banking valid yang diketikkan oleh user ke server attacker. Serangan jenis ini dapat dieksekusi dengan dua cara; (a) mengakses perangkat pengguna secara fisik dan kemudian memodifikasi perangkat tersebut, dan (b) menggunakan virus untuk memodifikasi perangkat pengguna. Selanjutnya, server penyerang akan berfungsi sebagai man-in-the-middle.

Setelah berhasil menempatkan dirinya di antara PC pengguna dan server internet banking (sebagai man-in-the-middle), penyerang selanjutnya akan melakukan prosedur transaksi internet banking atas nama pengguna dengan cara meminta username, password dan token-OTP kepada pengguna ketika diperlukan. Penyerang berinteraksi dengan pengguna melalui tampilan halaman web internet banking palsu yang dibuat sedemikian rupa sehingga pengguna tidak menyadari bahwa koneksi layanan internet banking yang dia lakukan sedang diintervensi oleh penyerang. Gambar 4 menunjukkan bagaimana penyerang dapat melakukan langkah-langkah transaksi normal atas nama pengguna yang sah dengan menggunakan credential milik pengguna.  Berikut ini adalah langkah-langkah yang dilakukan oleh penyerang:

  1. Penyerang mencegah protokol HTTPS berjalan dan kemudian melakukan MITM.
  2. Berikutnya, penyerang mencuri username dan password dengan cara meminta pengguna untuk memasukkan keduanya ke halaman login internet banking palsu yang dibuat semirip mungkin dengan halaman yang asli.
  3. Berbekal username dan password ini, penyerang melakukan login ke halaman internet banking.
  4. Penyerang terus berinteraksi dengan pengguna dengan teknik social engineering sedemikian rupa sehingga pengguna tidak menyadari bahwa ia sebenarnya sedang berkomunikasi dengan penyerang, bukan dengan server internet banking.
  5. Melalui interaksi ini, penyerang kemudian melakukan transaksi ilegal atas nama pengguna. Untuk otentikasi token, penyerang dapat meminta token-OTP  kepada pengguna dengan menampilkan halaman palsu untuk me-request atau melakukan challenge-and-response token-OTP.  Dalam kasus serangan baru-baru ini, penyerang menggunakan pop-up window sinkronisasi token untuk meminta token-OTP dari pengguna.

mitm against protokol internet banking

Gambar 4 Serangan MITM terhadap protokol keamanan internet banking.

Penulis:

  • Dr. Budi Sulistyo CISA adalah Security Expert dari Lembaga Riset Telematika Sharing Vision, Bandung. (budi@sharingvision.com)
  • Masagus Krisna, ST. adalah White Hat Hacker dan Reseacher dari Lembaga Riset Telematika Sharing Vision, Bandung. (krisna@sharingvision.com)

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s