Kerentanan Cache Key BCrypt Okta: Kesalahan Desain dalam Sistem Autentikasi

Tim Editorial BigGo
Kerentanan Cache Key BCrypt Okta: Kesalahan Desain dalam Sistem Autentikasi

Dalam sebuah pengumuman keamanan terbaru, Okta mengungkapkan adanya kerentanan dalam sistem AD/LDAP Delegated Authentication mereka yang terjadi antara Juli hingga Oktober 2024. Analisis teknis dari komunitas mengungkapkan wawasan lebih dalam tentang keputusan arsitektur yang menyebabkan masalah keamanan ini.

Akar Penyebab Teknis

Kerentanan ini berasal dari implementasi Okta dalam pembuatan cache key menggunakan BCrypt. Sistem menggabungkan userId, username, dan password untuk membuat cache key, namun batasan 72-byte dari BCrypt terbukti bermasalah. Ketika username melebihi 52 karakter, bagian password bisa terpotong dari cache key, yang berpotensi memungkinkan autentikasi hanya dengan username menggunakan cache key yang tersimpan sebelumnya.

Pola Anti-Desain yang Teridentifikasi

Para ahli keamanan dalam komunitas telah menyoroti beberapa masalah arsitektur dengan pendekatan Okta. Masalah utamanya meliputi:

  • Menggunakan BCrypt, algoritma hash password, untuk pembuatan cache key
  • Menggabungkan pengidentifikasi (userId, username) dengan data rahasia (password) dalam satu hash
  • Tidak memperhitungkan batasan panjang BCrypt yang sudah diketahui
  • Penanganan delimiter yang tidak tepat dalam proses penggabungan

Pendekatan Implementasi yang Lebih Baik

Komunitas menyarankan beberapa pendekatan alternatif yang bisa mencegah kerentanan ini:

  • Memisahkan penyimpanan password dari pembuatan cache key
  • Menggunakan HMAC atau fungsi Key Derivation Functions (KDFs) khusus seperti HKDF untuk pembuatan cache key
  • Mengimplementasikan awalan panjang field yang tepat alih-alih delimiter
  • Melakukan hash terpisah untuk setiap field sebelum penggabungan

Pertimbangan Implementasi Cache

Eksploitasi kerentanan ini memerlukan kondisi tertentu: baik agen AD/LDAP tidak dapat dijangkau atau situasi lalu lintas tinggi yang memaksa cache hits. Ini menyoroti keseimbangan yang sensitif antara optimasi kinerja dan keamanan dalam sistem autentikasi. Komunitas menekankan bahwa pembatalan cache melalui perubahan password kemungkinan menjadi pertimbangan utama dalam desain awal, meskipun implementasinya terbukti cacat.

Dampak dan Penyelesaian

Okta telah mengatasi kerentanan ini dengan beralih dari BCrypt ke PBKDF2 untuk operasi kriptografi. Organisasi yang menggunakan AD/LDAP Delegated Authentication Okta harus menyelidiki log sistem mereka untuk kemungkinan eksploitasi antara 23 Juli dan 30 Oktober 2024, terutama jika mereka memiliki pengguna dengan username sepanjang 52 karakter atau lebih.

Respons Industri

Komunitas keamanan telah menyatakan keprihatinan tentang waktu pengungkapan Okta, dengan pengumuman yang dirilis pada Jumat sore. Hal ini memicu diskusi tentang transparansi dalam pengungkapan keamanan dan kebutuhan akan praktik pengungkapan yang lebih terstandarisasi dalam industri manajemen identitas dan akses.