Microsoft AI araştırmacıları, GitHub’da uzun ömürlü, aşırı hoşgörülü bir SAS tokenı yayınlayarak 38 TB veriyi açığa çıkardı.
Herkese açık depolarda kod paylaşırken kimlik bilgilerinin, anahtarların ve belirteçlerin dahil edilmesine ilişkin uyarıların gerekli olmaması gerekir. Verilerinizin anahtarlarını öylece teslim etmemeniz kendi adına konuşmalı. Peki ya yanlış bir yapılandırma, varsayılan bir dahili depolama hesabının aniden herkes tarafından erişilebilir hale gelmesiyle sonuçlanırsa?
Microsoft, 38 terabaytlık veriye erişimi bu şekilde sızdırmayı başardı.
Wiz Research, Microsoft’un yapay zeka araştırma ekibinin GitHub’da bir dizi açık kaynak eğitim verisi yayınlarken, iki çalışanın iş istasyonunun disk yedeklemesi de dahil olmak üzere 38 terabaytlık ek özel veriyi yanlışlıkla açığa çıkardığını buldu. Yedeklemeler, Microsoft hizmetlerinin şifreleri, gizli anahtarlar ve 359 Microsoft çalışanından gelen 30.000’den fazla dahili Microsoft Teams mesajı dahil olmak üzere hassas verileri içeriyordu.
Sorunun kaynağı, kullanıcıların Azure Depolama hesaplarındaki verileri paylaşmasına olanak tanıyan Paylaşılan Erişim İmzası (SAS) belirteçleri adı verilen bir Azure özelliğiydi.
SAS belirteci şunları kısıtlamak için kullanılabilir:
- Bir müşterinin hangi kaynaklara erişebileceği
- Bir istemcinin gerçekleştirebileceği işlemler (okuma, yazma, listeleme, silme)
- Bir istemcinin hangi ağdan erişebileceği (HTTPS, IP adresi)
- Bir istemcinin erişim süresi (başlangıç zamanı, bitiş zamanı)
Blob depolama, yapılandırılmamış veriler için bir tür bulut depolamadır. İkili Büyük Nesne’nin kısaltması olan bir “blob”, ikili biçimdeki bir veri kütlesidir. Azure Depolama SAS belirteçleri, esas olarak Azure Depolama hizmetlerine güvenli bir şekilde erişime izin veren dizelerdir. Bunlar, bir blob veya bir dizi blob gibi belirli Azure Depolama kaynaklarına özel erişim hakları sunan bir URI (Tekdüzen Kaynak Tanımlayıcı) türüdür.
Bir Microsoft çalışanı, açık kaynaklı yapay zeka öğrenme modellerine katkıda bulunurken, genel GitHub deposundaki bir blob mağazasının URL’sini paylaştı. Bu URL, dahili depolama hesabı için aşırı izin veren bir SAS belirtecini içeriyordu.
URL, açık kaynaklı modellerden daha fazlasına erişime izin verdi. Depolama hesabının tamamına izin verecek şekilde yapılandırıldı ve böylece ek hassas veriler yanlışlıkla açığa çıktı.
Ancak Wiz, hassas verilerin ifşa edilmesinin olabilecek en kötü durum bile olmadığını açıklıyor.
“Bir saldırgan, bu depolama hesabındaki tüm AI modellerine kötü amaçlı kod enjekte etmiş olabilir ve Microsoft’un GitHub deposuna güvenen her kullanıcıya bu kod bulaşmış olabilir.”
Wiz’in bulgularını 22 Haziran 2023’te Microsoft ile paylaşmasının ardından Microsoft, iki gün sonra SAS tokenını iptal etti.
Microsoft şunları belirtti:
“İfşa edilen bilgiler, iki eski Microsoft çalışanına ve bu eski çalışanların iş istasyonlarına özgü bilgilerden oluşuyordu. Bu sorun nedeniyle hiçbir müşteri verisi açığa çıkmadı ve başka hiçbir Microsoft hizmeti riske atılmadı. Müşterilerin güvende kalmak için herhangi bir ek işlem yapmasına gerek yok.”
Microsoft ayrıca Wiz’in araştırmasının bir sonucu olarak, kimlik bilgilerinin ve diğer sırların düz metin olarak açığa çıkması için tüm genel açık kaynak kod değişikliklerini izleyen GitHub’un gizli yayılma hizmetini, aşırı izin veren son kullanma tarihlerine veya ayrıcalıklara sahip olabilecek herhangi bir SAS belirteci içerecek şekilde genişlettiğini söyledi.
SAS belirteçleri için en iyi uygulamalar
Başkalarının hatalarından ders almasını sağlayan Microsoft, SAS URL’leriyle çalışmaya ilişkin bazı ipuçları paylaştı.
- En az ayrıcalık ilkesini uygulayın: SAS URL’lerini istemcilerin ihtiyaç duyduğu en küçük kaynak kümesine (örneğin tek bir blob) kadar kapsayın ve izinleri yalnızca uygulamanın ihtiyaç duyduğu izinlerle (örneğin salt okunur, salt yazılır) sınırlayın.
- Kısa ömürlü SAS kullanın: SAS oluştururken her zaman kısa vadeli bir son kullanma tarihi kullanın ve gerektiğinde istemcilerin yeni SAS URL’leri istemesini sağlayın. Azure Depolama, tüm SAS URL’leri için bir saat veya daha azını önerir.
- SAS belirteçlerini dikkatli bir şekilde kullanın: SAS URL’leri, verilerinize erişim sağlar ve uygulama sırrı olarak ele alınmalıdır. SAS URL’lerini yalnızca depolama hesabına erişmesi gereken istemcilere gösterin.
- Bir iptal planınız olsun: Bir kapsayıcı içindeki bir SAS’ın ayrıntılı bir şekilde iptal edilmesi için SAS belirteçlerini depolanmış bir erişim politikasıyla ilişkilendirin. Bir SAS veya paylaşılan anahtar sızdırılırsa, depolanan erişim ilkesini kaldırmaya veya depolama hesabı anahtarlarını değiştirmeye hazır olun.
- Uygulamanızı izleyin ve denetleyin: Azure İzleyici ve Azure Depolama Günlüklerini etkinleştirerek depolama hesabınıza yönelik isteklerin nasıl yetkilendirildiğini izleyin. Uzun ömürlü SAS URL’leri kullanan istemcileri tespit etmek için bir SAS Sona Erme Politikası kullanın.
Wiz, SAS belirteçlerinin harici kullanımına karşı tavsiyede bulunur.
“Microsoft, bunları Azure portalında yönetmek için merkezi bir yol sağlamadığı için {SAS]belirteçlerini takip etmek çok zordur. Ek olarak, bu tokenler, son kullanma sürelerinde herhangi bir üst sınır olmaksızın sonsuza kadar etkili bir şekilde dayanacak şekilde yapılandırılabilir. Bu nedenle Hesap SAS belirteçlerinin harici paylaşım için kullanılması güvenli değildir ve bundan kaçınılmalıdır.”
Yalnızca bulut güvenliği hakkında rapor vermiyoruz.
Siber güvenlik riskleri asla bir manşetin ötesine yayılmamalıdır. Malwarebytes Bulut Depolama Taramasını kullanarak Box ve diğer satıcıların bulut depolarındaki karmaşık tehditleri tespit edin.