Come forse saprai, l'architettura software moderna funziona molto meglio che mai. È senza dubbio più adattabile, ad alta intensità di dati e veloce rispetto ai suoi predecessori. Tuttavia, è una vera sfida, soprattutto nei tempi moderni, salvaguardare lo stesso software dalle minacce online (note anche come attacchi informatici). Dal momento che i sistemi software alimentano tutto al giorno d'oggi, dai dispositivi mobili agli autovelox, dalle auto intelligenti alle case intelligenti e dagli impianti di produzione alle centrali nucleari, il software moderno è troppo cruciale per essere violato o violato.
Ad esempio, una centrale nucleare a Kudankulam, in India, è stata hackerata nell'ottobre 2019. L'attacco ha utilizzato un malware programmato per l'estrazione dei dati, ma fortunatamente la rete interna dell'impianto non era compromessa. Se il malware avesse potuto violare la rete interna, avrebbe potuto rubare dati cruciali sulla centrale elettrica, intromettendosi così nell'infrastruttura critica del paese. Inoltre, se l'attacco avesse avuto l'obiettivo di prendere il controllo della centrale e avesse avuto successo nel suo piano, avrebbe potuto fare danni immensi sopraffacendo la centrale.
Fortunatamente, non si sono verificati danni critici. Tuttavia, l'India – o qualsiasi altro Paese – potrebbe non essere altrettanto fortunata in futuro. Per questo motivo, il software moderno deve essere sviluppato fin dalle fondamenta tenendo conto della sicurezza. Inoltre, deve essere regolarmente testato per individuare bug e vulnerabilità di sicurezza. Tuttavia, i test di sicurezza delle applicazioni sono un processo costoso, pertanto i test automatizzati sono diventati indispensabili . Tra le strategie di test automatizzati, una delle soluzioni più comuni ed efficaci è il penetration testing automatizzato.
Test di penetrazione automatizzato
Si riferisce al processo di lancio automatico di attacchi simulati su una rete o un sistema per trovare bug e vulnerabilità di sicurezza. L'obiettivo è trovare le vulnerabilità e risolverle prima che i criminali informatici vengano a conoscenza e le sfruttino. Di solito fa parte di un controllo completo della sicurezza informatica, che può essere richiesto per motivi di conformità e legali. Ad esempio, PCI DSS (Payment Card Industry Data Security Standard) chiede alle organizzazioni di eseguire pentesting a intervalli regolari.
Il penetration testing automatizzato viene eseguito tramite software , a differenza del penetration testing manuale che viene effettuato da esperti di sicurezza informatica. Essendo basato su software, è limitato dalle funzionalità del software stesso, a sua volta limitato dalle conoscenze e dalle competenze dei professionisti della sicurezza che lo progettano. Inoltre, si dimostra meno efficace contro le nuove minacce, poiché identifica o testa solo le vulnerabilità note, risultando quindi inefficace contro quelle sconosciute.
" È qui che entra in gioco l'intelligenza artificiale: l'automazione che si può ottenere tramite l'intelligenza artificiale potrebbe contribuire a rendere il penetration testing molto più semplice da eseguire in modo coerente e su larga scala. A sua volta, questo aiuterebbe le organizzazioni ad affrontare sia i problemi di competenze che quelli culturali e a prendere sul serio le proprie strategie di cybersecurity ", ha scritto Packt Hub . L'intelligenza artificiale contribuisce a scalare il processo di penetration testing automatizzato, migliorandone al contempo le funzionalità di scansione per individuare vulnerabilità sconosciute.
L'intelligenza artificiale e il suo impatto
Con il progresso dell'intelligenza artificiale negli ultimi decenni, gli esperti di automazione e gli scienziati informatici stanno cercando di automatizzare tutto e le tecnologie di difesa informatica non fanno eccezione. Ad esempio, esistono molti strumenti automatizzati che integrano gli strumenti di test di penetrazione per fornire report intelligenti. Queste soluzioni automatizzate hanno alcune capacità di base di intelligenza artificiale, ma sta gradualmente crescendo, grazie alla ricerca in corso e ai concorsi aperti.
Ad esempio, Cyber Grand Challenge 2016 - una competizione sponsorizzata dalla DARPA - ha sfidato le persone a costruire e competere con i bot di hacking. Questi bot artificialmente intelligenti eseguono test di penetrazione per cercare e correggere le vulnerabilità della sicurezza prima che i team concorrenti possano sfruttarle. Il suo vincitore, noto come Mayhem, potrebbe trovare, correggere e cercare intrusioni sul suo sistema host, trovando e sfruttando le vulnerabilità di sicurezza sui sistemi della concorrenza.
Detto questo, l'intelligenza artificiale aiuta a migliorare l'efficienza delle soluzioni di difesa informatica, in particolare le soluzioni di test di penetrazione. Il motivo è che aiuta a migliorare le varie fasi dei test di penetrazione automatizzati come descritto di seguito.
Fase 1: Pianificazione
La prima fase — pianificazione e ricognizione — consiste nel raccogliere informazioni sull'obiettivo. E ci vogliono molte risorse poiché più informazioni raccogli, più possibilità hai di avere successo. In questa fase, l'utilizzo dell'intelligenza artificiale aiuta a fornire risultati migliori con una minore quantità di risorse. L'intelligenza artificiale, insieme alla visione artificiale e all'elaborazione del linguaggio naturale, può aiutare a creare un profilo completo sull'organizzazione di destinazione e sui suoi dipendenti, rete, posizione di sicurezza, ecc.
Fase 2: Scansione
La seconda fase richiede una copertura completa dei sistemi target. Cioè, devi cercare centinaia se non migliaia di computer e altri dispositivi e analizzare i risultati. Utilizzando l'intelligenza artificiale, gli strumenti possono essere ottimizzati per scansionare in modo intelligente i dispositivi e raccogliere i risultati richiesti, semplificando il processo di analisi.
Fase 3: ottenere l'accesso
La terza fase è ottenere l'accesso a una delle reti o dei sistemi di destinazione. Questo sistema compromesso può quindi essere utilizzato per estrarre dati o lanciare attacchi agli altri sistemi della rete. Utilizzando l'intelligenza artificiale, gli strumenti possono provare una varietà di attacchi e numerose combinazioni di password per ottenere l'accesso. Quindi, possono anche utilizzare algoritmi per trovare modelli o tendenze deboli che potrebbero essere compromessi.
Fase 4: mantenimento dell'accesso
La quarta fase consiste nel mantenere l'accesso al sistema compromesso. Utilizzando l'intelligenza artificiale, gli strumenti possono cercare backdoor note o sconosciute, canali crittografati e tenere d'occhio account e log per rilevare e segnalare attività sospette o non autorizzate. Ad esempio, un nuovo account amministratore o canale di accesso alla rete può indirizzare verso un sistema compromesso e/o un accesso non autorizzato.
Fase 5: analisi e reportistica
L'ultima fase consiste nel verificare se un'entità non autorizzata può coprire le tracce, ovvero eliminare la cronologia e i registri dai tuoi sistemi, rendendo impossibile il rilevamento degli attacchi. Utilizzando l'intelligenza artificiale, gli strumenti possono rilevare backdoor nascoste, endpoint di accesso non autorizzato, ecc. Inoltre, questi strumenti possono analizzare meglio i messaggi di errore e i registri di sistema per trovare errori, voci mancanti o altre attività sospette. Infine, questa analisi viene inserita in un rapporto di facile lettura che dettaglia i risultati completi del test del bersaglio.
