Pysa, statický analyzátor pre Python ponúkaný spoločnosťou Facebook

Facebook predstavil open source statický analyzátor s názvom "Pysa»(Python Static Analyzer), ktorý je určené na identifikáciu potenciálnych zraniteľností v kóde Python.

pysa poskytuje analýzu toku údajov v dôsledku vykonania kódu, ktorý vám umožňuje identifikovať mnoho potenciálnych zraniteľností a problémov súkromia súvisiaceho s použitím údajov na miestach, kde by sa nemali objavovať.

Napríklad Pysa môže sledovať použitie nespracovaných externých údajov vo hovoroch ktoré vykonávajú externé programy, v operáciách so súbormi a v konštruktoch SQL.

Dnes zdieľame podrobnosti o Pyse, nástroji statickej analýzy otvoreného zdroja, ktorý sme vytvorili na zisťovanie a prevenciu problémov so zabezpečením a ochranou súkromia v kóde Python. Minulý rok sme sa podelili o to, ako sme vytvorili Zoncolan, nástroj statickej analýzy, ktorý nám pomáha analyzovať viac ako 100 miliónov riadkov hackerského kódu a pomohol inžinierom zabrániť tisícom potenciálnych bezpečnostných problémov. Tento úspech nás inšpiroval k vývoju Pysy, čo je skratka pre Python Static Analyzer.

Pysa používa rovnaké algoritmy vykonať statickú analýzu a dokonca zdieľať kód s Zoncolan. Rovnako ako Zoncolan, Pysa sleduje dátové toky programom.

Používateľ definuje zdroje (miesta, z ktorých pochádzajú dôležité údaje), ako aj umývadlá (miesta, kde by zdrojové údaje nemali končiť).

U bezpečnostných aplikácií sú najbežnejším typom zdrojov miesta, kde do aplikácie vstupujú údaje ovládané používateľom, napríklad slovník Django.

Prijímače bývajú oveľa rozmanitejšie, ale môžu obsahovať API, ktoré spúšťajú kód, ako napr eval, alebo API, ktoré pristupujú k súborovému systému, ako napros.open

Pysa vykonáva iteračné kolá analýzy a vytvára abstrakty na určenie, ktoré funkcie vracajú dáta zo zdroja a ktoré funkcie majú parametre, ktoré nakoniec zasiahnu drez. Ak Pysa zistí, že zdroj sa nakoniec pripojí k umývadlu, ohlási to problém. 

Práca analyzátora redukuje sa na identifikáciu prichádzajúcich zdrojov údajov a nebezpečné hovory, pri ktorých by sa nemali používať pôvodné údaje.

Pysa monitoruje prechod údajov reťazcom volaní funkcií a pôvodné údaje spája s potenciálne nebezpečnými miestami v kóde.

Pretože používame pre svoje vlastné produkty open source serverové rámce Pythonu ako Django a Tornado, môže sa Pysa začať stretávať s bezpečnostnými problémami v projektoch, ktoré používajú tieto frameworky už od prvého spustenia. Používanie Pysy pre rámce, pre ktoré zatiaľ nemáme pokrytie, je vo všeobecnosti také jednoduché ako pridanie niekoľkých konfiguračných riadkov, ktoré Pyse povedia, kam prichádzajú dáta na server.

Spoločnou chybou identifikovanou spoločnosťou Pysa je problém s otvoreným presmerovaním (CVE-2019-19775) na platforme pre zasielanie správ Zulip, ktorý je spôsobený odovzdaním nečistých externých parametrov pri zobrazovaní miniatúr.

Schopnosti spoločnosti Pysa na sledovanie toku údajov možno použiť na overenie použitia ďalších rámcov a na zistenie súladu s pravidlami používania údajov používateľa.

Napr Program Pysa bez ďalších konfigurácií je možné použiť na overenie projektov pomocou rámcov Django a Tornádo. Pysa dokáže tiež identifikovať bežné chyby vo webových aplikáciách, ako je substitúcia SQL a skriptovanie medzi servermi (XSS).

Na Facebooku sa analyzátor používa na overenie kódu služby Instagram. Počas prvého štvrťroka 2020 pomohla spoločnosť Pysa identifikovať 44% všetkých problémov, ktoré našli inžinieri Facebooku v kódovej základni Instagramu na strane servera.

V procese bolo identifikovaných celkovo 330 problémov automatizovaného overovania zmien pomocou Pysa, 49 (15%) z nich bolo vyhodnotených ako významných a 131 (40%) nebolo nebezpečných. V 150 prípadoch (45%) sa problémy pripisovali falošným pozitívam.

Nový syntaktický analyzátor je navrhnutý ako doplnok k súprave nástrojov typu Pyre a je umiestnený vo vašom úložisku. Kód je vydávaný na základe licencie MIT.

Konečne ak o tom chcete vedieť viac, môžete skontrolovať podrobnosti v pôvodnom príspevku. Odkaz je tento.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.