Kerentanan dalam TLS membenarkan penentuan utama untuk sambungan berdasarkan sifir DH

Terbongkar maklumat tentang yang baru kelemahan (CVE-2020-1968) dalam protokol TLS, diberi nama kod
Raccoon dan membenarkan, dalam keadaan yang jarang berlaku, untuk menentukan kunci utama awal (pra-master), yang boleh digunakan untuk menyahsulit sambungan TLS, termasuk HTTPS, apabila memintas trafik transit (MITM). Adalah diperhatikan bahawa serangan itu sangat sukar untuk pelaksanaan praktikal dan lebih bersifat teori. Untuk menjalankan serangan, konfigurasi khusus pelayan TLS dan keupayaan untuk mengukur masa pemprosesan pelayan dengan sangat tepat diperlukan.

Masalahnya wujud secara langsung dalam spesifikasi TLS dan hanya mempengaruhi sambungan menggunakan sifir berdasarkan protokol pertukaran kunci DH (Diffie-Hellman, TLS_DH_*"). Dengan sifir ECDH masalah tidak berlaku dan ia kekal selamat. Hanya protokol TLS sehingga versi 1.2 yang terdedah; TLS 1.3 tidak terjejas oleh masalah tersebut. Kerentanan berlaku dalam pelaksanaan TLS yang menggunakan semula kunci rahsia DH merentas sambungan TLS yang berbeza (tingkah laku ini berlaku pada kira-kira 4.4% pelayan 1M Teratas Alexa).

Dalam OpenSSL 1.0.2e dan keluaran terdahulu, kunci utama DH digunakan semula dalam semua sambungan pelayan melainkan pilihan SSL_OP_SINGLE_DH_USE ditetapkan secara eksplisit. Sejak OpenSSL 1.0.2f, kunci utama DH hanya digunakan semula apabila menggunakan sifir DH statik ("DH-*", cth. "DH-RSA-AES256-SHA"). Kerentanan tidak muncul dalam OpenSSL 1.1.1, kerana cawangan ini tidak menggunakan kunci utama DH dan tidak menggunakan sifir DH statik.

Apabila menggunakan kaedah pertukaran kunci DH, kedua-dua belah sambungan menjana kunci persendirian rawak (selepas ini kekunci "a" dan kekunci "b"), berdasarkan kekunci awam (ga mod p dan gb mod p) dikira dan dihantar. Selepas setiap pihak menerima kunci awam, kunci utama biasa (gab mod p) dikira, yang digunakan untuk menjana kunci sesi. Serangan Raccoon membolehkan anda menentukan kunci utama melalui analisis saluran sisi, berdasarkan fakta bahawa spesifikasi TLS sehingga versi 1.2 memerlukan semua bait nol utama kunci utama dibuang sebelum pengiraan yang melibatkannya.

Termasuk kunci utama yang dipotong dihantar ke fungsi penjanaan kunci sesi, yang berdasarkan fungsi cincang dengan kelewatan yang berbeza apabila memproses data yang berbeza. Mengukur masa operasi utama yang dilakukan oleh pelayan dengan tepat membolehkan penyerang menentukan petunjuk (oracle) yang memungkinkan untuk menilai sama ada kunci utama bermula dari awal atau tidak. Sebagai contoh, penyerang boleh memintas kunci awam (ga) yang dihantar oleh pelanggan, menghantar semula ke pelayan dan menentukan
sama ada kunci utama yang terhasil bermula dari sifar.

Dengan sendirinya, mentakrifkan satu bait kunci tidak memberikan apa-apa, tetapi dengan memintas nilai "ga" yang dihantar oleh pelanggan semasa rundingan sambungan, penyerang boleh menjana satu set nilai lain yang dikaitkan dengan "ga" dan menghantarnya ke pelayan dalam sesi rundingan sambungan berasingan. Dengan menjana dan menghantar nilai "gri*ga", penyerang boleh, melalui menganalisis perubahan kelewatan dalam respons pelayan, menentukan nilai yang membawa kepada penerimaan kunci utama bermula dari sifar. Setelah menentukan nilai sedemikian, penyerang boleh mencipta satu set persamaan untuk penyelesaian masalah nombor tersembunyi dan hitung kunci utama asal.

Kerentanan dalam TLS membenarkan penentuan utama untuk sambungan berdasarkan sifir DH

Kerentanan OpenSSL ditugaskan tahap bahaya yang rendah, dan pembaikan telah dikurangkan kepada memindahkan sifir bermasalah "TLS_DH_*" dalam keluaran 1.0.2w ke kategori sifir dengan tahap perlindungan yang tidak mencukupi ("sifir-ssl-lemah"), yang dilumpuhkan secara lalai . Pembangun Mozilla melakukan perkara yang sama, tutup dalam perpustakaan NSS yang digunakan dalam Firefox, suite sifir DH dan DHE. Pada Firefox 78, sifir bermasalah dilumpuhkan. Sokongan Chrome untuk DH telah dihentikan pada tahun 2016. Pustaka BearSSL, BoringSSL, Botan, Mbed TLS dan s2n tidak terjejas oleh masalah kerana mereka tidak menyokong sifir DH atau varian statik sifir DH.

Masalah tambahan dinyatakan secara berasingan (CVE-2020 5929-) dalam timbunan TLS peranti F5 BIG-IP, menjadikan serangan lebih realistik. Khususnya, sisihan dalam kelakuan peranti dengan kehadiran bait sifar pada permulaan kunci utama telah dikenal pasti, yang boleh digunakan dan bukannya mengukur kependaman tepat pengiraan.

Sumber: opennet.ru

Tambah komen