Bank sebagai instansi keuangan, diharuskan melakukan regular security asessment oleh Bank Indonesia minimal setahun sekali.
Security Assesment sendiri bisa berupa blackbox maupun whitebox. Kebanyakan aplikasi yang akan ditest adalah jenis internet banking.
Tipe internet banking sendiri biasanya terbagi atas beberapa seperti, Personal Internet Banking, Coorporate Internet Banking dan Mobile Internet Banking (Android dan iOS)
Saat ini aplikasi internet banking berkembang sangat cepat.
Bank Indonesia bahkan memperbolehkan institusi banking membuka rekening online jadi nasabah tidak perlu lagi datang ke cabang terdekat untuk membuka tabungan. Belum lagi adanya teknologi baru seperti QRIS, E-money yang bisa ditopup lewat NFC, Topup digital money seperti Gopay dan OVO juga menjadi salah satu fitur yang harus ada pada internet banking.
Beberapa bank juga menawarkan hadiah untuk nasabah mereka yang loyal dengan memberikan hadiah untuk transaksi terbanyak, hal ini juga harus dipastikan aman agar tidak bisa dengan mudah diexploitasi oleh pengguna.
Dengan cepatnya teknologi aplikasi internet banking maka security assesment dan threat modeling pada aplikasi ini menjadi hal yang sangat penting.
Mari kita bahas beberapa temuan yang sering ditemukan pentester ketika melakukan security assesment:
1. SSL
Aplikasi internet banking yang baik harus memiliki SSL setting yang baik. Hal ini untuk memastikan koneksi antara aplikasi internet banking dan server tidak dapat dibaca oleh penyerang. Tipe serangan yang biasa terjadi terhadap koneksi SSL yang buruk adalah Man In The Middle Attack.
Lakukan audit terhadap koneksi SSL pada server dengan menggunakan aplikasi ssllabs.
2. Tidak adanya limitasi login yang tidak valid (locked out).
Sebelum nasabah dapat melakukan transaksi tentunya nasabah harus melakukan verifikasi terlebih dahulu. Beberapa aplikasi Internet Banking yang didevelop sendiri (in house) tidak memiliki limitasi login yang tidak valid. Hal ini akan membuat aplikasi Internet Banking rentan terhadap serangan brute force. Serangan ini dilancarkan untuk mendapatkan login nasabah yang valid.
Terapkan metode locked out apabila nasabah mencoba login yang tidak valid lebih dari 3--5 kali.
3. Session management yang tidak tepat.
Cookie dan session adalah salah satu cara aplikasi internet banking melakukan deteksi bahwa nasabah masih memakai aplikasi.
Temuan yang sering ditest adalah
  3.1.Nasabah masih bisa melakukan transaksi, padahal nasabah telah melakukan logout.
  3.2. Nasabah masih login pada aplikasi walaupun setelah 15--30 menit nasabah tidak melakukan transaksi apapun (idle).
  3.3. Nasabah dapat melihat saldo nasabah lain.
  3.4. Nasabah dapat melakukan transfer atas nama nasabah lain.
Temuan ini tentu saja sangat kritikal dan harus segera diperbaiki. Untuk melakukan testing apakah session management telah diimplementasikan dengan benar adalah dengan menggunakan 2 user dengan roles yang sama dan lakukan 4 testing diatas.
4. Metode reset password yang tidak aman.
Beberapa aplikasi internet banking memiliki metode reset password yang tidak aman diantaranya
 4.1. Aplikasi internet banking mengirimkan URL reset password lewat email akan tetapi URL ini dapat digunakan berulang-ulang dan tidak expire setelah 30 menit.
 4.2. URL reset password yang dikirimkan aplikasi internet banking tidak random
 4.3. Beberapa aplikasi internet banking mengirimkan password dengan plain text. Walaupun nasabah diharapkan mengganti password nya ketika akan melakukan login kembali, akan tetapi metode ini dianggap tidak aman.
5. Roles maker yang dapat melakukan operational checker (aproval)
Untuk aplikasi internet banking coorporate biasanya memiliki 2 roles yaitu maker dan checker. Maker biasanya hanya di-authorized untuk membuat transaksi. Dan checker adalah roles yang akan melakukan approve terhadap transaksi maker.
Beberapa aplikasi internet banking roles maker masih dapat melakukan aproval, asal mengetahui URL atau format request dari checker.
Walaupun cukup sulit pagi penyerang yang hanya memiliki akses checker untuk mengetahui URL dan format request checker, akan tetapi temuan ini tetap harus diperbaiki karena akan membingungkan pada saat melakukan audit dimana user maker seharusnya tidak bisa melakukan aproval.
Untuk memastikan aplikasi internet banking selalu aman, lakukan security assesment dan threat modeling setiap ada fitur baru yang akan dirilis pada aplikasi internet banking. Lakukan juga monitoring minimal 6 bulan setelah fitur tersebut di-launch.
Terimakasih telah membaca artikel ini.