Siber güvenlik araştırmacıları, Amazon Web Services (AWS) Bulut Geliştirme Kitini (CDK) etkileyen ve belirli koşullar altında hesabın ele geçirilmesiyle sonuçlanabilecek bir güvenlik kusurunu ortaya çıkardı.
Aqua, “Bu sorunun etkisi, belirli senaryolarda, bir saldırganın hedef AWS hesabına yönetim erişimi sağlamasına olanak tanıyarak hesabın tamamının ele geçirilmesiyle sonuçlanabilir” dedi. rapor The Hacker News ile paylaşıldı.
27 Haziran 2024’teki sorumlu açıklamanın ardından sorun, proje sahipleri tarafından şu tarihte ele alındı: CDK sürümü 2.149.0 temmuz ayında yayınlandı.
AWS CDK Python, TypeScript veya JavaScript kullanarak bulut uygulama kaynaklarını tanımlamaya ve bunları CloudFormation aracılığıyla sağlamaya yönelik açık kaynaklı bir yazılım geliştirme çerçevesidir.
Aqua tarafından tanımlanan sorun, bulut güvenlik firmasının AWS’deki gölge kaynaklarla ilgili önceki bulgularına ve AWS Basit Depolama Hizmeti (S3) klasörleri için önceden tanımlanmış adlandırma kurallarının Bucket Monopoly saldırılarını düzenlemek ve hassas verilere erişim sağlamak için nasıl silah haline getirilebileceğine dayanıyor.
Bir AWS ortamının AWS Cloud Development Kit (AWS CDK) ile kullanıma hazırlanması, önyükleme adı verilen ve belirli AWS kaynaklarının ortama sağlandığı bir işlemle gerçekleştirilir. Buna bir AWS S3 klasörü, Amazon Elastic Container Registry (Amazon ECR) deposu ve AWS Identity and Access Management (IAM) rolleri dahildir.
“CDK tarafından kullanılan kaynaklar ve bunların yapılandırmaları bir AWS CloudFormation şablonunda tanımlanmıştır”, göre AWS belgeleri.
“Bir ortamı önyüklemek için AWS CDK Komut Satırı Arayüzü (AWS CDK CLI) cdk bootstrap komutunu kullanırsınız. CDK CLI şablonu alır ve bunu önyükleme yığını olarak bilinen bir yığın olarak AWS CloudFormation’a dağıtır. Varsayılan olarak yığın adı CDKToolkit.”
Bazıları IAM rolleri Önyükleme sürecinin bir parçası olarak oluşturulan dosyalar, ilgili S3 klasöründeki varlıkları yükleme ve silme izni vermenin yanı sıra yönetici erişimiyle yığın dağıtımları gerçekleştirme izni verir.
Aqua, AWS CDK tarafından oluşturulan IAM rollerinin adlandırma modelinin, alanların her birinin aşağıda açıklandığı “cdk-{Qualifier}-{Description}-{Account-ID}-{Region}” yapısını takip ettiğini söyledi:
- Önyükleme aşamasında özelleştirilebilmesine rağmen, varsayılan olarak “hnb659fds” olarak ayarlanan benzersiz, dokuz karakterlik bir dize değeri olan niteleyici
- Açıklama, kaynak açıklaması (örneğin, cfn-exec-role)
- Hesap Kimliği, ortamın AWS hesap kimliği
- Bölge, ortamın AWS bölgesi
Benzer şekilde, önyükleme sırasında oluşturulan S3 klasörü “cdk-{Qualifier}-assets-{Account-ID}-{Region}” adlandırma modelini izler.
Aqua, “Birçok kullanıcı niteleyiciyi özelleştirmeden cdk önyükleme komutunu çalıştırdığından, hazırlama grubunun S3 kovası adlandırma modeli öngörülebilir hale geliyor” dedi. “Bunun nedeni, paket adı niteleyicisinin varsayılan değerinin ‘hnb659fds’ olarak ayarlanmış olması, paketin adını tahmin etmeyi kolaylaştırıyor.”
İle binlerce örnek Varsayılan niteleyicinin kullanıldığı GitHub’da keşfedilen bu durum aynı zamanda paketin adını tahmin etmenin AWS Hesap Kimliğini ve CDK’nın dağıtıldığı bölgeyi bulmak kadar basit olduğu anlamına da gelir.
Bu husus, S3 klasör adlarının tüm AWS hesaplarında küresel olarak benzersiz olduğu gerçeğiyle birleştiğinde, boşluk, adı verilen şeyin kapısını açar. S3 Kova Adlandırması (veya Bucket Sniping), saldırganın başka bir kullanıcının CDK paketi henüz mevcut değilse talep etmesine olanak tanır.
Bu, bir kullanıcı CDK’yı aynı hesap kimliği ve bölgeyle önyüklemeye çalıştığında kısmi hizmet reddine (DoS) yol açabilir; bu, önyükleme sırasında özel bir niteleyici belirtilerek çözülebilecek bir senaryodur.
Kurbanın CDK’sının, saldırgan tarafından kontrol edilen S3 klasörüne veri okuma ve yazma iznine sahip olması ve böylece CloudFormation şablonlarının kurcalanması ve kurbanın AWS hesabında kötü amaçlı eylemlerin yürütülmesi mümkün hale gelirse daha ciddi bir sonuç ortaya çıkabilir.
Aqua, “CDK’daki CloudFormationExecutionRole rolü olan CloudFormation hizmetinin dağıtım rolü, varsayılan olarak hesapta yönetici ayrıcalıklarına sahiptir” diye belirtti.
“Bu, kurbanın CDK’sı tarafından saldırganın S3 klasörüne yazılan herhangi bir CloudFormation şablonunun daha sonra kurbanın hesabında yönetici ayrıcalıklarıyla dağıtılacağı anlamına gelir. Bu, saldırganın ayrıcalıklı kaynaklar oluşturmasına olanak tanır.”
Varsayımsal bir saldırıda, bir kullanıcının geçmişte CDK önyükleme işlemini başlatmış olması ve ardından kota sınırlamaları nedeniyle S3 klasörünü silmesi durumunda, bir rakip bu durumdan yararlanarak aynı adda bir klasör oluşturabilir.
Bu daha sonra CDK’nın hileli gruba dolaylı olarak güvenmesine ve CloudFormation şablonlarını okumasına/yazmasına neden olabilir ve bu da onları istismara açık hale getirebilir. Ancak bunun başarılı olması için saldırganın aşağıdaki ön koşulları yerine getirmesi bekleniyor:
- Tahmin edilebilir adla paketi talep edin ve genel erişime izin verin
- Pakete her yüklendiğinde belirli bir CloudFormation şablon dosyasına kötü amaçlı bir yönetici rolü veya arka kapı enjekte edecek bir Lambda işlevi oluşturun
Son aşamada, kullanıcı CDK’yi “cdk konuşlandırması” kullanarak dağıttığında, süreç yalnızca şablonu kopya kümesine göndermekle kalmaz, aynı zamanda saldırganın üstlenebileceği ve sonuçta kurbanın hesabının kontrolünü ele geçirebileceği bir yönetici rolünü de enjekte eder.
Başka bir deyişle, saldırı zinciri, önyükleme işlemi sırasında kurulan bir CDK S3 klasörü silindiğinde ve CDK yeniden kullanıldığında, hedef AWS hesabında yönetici rolünün oluşturulmasını kolaylaştırır. AWS o zamandan beri CDK kullanıcılarının yaklaşık %1’inin saldırı vektörüne karşı savunmasız olduğunu doğruladı.
AWS tarafından uygulanan düzeltme, CDK’nin verileri önyüklemeyi başlatan hesaba ait olmayan klasörlere göndermesini önlemek amacıyla varlıkların yalnızca kullanıcının hesabındaki klasörlere yüklenmesini sağlar. Aynı zamanda müşterileri teşvik etti varsayılan “hnb659fds” yerine özel bir niteleyici kullanmak için.
The Hacker News ile paylaşılan bir açıklamada AWS, CDK dağıtımlarını gerçekleştirirken yetkisiz verilerin açığa çıkmasıyla ilgili tüm endişeleri araştırdığını ve ele aldığını söyledi.
Bir AWS sözcüsü yayına şöyle konuştu: “12 Temmuz 2024’te AWS, CDK dağıtımları gerçekleştiren müşteriler için veri ifşası potansiyelini azaltmak amacıyla ek güvenlik kontrolleri uygulayan AWS Bulut Geliştirme Kiti (AWS CDK) CLI’ye yönelik bir güncelleme yayınladı.”
“En son sürümü kullanan müşterilerin önyükleme kaynaklarını yükseltmek için tek seferlik bir işlem gerçekleştirmesi gerekecek. AWS, potansiyel olarak etkilenen müşterilere doğrudan ulaşarak onları yükseltme ihtiyacı konusunda bilgilendirdi ve kullanıcılara hatırlatmak için CLI’ye ek kontroller ekledi. yükseltmek için.”
Bununla birlikte, önyükleme CDK sürümü v2.148.1 veya daha önceki bir sürüm kullanılarak gerçekleştirilmişse, kullanıcının CDK’yı en son sürüme güncellemesini ve önyükleme komutunu yeniden çalıştırmasını gerektiren kullanıcı eylemi gerekir. Alternatif olarak kullanıcılar, FilePublishingRole CDK rolüne bir IAM politikası koşulu uygulama seçeneğine sahiptir.
Bulgular bir kez daha AWS hesap kimliklerinin gizli tutulmasını, kapsamlı bir IAM politikasının tanımlanmasını ve S3 klasörlerine öngörülebilir adlar vermekten kaçınılmasını gerektiriyor.
Aqua, “Bunun yerine, bölge ve hesap başına benzersiz karmalar veya rastgele tanımlayıcılar oluşturun ve bunları S3 klasör adlarınıza dahil edin” diye bitirdi. “Bu strateji, önceden kovanızı ele geçiren saldırganlara karşı korunmanıza yardımcı olur.”
Açıklama, Broadcom’un sahibi olduğu Symantec’in, AWS ve Microsoft Azure Blob Depolama için sabit kodlanmış ve şifrelenmemiş bulut hizmeti kimlik bilgilerini içeren birkaç Android ve iOS uygulaması bulması üzerine geldi. kullanıcı verileri risk altında.
Rahatsız edici uygulamalardan bazıları arasında Pic Stitch: Collage Maker, Crumbl, Eureka: Earn Money for Surveys, Videoshop – Video Editor, Meru Cabs, Sulekha Business ve ReSound Tinnitus Relief yer alıyor.
Güvenlik araştırmacıları Yuanjing Guo ve Tommy Dong, “Bu tehlikeli uygulama, uygulamanın ikili dosyasına veya kaynak koduna erişimi olan herhangi birinin potansiyel olarak bu kimlik bilgilerini çıkarabileceği ve verileri manipüle etmek veya sızdırmak için bunları kötüye kullanabileceği ve bunun da ciddi güvenlik ihlallerine yol açabileceği anlamına geliyor.” söz konusu.
(Hikaye yayınlandıktan sonra AWS’den gelen yanıtı içerecek şekilde güncellendi.)