OWASP TOP 10 : A07:2021 – Kegagalan Identifikasi dan Otentikasi

By SumedangKab-CSIRT in Literasi Keamanan Informasi

Literasi Keamanan Informasi
Identifikasi dan otentikasi adalah proses untuk memverifikasi identitas pengguna yang mengakses sebuah sistem atau layanan. Identifikasi adalah proses untuk menentukan siapa pengguna, misalnya dengan menggunakan nama pengguna, email, atau nomor telepon. Otentikasi adalah proses untuk memastikan bahwa pengguna adalah orang yang sebenarnya, misalnya dengan menggunakan kata sandi, token, atau sidik jari. Identifikasi dan otentikasi sangat penting untuk melindungi sistem atau layanan dari serangan-serangan yang berhubungan dengan otentikasi, seperti pencurian akun, akses tidak sah, atau penipuan.
.
Namun, identifikasi dan otentikasi juga dapat mengalami kegagalan, yang dapat membahayakan keamanan sistem atau layanan. Kegagalan identifikasi dan otentikasi adalah salah satu kategori dalam OWASP Top 10:2021, yang merupakan daftar 10 risiko keamanan aplikasi web teratas yang disusun oleh Organisasi Aplikasi Web Aman (OWASP). Kategori ini sebelumnya dikenal sebagai Broken Authentication, dan sekarang mencakup CWE (Common Weakness Enumeration) yang lebih terkait dengan kegagalan identifikasi.

Beberapa contoh kegagalan identifikasi dan otentikasi yang umum terjadi antara lain:
  • Mengizinkan serangan otomatis. Jika sistem atau layanan tidak memiliki mekanisme untuk mencegah atau mendeteksi serangan otomatis, seperti pengisian kredensial, brute force, atau serangan daftar kata sandi, maka pengguna yang tidak berwenang dapat mencoba untuk menebak atau mencuri kredensial pengguna yang sah dengan menggunakan alat-alat atau teknik-teknik tertentu.
  • Mengizinkan kata sandi yang lemah atau bawaan. Jika sistem atau layanan tidak memiliki kebijakan atau pemeriksaan untuk kata sandi yang kuat, unik, dan acak, maka pengguna dapat menggunakan kata sandi yang lemah, bawaan, atau terkenal, seperti “Password1” atau “admin/admin”, yang mudah ditebak atau ditemukan oleh peretas.
  • Menggunakan kredensial atau enkripsi yang tidak aman. Jika sistem atau layanan tidak menggunakan kredensial atau enkripsi yang kuat untuk melindungi akses dan komunikasi dengan pengguna, maka kredensial atau data pengguna dapat dicuri, dimanipulasi, atau disalahgunakan oleh peretas. Misalnya, jika sistem atau layanan menggunakan kata sandi teks biasa, terenkripsi, atau dengan hash yang lemah, atau tidak menggunakan protokol HTTPS untuk mengirim atau menerima data.
  • Menggunakan otentikasi multi-faktor yang tidak efektif. Jika sistem atau layanan tidak menggunakan otentikasi multi-faktor, atau menggunakan otentikasi multi-faktor yang tidak efektif, maka pengguna yang tidak berwenang dapat mengakses sistem atau layanan dengan menggunakan kredensial yang dicuri atau diretas. Otentikasi multi-faktor adalah metode untuk memverifikasi identitas pengguna dengan menggunakan lebih dari satu faktor, seperti sesuatu yang diketahui pengguna (misalnya, kata sandi), sesuatu yang dimiliki pengguna (misalnya, token), atau sesuatu yang merupakan pengguna (misalnya, sidik jari).
  • Menggunakan pengelolaan sesi yang tidak aman. Jika sistem atau layanan tidak menggunakan pengelolaan sesi yang aman, maka pengguna yang tidak berwenang dapat mengambil alih atau memperpanjang sesi pengguna yang sah dengan menggunakan teknik-teknik tertentu. Pengelolaan sesi adalah proses untuk mengatur dan memantau sesi pengguna, yang merupakan periode waktu di mana pengguna terhubung dengan sistem atau layanan. Pengelolaan sesi yang aman melibatkan penggunaan ID sesi yang acak, unik, dan sulit ditebak, serta penghapusan ID sesi setelah logout, waktu tunggu, atau batas waktu.
.
Untuk mencegah kegagalan identifikasi dan otentikasi, sistem atau layanan perlu menerapkan beberapa langkah-langkah berikut:
  • Menggunakan otentikasi multi-faktor. Sistem atau layanan perlu menggunakan otentikasi multi-faktor untuk meningkatkan keamanan identifikasi dan otentikasi pengguna. Otentikasi multi-faktor dapat mengurangi risiko serangan otomatis, penggunaan kembali kredensial yang dicuri, atau akses tidak sah oleh pengguna yang tidak berwenang.
  • Menggunakan kata sandi yang kuat dan unik. Sistem atau layanan perlu menggunakan kata sandi yang kuat dan unik untuk melindungi kredensial pengguna. Kata sandi yang kuat dan unik adalah kata sandi yang panjang, kompleks, dan acak, yang tidak mudah ditebak atau ditemukan oleh peretas. Sistem atau layanan juga perlu menerapkan pemeriksaan atau kebijakan untuk kata sandi yang kuat dan unik, serta memberikan bantuan atau saran kepada pengguna untuk membuat kata sandi yang kuat dan unik.
  • Menggunakan kredensial dan enkripsi yang aman. Sistem atau layanan perlu menggunakan kredensial dan enkripsi yang aman untuk melindungi akses dan komunikasi dengan pengguna. Kredensial dan enkripsi yang aman adalah kredensial dan enkripsi yang kuat, terbaru, dan sesuai dengan standar dan praktik keamanan yang berlaku. Sistem atau layanan juga perlu mengelola dan menyimpan kredensial dan data pengguna dengan aman, serta tidak mengunggahnya ke tempat-tempat yang tidak terpercaya atau terbuka.
  • Menggunakan pengelolaan sesi yang aman. Sistem atau layanan perlu menggunakan pengelolaan sesi yang aman untuk mengatur dan memantau sesi pengguna. Pengelolaan sesi yang aman melibatkan penggunaan ID sesi yang acak, unik, dan sulit ditebak, serta penghapusan ID sesi setelah logout, waktu tunggu, atau batas waktu. Sistem atau layanan juga perlu mencegah atau mendeteksi pengambilalihan atau perpanjangan sesi oleh pengguna yang tidak berwenang.
.
Kegagalan identifikasi dan otentikasi adalah salah satu risiko keamanan aplikasi web teratas yang perlu diwaspadai dan diatasi oleh sistem atau layanan. Dengan menerapkan langkah-langkah yang tepat, sistem atau layanan dapat melindungi identitas dan otentikasi pengguna, serta menghindari kerugian dan dampak negatif akibat serangan-serangan yang berhubungan dengan otentikasi. 
Back to Posts