Creare degli strumenti che simulano il comportamento di un attaccante in maniera automatica o semi-automatica è un tema al quale sto dedicando molta attenzione. Per questo ho iniziato ad approfondire gli aspetti della Security Automation.
Partiamo subito col rispondere al seguente quesito importante.
E’ possibile automatizzare completamente le attività di un Security Expert?
NO. Non sarà mai possibile automatizzare totalmente l’attività di un esperto di Security perchè non ci sarà mai uno strumento in grado di sostituire le competenze umane.
A cosa serve allora la Security Automation?
Fornisce un valido supporto nelle attività prettamente ripetitive lasciando all’esperto solo le operazioni non automatizzabili e di alto livello che richiedono la logica umana, ovvero le operazioni più divertenti 🙂
Vantaggi
- drastica riduzione dei tempi di esecuzione
- minimizzazione degli errori
- maggiore efficienza ed efficacia
La risposta automatica ad un attacco, alcuni processi per l’analisi di macchine compromesse e il conseguente invio di alert (ad esempio Slack, Telegram) possono avvenire in tempi davvero stretti se automatizzati.
Di Security Automation si è parlato allo scorso Itasec nel quale sono stati accennati alcuni approcci per l’analisi automatizzata del grado di security di un infrastruttura tra cui l’uso degli Attack Graph. Ecco alcuni riferimenti per chi volesse approfondire: paper1, paper2, paper3, paper4, paper5.
Il training The security automation lab che ho seguito al Black Hat 2018 ha trattato l’argomento con un taglio nettamente pratico in quanto ogni studente aveva a disposizione un infrastruttura virtuale con diversi laboratori da svolgere. Le esercitazioni erano strutturate per essere realizzate interamente con dei playbook Ansible.
Ansible
Ansible è un software open source per l’It automation acquistato nel 2015 da RedHat. Il principale punto di forza è che non richiede l’utilizzo di agenti sulle macchine da gestire ma esclusivamente una connessione ssh e la presenza di python. Ansible si usa principalmente per la gestione delle configurazione di un infrastruttura, il deploy di applicazioni ma la sua flessibilità lo rende protagonista anche nella Security Automation.
Ecco alcuni utilizzi proposti nel training.
Provisioning: creazione di un playbook per l’installazione e la configurazione di OpenVas
Exploiting: exploiting automatico di vulnerabilità mediante Metasploit
Log collection: collezione centralizzata di log recuperati da più fonti per attività di incident response
Vulnerability assessment: orchestrazione di vulnerability assessment con Openvas
Osint: utilizzo di recon-ng per attività di information gathering
DevOps: utilizzo di Owasp ZAP per l’automazione dei test di sicurezza su applicazioni Web
Forensic: creazione di un dump di memoria, generazione automatica di duplicati, hash e timestamp al fine di preservare le evidenze
Threat nalysisis: recupero di feed di domini malevoli e verifica automatizzata degli host della rete che hanno contattato tali domini
Alerting: generazione di Security alert su Slack. Esempio si può creare un meccanismo per cui viene innescata una procedura automatizzata di analisi delle macchine potenzialmente infette che si conclude con l’invio dei risultati ottenuti su un canale Slack
Incident response evidence analysis: estrazione automatica di eseguibili malevoli e generazione di regole Yara
Nei prossimi post approfondiremo i principi di funzionamento di Ansible.
Trackback/Pingback