IBM ve Red Hat, açık kaynaklı yazılım için kapsamlı bir güvenlik planını yalnızca birkaç gün önce duyurmuşken, Red Hat kendi büyük bir ihlalin hedefi oldu. Bu olayla ilgili olarak ne yapabileceğinizi aşağıda bulabilirsiniz.
Red Hat npm güvenlik ihlalinin özeti
Red Hat, bir npm güvenlik ihlalinin kurbanı olmuştur. Şirket etkilenen paketleri kaldırmıştır. Kullandığınız bağımlılıklarda @redhat-cloud-services npm namespace’i olup olmadığını kontrol etmeniz önerilir. JavaScript runtime ortamı olan Node.js paket yöneticisi olan npm depoları, güvenlik ihlalleri konusunda kötü bir üne sahiptir. IBM ile birlikte az önce zafiyetleri bulmak ve düzeltmek için güçlendirilmiş bir AI girişimi olan Project Lightwell’i duyuran Red Hat’ın kendi başına bir npm sorunu çıkmıştır.
Şirketin @redhat-cloud-services namespace’indeki onlarca JavaScript paketi, Red Hat geliştiricilerinin ve CI/CD sistemlerindeki sırları hedefleyen kimlik bilgisi çalma zararlı yazılımıyla arka kapıdan ele geçirilmiştir. Güvenlik araştırma şirketi Aikido, namespace’in “kimlik bilgisi çalma solucanıyla ele geçirildiğini” bildirmiştir. Toplamda 32 paket üzerinde 96 sürüm ele geçirilmiş ve bu paketler haftalık toplam 116.991 kez indirilmiştir.
Tam olarak ne oldu?
Red Hat güvenliğine göre, ele geçirilmiş bir GitHub hesabı kullanılarak Red Hat GitHub organizasyonunda bakımı yapılan paketlere kötü amaçlı kod enjekte edilmiştir. Etkilenen paketler, Red Hat ürün derleme sürecinde konteyner imajlarına derlenen ve paketlenen ön uç kütüphaneleridir. Zararlı yazılımın npm preinstall hook’ları aracılığıyla eklendiği görülmektedir. Bir geliştirici veya derleme sistemi etkilenen bir paket için “npm install” komutunu her çalıştırdığında, kötü amaçlı kod otomatik olarak yürütülmektedir.
Microsoft’un tehdit istihbarat ekibine göre, her ele geçirilmiş paket, npm, GitHub, AWS, SSH ve diğer ortamlardaki sırları toplamak üzere tasarlanmış bir yük indirip yürüten şişmiş ve aşırı karartılmış bir index.js yükleyici eklemiştir. Araştırmacılar saldırıyı, daha önceki tedarik zinciri olaylarında kullanılan npm yayılan Mini Shai-Hulud zararlı yazılımına dayanan daha geniş bir kampanyayla hızla ilişkilendirmiştir. Red Hat vakasında, birden fazla rapor yükü, Mini Shai-Hulud’un kendi kendini yayma davranışını korurken daha fazla karartma ve çok aşamalı bir yükleme tasarımı ekleyen Miasma adlı yeni bir varyant olarak tanımlamaktadır.
Solucan davranışı ve yayılma mekanizması
Solucan yalnızca kimlik bilgilerini çalmakla kalmamaktadır. Diğer npm paketlerine erişimi olan bir makinede çalıştığında, mevcut kullanıcının yayınlayabildiği tüm paketleri belirler ve aynı kötü amaçlı preinstall yüküyle yeniden yayınlar. Yani her kurban yeni bir saldırgana dönüşmektedir. Güvenlik firmaları, bu “solucan benzeri” davranışın Red Hat ile ilişkili namespace’in bu kadar hızlı bir şekilde kontamine olmasını sağladığını belirtmektedir. Bazı tahminlere göre birkaç dakika içinde 30’dan fazla paket arka kapıdan ele geçirilmiştir.
Red Hat henüz detaylı bir olay sonrası analiz yayınlamamış olsa da, bağımsız analizler başlangıçta erişim vektörü olarak ele geçirilmiş GitHub altyapısına işaret etmektedir. Semgrep ve diğer güvenlik araştırma şirketleri, Red Hat kapsamlı kötü amaçlı paketlerin RedHatInsights/javascript-clients deposuyla ilişkili GitHub Actions OIDC token’ları kullanılarak gönderildiğini bildirmektedir. Saldırganlar bir kez içeri girdikten sonra, preinstall hook’unu birden fazla pakete ve sürüme enjekte etmişlerdir; bu değişiklikler genellikle herkese açık kaynak depolarında karşılık gelen bir değişiklik olmaksızın gerçekleştirilmiştir. Bu, derleme hattı ele geçirmenin klasik bir belirtisidir.
Çalınan verilerin kapsamı
Yürütülen kod aşağıdakileri taramayı ve sızdırmayı hedeflemektedir: GitHub Actions sırları ve erişim token’ları, GitHub SSH anahtarları ve kişisel erişim token’ları, AWS, GCP ve Azure bulut kimlik bilgileri, Kubernetes yapılandırması ve token’ları, HashiCorp Vault token’ları ve diğer gizli yöneticisi verileri, npm ve CircleCI token’ları ile ortam değişkenlerinde veya yapılandırma dosyalarında saklanan diğer CI/CD sırları.
Güvenlik satıcıları, etkilenen sürümleri bir geliştirici iş istasyonuna, derleme aracısına veya CI runner’ına kurmuş olan herkesin, o ortamdaki tüm erişilebilir token’ların ve kimlik bilgilerinin artık bir saldırganın elinde olabileceğini varsayması gerektikleri konusunda uyarmaktadır.
Red Hat’ın açıklaması
Red Hat şu açıklamayı yapmıştır: “Hemen bir soruşturma başlattık ve paketleri npm registry’den kaldırdık. Paketler yalnızca dahili geliştirme ile sınırlıdır ve kötü amaçlı kod asla console.redhat.com sistemi aracılığıyla müşterilerin kullanımına sunulmamıştır. Soruşturmamız devam etmesine rağmen, müşteri veya ortak ortamlarında ya da Red Hat üretim sistemlerinde herhangi bir etki tespit edilmemiştir.” Kısacası, durum çok daha kötü olabilirdi.
Red Hat Ürün Güvenliği, ürünlerinin sıkı sürüm sabitleme ve dahili yansılara büyük ölçüde güvendiğini ve daha önce ele geçirilmiş npm paketlerinin desteklenen Red Hat yazılımlarına dahil edilmediğini belirtmiştir. Ancak son olayın ardından güvenlik araştırmacıları, Red Hat tekliflerini kullanan kuruluşların güvende olduklarını varsaymamaları konusunda uyarmaktadır. Arka kapıdan ele geçirilmiş paketlere dokunan herhangi bir derleme veya geliştirici iş akışının potansiyel olarak tehlikeli olduğu değerlendirilmelidir.
Şimdi ne yapmalısınız?
Red Hat herkese kötü amaçlı kodun herkese açık alana ulaşmadığı güvensesini verse de, tedbirli olmakta fayda vardır. Red Hat bulut hizmetleri araçlarına güveniyorsanız veya @redhat-cloud-services paketlerini derlemelerinize çekmişseniz, bağımlılık ağaçlarınızı etkilenen sürümler için taramanız, bilinen kötü sürümleri engellemeniz ve gerektiğinde güvenilir derlemelerle düşürmeniz veya değiştirmeniz önerilir.
Aynı zamanda, bu paketlerin kurulduğu herhangi bir ortamın sırlarının açığa çıkmış olabileceğini varsaymanız ve ilgili tüm kimlik bilgilerini (GitHub PAT’leri, SSH anahtarları, bulut sağlayıcı API anahtarları ve CI token’ları gibi) döndürmeniz tavsiye edilir.
Uzun vadeli değerlendirme
Red Hat npm olayı, npm depolarının o kadar da güvenilir olmadığını bir kez daha göstermektedir. Hatta ağır Linux ve bulut satıcılarının bile solucan benzeri npm zararlı yazılımlarına karşı açıkça savunmasız olduğu ortaya çıkmışken, hem npm’nin yöneticilerine hem de büyük yazılım tedarikçilerine paketlerinin kökeni ve güvenliği konusunda daha güçlü garantiler sunma baskısı artmaktadır.
Başka bir deyişle, Red Hat bu olaydan dolayı utanç duyabilir, ancak bu durum Project Lightwell ve Chainguard’ın herkesin açık kaynak güvenliğini iyileştirme çabaları gibi girişimlerin ne kadar önemli olduğunu bir kez daha vurgulamaktadır.
Yorum Yap