Code Red, Microsoft IIS (Internet Information Services for Windows Server) yüklü Windows tabanlı sistemleri hedef alan bir solucandı. Hikayesi en azından iyi başlamıştı: Kötü amaçlı yazılımın yayıldığı, salgının en başında tespit edildi. Code Red’i keşfedenler (13 Temmuz 2001), o sırada tesadüfen Microsoft IIS güvenlik açıkları için bir sistem geliştirmekte olan eEye Security araştırmacılarıydı. Birdenbire test sunucuları yanıt vermemeye başladı. Bunu, sistem günlüklerinde salgına dair izler arayarak geçirdikleri uykusuz bir gece izledi. Kötü amaçlı yazılıma, yorgun gözlerine ilk çarpan nesnenin, bir kutu Mountain Dew Code Red içeceğinin adını verdiler.
Ne var ki erken tespit edilmesi salgını durdurmaya yetmedi. Kötü amaçlı yazılım daha fazla saldırı gerçekleştirmek için halihazırda virüslü sistemleri kullanarak günler içinde dünya çapına yayıldı. Uygulamalı İnternet Veri Analizi Merkezi (CAIDA) daha sonrasında 19 Temmuz’un istatistiklerini yayınladı. Yayınlanan istatistiklerde Code Red’in yayılma hızı açık bir şekilde görülüyordu. Çeşitli kaynaklara göre toplamda 300.000’den fazla sunucuya saldırılmıştı.
Code Red’in çalışma biçimi
İnternet solucanı, web sunucusu modüllerinden birindeki önemsiz bir güvenlik açığını, veri indekslemeye yarayan bir uzantıyı kötüye kullanıyordu. idq.dll kitaplığında bir arabellek taşması hatası vardı. Güvenlik açığına MS01-33 numarası verildi. Hatayı kötüye kullanmak kolaydı, yalnızca sunucuya şunun gibi fazlaca uzun bir istek göndermek yeterliydi:
GET /default.ida?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a HTTP/1.0
Bunun sonucunda çok sayıda N karakterinin ardından gelen veri bir yönerge olarak yorumlanıyor ve yürütülüyordu. Kötü amaçlı yükün tamamı doğrudan isteğin içerisinde bulunuyordu. Yani, Microsoft IIS’in güvenlik açığı bulunan bir yüklemesi mevcutsa sisteme anında virüs bulaşması kesindi. Virüsün en görünür sonucu, web sunucusunun sunduğu sitelerin tahrif edilmesiydi. Sitelerin normal içerikleri yerine aşağıdaki ekran görüntüleniyordu:
Kaspersky’ye göre tahrif kalıcı değildi. Solucan başarılı bir saldırıdan 10 saat sonra web sitesinin normal içeriğini geri yüklüyordu. Diğer eylemler ise saldırının gerçekleştiği tarihe bağlıydı. Solucan her ayın 1’i ile 19’u arasında rastgele IP adreslerine kötü amaçlı istekler göndererek kendi kendini yayıyordu. 20’sinden 27’sine kadar çeşitli sabit IP adreslerine DDoS saldırısı yapılıyordu, bu saldırıya uğrayanlar arasında ABD Başkanlık Dairesi’nin web sitesi de vardı. 28’inden ay sonuna kadar ise Code Red işlere ara veriyordu.
2022’den bakış
Günümüzde de hala benzer saldırılar oluyor fakat bunlar çoğunlukla aktif bir saldırıyı incelerken tespit edilen sıfır gün güvenlik açıklarıyla bağlantılı olarak gerçekleşiyorlar. Buna tipik bir örnek olarak Microsoft Exchange posta sunucunda bulunan ve tespit edildiği sırada aktif şekilde kötüye kullanılan bir dizi güvenlik açığını gösterebiliriz. Dünya çapında 30.000’den fazla kuruluş etkilendi, birçok şirketteki e-posta hizmeti yöneticisi yamayı yüklemekte geç kaldığını fark ederek halihazırda virüs bulaşmış olma ihtimaline karşılık güvenlik denetimi yapmak zorunda kaldı.
Bu örnek yalnızca saldırıların çok daha karmaşık hale geldiğini göstermekle kalmıyor, aynı zamanda savunma yöntemlerinin de ilerlediğini ortaya koyuyor. Code Red bir sııfr gün güvenlik açığını değil, salgından bir ay önce tespit edilen ve kapatılan bir güvenlik açığını kötüye kullanmıştı. Ancak o zamanlar güncelleme yüklemenin yavaşlığı, otomatik yükleme araçlarının eksikliği ve kurumsal kullanıcıların bu konuda farkındalıklarının düşük olması büyük rol oynamıştı. Code Red ile günümüzdeki modern saldırılar arasındaki bir diğer önemli fark da Code Red’in saldırıyı paraya çevirmemiş olmasıydı. Günümüzde güvenlik açığı bulunan bir şirket sunucusu hacklendiğinde ardından kaçınılmaz olarak ya veri hırsızlığı ya da şifreleme ve fidye talebi gelir. Ayrıca günümüzde siber suçlular hackledikleri siteleri çoğunlukla tahrif etmezler, aksine şirketin BT altyapısındaki ayak izlerini saklamak için mümkün olan her adımı atarlar.
Acı bir ders
Code Red sahneden çabuk ayrıldı. 2001’in Ağustos ayında, solucanın ilk varyantı tarafından “ziyaret edilmiş” sistemlere virüs bulaştırabilen, ilkinin biraz değiştirilmiş bir sürümü olan Code Red II ortaya çıktı. Öte yandan 2000’lerin başında genel olarak benzer senaryolara sahip birçok saldırı daha gerçekleşti. Eylül 2001’de aynı şekilde Microsoft IIS’te çoktan yamalanmış güvenlik açıklarını kullanan Nimda solucanı salgınıyla karşılaştık. 2003’te ise Blaster solucanı her yere yayıldı. Sonunda kurumsal yazılımlardaki kritik güvenlik açıklarına yönelik yamaların mümkün olduğunca kısa sürede yüklenmesi gerektiği anlaşıldı. Bir güncelleme yayınlandığında siber suçlular bunu dikkatle inceliyor ve bazı kullanıcılarının hala bu açığı yamalamamış olması umuduyla hemen güvenlik açığını kötüye kullanmaya başlıyordu. Ancak şimdi bile bu problemin tamamen çözüldüğü söylenemez. 2017’deki WannaCry saldırısı gibi daha yeni örnekler var.
Öte yandan şunu söyleyebiliriz ki Code Red ve dünya çapında yüzbinlerce sisteme virüs bulaştırmaktan sorumlu çok sayıda diğer kötü amaçlı program, günümüzde bize yol gösteren kurumsal güvenlik yaklaşımlarının şekillenmesine yardımcı oldu. 21 yıl öncesinin aksine şu anda iletişimden ödemeye kadar her şey için BT sistemlerine bel bağlıyoruz. Kritik altyapılardan bahsetmeye bile gerek yok. Siber saldırılara karşı kendimizi nasıl savunacağımızı öğrendik fakat hala siber dünyadaki tüm kurumsal sorunları ortadan kaldıracak tek bir sihirli çözüm geliştirebilmiş değiliz. Siber güvenlik kaçınılmaz olarak gelişirken kusursuz güvenliğin sabit bir durum olmadığını, sürekli devam eden bir mücadele olduğunu anlamalıyız.