1 puan yazan GN⁺ 2024-07-31 | Henüz yorum yok. | WhatsApp'ta paylaş

Homebrew denetimi

  • Homebrew denetimine genel bakış
    • Homebrew/brew ve ilişkili üç depo dahil olmak üzere Homebrew'un güvenlikle ilgili yönleri denetlendi
    • Bulunan sorunlar kritik değil, ancak saldırganlar beklenmedik anlarda çalıştırılabilir kod yükleyerek Homebrew'un bütünlüğünü zedeleyebilir
    • Open Tech Fund sponsorluğunda gerçekleştirildi

Homebrew

  • Homebrew'a giriş

    • macOS ve Linux için bir paket yöneticisi
    • Yazılım geliştiricileri tarafından yaygın olarak kullanılır ve milyonlarca paket kurulumunu işler
    • Golang, Node.js, OpenSSL gibi önemli paketleri içerdiğinden, Homebrew'un güvenliği tüm yazılım ekosisteminin güvenliği açısından önemlidir
  • Homebrew'un geçmişi

    • 2009'da başladıktan sonra birden fazla mimari değişiklik geçirdi
    • Yerel kaynak derlemelerinin yerine ikili derlemeleri (bottle) varsayılan kurulum mekanizması olarak benimsedi
    • CI/CD aracılığıyla derlemelerin bütünlüğünü korur

Denetim kapsamı

  • Denetim soruları
    • Yerel bir aktörün brew install olmadan resmi DSL'yi çalıştırıp çalıştıramayacağı
    • Yerel bir aktörün yalnızca brew tap ile resmi DSL'yi değerlendirip değerlendiremeyeceği
    • Namespace karışıklığına veya çakışmaya neden olup olamayacağı
    • Yerel olarak kurulu bir formula'nın Homebrew'un derleme yalıtım mekanizmasını atlayıp atlayamayacağı
    • Düşük ayrıcalıklı bir CI/CD aktörünün daha yüksek ayrıcalığa yükselip yükselemeyeceği
    • Düşük ayrıcalıklı bir CI/CD aktörünün bottle derlemelerini zehirleyip zehirleyemeyeceği
    • Düşük ayrıcalıklı bir CI/CD aktörünün CI/CD içinde kalıcılık sağlayıp sağlayamayacağı

Başlıca bulgular

brew
  • Başlıca bulgular
    • Formula'lar string ekleme yoluyla sandbox'tan çıkabilir
    • Çakışmaya açık bir hash fonksiyonu (MD5) kullanılarak çalışma zamanı karışıklığına neden olunabilir
    • Formula'lar belirtilmemiş ağ kaynaklarını derlemelere dahil edebilir
    • Soket pivotu üzerinden sandbox'tan çıkılabilir
    • sudo token'ı üzerinden ayrıcalık yükseltmesi yapılabilir
    • Formula'lar yerel olmayan URL'lerden kurulabilir
Homebrew'un CI/CD'si
  • Başlıca bulgular
    • pull_request_target tetikleyicisi kullanılarak üçüncü taraf PR'lerin Homebrew'un üst depolarında kod çalıştırması mümkün olabilir
    • workflow_dispatch girdileri üzerinden shell injection yapılabilir
    • Arşiv çıkarma sırasında yetersiz sandboxing/izolasyon nedeniyle daha yüksek ayrıcalığa geçilebilir
    • Yerel olmayan URL'lerden formula kurularak keyfi kod yürütme tetiklenebilir

Temel çıkarımlar

  • Paket yönetimi ekosistemi denetimlerinin zorlukları

    • Paket yönetim araçları tasarım gereği keyfi üçüncü taraf kodlarını kurar ve çalıştırır
    • Homebrew gibi paketleme ekosistemlerinde paket biçimi (formula) başlı başına çalıştırılabilir koddur
  • Denetimde iş birliği

    • Homebrew bakımcıları ve Homebrew PLC ile yakın iş birliği yapıldı
    • Homebrew güvenlik yöneticisi Patrick Linnane'e teşekkür edildi

GN⁺ özeti

  • Homebrew, macOS ve Linux'ta yaygın olarak kullanılan bir paket yöneticisidir
  • Denetim sonucunda kritik olmayan ancak güvenlik sorunları tespit edildi
  • Homebrew'un güvenliği, tüm yazılım ekosisteminin güvenliği için önemlidir
  • Paket yönetim araçlarının doğası gereği keyfi üçüncü taraf kod çalıştırabilmesi, güvenlik denetimlerini önemli hale getirir
  • Benzer işlevlere sahip paket yöneticileri arasında apt ve yum bulunur

Henüz yorum yok.

Henüz yorum yok.