Analizzatore statico open source della Fossa delle Marianne di Facebook

Facebook ha introdotto un nuovo analizzatore statico aperto, Mariana Trench, volto a identificare le vulnerabilità nelle applicazioni per la piattaforma Android e i programmi Java. È possibile analizzare progetti senza codice sorgente, per i quali è disponibile solo bytecode per la macchina virtuale Dalvik. Un altro vantaggio è la sua altissima velocità di esecuzione (l'analisi di diversi milioni di righe di codice richiede circa 10 secondi), che consente di utilizzare Mariana Trench per verificare tutte le modifiche proposte non appena arrivano. Il codice del progetto è scritto in C++ ed è distribuito sotto la licenza MIT.

L'analizzatore è stato sviluppato come parte di un progetto per automatizzare il processo di revisione dei testi originali delle applicazioni mobili per Facebook, Instagram e Whatsapp. Nella prima metà del 2021, la metà di tutte le vulnerabilità nelle applicazioni mobili di Facebook sono state identificate utilizzando strumenti di analisi automatizzati. Il codice della Fossa delle Marianne è strettamente intrecciato con altri progetti Facebook; ad esempio, l'ottimizzatore di bytecode Redex è stato utilizzato per analizzare il bytecode e la libreria SPARTA è stata utilizzata per interpretare visivamente e studiare i risultati dell'analisi statica.

Potenziali vulnerabilità e problemi di privacy vengono identificati analizzando i flussi di dati durante l'esecuzione dell'applicazione per identificare situazioni in cui i dati esterni non elaborati vengono elaborati in costrutti pericolosi, come query SQL, operazioni sui file e chiamate che attivano programmi esterni.

Il lavoro dell'analizzatore si riduce all'identificazione delle fonti di dati e delle chiamate pericolose in cui i dati di origine non devono essere utilizzati: l'analizzatore tiene traccia del passaggio dei dati attraverso la catena di chiamate di funzione e collega i dati di origine con punti potenzialmente pericolosi nel codice . Ad esempio, si ritiene che i dati ricevuti tramite una chiamata a Intent.getData richiedano il monitoraggio dell'origine e le chiamate a Log.w e Runtime.exec siano considerate usi pericolosi.

Analizzatore statico open source della Fossa delle Marianne di Facebook


Fonte: opennet.ru

Aggiungi un commento