Pysa, a Python statikus elemzője, amelyet a Facebook kínál

A Facebook bemutatta a "Pysa" nevű nyílt forráskódú statikus elemzőt»(Python Static Analyzer) amely célja a Python-kód potenciális sebezhetőségének azonosítása.

pysa adatfolyam-elemzést nyújt a kódfuttatás eredményeként, amely lehetővé teszi számos lehetséges sebezhetőség és probléma azonosítását adatvédelem az olyan helyeken történő felhasználással kapcsolatban, ahol azoknak nem szabad megjelenniük.

Például Pysa nyomon tudja követni a nyers külső adatok felhasználását a hívásokban amelyek külső programokat futtatnak, fájlműveletekben és SQL konstrukciókban.

Ma részleteket osztunk meg a Pysa-ról, egy nyílt forráskódú statikus elemző eszközről, amelyet a Python-kód biztonsági és adatvédelmi problémáinak észlelésére és megelőzésére építettünk. Tavaly megosztottuk, hogyan hoztuk létre a Zoncolan-t, egy statikus elemző eszközt, amely több mint 100 millió hack kódsor elemzésében segít, és segített a mérnököknek megakadályozni a lehetséges biztonsági problémák ezreit. Ez a siker inspirált minket a Pysa kifejlesztésére, amely a Python Static Analyzer rövidítése.

Pysa ugyanazokat az algoritmusokat használja statikus elemzés elvégzésére, és még a kód megosztására is zoncolan. Mint Zoncolan, Pysa is nyomon követi az adatfolyamokat egy programon keresztül.

A felhasználó meghatározza a forrásokat (azokat a helyeket, ahol a fontos adatok származnak), valamint az elnyeléseket (azokat a helyeket, ahol a forrás adatoknak nem szabad véget érniük).

A biztonsági alkalmazások esetében a leggyakoribb forrástípusok azok a helyek, ahol a felhasználó által vezérelt adatok belépnek az alkalmazásba, például a Django szótár.

A vevők általában sokkal változatosabbak, de tartalmazhatnak API-kat, amelyek futtatják a kódot, mint pl eval, vagy a fájlrendszerhez hozzáférő API-k, példáulos.open

Pysa az iteratív elemzési köröket végzi absztraktok készítése céljából annak meghatározása, hogy mely függvények adják vissza az adatokat egy forrásból, és melyek azok a paraméterek, amelyek végül a süllyesztőt érik. Ha Pysa megállapítja, hogy egy forrás végül egy mosogatóhoz csatlakozik, akkor problémáról számol be. 

Elemző munka a bejövő adatforrások azonosítására szolgál és veszélyes hívások, amelyekben az eredeti adatokat nem szabad felhasználni.

A Pysa figyeli az adatok továbbítását a függvényhívások láncolatán keresztül, és az eredeti adatokat a kód potenciálisan veszélyes helyeihez társítja.

Mivel nyílt forráskódú Python szerver keretrendszereket használunk saját termékeinkhez, például a Django és a Tornado, a Pysa már az első futtatáskor elkezdhet biztonsági problémákkal találkozni azokban a projektekben, amelyek ezeket a keretrendszereket használják. A Pysa használata olyan keretrendszerekhez, amelyekre még nincs lefedettség, általában olyan egyszerű, mint hozzáadni néhány konfigurációs sort, hogy megmondja a Pysa számára, hogy hol érkeznek adatok a szerverre.

A Pysa által azonosított gyakori sebezhetőség egy nyílt átirányítási probléma (CVE-2019-19775) a Zulip üzenetküldő platformon, amelyet a tisztátalan külső paraméterek átadása okoz a miniatűrök megjelenítésekor.

A Pysa adatfolyam-követési képességei felhasználhatók további keretek használatának érvényesítésére és a felhasználói adatfelhasználási irányelvek betartásának megállapítására.

Pl. A további konfigurációk nélküli Pysa felhasználható a keretekkel történő projektek ellenőrzésére Django és Tornado. A Pysa képes azonosítani a webalkalmazások gyakori sebezhetőségeit is, például az SQL-helyettesítést és a helyek közötti parancsfájlokat (XSS).

A Facebookon az elemzőt használják az Instagram szolgáltatás kódjának ellenőrzésére. 2020 első negyedévében a Pysa segített azonosítani a Facebook mérnökei által az Instagram szerveroldali kódbázisában talált problémák 44% -át.

A folyamat során összesen 330 problémát azonosítottak a Pysa segítségével végzett automatizált változásellenőrzésből 49-et (15%) értékeltek szignifikánsnak, 131-et (40%) pedig nem voltak veszélyesek. 150 esetben (45%) a problémákat hamis pozitív eredményeknek tulajdonították.

Az új elemző a Pyre típus-ellenőrző eszköztár kiegészítőjeként lett kialakítva, és a tárházába kerül. A kód kiadása az MIT licenc alatt történik.

Végül ha többet akarsz megtudni róla, ellenőrizheti a részleteket az eredeti bejegyzésben. A link ez.


Legyen Ön az első hozzászóló

Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.