38C3: “Phuzz” çerçevesi PHP web uygulamalarındaki hataların tespit edilmesine yardımcı olur

PHP hala web'deki baskın programlama dilidir; Tüm web sitelerinin dörtte üçü betik dilini temel alıyor çünkü WordPress, Drupal veya Joomla gibi PHP tabanlı içerik yönetim sistemleri kullanıyorlar. Eklentilerdeki ve temalardaki güvenlik açıkları, saldırganların hassas verilere erişmesine olanak tanıyabilir. TU Berlin Telekomünikasyon Güvenliği Başkanı Doktora adayı Sebastian Neef, 38. Kaos İletişim Kongresi'nde (38C3) özellikle PHP web uygulamalarını hedefleyen kapsama odaklı bulanıklaştırma çerçevesi olan “Phuzz”u sundu. Hem geliştiricilerin hem de güvenlik araştırmacılarının güvenlik açıklarını hızlı bir şekilde bulmasına ve düzeltmesine yardımcı olmayı amaçlamaktadır.

Duyuru

Güvenlik araştırmacıları, güvenlik açıklarını erken keşfetmek için “bulanıklaştırma” tekniğini kullanır: beklenmedik davranışları ve dolayısıyla potansiyel güvenlik risklerini keşfetmek için programlar çok sayıda rastgele girdiyle otomatik olarak test edilir. İyi bilinen örnekler, Google tarafından açık kaynaklı yazılımı test etmek için geliştirilen OSS Fuzz'ın yanı sıra American Fuzzy Lop (AFL) ve onun şubesi AFL++'dır. Temel olarak ikili uygulamalara odaklanan bu araçların aksine Phuzz, modern web uygulamalarının ihtiyaçlarını karşılamak için özel olarak tasarlanmıştır.

“Phuzz” çerçeve mimarisine genel bakış.

(Resim: Sebastian Neef ve diğerleri, TU Berlin)

Neef'e göre Phuzz'un özelliği, “kapsama odaklı” yaklaşım olarak adlandırılan yaklaşımdır: çerçeve, test girdileri tarafından hangi kod alanlarına ulaşıldığını analiz eder ve diğer testleri buna göre uyarlar. Geliştiriciye göre webFuzz, CeFuzz, Witcher veya Atropos gibi diğer araçlarla karşılaştırıldığında test edilen uygulamanın kaynak kodunun değiştirilmesine gerek kalmıyor.

Phuzz, yedi farklı güvenlik açığı türünü tespit etmek için tasarlanmıştır: SQL Enjeksiyonu, Komut Enjeksiyonu, Harici Varlık Enjeksiyonu, Yol Geçişi, Güvenli Olmayan Seriden Çıkarma, Siteler Arası Komut Dosyası Çalıştırma ve Açık Yönlendirme. Çerçeve, enstrümantasyon için açık kaynak UOPZ, pcov ve Xdebug uzantılarını kullanır. Neef, Phuzz'un, çok örnekli paralel fuzzing'i destekleyerek, geleneksel “kara kutu fuzzer”lardan daha fazla sunucu tarafı güvenlik açığı bulduğunu söyledi.

Phuzz, 300.000'den fazla aktif kurulumla 183 popüler WordPress eklentisini test ederken 1.019 API uç noktası belirledi ve Popup Builder eklentisindeki onaylanmış iki “sıfır gün” güvenlik açığı (CSRF güvenlik açığı) ve başka bir eklenti (yerel Dosya dahil) dahil olmak üzere önceden bilinmeyen birkaç güvenlik açığı keşfetti. .

Şu anda Phuzz, çok adımlı ve durum bilgisi olan eylemleri yalnızca sınırlı bir ölçüde gerçekleştirebilmektedir ve PHP ifadelerinde (örneğin, UOPZ) UOPZ ile bütünleşememektedir. eval, include…). Performans ayrıca ikili bulanıklaştırmaya kıyasla optimize edilebilir. Neef, Phuzz çerçevesini GitHub'da modüler, yerleşik açık kaynak yazılım olarak sunuyor ve sizi katılmaya davet ediyor.

Nasıl çalıştığına dair daha fazla ayrıntıyı Açık Erişim altında yayınlanan araştırma makalesinde ve 38C3 konferans kaydında bulabilirsiniz.


(vza)


Yayımlandı

kategorisi

yazarı:

Etiketler:

Yorumlar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir