Facebook, Python dili için statik analiz aracı olan Pysa'yı tanıttı

Facebook gönderilen statik analizörü aç Pısa (Python Static analyzer), Python kodundaki olası güvenlik açıklarını belirlemek için tasarlanmıştır. Yeni analizör, tip kontrol araç setine eklenti olarak tasarlandı ölü yakılan odun yığını ve deposunda yayınlandı. Kod yayınlanan MIT lisansı altında.

Pysa, kod yürütmenin bir sonucu olarak veri akışlarının analizini sağlar; bu, verilerin görünmemesi gereken yerlerde kullanılmasıyla ilişkili birçok potansiyel güvenlik açığını ve gizlilik sorununu tanımlamanıza olanak tanır.
Örneğin Pysa, harici programları başlatan çağrılarda, dosya işlemlerinde ve SQL yapılarında ham harici verilerin kullanımını izleyebilir.

Analizörün görevi, orijinal verilerin kullanılmaması gereken veri kaynaklarını ve tehlikeli çağrıları belirlemektir. Web isteklerinden gelen veriler (örneğin, Django'daki HttpRequest.GET sözlüğü) kaynak olarak kabul edilir ve eval ve os.open gibi çağrılar tehlikeli kullanımlar olarak kabul edilir. Pysa, işlev çağrıları zinciri boyunca veri akışını izler ve kaynak verileri koddaki potansiyel olarak tehlikeli yerlerle ilişkilendirir. Pysa kullanılarak tanımlanan tipik bir güvenlik açığı açık yönlendirme sorunudur (CVE-2019-19775) Zulip mesajlaşma platformunda, küçük resimler oluşturulurken temizlenmemiş harici parametrelerin iletilmesinden kaynaklanmaktadır.

Pysa'nın veri akışı izleme yetenekleri uygulamak ek çerçevelerin doğru kullanımını doğrulamak ve kullanıcı verileri kullanım politikasına uygunluğu belirlemek. Örneğin, ek ayarları olmayan Pysa, Django ve Tornado çerçevelerini kullanan projeleri kontrol etmek için kullanılabilir. Pysa ayrıca web uygulamalarındaki SQL enjeksiyonu ve siteler arası komut dosyası oluşturma (XSS) gibi yaygın güvenlik açıklarını da tespit edebilir.

Facebook'ta analizör, Instagram hizmetinin kodunu kontrol etmek için kullanılır. 2020'nin ilk çeyreğinde Pysa, Facebook mühendislerinin Instagram'ın sunucu tarafı kod tabanında bulduğu tüm sorunların %44'ünün belirlenmesine yardımcı oldu.
Toplamda, Pysa'nın otomatik değişiklik inceleme süreci 330 sorun tespit etti; bunların 49'u (%15) önemli ve 131'i (%40) ciddi olmayan olarak derecelendirildi. 150 vakada (%45) sorunlar yanlış pozitif olarak sınıflandırıldı.

Kaynak: opennet.ru

Yorum ekle