Zoom untuk Mac patch get-root bug – perbarui sekarang! Kecerdasan Data PlatoBlockchain. Pencarian Vertikal. Ai.

Zoom untuk Mac patch get-root bug – perbarui sekarang!

Pada shindig keamanan DEF CON yang terkenal di Las Vegas, Nevada, minggu lalu, peneliti keamanan siber Mac Patrick Wardle mengungkapkan sebuah "get-root" peningkatan hak istimewa (EoP) bug di Zoom untuk Mac:

Dalam tweet, yang mengikuti ceramahnya [2022-08-12], Wardle mencatat:

Saat ini belum ada patch [:FRIED-EGG EYES DEPICTING ALARM EMOJI:] [:EDVARD MUNCH SCREAM EMOJI:]

Zoom segera mengerjakan tambalan untuk cacat tersebut, yang diumumkan pada hari berikutnya di Buletin keamanan zoom ZSB-22018, mendapatkan ucapan selamat balasan dari Wardle dalam proses:

Mahalos ke @Zoom untuk perbaikan cepat (luar biasa)! [:KEDUA TANGAN DIANGKAT DALAM PERAYAAN DAN MENGGERAKKAN TENTANG EMOJI:] [:telapak tangan DITEKAN BERSAMA-SAMA DALAM TANDA EMOJI KEBAIKAN SPIRITUAL:]

Pengungkapan zero-day

Mengingat kecepatan dan kemudahan yang terlihat dari Zoom yang dapat mengeluarkan patch untuk bug, dijuluki CVE-2022-28756, Anda mungkin bertanya-tanya mengapa Wardle tidak memberi tahu Zoom tentang bug sebelumnya, menetapkan hari pidatonya sebagai tenggat waktu untuk mengungkapkan detailnya.

Itu akan memberi Zoom waktu untuk mendorong pembaruan ke banyak pengguna Mac (atau setidaknya untuk membuatnya tersedia bagi mereka yang percaya pada patch lebih awal/patch sering), sehingga menghilangkan kesenjangan antara Wardle yang menjelaskan kepada dunia cara menyalahgunakan bug, dan menambal bug.

Faktanya, tampaknya Wardle melakukan yang terbaik untuk memperingatkan Zoom tentang bug ini, ditambah banyak kelemahan yang saling terkait dalam proses pembaruan otomatis Zoom, beberapa bulan yang lalu.

Wardle menjelaskan garis waktu pengungkapan bug di slide dari pembicaraan DEF CON-nya, dan daftar aliran pembaruan Zoom terkait dengan kekurangan yang ia temukan.

Pedang bermata dua

Bug yang dibahas Wardle umumnya terkait dengan mekanisme pembaruan otomatis Zoom, bagian dari ekosistem perangkat lunak apa pun yang merupakan pedang bermata dua – senjata yang lebih kuat daripada pedang biasa, tetapi juga lebih sulit untuk ditangani dengan aman.

Pembaruan otomatis adalah komponen yang harus dimiliki dalam setiap aplikasi klien modern, mengingat hal itu membuat patch penting lebih mudah dan lebih cepat untuk didistribusikan, sehingga membantu pengguna untuk menutup lubang keamanan siber dengan andal.

Tetapi pembaruan otomatis membawa lautan risiko, paling tidak karena alat pembaruan itu sendiri biasanya membutuhkan akses sistem tingkat root.

Itu karena tugas pembaru adalah menimpa perangkat lunak aplikasi (sesuatu yang tidak boleh dilakukan oleh pengguna biasa), dan mungkin meluncurkan perintah sistem operasi istimewa untuk membuat konfigurasi atau perubahan tingkat sistem lainnya.

Dengan kata lain, jika pengembang tidak berhati-hati, alat yang membantu mereka menjaga agar aplikasi dasar mereka tetap mutakhir dan lebih aman dapat menjadi tempat berpijak dari mana penyerang dapat menumbangkan keamanan dengan menipu pembaru agar menjalankan perintah yang tidak sah dengan hak istimewa sistem. .

Khususnya, program pembaruan otomatis perlu berhati-hati untuk memverifikasi keaslian dari paket pembaruan yang mereka unduh, untuk menghentikan penyerang hanya memberi makan bundel pembaruan palsu, lengkap dengan malware tambahan.

Mereka juga perlu menjaga integritas dari file pembaruan yang akhirnya mereka gunakan, sehingga penyerang lokal tidak dapat secara diam-diam memodifikasi bundel pembaruan "terverifikasi aman" yang baru saja diunduh dalam periode singkat antara diambil dan diaktifkan.

Mengabaikan pemeriksaan keaslian

Seperti yang dijelaskan Wardle dalam karyanya kertas, salah satu bug yang ia temukan dan ungkapkan adalah cacat pada langkah pertama yang tercantum di atas, ketika pembaruan otomatis Zoom mencoba memverifikasi keaslian paket pembaruan yang baru saja diunduh.

Alih-alih menggunakan API macOS resmi untuk memvalidasi tanda tangan digital unduhan secara langsung, pengembang Zoom memutuskan untuk melakukan autentikasi secara tidak langsung, dengan menjalankan utilitas macOS pkgutil --check-signature di latar belakang dan memeriksa output.

Berikut ini contohnya pkgutil keluaran, menggunakan versi lama dari Zoom.pkg paket perangkat lunak:

$ pkgutil --check-signature Paket Zoom.pkg "Zoom.pkg": Status: ditandatangani oleh sertifikat pengembang yang dikeluarkan oleh Apple untuk distribusi Ditandatangani dengan stempel waktu tepercaya pada: 2022-06-27 01:26:22 +0000 Rantai Sertifikat : 1. ID Pengembang Pemasang: Zoom Video Communications, Inc. (BJ4HAAB9B3) Kedaluwarsa: 2027-02-01 22:12:15 +0000 SHA256 Sidik Jari: 6D 70 1A 84 F0 5A D4 C1 C1 B3 AE 01 C2 EF 1F 2E AE FB 9F 5C A6 80 48 A4 76 60 FF B5 F0 57 BB 8C ----------------------------------- ------------------------------------- 2. Otoritas Sertifikasi ID Pengembang Kedaluwarsa: 2027-02-01 22:12:15 +0000 SHA256 Sidik Jari: 7A FC 9D 01 A6 2F 03 A2 DE 96 37 93 6D 4A FE 68 09 0D 2D E1 8D 03 F2 9C 88 CF B0 B1 BA 63 58 7F -------- -------------------------------------------------- -------------- 3. Apple Root CA Kedaluwarsa: 2035-02-09 21:40:36 +0000 SHA256 Sidik Jari: B0 B1 73 0E CB C7 FF 45 05 14 2C 49 F1 29 5E 6E DA 6B CA ED 7E 2C 68 C5 BE 91 B5 A1 10 01 F0 24

Sayangnya, seperti yang ditemukan Wardle ketika dia mendekompilasi kode verifikasi tanda tangan Zoom, pembaru Zoom tidak memproses pkgutil data dengan cara yang sama seperti yang dilakukan oleh pengamat manusia.

Kami akan memeriksa output dengan mengikuti urutan visual yang berguna dalam output.

Pertama, kita cari dulu status yang diinginkan, misal signed by a developer certificate issued by Apple for distribution.

Kemudian kami akan menemukan sub-judul Certificate Chain:.

Akhirnya, kami akan memeriksa silang bahwa rantai tersebut terdiri dari tiga penandatangan ini, dalam urutan yang benar:

  1. Zoom Video Communications, Inc. 2. Otoritas Sertifikasi ID Pengembang 3. Apple Root CA

Hebatnya, kode Zoom hanya memverifikasi bahwa masing-masing dari tiga string di atas (bahkan tidak memeriksa ID unik Zoom sendiri BJ4HAAB9B3) muncul di suatu tempat dalam keluaran dari pkgutil.

Jadi, membuat paket dengan nama yang absurd tapi valid seperti Zoom Video Communications, Inc. Developer ID Certification Authority Apple Root CA.pkg akan mengelabui pemverifikasi paket untuk menemukan "string identitas" yang dicarinya.

Nama paket lengkap digaungkan ke dalam pkgutil output header pada baris pertama, di mana "verifier" Zoom yang malang akan cocok dengan ketiga string teks di bagian output yang salah.

Dengan demikian pemeriksaan "keamanan" dapat dengan mudah dilewati.

Perbaikan sebagian

Wardle mengatakan bahwa Zoom akhirnya memperbaiki bug ini, lebih dari tujuh bulan setelah dia melaporkannya, tepat waktu untuk DEF CON…

…tetapi setelah menerapkan tambalan, dia melihat bahwa masih ada lubang yang menganga dalam proses pembaruan.

Pembaru mencoba melakukan hal yang benar:

  • 1. Pindahkan paket yang diunduh ke direktori milik root, dan dengan demikian secara teoritis terlarang bagi pengguna biasa mana pun.
  • 2. Verifikasi tanda tangan kriptografi dari paket yang diunduh, menggunakan API resmi, bukan melalui bodge pencocokan teks terhadap pkgutil output.
  • 3. Buka arsip file paket yang diunduh, untuk memverifikasi nomor versinya, untuk mencegah serangan downgrade.
  • 4. Instal file paket yang diunduh, menggunakan hak akses root dari proses pembaruan otomatis.

Sayangnya, meskipun direktori yang digunakan untuk menyimpan paket pembaruan dimiliki oleh root, dalam upaya untuk menjaganya agar tetap aman dari mencongkel pengguna yang mencoba menumbangkan file pembaruan saat sedang digunakan…

…berkas paket yang baru diunduh dibiarkan “dapat ditulis oleh dunia” di lokasi barunya (efek samping karena diunduh oleh akun biasa, bukan oleh root).

Ini memberi penyerang lokal celah untuk memodifikasi paket pembaruan setelah tanda tangan digitalnya telah divalidasi (langkah 2), tanpa mempengaruhi detail cek versi (langkah 3), tapi sebelum installer mengambil alih file paket untuk memprosesnya dengan hak akses root (langkah 4).

Jenis bug ini dikenal sebagai kondisi balapan, karena penyerang perlu mengatur waktu penyelesaiannya sehingga mereka tiba di rumah tepat sebelum penginstal dimulai, dan oleh karena itu harus menyelinap perubahan berbahaya mereka tepat di depannya.

Anda juga akan mendengar jenis kerentanan ini yang disebut dengan akronim yang terdengar eksotis TOCTOU, kependekan dari waktu-pemeriksaan-ke-waktu-penggunaan, sebuah nama yang merupakan pengingat yang jelas bahwa jika Anda memeriksa fakta terlalu jauh sebelumnya, fakta tersebut mungkin sudah ketinggalan zaman pada saat Anda mengandalkannya.

Masalah TOCTOU adalah mengapa perusahaan persewaan mobil di Inggris tidak lagi hanya meminta untuk melihat SIM Anda, yang dapat diterbitkan hingga 10 tahun yang lalu, dan dapat ditangguhkan atau dibatalkan karena berbagai alasan sejak saat itu, kemungkinan besar karena mengemudi yang tidak aman atau ilegal di pihak Anda. Bersamaan dengan lisensi fisik Anda, Anda juga perlu menunjukkan kode "bukti validitas terbaru" alfanumerik satu kali, yang dikeluarkan dalam 21 hari terakhir, untuk mengurangi potensi kesenjangan TOCTOU dari 10 tahun menjadi hanya tiga minggu.

Perbaikannya sekarang ada di

Menurut Wardle, Zoom kini telah mencegah bug ini dengan mengubah hak akses pada file paket pembaruan yang disalin pada langkah 1 di atas.

File yang digunakan untuk pemeriksaan tanda tangan, validasi versi, dan penginstalan tingkat akar terakhir sekarang dibatasi untuk diakses oleh akun root saja, setiap saat.

Ini menghapus kondisi balapan, karena penyerang yang tidak memiliki hak tidak dapat mengubah file di antara akhir langkah 2 (verifikasi berhasil) dan awal dari langkah 4 (instalasi dimulai).

Untuk memodifikasi file paket guna mengelabui sistem agar memberi Anda akses root, Anda harus sudah memiliki akses root, jadi Anda tidak memerlukan bug EoP semacam ini sejak awal.

Masalah TOCTOU tidak berlaku karena check in langkah 2 tetap valid hingga penggunaan file dimulai, tanpa meninggalkan jendela peluang untuk cek menjadi tidak valid.

Apa yang harus dilakukan?

Jika Anda menggunakan Zoom di Mac, buka aplikasi, lalu, di bilah menu, buka zoom.us > Check for Updates...

Jika pembaruan tersedia, versi baru akan ditampilkan, dan Anda dapat mengklik [Install] untuk menerapkan tambalan:

Zoom untuk Mac patch get-root bug – perbarui sekarang! Kecerdasan Data PlatoBlockchain. Pencarian Vertikal. Ai.

Versi yang Anda inginkan adalah 5.11.5 (9788) atau nanti.


Stempel Waktu:

Lebih dari Keamanan Telanjang