Ulusal Güvenlik Ajansı (NSA), SkillTree olarak bilinen açık kaynaklı çalışan eğitim platformunda bir çapraz site istek sahteciliği (CSRF) güvenlik açığını düzelterek, bu tür hataların üretim sürümünden önce yakalanmasının ne kadar zor olduğunu gösterdi.
SkillTree bir çevrimiçi eğitim platformudur öğrenme hedeflerine ulaşıldığında puanlar ve başarılar gibi oyunlaştırılmış öğelerle. NSA tarafından şirket içinde tasarlandı ve 2020’de GitHub’da yayınlandı. Bir ajansın basın bültenine görebelirtilen hedefinin “kurum genelindeki kullanıcıların şirket içi karmaşık uygulamalarla etkileşimini iyileştirmek” ve “kurumdaki yazılım geliştirme ve DevOps en iyi uygulamalarını kolaylaştırmak ve modernize etmek” olduğunu belirtti.
12 Haziran’da Contrast’tan araştırmacılar bir şey keşfettiler ve bildirdiler Platformu etkileyen CSRF sorunuO zamandan beri CVE-2024-39326 olarak etiketlendi ve “orta” 4.4 CVSS puanı atandı.
Bir CSRF saldırısında, saldırganlar hedeflenen bir web sitesine veya uygulamaya kötü amaçlı istekler göndermek için kimlik doğrulaması yapılmış kullanıcıları kanal olarak kullanır. Bu özel durumda, birden fazla SkillTree uç noktası tarafından kullanılan bazı savunmasız içerik türleri sayesinde, yönetici düzeyindeki bir kullanıcıyı kötü amaçlı bir bağlantıya tıklaması için kandıran bir saldırgan, çevrimiçi dersleriyle ilgili videoları, altyazıları ve metinleri manipüle edebilirdi. Bunu yapmak, hedeflenen SkillTree becerisi ve proje adı hakkında önceden bilgi sahibi olmayı gerektirirdi ve böyle bir saldırı, daha fazla kullanıcı verisini veya sistemini ifşa etmezdi.
NSA, kullanıcıların web sitesi manipülasyonunu önlemek için dağıtmaları gereken 2 Temmuz yamasıyla bu soruna yönelik bir düzeltme uyguladı.
CSRF’deki DL
“Çok sık, CSRF güvenlik açıkları Contrast, CVE-2024-39326 raporunda, “ihmal ediliyor ve kod üretime sunulmadan önce düzeltilmiyor” diye yazdı. “Geliştiriciler ve Uygulama Güvenliği (AppSec) ekipleri, hassas verilerin ifşasına yol açabilecek daha gelişmiş saldırılara odaklanıyor; sonuç olarak, CSRF güvenlik açıkları giderilmiyor ve kötü niyetli aktörlere başarılı bir şekilde yürütme fırsatı bırakıyor.”
Ancak mesele sadece ihmalden ibaret değil. CSRF sorunları ilk etapta kolayca fark edilmiyor.
Önemli bir neden, bir uygulamanın normal işleyişini kesintiye uğratmamalarıdır. Ve bir uygulamanın kodunda tamamen var olan hataların aksine, CSRF genellikle kimlik doğrulama ve oturumlardaki tasarım sorunlarından kaynaklanır.
“SQL enjeksiyonu geliştiriciler tarafından çok iyi bilinen bir şeydir, çünkü bunun gerçekleşmesi için geliştiricinin bir veritabanına veri göndermesi gerekir ve bu nedenle geliştirici bilinçli olarak bir şeyler yapmaktadır,” diye açıklıyor Contrast araştırmacısı Joseph Beeton. “SQL enjeksiyonunun aksine, CSRF neredeyse uygulamanın dışındadır. Tarayıcının içindedir.”
Ve ekliyor, “CSRF’ye karşı savunmasız olmayan birçok istek türü var. SkillTree uygulamasının düzinelerce, belki yüzlerce uç noktası vardı ve bunlardan sadece birkaçı savunmasızdı.”
Neyse ki, modern tarayıcılar kısıtlamalar ve politikalar siteleri kendilerinden korumak için. SameSite çerezleri — çerezleri siteler arası isteklerden korumak için — ve yetkisiz çapraz kaynaklı isteklere karşı savunma sağlamak için sıkı çapraz kaynaklı kaynak paylaşımı (CORS) politikaları ve daha fazlası, uygulama ile tarayıcı arasındaki sorumluluk çizgisini belirsizleştirir.