Araştırmacılar, farklı isteklerin yerine getirilmesinin ne kadar zaman aldığını ölçerek ve küçük değişikliklerden bilgi ve potansiyel zayıflıklar çıkararak bir web sitesinin iç işleyişi hakkında gizli bilgiler elde edebileceklerini uzun zamandır biliyorlar. Bu tür “web zamanlama saldırıları” yıllardır tanımlanıyor, ancak teoride işe yarasalar bile gerçek dünyadaki saldırganların pratikte kullanması için genellikle çok karmaşık oluyorlar. Ancak bu hafta Las Vegas’taki Black Hat güvenlik konferansında bir araştırmacı, web zamanlama saldırılarının aslında uygulanabilir ve istismara hazır olduğu konusunda uyardı.
Web uygulama güvenliği şirketi PortSwigger’da araştırma direktörü olan James Kettle, web sitelerindeki üç farklı kategorideki güvenlik açığını açığa çıkarmak için kullanılabilecek bir dizi web zamanlama saldırısı tekniği geliştirdi. Yöntemleri, hepsi hata ödül programları sunan 30.000 gerçek web sitesini derlediği bir test ortamı kullanarak doğruladı. Çalışmanın amacının, birinin web zamanlama saldırılarının sağlayabileceği bilgi türleri hakkında kavramsal bir kavrayışa sahip olduğunda, bunlardan yararlanmanın daha uygulanabilir hale geldiğini göstermek olduğunu söylüyor.
Kettle, “Zamanlama saldırılarını araştırmaktan her zaman kaçındım çünkü bu bir üne sahip bir konu,” diyor. “Herkes bu konuda araştırma yapıyor ve araştırmalarının pratik olduğunu söylüyor, ancak hiç kimse gerçek hayatta zamanlama saldırılarını kullanmıyor gibi görünüyor, peki ne kadar pratik? Bu çalışmanın insanlara bu şeylerin günümüzde gerçekten işe yaradığını göstermesini ve onları bu konuda düşünmeye sevk etmesini umuyorum.”
Kettle, kısmen yaygın bir soruna çözüm bulmaya çalışan “Zamansız Zamanlama Saldırıları” başlıklı 2020 tarihli bir araştırma makalesinden esinlenmiştir. “Ağ titremesi” olarak bilinen makalenin takma adı, bir sinyalin bir ağda gönderilmesi ve alınması arasındaki zaman gecikmelerini ifade eder. Bu dalgalanmalar zamanlama ölçümlerini etkiler, ancak zamanlama saldırıları için ölçülen web sunucusu işlemlerinden bağımsızdır, bu nedenle okumaları bozabilir. Ancak 2020 araştırması, her yerde bulunan HTTP/2 ağ protokolü üzerinden istek gönderirken, iki isteği tek bir TCP iletişim paketine koymanın mümkün olduğunu, böylece her iki isteğin de sunucuya aynı anda ulaştığını bildiğinizi belirtti. Ardından, HTTP/2’nin tasarlanma şekli nedeniyle, yanıtlar, işlenmesi daha az zaman alan yanıtın ilk, daha uzun zaman alan yanıtın ikinci olacak şekilde sıralı olarak geri gelecektir. Bu, hedef web sunucusu hakkında herhangi bir ek bilgi gerektirmeden sistemdeki zamanlama hakkında güvenilir, nesnel bilgiler sağlar; dolayısıyla “zamansız zamanlama saldırıları”.
Web zamanlama saldırıları, saldırganın hedef hakkında gerçek dünyadaki fiziksel özelliklerine dayalı bilgi topladığı “yan kanallar” olarak bilinen bir saldırı sınıfının parçasıdır. Kettle yeni çalışmasında, ağ gürültüsünü azaltmak için “zamansız zamanlama saldırıları” tekniğini geliştirdi ve ayrıca ölçümlerinin daha doğru ve güvenilir olması için sunucuyla ilgili gürültüyle ilgili benzer türdeki sorunları ele almak için adımlar attı. Daha sonra, geliştiricilerin veya kötü niyetli kişilerin bulmasının genellikle zor olduğu ancak zamanlama ölçümleriyle sızan bilgilerde vurgulanan web sitelerindeki aksi takdirde görünmez kodlama hatalarını ve kusurlarını aramak için zamanlama saldırılarını kullanmaya başladı.
Kettle, saldırı için gizli dayanak noktaları bulmak amacıyla zamanlama saldırıları kullanmanın yanı sıra, iki yaygın türde istismar edilebilir web hatasını tespit etmek için de etkili teknikler geliştirdi. Sunucu tarafı enjeksiyon açığı olarak bilinen birincisi, saldırganın komutlar göndermek ve mevcut olmaması gereken verilere erişmek için kötü amaçlı kodlar sunmasına olanak tanır. Yanlış yapılandırılmış ters proxy’ler olarak adlandırılan diğeri ise bir sisteme istenmeyen erişime olanak tanır.
Kettle, Çarşamba günü Black Hat’te yaptığı sunumda, bir web zamanlama saldırısı kullanarak yanlış bir yapılandırmayı nasıl ortaya çıkarabileceğini ve hedef web uygulaması güvenlik duvarını nasıl aşabileceğini gösterdi.
“Bu ters proxy yanlış yapılandırmasını bulduğunuz için güvenlik duvarını aşarsınız,” dedi WIRED’a konuşmasından önce. “Bu uzak proxy’leri bulduğunuzda yürütmek kesinlikle çok basittir ve zamanlama saldırıları bu sorunları bulmak için iyidir.”
Kettle, konuşmasının yanı sıra Param Miner olarak bilinen açık kaynaklı güvenlik açığı tarama aracı için işlevsellik yayınladı. Araç, Kettle’ın işvereni PortSwigger tarafından geliştirilen popüler web uygulaması güvenlik değerlendirme platformu Burp Suite için bir uzantıdır. Kettle, web zamanlama saldırılarının faydası hakkında farkındalık yaratmayı umuyor, ancak aynı zamanda insanların altta yatan kavramları anlamadığı zamanlarda bile tekniklerin savunma için kullanıldığından emin olmak istiyor.
Kettle, “Tüm bu yeni özellikleri Param Miner’a entegre ettim, böylece bu konuda hiçbir şey bilmeyen insanlar bu aracı çalıştırabilir ve bu güvenlik açıklarından bazılarını bulabilir,” diyor. “İnsanlara aksi takdirde gözden kaçıracakları şeyleri gösteriyor.”