Password Manager With Anti Brute-force Attack
Sebuah aplikasi password manager berbasis web yang menerapkan Time-based OTP untuk mencegah serangan brute-force.
Aplikasi password manager merupakan aplikasi yang dapat menyimpan dan mengatur password pengguna dimana pengguna hanya perlu mengingat satu master password untuk dapat menyimpan seluruh password yang telah disimpan pada aplikasi password manager. Aplikasi password manager sekarang ini mayoritas menggunakan Password-based Encryption (PBE). Aplikasi password manager berbasis PBE ini terbagi menjadi empat tipe password manager, salah satunya adalah aplikasi password manager berbasis website. Aplikasi password manager berbasis PBE rawan terhadap serangan brute force attack. Penerapan autentikasi dua faktor pada sistem login aplikasi dapat menjadi solusi permasalah tersebut. One Time Password (OTP) merupakan salah satu metode autentikasi two factor authentication. Salah satu algoritma dari OTP adalah Time-based One Time Password (TOTP). TOTP merupakan autentikasi kode OTP dengan menggunakan parameter waktu yang digunakan untuk membangkitkan kode autentikasi. Pada penelitian ini akan membahas mengenai implementasi TOTP sebagai metode autentikasi pada aplikasi password manager dengan menggunakan bot telegram sebagai media notifikasi kepada pengguna. Implementasi autentikasi ini diterapkan untuk mengamankan akun pengguna aplikasi password manager dari serangan brute-force attack. Ketika terdeteksi serangan brute-force attack, sistem akan memberikan notifikasi kepada telegram pengguna kemudian secara otomatis sistem akan menutup sementara akun pengguna yang telah diserang tersebut.
Judul penelitian
Implementasi Time-based One Time Password (TOTP) sebagai Metode Autentikasi pada Password Manager untuk Mencegah Serangan Brute Force Attack.
Implementasi
Proses identifikasi merupakan proses pertama dalam tahap analisis kebutuhan. Kebutuhan dapat didapatkan dengan mempelajari serta memahami aplikasi secara umum. Proses identifikasi dilakukan melalui analisis dan observasi terhadap beberapa aplikasi password manager. Aplikasi password manager yang dijadikan sebagai analisis dan observasi yaitu 1Password, Lastpass dan Keeper.
Alasan pemilihan 1Password dikarenakan aplikasi ini merupakan aplikasi password manager yang memiliki fitur unggulan seperti watchtower (fitur pemberitahuan jika terjadi kebocoran data aplikasi). Sementara itu, Lastpass merupakan pelopor aplikasi password manager yang dapat berjalan pada banyak sistem operasi seperti windows, mac dan android. Sedangkan Keeper dianggap sebagai aplikasi password manager paling aman dikarenakan aplikasi ini telah menerapkan two-factor authentication (2FA) face recognition dan finger print.
Dari analisis tiga aplikasi password manager didapatkan kebutuhan dasar yang harus ada pada aplikasi yang akan dibangun. Kebutuhan dasar tersebut diantaranya fitur signup, login, lihat data, tambah data, edit data, hapus data dan simpan data yang ada pada ketiga aplikasi password manager. Kemudian fitur auto login dan login offline hanya ada pada aplikasi Lastpass. Fitur generate password dan secure note hanya pada aplikasi 1Password. Sedangkan aplikasi Keeper memiliki fitur khusus yaitu two-factor authentication, generate password dan custome fields. Hasil dari identifikasi kebutuhan ini akan dijadikan sebagai bahan pertimbangan untuk menentukan kebutuhan minimal pada aplikasi password manager.
Aplikasi Password Manager terdiri dari tiga lingkungan yaitu website, telegram dan supporting (pendukung). Lingkungan website terdiri dari proses login dan proses autentikasi. Sedangkan lingkungan supporting sebagai pendukung yaitu ngrok yang berfungsi sebagai media untuk membuat Secure Socket Layer (SSL) yang akan digunakan untuk men-setting webhook telegram. Webhook telegram merupakan penghubung antara aplikasi web dengan Application Programming Interface (API) Telegram. Gambaran umum dari proses bisnis aplikasi password manager pada penelitian ini dapat dilihat pada gambar berikut.
Berikut ini rancangan berupa Data Flow Diagram (DFD) level 0.
Dari DFD level 0 kemudian diturunkan ke level 1 seperti ditunjukkan pada gambar di bawah ini.
Setelah perancangan selesai, kemudian diimplementasikan menggunakan bahasa pemrograman PHP dan database MySQL.
Pencegahan serangan Brute-force yaitu dengan memberikan limit atau batas wajar banyaknya percobaan login, pada pengujian ini pembatasan login adalah 3 kali dalam kurun waktu 1 menit. Setiap kali pengguna mencoba login, nilai percobaan login akan bertambah dan disimpan pada database. Kemudian jika pengguna sah berhasil login, maka nilai percobaan login di database akan kembali di reset menjadi nol.
Berdasarkan skenario tersebut, meskipun penyerang berhasil mendapatkan password, penyerang tidak akan bisa login ke aplikasi dikarenakan terdapat fitur auntentikasi aplikasi password manager. Kemudian jika terdeteksi terjadi serangan brute-force attack, sistem akan memberikan notifikasi ke telegram penguna bahwa telah terjadi serangan seperti pada gambar di atas. Ketika terjadi serangan brute-force attack, secara otomatis sistem akan menutup sementara akun pengguna sehingga data-data pengguna pada aplikasi akan tetap aman. Akun pengguna tersebut bisa kembali digunakan setelah dilakukan re-aktivasi akun oleh pengguna yang sah.
Tangkapan Layar
-
Halaman verifikasi otp
-
Halaman dasboard
Peneliti
- Iang Nugraha
Supervisor
- Herman Kabetta
- Hermawan Setiawan
- I Komang Setia Buana