Siber güvenlik şirketi CrowdStrike, dünya genelinde milyonlarca Windows cihazının çökmesine neden olan Falcon Sensor yazılım güncelleme çökmesinin temel neden analizini yayınladı.
Başlangıçta Ön Olay Sonrası İnceleme’de (PIR) vurgulandığı gibi, “Kanal Dosyası 291” olayı, adlandırılmış kanalları ve diğer Windows işlem içi iletişim (IPC) mekanizmalarını kötüye kullanan yeni saldırı tekniklerinin görünürlüğünü ve tespitini sağlamak için yeni bir Şablon Türü getirildikten sonra ortaya çıkan bir içerik doğrulama sorununa dayanıyordu.
Özellikle, bulut üzerinden dağıtılan sorunlu bir içerik güncellemesiyle ilgili olup, bunu bir çökmeye yol açan birkaç sorunun “birleşmesi” olarak tanımlıyor: İçerik Doğrulayıcısına IPC Şablon Türü aracılığıyla iletilen 21 girdi ile İçerik Yorumlayıcısına sağlanan 20 girdi arasında bir uyumsuzluk.
CrowdStrike, parametre uyumsuzluğunun test sürecinin “çoklu katmanları” sırasında keşfedilmediğini, bunun kısmen test sırasında 21. girdi için joker karakter eşleştirme ölçütlerinin kullanılması ve Mart-Nisan 2024 arasında teslim edilen ilk IPC Şablon Örnekleri’nden kaynaklandığını söyledi.
Başka bir deyişle, 19 Temmuz 2024’te yayınlanan Kanal Dosyası 291’in yeni sürümü, 21. giriş parametresi alanını kullanan ilk IPC Şablon Örneğiydi. 21. alanda joker olmayan eşleşme ölçütleri için belirli bir test vakasının olmaması, bunun Hızlı Yanıt İçeriği sensörlere gönderilene kadar işaretlenmediği anlamına geliyordu.
Şirket, “Sorunlu içeriği taşıyan 291 Kanal Dosyası’nın yeni sürümünü alan sensörler, İçerik Yorumlayıcısı’nda gizli bir sınır dışı okuma sorununa maruz kaldı” dedi.
“İşletim sisteminden gelen bir sonraki IPC bildiriminde, yeni IPC Şablon Örnekleri değerlendirildi ve 21. giriş değerine göre bir karşılaştırma belirtildi. İçerik Yorumlayıcısı yalnızca 20 değer bekliyordu. Bu nedenle, 21. değere erişme girişimi, giriş veri dizisinin sonunun ötesinde sınır dışı bir bellek okuması üretti ve sistem çökmesine neden oldu.”
CrowdStrike, sorunu gidermek için sensör derleme zamanında Şablon Türü’ndeki giriş alanlarının sayısını doğrulamanın yanı sıra, sınır dışı bellek okumalarını önlemek için İçerik Yorumlayıcısı’na çalışma zamanı giriş dizisi sınırları denetimleri eklediğini ve IPC Şablon Türü tarafından sağlanan giriş sayısını düzelttiğini söyledi.
“Eklenen sınır denetimi, İçerik Yorumlayıcısının giriş dizisine sınır dışı erişim gerçekleştirmesini ve sistemi çökertmesini önler,” diye belirtti. “Ek denetim, giriş dizisinin boyutunun Hızlı Yanıt İçeriği tarafından beklenen giriş sayısıyla eşleştiğine dair ek bir çalışma zamanı doğrulama katmanı ekler.”
CrowdStrike, bunun da ötesinde, Şablon Türü geliştirme sırasında test kapsamını artırmayı ve tüm (gelecekteki) Şablon Türlerindeki her alan için joker karakterli olmayan eşleşme ölçütlerine yönelik test vakalarını dahil etmeyi planladığını söyledi.
Sensör güncellemelerinden bazılarının aşağıdaki boşlukları da gidermesi bekleniyor:
- İçerik Doğrulayıcı, Şablon Örneklerindeki içeriğin İçerik Yorumlayıcısına girdi olarak sağlanandan daha fazla alanda eşleşen ölçütleri içermediğinden emin olmak için yeni denetimler eklenecek şekilde değiştiriliyor
- İçerik Doğrulayıcı, yalnızca 21. alanda joker karakter eşleşme ölçütlerine izin verecek şekilde değiştiriliyor; bu, yalnızca 20 girdi sağlayan sensörlerde sınır dışı erişimi engelliyor
- İçerik Yapılandırma Sistemi, ilk Şablon Örneğinin oluşturma sırasında Şablon Türü ile test edilmesi gerçeğinden bağımsız olarak her yeni Şablon Örneğinin test edilmesini sağlamak için yeni test prosedürleriyle güncellendi
- İçerik Yapılandırma Sistemi ek dağıtım katmanları ve kabul kontrolleriyle güncellendi
- Falcon platformu, müşterilere Hızlı Yanıt İçeriğinin teslimi üzerinde daha fazla kontrol sağlamak için güncellendi
Son olarak CrowdStrike, Falcon sensör kodunun hem güvenlik hem de kalite güvencesi için daha fazla inceleme yapması için iki bağımsız üçüncü taraf yazılım güvenliği satıcısıyla anlaştığını söyledi. Ayrıca, geliştirmeden dağıtıma kadar uçtan uca kalite sürecinin bağımsız bir incelemesini de gerçekleştiriyor.
Ayrıca, Windows’un çekirdek sürücüsüne güvenmek yerine kullanıcı alanında güvenlik işlevlerini gerçekleştirmenin yeni yollarını sunması üzerine Microsoft ile çalışma sözü verdi.
“CrowdStrike’ın çekirdek sürücüsü, sensörün kullanıcı modu işlemleri başlamadan önce başlatılan kötü amaçlı yazılımları gözlemlemesini ve bunlara karşı savunma yapmasını sağlamak için sistem önyüklemesinin erken bir aşamasında yüklenir,” denildi.
“Bu çekirdek yeteneklerine güncel güvenlik içeriği (örneğin, CrowdStrike’ın Hızlı Tepki İçeriği) sağlamak, sensörün çekirdek kodunda değişiklik yapmadan sistemleri hızla gelişen bir tehdit ortamına karşı savunmasını sağlar. Hızlı Tepki İçeriği yapılandırma verisidir; kod veya çekirdek sürücüsü değildir.”
Kök neden analizinin yayınlanması, Delta Air Lines’ın CrowdStrike ve Microsoft’a büyük kesintilere yol açtıkları ve binlerce iptal edilen uçuşla ilgili olarak yaklaşık 500 milyon dolarlık gelir kaybı ve ek maliyete neden oldukları gerekçesiyle tazminat talep etmekten başka “seçeneği olmadığını” söylemesinin ardından geldi.
CrowdStrike ve Microsoft’un her ikisi de eleştirilere yanıt vererek, günlerce süren kesintiden kendilerinin sorumlu olmadığını ve Delta’nın yerinde yardım tekliflerini reddettiğini, bunun da taşıyıcının sorunlarının hatalı güvenlik güncellemesi sonucu Windows makinelerinin çökmesinden çok daha derinlere inebileceğini gösterdiğini belirtti.