Ha senso veramente fare un'analisi statica?
Ieri ho fatto una call con Luca Guidi. Lo scopo era supportare il suo framework MVC Hanami all’interno di Dawnscanner.
Mentre mettevo a posto gli appunti, ah una cosa importante, se fate un hangout la chat di gruppo sparisce finita la call, quindi conviene sempre segnarsi le cose; dicevo, mentre mettevo a posto gli appunti, pensavo come l’approccio migliore non possa venire da una mera analisi statica del codice.
Il codice sorgente è qualcosa di vivo, di qualcosa che si nutre di dati e che esegue azioni, non è un tema che posso correggere oppure no. Quello lo faccio solo se devo verificare la correttezza sintattica delle keyword del codice.
Pensavo insistentemente alle API che Luca mi ha mostrato, per caricare un progetto Hanami e mi sono convinto di una cosa.
Terminata una prima fase di mera analisi statica, ad esempio delle gemme di terze parti caricate nel progetto, dawn deve necessariamente comportarsi come il loader del progetto, anzi lo deve invocare.
Caricato il progetto Hanami io ho il codice vivo, pronto per essere sollecitato con payload strani o simili.
Sì lo so, si chiama analisi ibrida del codice ed ha essa stessa i suoi limiti. Tuttavia penso che per il futuro sposterò l’attenzione sia di dawn che di orizon su questo approccio. Per il primo è semplice, mentre per il secondo spero che la reflection di Java venga in mio soccorso.
Enjoy it!
Vuoi aiutarmi a portare avanti il progetto Codice Insicuro con una donazione? Fantastico, allora non ti basta che premere il pulsante qui sotto.
Supporta il progetto