
OWASP ASST (Toolkit automatizzato per la sicurezza software) | Un nuovo scanner di sicurezza web open source.
OWASP ASST (Automated Software Security Toolkit) | Un nuovo scanner di sicurezza web open source.
Nota: AWSS è il nome precedente di ASST

Le applicazioni web sono diventate parte integrante della vita quotidiana, ma molte di queste applicazioni vengono distribuite con vulnerabilità critiche che possono essere sfruttate fatalmente. Con l'evolversi delle tecnologie utilizzate per sviluppare queste applicazioni, anche le tecniche degli attaccanti diventano più sofisticate. Gli attaccanti non hanno più bisogno di accesso fisico alle vittime, possono attaccare più di una contemporaneamente e la possibilità di essere catturati e portati alla giustizia è minima. Gli scanner automatizzati di vulnerabilità web sono stati ampiamente utilizzati per valutare la sicurezza delle applicazioni web. Possono migliorare l'efficienza della scansione delle vulnerabilità rispetto alla tradizionale rilevazione manuale delle vulnerabilità, che richiede tempo, è laboriosa e inefficiente. Ci sono molti scanner di vulnerabilità web su Internet, tuttavia, non spiegano il possibile attacco e come avere contromisure contro di esso. Abbiamo progettato e implementato un nuovo scanner automatizzato di vulnerabilità web chiamato Automated Software Security Toolkit (ASST), che scansiona il codice sorgente di un progetto web e genera un rapporto dei risultati con una spiegazione dettagliata su ogni possibile vulnerabilità e come proteggersi da essa. Abbiamo testato le prestazioni di ASST e confrontato i suoi risultati con altri importanti scanner di vulnerabilità open source. I nostri risultati mostrano che ASST è in grado di identificare le vulnerabilità di sicurezza del software web in modo più completo e accurato.
NOTA: È ancora in fase di sviluppo, si prega di segnalare qualsiasi errore riscontrato.
ASST è uno strumento open source per la scansione del codice sorgente, è un'applicazione CLI (Command Line Interface), sviluppata con JavaScript (framework Node.js).
Attualmente si concentra sui linguaggi di programmazione PHP e MySQL, ma poiché le sue funzionalità di base sono pronte e disponibili per tutti, i programmatori possono contribuire e aggiungere plugin o estensioni per aggiungere funzionalità e farlo scansionare anche altri linguaggi di programmazione come Java, C#, Python, ecc., e i loro framework. La sua infrastruttura è quindi progettata per essere ampliata da altri programmatori per renderlo migliore e più innovativo.
Per quanto ne sappiamo, ASST è l'unico strumento che scansiona il linguaggio PHP secondo i rischi di sicurezza delle applicazioni web OWASP Top 10.
Quando ASST scansiona un progetto, controlla ogni singolo file riga per riga alla ricerca di vulnerabilità di sicurezza. Se viene rilevata una vulnerabilità, avvisa nel rapporto a quale riga di quale file è stata rilevata una vulnerabilità e un link "Clicca Qui" per spiegare l'attacco e come proteggersi.
I risultati di ASST vengono visualizzati come rapporto HTML collegato a file PDF per spiegare ogni attacco e il suo meccanismo di protezione.
ASST può essere facilmente esteso per supportare altri linguaggi di programmazione che possono essere scansionati per vulnerabilità. Il progetto è open source, quindi i programmatori con competenze in cybersecurity possono contribuire o fare fork del toolkit e aggiungere funzionalità. Altri linguaggi di programmazione come Python, C#, Java o Node.js stesso possono essere aggiunti per essere scansionati per vulnerabilità come codice server backend.
Se sei uno sviluppatore esperto di sicurezza, puoi contribuire a migliorare questa versione corrente, oppure puoi contribuire aggiungendo nuovi linguaggi di programmazione da scansionare. Ma ci sono regole da seguire durante il miglioramento:
Per far funzionare ASST al 100%, dovrai installare:
Video completo su come eseguire ASST su Windows: https://youtu.be/FKxDa3zYz1E
Puoi scaricare XAMPP per Windows da qui: https://www.apachefriends.org/download.html scegli la versione di PHP adatta al tuo progetto, se non sai quale versione scegliere, scegli la prima per Windows.
Dopo aver scaricato e installato XAMPP (Avanti, Avanti, Avanti, Fine), esegui il Pannello di Controllo di XAMPP, puoi digitare XAMPP nel campo di ricerca del menu Start e lo vedrai, eseguilo, accanto alle etichette Apache e MySQL premi start (due pulsanti).
Assicurati che sul tuo PC non sia installato un programma di Macchina Virtuale perché XAMPP e la Macchina Virtuale entrano in conflitto sulle porte, dovrai forzare la chiusura dei servizi in background della VM usando il Task Manager (cerca su Google se non sai di cosa sto parlando).
Assicurati che il programma Skype sia chiuso (anche dalla barra delle applicazioni), perché anche loro entrano in conflitto sulle porte, puoi eseguire Skype dopo aver avviato XAMPP.
Posiziona la cartella del tuo progetto in htdocs: default: "C:\xampp\htdocs\NomeCartellaProgetto"
Apri il browser, digita: localhost/phpmyadmin, crea un database vuoto, importa il tuo file project_database.sql, apri la cartella del tuo progetto e modifica il file di configurazione del progetto per connetterti al localhost di MySQL: configurazioni predefinite sono: host: "localhost" o "127.0.0.1", username: "root", password: "" (Stringa_Vuota), nome database: "nomedb_che_hai_scelto_in_phpmyadmin"
Devi scaricare una versione specifica di Node.js per Windows da qui: https://nodejs.org/en/blog/release/v12.13.0/ seleziona (Windows 64-bit Installer), quindi scarica, Avanti, Avanti, Avanti e Fine.
Non stiamo seguendo gli aggiornamenti di nodejs ogni mese, quindi se desideri testarlo da solo, puoi scaricare l'ultima versione di node.js da qui: https://nodejs.org/en/download/ scegli (Windows Installer (.msi)), scarica ed esegui, Avanti, Avanti, Avanti e Fine.
Scarica ed estrai il progetto ASST da questa pagina github, rinomina la cartella in "ASST" solo, non "ASST-main", sposta la cartella ASST accanto al tuo progetto web da scansionare, default: "C:\xampp\htdocs\ASST"
Apri config.js all'interno della cartella ASST e imposta il nome della cartella del tuo progetto web da scansionare nella variabile DEFAULT_PROJECT_PATH_TO_SCAN.
Apri config_php_lang.js all'interno della cartella ASST: se usi MySQL devi impostare le variabili come spiegato nel file, se non usi MySQL, imposta semplicemente la variabile IS_DBMS_USED su false e ignora il resto, nota che PHP_EXE_BIN_PATH è impostato sulla posizione predefinita di XAMPP, quindi modificalo se usi un binario PHP diverso o una posizione XAMPP diversa.