A Facebook bemutatta néhány napja megjelent a nyílt forráskódú statikus elemző, Mariana Trench, amely az Android alkalmazások és Java programok sebezhetőségének azonosítására szolgál.
Nál nél lehetőség van a projektek forráskód nélküli elemzésére, amelyhez csak a Dalvik virtuális gép bájtkódja érhető el. További előny a végrehajtás nagyon nagy sebessége (több millió kódsor elemzése körülbelül 10 másodpercet vesz igénybe), amely lehetővé teszi a Mariana Trench használatával az összes javasolt változtatás ellenőrzését azok bevezetésekor.
Az elemző egy projekt részeként fejlesztették ki, hogy automatizálják a kód -felülvizsgálati folyamatot mobil alkalmazások forrása a Facebookról, az Instagramról és a Whatsappról.
Részleteket osztunk meg a Mariana Trench (MT) eszközről, amely az Android és Java alkalmazások biztonsági és adatvédelmi hibáinak észlelésére és megelőzésére használt eszköz. Az épületautomatizálás révén a biztonság fokozására tett erőfeszítéseink részeként nemrég megnyitottuk az MT -t, hogy támogassuk a biztonsági mérnököket a Facebookon és az egész iparágban.
Ez a bejegyzés a harmadik a mélyreható merülések sorozatában, amelyekben statikus és dinamikus elemzőeszközökbe bízunk. Az MT a Zoncolan és a Pysa nyomán a legújabb rendszer, amelyet Hack és Python kódokra építettek.
2021 első felében a Facebook mobilalkalmazások összes sebezhetőségének felét azonosították automatizált elemzőeszközökkel. Mariana Trench kódja szorosan összefonódik más Facebook projektekkel, például a Redex bytecode optimalizáló műveletet használják a bytecode elemzésére, a SPARTA könyvtárat pedig az eredmények vizuális értelmezésére és tanulmányozására.
A potenciális biztonsági réseket és biztonsági problémákat az adatáramlás elemzésével azonosítják az alkalmazás végrehajtása során, amely lehetővé teszi a helyzetek azonosítását amelyben a nyers külső adatokat veszélyes konstrukciókban, például SQL -lekérdezésekben, fájlműveletekben és külső programok elindításához vezető hívásokban dolgozzák fel.
Az MT -t úgy tervezték, hogy képes legyen beolvasni a nagyméretű mobilkód -alapokat, és pontosan meghatározni a potenciális problémákat a lehívási kérelmekben, mielőtt azok gyártásba kerülnének. A Facebook biztonsági és szoftvermérnökei közötti szoros együttműködés eredményeként jött létre, akik arra tanítják az MT -t, hogy nézze meg a kódot, és elemezze, hogyan áramlanak rajta az adatok. Az adatfolyamok elemzése hasznos, mert sok biztonsági és adatvédelmi probléma modellezhető adatáramlásként, ahol nem kellene.
Az elemző feladata az adatforrások és a veszélyes hívások meghatározása, ahol az eredeti adatokat nem szabad használni: Az elemző figyeli az adatok áthaladását a függvényhívások láncolatán, és összekapcsolja a kezdeti adatokat a kód potenciálisan veszélyes helyeivel.
Mivel az MT -ben az adatfolyam a következőképpen írható le:
- Forrás: származási pont. Ez lehet egy felhasználó által vezérelt karakterlánc, amely az `Intent.getData` -n keresztül lép be az alkalmazásba.
- Mosogató: úti cél. Androidon ez lehet a "Log.w" vagy "Runtime.exec" hívás. Például az Intent.getData címre irányuló hívás adatai figyelhető forrásnak minősülnek, a Log.w és a Runtime.exec hívások pedig veszélyes felhasználásnak minősülnek.
Egy nagy kódbázis sokféle forrást és megfelelő vevőt tartalmazhat. Azt mondhatjuk az MT -nek, hogy a szabályok meghatározásával mutasson nekünk konkrét folyamatokat.
Egy szabály például megadhatja, hogy szándékos átirányításokat szeretnénk megtalálni (olyan problémákat, amelyek lehetővé teszik a támadók számára, hogy érzékeny adatokat elfogjanak), egy olyan szabály meghatározásával, amely megmutatja nekünk a nyomokat a "felhasználó által vezérelt" forrásoktól a "szándékok átirányításainak" süllyesztőjéig.
Végül ha érdekel, hogy többet tudjon meg róla, ellenőrizheti a részletek a következő linken.