Laporan Audit Homebrew
(blog.trailofbits.com)Audit Homebrew
- Ringkasan audit Homebrew
- Mengaudit aspek-aspek terkait keamanan dari Homebrew, termasuk Homebrew/brew dan tiga repositori terkait
- Masalah yang ditemukan tidak bersifat kritis, tetapi penyerang dapat memuat kode yang bisa dieksekusi pada waktu yang tidak terduga sehingga merusak integritas Homebrew
- Dilakukan dengan dukungan dari Open Tech Fund
Homebrew
-
Pengenalan Homebrew
- Manajer paket untuk macOS dan Linux
- Digunakan secara luas oleh para pengembang perangkat lunak dan menangani jutaan instalasi paket
- Karena mencakup paket-paket penting seperti Golang, Node.js, dan OpenSSL, keamanan Homebrew penting bagi keamanan seluruh ekosistem perangkat lunak
-
Sejarah Homebrew
- Sejak dimulai pada 2009, telah mengalami beberapa perubahan arsitektur
- Memperkenalkan build biner (bottle) sebagai mekanisme instalasi default, menggantikan build sumber lokal
- Menjaga integritas build melalui CI/CD
Cakupan audit
- Pertanyaan audit
- Apakah aktor lokal dapat menjalankan DSL resmi tanpa
brew install - Apakah aktor lokal dapat mengevaluasi DSL resmi hanya dengan
brew tap - Apakah dapat menimbulkan kebingungan atau benturan namespace
- Apakah formula resmi yang terpasang secara lokal dapat melewati mekanisme isolasi build Homebrew
- Apakah aktor CI/CD dengan hak rendah dapat beralih ke hak yang lebih tinggi
- Apakah aktor CI/CD dengan hak rendah dapat mencemari build bottle
- Apakah aktor CI/CD dengan hak rendah dapat mempertahankan persistensi di CI/CD
- Apakah aktor lokal dapat menjalankan DSL resmi tanpa
Temuan utama
brew
- Temuan utama
- Formula dapat keluar dari sandbox melalui interpolasi string
- Dapat menimbulkan kebingungan saat runtime dengan menggunakan fungsi hash yang mudah menimbulkan tabrakan (MD5)
- Formula dapat menyertakan sumber daya jaringan yang tidak dinyatakan ke dalam build
- Dapat keluar dari sandbox melalui socket pivot
- Dapat melakukan eskalasi hak akses melalui token
sudo - Dapat menginstal formula dari URL non-lokal
CI/CD Homebrew
- Temuan utama
- Dengan menggunakan trigger
pull_request_target, PR pihak ketiga dapat menjalankan kode di repositori hulu Homebrew - Injeksi shell dimungkinkan melalui input
workflow_dispatch - Kurangnya sandboxing/isolasi saat ekstraksi arsip memungkinkan peralihan ke hak yang lebih tinggi
- Menginstal formula dari URL non-lokal dapat memicu eksekusi kode arbitrer
- Dengan menggunakan trigger
Implikasi utama
-
Tantangan audit ekosistem manajemen paket
- Alat manajemen paket pada dasarnya memasang dan menjalankan kode arbitrer dari pihak ketiga
- Dalam ekosistem pemaketan seperti Homebrew, format paket (formula) itu sendiri adalah kode yang dapat dieksekusi
-
Kolaborasi audit
- Bekerja sama erat dengan para maintainer Homebrew dan Homebrew PLC
- Menyampaikan terima kasih kepada manajer keamanan Homebrew, Patrick Linnane
Ringkasan GN⁺
- Homebrew adalah manajer paket yang banyak digunakan di macOS dan Linux
- Hasil audit menemukan masalah keamanan yang tidak kritis, tetapi tetap penting
- Keamanan Homebrew penting bagi keamanan seluruh ekosistem perangkat lunak
- Karena sifat alat manajemen paket yang dapat menjalankan kode arbitrer dari pihak ketiga, audit keamanan menjadi penting
- Alat manajemen paket dengan fungsi serupa antara lain apt dan yum
Belum ada komentar.