Yönetişim ve Risk Yönetimi
Bilgisayar Korsanları Büyük Hasara Neden Olmak İçin Kolayca Önlenebilir Güvenlik Açıklarını Kötüye Kullanmaya Devam Ediyor
Mathew J. Schwartz (euroinfosec) •
28 Mart 2024
Saldırganların veritabanlarını yağmalamak ve daha da kötüsü için kolayca yararlanabileceği SQL enjeksiyon güvenlik açıklarından dünyayı kurtarmak için ne gerekecek?
Ayrıca bakınız: Her Kimlik Risk Altındayken Nereden Başlamalısınız?
ABD Siber Güvenlik ve Altyapı Güvenliği Ajansı ve FBI tarafından yayınlanan yeni bir “Tasarım Yoluyla Güvenli” uyarısına göre, “SQLi gibi güvenlik açıkları, başkaları tarafından en az 2007'den beri 'affedilemez' bir güvenlik açığı olarak görülüyor.”
Aradan geçen 17 yılda işler daha iyiye gitmedi. Dünya Çapında Açık Uygulama Güvenliği Projesi, SQL enjeksiyonunu düzenli olarak en iyi 10 güvenlik açığı listesinin en üst sıralarına veya yakınlarına yerleştirir. MITRE, kusuru en tehlikeli ve en inatçı kod tabanlarından biri olarak sınıflandırıyor.
ABD hükümeti siber güvenlik yetkililerinin, kurumsal Amerika genelindeki üst düzey yöneticileri SQL enjeksiyon güvenlik açığını ortadan kaldırma programını başlatmaya çağıran uyarısını girin. Bu, bu tür kusurların işaretleri için kod tabanlarını sürekli olarak gözden geçirmek ve bunları güvenli tasarım geliştirme uygulamaları yoluyla ortadan kaldırmak için tasarlanmış süreçlerin uygulanmasını içerir.
Başlatılmamış olanlar için, SQL enjeksiyonu – kötü niyetli ekleme – güvenlik açıkları, “saldırganların kimliği taklit etmesine, mevcut verilerde değişiklik yapmasına, işlemleri geçersiz kılma veya bakiyeleri değiştirme gibi reddetme sorunlarına neden olmasına, bilgilerin tamamen ifşa edilmesine izin vermesine” olanak tanıdığı için “yüksek etkili ciddiyete” neden olma riski taşır. OWASP, “Sistemdeki tüm verileri yok edin, verileri yok edin veya başka bir şekilde kullanılamaz hale getirin ve veritabanı sunucusunun yöneticileri olun” dedi.
Bunlar kötü haberler ve her zaman da öyleydi. OWASP, “SQL enjeksiyon saldırılarının ciddiyeti, saldırganın becerisi ve hayal gücüyle ve daha az ölçüde, veritabanı sunucusuna düşük ayrıcalıklı bağlantılar gibi derinlemesine savunma önlemleriyle sınırlıdır.” dedi.
SQL enjeksiyon saldırılarını engellemeye yönelik etkili teknikler yirmi yıldan beri mevcuttur; bunlar arasında “parametreli sorgular olarak da bilinen ve 2004'ten bu yana MySQL'in bir özelliği olan hazır ifadeler de bulunmaktadır.
CISA ve FBI, üst düzey yöneticilerin hazırlanan beyanların “yazılım geliştirmede standart bir uygulama” olarak kullanılmasını zorunlu kılmasını ve uygulamasını şiddetle tavsiye etmektedir.
Tasarım gereği güvenli olan bu yaklaşım, kullanıcı girişini veritabanı komutlarından ayırır ve kullanıcı girişinin çalıştırılabilir kod olarak değerlendirilmesini engeller. OWASP, savunmalar ilerledikçe SQL enjeksiyonuyla mücadele etmenin en etkili tek yolunun bu olduğunu söylüyor – bunun istemci tarafı yerine sunucu tarafında yapılması şartıyla.
OWASP'ın bir kısa notuna göre, “Veritabanı sorguları bu kodlama stilini kullanıyorsa, kullanıcı girişi ne olursa olsun, veritabanı her zaman kod ve veri arasında ayrım yapacaktır.” “Ayrıca hazırlanan ifadeler, saldırgan tarafından SQL komutları eklense bile saldırganın sorgunun amacını değiştirememesini sağlar.”
ABD hükümetinin eylem çağrısı, SQL enjeksiyon saldırılarının anlatılmamış miktarlarda hasara yol açmaya devam ettiği bir dönemde geldi.
Son zamanlarda sadece bir SQL enjeksiyon saldırısını ele alalım: MOVEit güvenli dosya aktarım yazılımındaki sıfır gün güvenlik açığı, geçtiğimiz Mayıs ayında Clop fidye yazılımı grubu tarafından topluca istismar edildi. Siber güvenlik firması Emsisoft'un son sayısına göre, 2.770'den fazla kuruluş ve 95 milyon kişinin kişisel bilgileri kampanyadan doğrudan veya dolaylı olarak etkilendi.
Clop'un kampanyası, geçen yıl kaydedilen SQL enjeksiyon saldırılarının yalnızca çok küçük bir kısmını temsil ediyordu. Güvenlik uzmanları, SQL enjeksiyon kusurlarını düzenli olarak tespit edip istismar etmeye çalışan çok sayıda ulus devlet korsanlık ekibini, fidye yazılımı operasyonlarını ve diğer siber suç gruplarını izlemeye devam ediyor.
Zorluklardan biri, SQL enjeksiyon saldırılarına karşı derinlemesine savunmanın, veritabanlarının güvenliğinin sağlanmasından daha fazlasını içermesidir. Cloudflare, “Modern bilgi işlemde, SQL enjeksiyonu genellikle internet üzerinden, bir web sitesi veya hizmet tarafından sağlanan bir API uç noktasına kötü amaçlı SQL sorguları gönderilerek gerçekleşir.” dedi.
Bir diğer zorluk ise saldırganların bu tür saldırıları kolaylaştırmak için çeşitli otomatik araçlardan yararlanabilmesidir. Cloudflare, bu araçların “kötü niyetli bir aktörün form arayarak bir web sitesinde otomatik olarak arama yapmasına ve ardından web sitesinin yazılım geliştiricilerinin veritabanından yararlanmayı amaçlamadığı bir yanıt oluşturabilecek çeşitli SQL sorguları girme girişiminde bulunmasına izin verdiğini” söyledi. “Veritabanına erişimi olan bir web sitesindeki herhangi bir formdaki veya API uç noktasındaki tek bir güvenlik açığı alanı, bir güvenlik açığını açığa çıkarmak için yeterli olabilir.”
Elbette geliştirme gruplarının ve kırmızı ekiplerin bu tür araçları şirket içinde kullanmasını, bu kusurları saldırganlardan önce arayıp yok etmesini engelleyecek hiçbir şey yok. Bu, tasarım yoluyla güvenlik uygulamalarına yönelik önemli bir itici güç olmaya devam ediyor: Saldırganların hayatını kolaylaştırmayın.
SQL enjeksiyon güvenlik açıklarının devam eden yaygınlığının gösterdiği gibi, hala gidecek uzun bir yolumuz var.