Minggu Keamanan 09: kerentanan 19-tahun di WinRAR

Kami mengumumkan satu minggu bug prasejarah. Kerentanan dalam pengarsipan WinRAR, ditemukan dan ditutup pada akhir Januari, dijelaskan secara rinci oleh spesialis Perangkat Lunak Check Point ( berita , penelitian asli). Dalam kasus terburuk, pelanggaran memungkinkan Anda membongkar file jahat ke lokasi sewenang-wenang di hard drive Anda, misalnya, ke direktori autorun Windows.

Kerentanan ini membuat Anda berpikir tentang menggunakan pustaka pihak ketiga yang sulit diverifikasi dalam perangkat lunak Anda, tetapi tidak hanya. Hari ini kita akan membahas secara singkat masalah itu sendiri, keputusan pengembang WinRAR untuk meninggalkan perpustakaan untuk membongkar arsip dalam format ACE, dan kami juga akan mengangkat topik pembaruan WinRAR di komputer pengguna. Ke depan: meskipun berita itu menyebabkan gema yang serius, ini adalah kisah dengan akhir yang bahagia. Tetapi kelas kerentanan yang terkait dengan pemrosesan arsip apa pun yang tiba di komputer Anda layak untuk diperhatikan.

Dalam laporan asli, sebelum menunjukkan masalah, ada banyak detail (menarik), tetapi mari kita lihat hasilnya segera.



Arsip yang sudah disiapkan disimpan di desktop, pengguna mencoba unzip di sana, tetapi file yang dapat dieksekusi ditulis ke direktori autorun. Bagaimana itu bisa terjadi? Para peneliti menggunakan teknologi fuzzing , yaitu paket WinAFL , didukung oleh tim Google Project Zero dan yang merupakan versi Windows dari fuzzy loop Amerika . Seperti alat serupa lainnya, WinAFL memungkinkan Anda untuk memeriksa keamanan (atau stabilitas) perangkat lunak dengan mengirimkan data acak (atau tidak cukup) ke aplikasi dan menjaga reaksi. Fuzzers dapat dianggap semacam "tongkat ajaib" dari peneliti keamanan. Mereka membantu mendeteksi berbagai program macet di tempat-tempat yang seharusnya tidak.

Namun, laporan Titik Periksa menunjukkan bahwa segala sesuatunya tidak sesederhana itu. Penelitian WinRAR dengan WinAFL membantu mengidentifikasi beberapa crash aplikasi yang tak terduga dan mengarahkan para peneliti ke perpustakaan yang memproses arsip dalam format ACE - standar arsip yang dipatenkan. Pustaka ini (unacev2.dll) terakhir diperbarui pada tahun 2006 dan tidak memiliki mekanisme perlindungan standar (seperti ASLR atau DEP). Selain itu, ia hadir di semua versi WinRAR selama 19 tahun terakhir dan, ternyata kemudian, selama ini rentan. Pada saat bug ditemukan, pengembang WinRAR tidak memiliki akses ke kode sumbernya. ACE pada umumnya adalah pengarsipan komersial pada satu waktu, pustaka pembongkaran gratis, tetapi Anda dapat secara legal membuat arsip dalam format ini hanya menggunakan utilitas milik WinACE (diperbarui hingga 2007, situs web program ada hingga 2017; dan sekarang perangkat lunak ini jelas ditinggalkan) )

Untuk menemukan kerentanan sederhana seperti Path Traversal, ketika pengarsipan membongkar file ke direktori sewenang-wenang, itu tidak berhasil, saya harus mengatur utilitas fuzzing lagi, tapi kali ini setelah mempelajari fitur format menggunakan kedua program WinACE asli dan kode yang didistribusikan secara bebas untuk membongkar ke Python. Dalam perjalanan berikutnya untuk gangguan acak, para peneliti menemukan file yang tidak disimpan sama sekali di mana WinAFL seharusnya menyimpan hasil menjalankan perpustakaan.



Faktanya adalah bahwa pengarsip ACE memungkinkan Anda untuk menyimpan path lengkap ke file zip. Dalam situasi normal, jalur ini ditambahkan ke jalur unpack yang dipilih saat membuka ritsleting. Selama fuzzing, ternyata beberapa set data memungkinkan untuk membuat path absolut, yaitu, membongkar file bukan di mana pengguna ditunjukkan, tetapi di mana saja, tetapi ini tidak terlalu baik. Lebih jauh tampaknya sederhana - Anda perlu menerapkan trik yang sama ketika bekerja bukan dengan perpustakaan secara langsung, tetapi dengan WinRAR itu sendiri, kan? Tidak juga: kerentanan tidak direproduksi. Saya tidak akan menceritakan kembali seluruh sejarah menemukan kombinasi parameter yang tepat dan melewati tahap validasi lain di WinRAR itu sendiri: program memeriksa dan menghapus kejahatan dari jalur save untuk menghindari situasi seperti itu saja. Tapi itu memeriksa, ternyata, tidak semua opsi yang mungkin.



Inilah yang terjadi. Ini adalah tangkapan layar dari analisis arsip "disiapkan" menggunakan kode Python yang disebutkan di atas. C ganda: \\ pada awal jalan diproses oleh pustaka unacev2 dan WinRAR sendiri sehingga file ditulis ke direktori arbitrer. Tampaknya siap mengeksploitasi? Sekali lagi tidak, atau lebih tepatnya tidak. Mencoba menulis yang dapat dieksekusi ke direktori autorun dalam konfigurasi ini akan memicu perlindungan Windows. Tetapi para peneliti berhasil menemukan cara mengatasi batasan ini jika file disimpan di direktori pengguna, misalnya, di folder Unduhan atau di desktop (yang sangat mungkin). Seperti yang ditunjukkan dalam video di awal, file yang disiapkan disimpan ke direktori autorun pengguna dengan menavigasi ke satu folder lebih tinggi di jalur file.

Apa hasilnya? Di WinRAR 5.70 Beta 1, kerentanan diperbaiki dengan sepenuhnya mengabaikan penggunaan perpustakaan yang sudah ketinggalan zaman untuk bekerja dengan file ACE. Tidak mungkin ada orang yang benar-benar kesal tentang hal ini. Omong-omong, saran yang diberikan dalam artikel di situs web ZDNet - β€œJangan buka arsip yang mencurigakan dalam format ACE” - agak salah. WinRAR tidak mendeteksi file dengan izin, dan mengeksploitasi akan bekerja dengan versi program yang rentan, bahkan jika arsip ACE yang disiapkan memiliki ekstensi RAR (atau yang lainnya). Jangan buka arsip yang mencurigakan - ini bagus, tetapi umumnya perlu diperbarui.



Sekarang lepaskan pikiran Anda dari pos selama satu menit dan lihat versi WinRAR apa yang telah Anda instal (kecuali, tentu saja, Anda menggunakan pengarsipan ini). Untuk referensi: versi 5.50 dirilis pada 2017, 5.00 - pada 2012, 3.90 - pada 2009. Dengan beberapa kemungkinan, tanggal rilis WinRAR kira-kira akan sesuai dengan tanggal pengaturan awal sistem, karena masih belum ada fungsi pembaruan otomatis dalam program ini. Seperti yang dapat Anda lihat dari tweet perusahaan broker kerentanan Zerodium, ada permintaan untuk eksploitasi yang bekerja di pengarsipan. Kerentanan seperti yang ditemukan di perpustakaan untuk arsip ACE dapat digunakan untuk serangan massal atau yang ditargetkan pada komputer korban. Perlu dicatat bahwa peluang keberhasilan operasi bug semacam itu jauh dari absolut. Kemungkinan besar arsip yang terinfeksi akan diblokir oleh layanan surat (misalnya, untuk GMail, misalnya, arsip dan arsip yang dilindungi kata sandi dengan file yang dapat dieksekusi di dalamnya tidak dilewati di sana) atau oleh perangkat lunak antivirus. Kecuali, tentu saja, Anda memilikinya.

Namun demikian, semua pengingat yang mengganggu ini tentang perlunya memperbarui salah satu dari puluhan program yang diinstal pada komputer masuk akal. Kalau tidak, mudah untuk melewatkan kerentanan serius yang akan bekerja pada saat yang paling tidak tepat. Dalam keadilan, kami mencatat bahwa masalah serius di WinRAR jarang muncul .

Penafian: Pendapat yang diungkapkan dalam intisari ini mungkin tidak selalu bertepatan dengan posisi resmi Kaspersky Lab. Para editor yang terhormat umumnya merekomendasikan untuk memperlakukan setiap pendapat dengan skeptis yang sehat.

Source: https://habr.com/ru/post/id441718/


All Articles