Yeni ODGen Aracı, Node.js Kitaplıklarında PlatoBlockchain Veri Zekasında 180 Sıfır Gün Ortaya Çıkardı. Dikey Arama. Ai.

Yeni ODGen Aracı, Node.js Kitaplıklarında 180 Sıfır Günü Ortaya Çıkardı

Johns Hopkins Üniversitesi'ndeki araştırmacılar yakın zamanda, bu amaç için özel olarak geliştirdikleri ODGen adlı yeni bir kod analiz aracını kullanarak, binlerce Node.js kütüphanesinde şaşırtıcı 180 sıfır gün güvenlik açığını ortaya çıkardı.

Bu kusurlardan yetmiş tanesi, o zamandan bu yana ortak güvenlik açıkları ve maruz kalma (CVE) tanımlayıcılarını aldı. Bunlar arasında komut ekleme kusurları, yol geçişi güvenlik açıkları, rastgele kod yürütme sorunları ve siteler arası komut dosyası çalıştırma güvenlik açıkları yer alıyor; bunlardan bazıları yaygın olarak kullanılan uygulamalarda yer alıyor.

Bu ayın başlarında Usenix Güvenlik Sempozyumu'nda yayınlanan bir makalede, Johns Hopkins araştırmacıları (Song Li, Mingqing Kang, Jianwei Hou ve Yinzhi Cao) ODGen'i mevcut kod analizine ve grafik sorgu tabanlı olarak adlandırılanlara daha iyi bir alternatif olarak tanımladılar. Node.js güvenlik açıklarını bulmaya yönelik yaklaşımlar.

Program analizine dayalı yaklaşımların, JavaScript'teki kod ekleme kusurları gibi bireysel güvenlik açığı türlerinin tespit edilmesine yardımcı olma konusunda yararlı olduğu kanıtlanmıştır. Ancak araştırmacılar, bunların Node.js platformunda bulunabilecek her türlü güvenlik açığını tespit edecek şekilde kolaylıkla genişletilemeyeceğini söyledi. Benzer şekilde, kodun önce bir grafik olarak temsil edildiği ve ardından belirli kodlama hataları için sorgulandığı grafik tabanlı kod analizi yöntemleri, C++ ve PHP gibi ortamlarda iyi çalışır. Ancak, programlama dilinin dinamik özellikleri yoğun şekilde kullanması nedeniyle grafik tabanlı yaklaşımların JavaScript güvenlik açıklarını araştırmada o kadar etkili olmadığını belirttiler.

JavaScript Açıklarını Bulmak İçin 'Yeni' Bir Yaklaşım

Böylece araştırmacılar bunun yerine kendi tanımladıkları şeyi geliştirdiler. Nesne Bağımlılığı Grafiği (ODG) adı verilen “yeni” ve daha iyi bir yöntem Node.js güvenlik açıklarını tespit etmek için kullanılabilir. Node.js programlarının güvenlik açıklarını tespit etmesi için "ODG" oluşturmak amacıyla ODGen'i uyguladıklarını söylediler.

Johns Hopkins Üniversitesi'nde bilgisayar bilimi yardımcı doçenti ve araştırma raporunun ortak yazarı Cao, genel olarak grafik tabanlı kod analizini ve önerilen Hedef Bağımlılık Grafiği'ni tanımlamak için birkaç analoji kullanıyor. Cao, "Güvenlik açığını özel bir model olarak ele alırsak (örneğin, kırmızı bir düğüme ve ardından siyah bir düğüme bağlı yeşil bir düğüm), grafik tabanlı bir kod analiz aracı, öncelikle programları birçok düğüm ve kenardan oluşan bir grafiğe dönüştürür" diyor. . "Daha sonra araç, bir güvenlik açığını bulmak için grafikteki bu tür kalıpları arar."

Araştırmacıların önerdiği Nesne Bağımlılığı Grafiği, JavaScript nesnelerini düğümler olarak temsil ederek ve programlama diline özgü (nesneler arasındaki bağımlılıklar dahil) özellikler ekleyerek ve ardından hataları sorgulayarak bu yaklaşımı geliştirir. Cao, yöntemin bir avuç pirinçteki tahılları kullanarak nasıl çalıştığını anlatıyor: Kaynatmadan önce tüm tahıllar aynı görünüyorsa ancak kaynattıktan sonra biri iyi taneleri, diğeri kötü taneleri temsil eden iki farklı ton alırsa, o zaman fark edilmesi ve ayıklanması daha kolay hale gelir. kötü tahıllar. Cao, "Soyut yorumlama, pirinci (yani programları) farklı renkli nesnelere dönüştüren kaynatma işlemine benziyor", dolayısıyla hataların fark edilmesi daha kolay, diyor Cao.

Çeşitli Hatalar

Yaklaşımlarının işe yarayıp yaramayacağını görmek için araştırmacılar ilk olarak ODGen'i, düğüm paketi yöneticisi (npm) deposundaki Node.js paketlerinde önceden bildirilen 330 güvenlik açığından oluşan bir örnekle karşılaştırarak test etti. Test, tarayıcının 302 güvenlik açığından 330'sini doğru şekilde tanımladığını gösterdi. Nispeten yüksek doğruluk oranından cesaret alan araştırmacılar, ODGen'i npm'deki yaklaşık 300,000 Java paketiyle karşılaştırdılar. Tarayıcı, paketlerde toplam 2,964 potansiyel güvenlik açığı bildirdi. Araştırmacılar bunların 264'ünü kontrol etti (hepsi haftada ortalama 1,000'den fazla indirme işlemine sahipti) ve 180'inin meşru güvenlik açığı olduğunu doğrulayabildiler. Bunlardan 122'ü uygulama düzeyinde, 15'si diğer uygulamalar veya kodlar tarafından içe aktarılan paketlerde, geri kalan XNUMX'i ise dolaylı paketlerde mevcuttu.

ODGen'in tespit ettiği doğrulanan güvenlik açıklarının çoğu (80), saldırganların savunmasız bir uygulama aracılığıyla işletim sistemi düzeyinde rastgele kod yürütmesine olanak tanıyan komut enjeksiyon akışlarıydı. Otuz tanesi yol geçişindeki kusurlardı; 24'ü kod tahrifatını etkinleştirdi ve 19'u prototip kirliliği adı verilen belirli bir tür komut ekleme saldırısı içeriyordu.

Zaman Damgası:

Den fazla karanlık okuma