Mathy Vanhoef, penulis serangan KRACK pada jaringan nirkabel WPA2, dan Eyal Ronen, rekan penulis beberapa serangan pada TLS, mengungkapkan detail enam kerentanan (CVE-2019-9494 - CVE-2019-9499) dalam teknologi keamanan jaringan nirkabel WPA3 yang memungkinkan seseorang untuk membuat ulang kata sandi koneksi dan mengakses jaringan nirkabel tanpa mengetahui kata sandi. Kerentanan tersebut, yang diberi kode nama Dragonblood, memungkinkan seseorang untuk membahayakan metode jabat tangan Dragonfly, yang memberikan perlindungan terhadap tebakan kata sandi offline. Selain WPA3, metode Dragonfly juga digunakan untuk melindungi dari serangan kamus dalam protokol EAP-pwd, yang digunakan dalam Android, server RADIUS dan di hostapd/wpa_supplicant.
Studi ini mengidentifikasi dua jenis utama kelemahan arsitektur pada WPA3. Keduanya pada akhirnya dapat dieksploitasi untuk memulihkan kata sandi. Jenis pertama memungkinkan serangan penurunan versi: mekanisme kompatibilitas WPA2 (mode transit yang memungkinkan penggunaan WPA2 dan WPA3) memungkinkan penyerang memaksa klien untuk melakukan jabat tangan empat arah WPA2, yang kemudian memungkinkan serangan bruteforce kata sandi klasik yang berlaku untuk WPA2. Lebih lanjut, serangan penurunan versi juga diidentifikasi secara langsung terhadap metode jabat tangan Dragonfly, yang memungkinkan fallback ke jenis kurva eliptik yang kurang aman.
Jenis masalah kedua mengakibatkan kebocoran informasi kata sandi melalui kanal samping dan didasarkan pada kelemahan metode penyandian kata sandi Dragonfly, yang memungkinkan kata sandi asli direkonstruksi menggunakan data tidak langsung, seperti perubahan latensi operasi. Algoritma hash-to-curve yang digunakan di Dragonfly terbukti rentan terhadap serangan cache, sementara algoritma hash-to-group rentan terhadap serangan pengaturan waktu.
Untuk melakukan serangan analisis cache, penyerang harus mampu mengeksekusi kode tanpa hak istimewa pada sistem pengguna yang terhubung ke jaringan nirkabel. Kedua metode ini menyediakan informasi yang dibutuhkan untuk menyempurnakan pemilihan kata sandi selama serangan brute-force. Serangan ini cukup efektif, memungkinkan seseorang untuk melakukan brute-force pada kata sandi 8 karakter, termasuk huruf kecil, hanya dengan mencegat 40 sesi jabat tangan dan menghabiskan sumber daya yang setara dengan kapasitas Amazon EC2 senilai $125.
Berdasarkan kerentanan yang teridentifikasi, beberapa skenario serangan diusulkan:
- Serangan fallback WPA2 dengan kemampuan serangan kamus. Ketika klien dan titik akses mendukung WPA3 dan WPA2, penyerang dapat menyebarkan titik akses palsu dengan nama jaringan yang sama, tetapi hanya mendukung WPA2. Dalam situasi ini, klien akan menggunakan metode negosiasi koneksi khusus WPA2, yang akan menentukan bahwa fallback semacam itu tidak dapat diterima. Namun, hal ini akan dilakukan ketika pesan negosiasi kanal telah terkirim dan semua informasi yang dibutuhkan untuk serangan kamus telah bocor. Metode serupa dapat digunakan untuk fallback ke versi kurva eliptik yang bermasalah dalam SAE.
Selain itu, ditemukan bahwa daemon iwd, yang dikembangkan oleh Intel sebagai alternatif untuk wpa_supplicant, dan tumpukan nirkabel Samsung Galaxy S10 rentan terhadap serangan penurunan versi bahkan pada jaringan yang hanya menggunakan WPA3—jika perangkat ini sebelumnya terhubung ke jaringan WPA3, mereka akan mencoba terhubung ke jaringan WPA2 palsu dengan nama yang sama.
- Serangan kanal samping yang mengekstrak informasi dari cache prosesor. Algoritma enkripsi kata sandi Dragonfly mengandung percabangan bersyarat. Penyerang, yang memiliki kemampuan untuk mengeksekusi kode pada sistem pengguna jaringan nirkabel, dapat menentukan blok pernyataan if-then-else mana yang dipilih dengan menganalisis perilaku cache. Informasi yang diperoleh dapat digunakan untuk melakukan tebakan kata sandi progresif, menggunakan metode yang mirip dengan serangan kamus offline untuk tebakan kata sandi WPA2. Untuk perlindungan, disarankan untuk beralih ke operasi dengan waktu eksekusi konstan, terlepas dari sifat data yang sedang diproses.
- Serangan side-channel dengan estimasi waktu eksekusi. Pengkodean kata sandi Dragonfly menggunakan beberapa grup perkalian (MODP) dan sejumlah iterasi yang bervariasi, yang jumlahnya bergantung pada kata sandi yang digunakan dan alamat MAC titik akses atau klien. Penyerang jarak jauh dapat menentukan jumlah iterasi yang dilakukan selama pengkodean kata sandi dan menggunakan angka ini sebagai petunjuk untuk serangan bruteforce kata sandi progresif.
- Serangan Denial of Service (DoS). Penyerang dapat menonaktifkan fungsi titik akses tertentu dengan menghabiskan sumber daya yang tersedia dan mengirimkan sejumlah besar permintaan negosiasi kanal. Untuk menerobos perlindungan banjir WPA3, mengirimkan permintaan dari alamat MAC unik palsu sudah cukup.
- Alternatifnya adalah menggunakan grup kriptografi yang kurang aman yang digunakan selama jabat tangan WPA3. Misalnya, jika klien mendukung kurva eliptik P-521 dan P-256 dan menggunakan P-521 sebagai opsi pilihan, maka penyerang, terlepas dari dukungannya
P-521 pada sisi titik akses dapat memaksa klien untuk menggunakan P-256. Serangan ini dilakukan dengan memfilter pesan-pesan tertentu selama proses negosiasi koneksi dan mengirimkan pesan palsu yang memberi tahu klien bahwa jenis kurva eliptik tertentu tidak didukung.
Untuk menguji perangkat terhadap kerentanan, beberapa skrip dengan contoh serangan telah disiapkan:
- Dragonslayer - implementasi serangan pada EAP-pwd;
- Dragondrain adalah utilitas untuk menguji titik akses untuk kerentanan dalam penerapan metode negosiasi koneksi SAE (Simultaneous Authentication of Equals), yang dapat digunakan untuk memulai penolakan layanan;
- Dragontime adalah skrip untuk melakukan serangan saluran samping terhadap SAE yang memperhitungkan perbedaan waktu pemrosesan transaksi saat menggunakan grup MODP 22, 23, dan 24;
- Dragonforce adalah utilitas untuk memulihkan informasi (menebak kata sandi) berdasarkan informasi tentang waktu pemrosesan operasi yang berbeda atau menentukan penyelesaian data dalam cache.
Wi-Fi Alliance, yang mengembangkan standar jaringan nirkabel, mengumumkan bahwa masalah ini memengaruhi sejumlah kecil implementasi WPA3-Personal awal dan dapat diatasi melalui pembaruan firmware dan perangkat lunak. Belum ada eksploitasi berbahaya yang terdeteksi. Untuk memperkuat keamanan, Wi-Fi Alliance telah menambahkan pengujian tambahan ke program sertifikasi perangkat nirkabelnya untuk memverifikasi kebenaran implementasi dan telah menghubungi produsen perangkat untuk mengoordinasikan penyelesaian masalah yang teridentifikasi. Patch yang mengatasi masalah tersebut telah dirilis untuk hostap/wpa_supplicant. Pembaruan paket tersedia untuk Ubuntu. Di DebianMasalah pada RHEL, SUSE/openSUSE, Arch, Fedora, dan FreeBSD masih belum teratasi.
Sumber: opennet.ru
