Trusted dalam kasus ini berarti bahwa: (1) tidak ada kode jahat dalam terminal nasabah yang dapat membelokkan koneksi ke server penyerang dan sekaligus menggagalkan terbentuknya protokol https antara terminal nasabah dan server internet banking, atau (2) tidak ada kode jahat dalam terminal yang dapat memanipulasi data yang diinput ataupun yang ditampilkan lewat layar ke nasabah.
Berdasarkan penjelasan sebelumnya, perlu setidaknya satu asumsi lagi yaitu (3) DNS yang digunakan bersifat trusted yakni tidak terkena DNS-poisoning, atau jika menggunakan proxy maka proxy ini juga trusted, yaitu tidak mengandung tool jahat yang dapat digunakan untuk melancarkan MITM.
SCROLL TO CONTINUE WITH CONTENT
Pertanyaannya adalah apakah saat ini ketiga asumsi perangkat trusted tersebut masih valid? Mengenai serangan virus terhadap terminal nasabah, sangat sering kita temukan fakta bahwa tidak mudah bagi kebanyakan nasabah untuk memastikan bahwa terminalnya bebas virus.
Beberapa virus bahkan sangat sulit dideteksi dan dibersihkan karena memiliki mekanisme stealth yang cukup kompleks. Virus-virus ini juga terus berevolusi untuk dapat lolos dari cegatan produk antivirus yang terbaru. Jadi, asumsi ke satu dan dua dapat dikatakan tidak valid karena butuh kecakapan khusus untuk mendeteksi dan menyingkirkan virus.
Di sisi lain, validitas asumsi ketiga juga sangat bergantung otoritas pihak lain di luar penyedia layanan internet banking dan juga nasabah. Nasabah sangat mungkin mengakses internet melalui access point yang tersedia ruang publik seperti kafe, restoran, ataupun bandara.
Menurut penulis, cukup berisiko jika keamanan layanan internet banking disandarkan pada validitas asumsi ketiga ini. Jadi, bagaimana status keamanan internet banking saat ini? Berdasarkan pembahasan di atas, kita sangat layak meragukan validitas tiga asumsi tersebut.
Kesimpulannya adalah sistem keamanan internet banking yang ada saat ini dapat kita nyatakan sudah tidak lagi efektif menangkal serangan man-in-the-middle-attack (MITM). Penyerang yang berhasil melancarkan MITM, selanjutnya dengan mudah menyadap dan sekaligus memodifikasi seluruh pertukaran pesan, termasuk detil transaksi, antara terminal nasabah dengan server internet banking.
Solusi Keamanan Internet Banking
Jika terminal tidak sepenuhnya trusted dan juga DNS ataupun proxy server juga tidak sepenuhnya trusted, bagaimana solusi sistem keamanan yang dapat menjamin keamanan transaksi internet banking? Kita singgung sedikit skenario serangan terhadap sistem keamanan yang ada saat ini.
Anggap MITM terjadi, maka penyerang dapat memodifikasi detil transaksi dan sekaligus memancing pengguna untuk menjawab challenge token-OTP.Terdapat beberapa permasalahan dalam skenario ini.
Pertama, integritas atau keutuhan detil transaksi tidak dapat dijaga. Penyerang dapat dengan mudah mengubah detil transaksi yang dimasukkan oleh nasabah. Kedua, nasabah memberikan persetujuan untuk transaksi yang tidak sepenuhnya dia ketahui. Ketika nasabah menerima challenge-token dan menjawabnya, nasabah sebenarnya tidak hanya sedang menjawab challenge untuk otentikasi what-you-have.
Pada saat itu, nasabah sekaligus juga memberikan persetujuan terhadap transaksi tertentu. Masalahnya adalah nasabah tidak dapat memastikan bahwa detil transaksi yang dia setujui adalah benar-benar identik dengan detil transaksi yang telah dia input sebelumnya ke halaman web.
Pada umumnya, sejumlah digit paling belakang dari challenge-token akan identik dengan sejumlah yang sama digit paling belakang dari nomor rekening tujuan.
Mekanisme ini tentu dapat membantu pengguna untuk memastikan validitas dari detil transaksi yang akan dia setujui.
Namun, penyerang dapat saja menyisipkan beberapa langkah tambahan untuk memanipulasi nasabah sedemikian rupa sehingga pada akhirnya nasabah akan menjawab challenge-token yang tidak berkorelasi dengan detil transaksi yang dia masukkan sebelumnya.
Dua permasalahan dalam skenario di atas dapat menuntun kita untuk merumuskan solusi keamanan. Penulis mengusulkan beberapa prinsip solusi sebagai berikut:
(1) Anggap terjadi MITM, maka solusi keamanan harus memiliki mekanisme untuk menjaga integritas detil transaksi. Dengan mekanisme ini, penyerang tidak mungkin lagi mengubah detil transaksi yang telah disetujui oleh nasabah. Kita dapat menggunakan berbagai algoritma kriptografi untuk menerapkan mekanisme ini.
(2) Anggap terjadi MITM, maka solusi keamanan harus memberikan mekanisme bagi nasabah untuk memeriksa dan memastikan kebenaran detil transaksi sebelum memberikan persetujuan terhadap transaksi.
(3) Anggap terjadi MITM, maka prinsip ke-1 dan 2 harus diimplementasikan dalam sub-sistem yang trusted. Karena terminal diasumsikan tidak sepenuhnya trusted, maka sub-sistem ini dapat saja berupa dedicated-device sebagaimana token-device yang ada saat ini.
Dengan mengungkap beberapa asumsi dasar yang sebelumnya tidak dinyatakan secara eksplisit, kita dapat menyatakan bahwa sistem keamanan internet banking yang ada saat ini tidak dapat menangkal skenario serangan yang mutakhir. Maka selanjutnya kita dapat menyusun asumsi yang lebih realistis dan kemudian merumuskan solusi keamanan yang baru. Selesai.
*) Penulis, Dr. Budi Sulistyo, CISA adalah Security Expert dari Lembaga Riset Telematika Sharing Vision, Bandung. Dapat dihubungi pada surel di budi@sharingvision.biz.
(ash/ash)