‘Terraform Destroy’ UniSuper Google Cloud Kesintisine Neden Oldu mu?


Mayıs ayı başlarında internet, Google’ın 125 milyar dolar değerindeki bir emeklilik fonu hesabını sildiği iddiasıyla sarsılmıştı. Avustralya merkezli UniSuper emeklilik fonunun sistem kullanıcıları, yaklaşık bir hafta boyunca aniden hesaplarına erişimde sorunlar yaşadı. 600.000’den fazla emeklilik fonu üyesi etkilendi.

Beklendiği gibi, birçok kişi bunun bir siber saldırı olduğunu varsaydı. Maersk fidye yazılımı olayı gibi birçok yüksek profilli ihlal, operasyonel kesintilere yol açan büyük veri kayıplarına yol açtı. Ancak sonunda sorunun, tehdit aktörleri tarafından kolaylıkla istismar edilebilecek, keşfedilmemiş bir hata olduğu ortaya çıktı. Bu, Google’ın bilmediği ve mümkün olacağını beklemediği bir güvenlik açığıdır.

Google, sorunu mayıs ortasında düzeltti ve ne olduğuna dair bir açıklama yayınladı. Ancak olayla ilgili biraz incelemeyi hak eden ilginç bir yaklaşım var: IaC yönetim aracı Terraform’un olası rolü. Yeni Zelanda merkezli kıdemli bir yazılım geliştiricisi, Google Cloud’un profesyonel hizmetler ekibiyle yaşadığı deneyimlere dayanarak ilginç teoriler paylaşarak Terraform komutlarının olası istenmeyen etkilerine işaret etti.

Google’ın Açıklaması

Google, 25 Mayıs tarihli bir blog yazısında olayın gerçekte nasıl gerçekleştiğini ayrıntılarıyla anlattı. Şirket, UniSuper’a atıfta bulunarak olayın tek bir bulut bölgesindeki yalnızca bir müşteriyi etkilediğini açıkladı. Özellikle sorun, müşterinin birden fazla Google Cloud VMware Engine (GCVE) özel bulutundan yalnızca biriyle sınırlıydı. Google, olayın diğer Google Cloud hizmetlerini, müşteri hesaplarını, projelerini ve veri yedeklemelerini etkilemediğini söyledi.

Google’ın dahili araştırmasının ardından bulut hizmet sağlayıcısı, olayın yanlış yapılandırma nedeniyle meydana geldiği sonucuna vardı. Şirket, bu hatanın izini, dahili bir araç kullanan bir müşteri tarafından Google Cloud VMware Engine (GCVE) özel bulutunun ilk dağıtımına dayandırdı. Parametre yapılandırmasında, müşterinin GCVE özel bulutunun sabit bir süreye sınırlandırılmasının istenmeyen ve istenmeyen sonucuyla sonuçlanan bir sorun vardı.

Google, Google Cloud hizmetlerinin yönetimi ve dağıtımından sorumlu olan operatörlerinin, şirketin iç kontrol protokollerine uygun hareket ettiğini ileri sürüyor. UniSuper olayı, karşılaştıkları türünün ilk sorunuydu; boş bırakılan bir giriş parametresinin özel bir bulutun silinmesine neden olabileceğini beklemediklerini gösteriyordu.

Google, boş parametrenin sistemden o zamanlar bilinmeyen bir varsayılan terim atamasını istediğini açıkladı. Araştırma, bu sürenin bir yıl olduğunu ortaya çıkardı, bu da GCVE özel bulutunun farkında olmadan bir yıl sonra sonlandırılacağı anlamına geliyor. Silme işlemi müşterinin isteği üzerine gerçekleşmediğinden müşteriye herhangi bir bildirim gönderilmedi. Google operatörleri tarafından boş bırakılan bir parametrenin sonucu olarak tetiklendi.

Google’ın blog yazısı, UniSuper’ı herhangi bir hatadan dolaylı olarak temize çıkardı ve bunun baştan sona bir Google Cloud sorunu olduğunu söyledi. UniSuper ve Google tarafından, olayı gerçekleşmemesi gereken, “türünün tek örneği” bir olay olarak nitelendiren ortak bir bildiri yayınlandı.

‘Terraform Yok Etme’ Gerçekten Suçlu muydu?

Araştırmacıların da belirttiği gibi Google’ın operatörlerinin kullandığı dahili aracın Terraform olduğu görülüyor. Yaygın olarak kod olarak altyapı (IaC) yönetimi için kullanılan Terraform, altyapı yönetimi için çok önemli olan ‘yok etme’ adlı bir komutu destekler. DevOps yöneticileri Terraform destroy’u belirli bir kaynakta veya birden fazla kaynakta aynı anda kullanabilir.

Bu komutun kullanılması, bir altyapı bileşeninin geri döndürülemez şekilde kaldırılmasına neden olabileceğinden dikkatli olunmasını gerektirir. Komutun istenmeyen kaynaklar üzerinde kazara yürütülmesi kolaylıkla kesintiye yol açabilir.

Google’ın blog yazısında belirtildiği gibi, istenmeyen silme işlemi, yanlışlıkla eklenen boş bir parametre nedeniyle meydana geldi. Bu anlamda, silme işlemi, bir yıl önce kurulan uzun süredir devam eden bir saatli bombanın patlamasına benziyordu (özel bulutun sistem tarafından atanan bir yıllık sona ermesi). Google’dan gelen bu ayrıntılara bakılırsa, bu yüksek profilli kazanın Terraform yok etme komutunun tedbirsiz kullanımından kaynaklanmış olması pek olası görünmüyor.

Eğer bir yok etme komutu söz konusu olsaydı, durum çok farklı bir açıklamayı gerektirirdi. Hata tamamen Google’ın operatörlerine ait olmak yerine, sorun UniSuper’in kendi bulut sağlama yöneticilerinden kaynaklanmış olacaktı. Bu senaryoda UniSuper, özel bir bulutun yok etme komutu aracılığıyla kaldırılmasına ilişkin talimatı içeren bir Terraform yapılandırma dosyasını uygulayacak ve Google operatörleri bunu hemen onaylayacaktır.

Siber Güvenlik Kaygıları

UniSuper kesintisine neden olan şeyin muhtemelen yok etme komutunun dikkatsiz kullanımı olmadığı yönündeki göstergelere rağmen, Terraform yok etme konusunda dikkatli olmanın ne kadar önemli olduğunu tartışmaya değer. Tehdit aktörleri, kaynakları silmek ve operasyonları aksatmak için hatalardan yararlanarak bundan yararlanabilir.

Yok etme komutunun dolaylı olarak tetiklenebileceği üç olası senaryo vardır ve bunların tümü hatalar içerir.

İlk senaryoda, Terraform yapılandırma dosyalarındaki hataların veya sorunların çözülmemesi, Planlama ve Uygulama aşamalarında büyük hasara yol açabilir. Bu yapılandırma dosyası hataları, kaynakların silinmek üzere istenmeyen şekilde işaretlenmesine neden olabilir. Örneğin, kötü düşünülmüş koşullu ifadeler veya bozuk yapılandırma dosyaları, kaldırılmak üzere belirli kaynakları uygunsuz bir şekilde hedefleyebilir.

İkinci senaryoda kuruluşlar Terraform ile etkileşime giren harici araçlar kullanıyor olabilir. Bunlar, bulut sağlayıcı API’lerini ve kaynak sağlama komut dosyalarını içerebilir; bunlar, kaynakları silmemeleri gerekirken yanlışlıkla silmelerine neden olabilecek hatalar içerebilir. Terraform’un genellikle yapılandırma değişiklikleri sırasında bu komut dosyalarını çağırabileceği durumlar vardır. Bunlar uygulandığı takdirde istenmeyen sonuçlar ciddi olabilir.

Son olarak, kuruluşların bulut hizmetleri ve platformlarıyla etkileşimde bulunmak için üçüncü taraf sağlayıcıları kullanması durumunda, bu araçların başvuru aşamasında ve hatta planlama sırasında yanlış yorumlamalara yol açacak şekilde kötüye kullanılması ihtimali her zaman vardır.

Hataların ve diğer siber sorunların kaynakları silmek için yok etme komutunu kullanmasını önlemek için, yapılandırmaları uygulamadan önce düzenli olarak test etmek önemlidir. IaC kod incelemeleri de rutin bir faaliyet haline gelmelidir. Ayrıca, kullanılan harici kontrollerin kalitesinden emin olmak ve her zaman en son hata düzeltmeleri ve güvenlik yamalarıyla güncellenmek önemlidir. Son olarak, en az ayrıcalık ilkesi uygulanmalı ve geri yükleme çabalarını hızlandırmak için düzenli veri yedeklemeleri her zaman hazır bulundurulmalıdır.

Özetle

Özetlemek gerekirse Terraform yok etme komutu sonuçta UniSuper Google Cloud kesintisine neden olmadı. Olay, fark edilmeyen ve ele alınmayan boş bir parametre nedeniyle meydana geldi. Google ekibi, kullandıkları aracın, bir yıl sonra sorun yaşamalarına yol açabilecek değerleri bağımsız olarak atayacağını tahmin etmemişti.

Özellikle bulut yapılandırmaları ve yönetimi söz konusu olduğunda, modern BT teknolojileri hakkında keşfedilecek, öğrenilecek ve anlaşılacak pek çok şey var. Güvenlik ekipleri için Terraform komutlarını kapsamlı bir şekilde anlayan DevOps ile işbirliği yapmak, iş akışı verimliliğini, çalışma süresini ve güvenliği en üst düzeye çıkarmak açısından önemlidir.

Reklam



Source link