L'attacco informatico è un insieme di processi complessi, ognuno con obiettivi specifici. Le motivazioni per mettere in atto un attacco possono essere molteplici, ma in tutti i casi la diffusione delle minaccie è sempre più rapida.
Se conosci il nemico e te stesso, la tua vittoria è sicura
--- Sun Tzu
Basandoci su questo antico detto, applicandolo all'informatica è fondamentale capire come viene creato un attacco per poterlo contrastare, e mettere al sicuro eventuali debolezze.
Gli hacker sono figure celebri a tutti, che si nascondono nell'ombra delle reti e commettono attacchi informatici. Questa affermazione però è una generalizzazione, possiamo infatti distinguere alcune "categorie":
White hat: Hacker "etici" che lavorano per il bene comune.
Black hat: Hacker che agiscono con intenzioni criminali.
Grey hat: Hacker con comportamento ambiguo, fra i "white" e i "black".
Script kiddie: Coloro i quali si approcciano per la prima volta alla cybersecurity, i "principianti". Molto spesso ri-utilizzano codice scritto da altri per condurre attacchi informatici. Non dispongono di competenze avanzate.
Hacktivist: Hacker che promuovono ideali o cause politiche e sociali attraverso attacchi informatici.
State sponsored: Hacker che agiscono sotto supporto (e tutela) di governi o organizzazioni. Hanno obiettivi ben precisi, e possono essere più o meno etici.
Il ciclo di vita di un attacco è documentato dalla Cyber Kill Chain. È un modello che suddivide il processo in diverse fasi, che si susseguono come una catena. Il modello prevede 7 fasi, e sono:
Reconnaissance: La ricognizione, per scegliere i bersagli e raccogliere il numero maggiore di informazioni pertinenti. In particolare, si osservano le informazioni sulle scelte tecnologiche e finanziarie, si analizzano i metodi di attacco con rapporto costo/beneficio, si sceglie se attaccare direttamente l'obiettivo (metodo top-down) oppure attaccare aziende fornitori (metodo bottom-up).
Weaponization: Nella fase di armamento si identificano le vulnerabilità di un obiettivo scelto, creando strumenti e risorse necessarie per sfruttarle.
Delivery: L'attaccante distribuisce il malware al sistema da colpire. Può avvenire attraverso diverse modalità (il più comune è il Phishing). La trasmissione può avvenire da un utente inconsapevole oppure attraverso iniezione SQL (Approfondisci le SQL Injection qui).
Exploitation: Il payload sfrutta la vulnerabilità entrando nel sistema.
Installation: L'attaccante installa il codice malevolo, ad esempio attraverso una backdoor, per avere un accesso nel tempo al sistema.
Command & Control: L'attaccante prende il controllo da remoto, cercando di nascondere le proprie tracce.
Actions on Objectives: L'attaccante rende persistente la propria azione, ad esempio creando nuovi account, nuove backdoor o con una Privilege escalation.