Basi della cybersecurity

🧑‍💻 Alessio Cantarella in Internet per tutti a scuola con Internet Society (Italy Chapter), 17 aprile 2021

1. Cos’è la cybersecurity

1.1 Alcune definizioni

• “L’analisi della vulnerabilità di un sistema informatico e l’insieme delle misure adottate per proteggerlo da virus o da altri tentativi di violazione” (Oxford Dictionary)
• “La capacità di proteggere o difendere l’uso del cyberspazio dagli attacchi informatici” (National Institute of Standards and Technology)
• “L’arte di proteggere reti, dispositivi e dati dall’accesso non autorizzato o dall’uso criminale, e la pratica di garantire riservatezza, integrità e disponibilità delle informazioni” (Cybersecurity & Infrastructure Security Agency)
Riservatezza (confidentiality): Preservare le restrizioni autorizzate all’accesso e alla divulgazione, inclusi i mezzi per proteggere la privacy personale e le informazioni proprietarie
Integrità (integrity): Proteggersi contro la modifica o la distruzione impropria delle informazioni, e includere la garanzia di autenticità e non-ripudio delle informazioni
Disponibilità (availability): Garantire che l’accesso alle informazioni e il relativo utilizzo siano tempestivi (timely) e affidabili (reliable)

2. Un po’ di storia

2.1 Anni ’40

1943: Anno della creazione del primo computer digitale: per quasi vent’anni eseguire attacchi informatici è stato molto complicato (le macchine non erano collegate in rete e l’accesso fisico era concesso a un numero limitato di persone)
1949: John von Neumann teorizza l’idea di un programma auto-replicante (cioè la teoria alla base dei virus informatici), ipotizzando degli automi capaci di creare copie del loro codice

2.2 Anni ’50

Fine anni ’50: Nasce il phreaking, cioè l’insieme delle tecniche che i phreak (“pirati telefonici”) utilizzavano per appropriarsi dei protocolli di telecomunicazione per effettuare chiamate gratuite
• Anche i fondatori di Apple, Steve Jobs e Steve Wozniak, fecero parte di questa community
• Purtroppo per le compagnie telefoniche, non c’era modo di fermare i phreak, ma la pratica si estinse autonomamente intorno agli anni ’80

2.3 Anni ’60

1961: Il giornale studentesco del MIT usa per la prima volta il termine hack per definire una modifica alle istruzioni dei treni da parte dei membri del Tech Model Railroad Club. I primi hacker erano per lo più studenti che modificavano i sistemi per ottimizzarli
1967: IBM invita gli studenti a provare il loro nuovo computer: nasce l’ethical hacking (cioè l’insieme di tecniche e misure difensive per proteggersi dagli eventuali attacchi)

2.4 Anni ’70

1971: La Cybersecurity nasce con un progetto di ricerca su ARPANet
• Appare “Creeper” il primo worm, cioè un codice cioè capace di auto-replicarsi e di diffondersi ad altri computer
1979: L’allora sedicenne Kevin Mitnick, considerato l’hacker più famoso del mondo, entra dentro “The Ark” (il computer per lo sviluppo dei sistemi operativi della Digital Equipment Corporation) e commette il primo di una lunga serie di reati informatici

2.5 Anni ’80

1983: Nel periodo della corsa agli armamenti esce il film War Games
• Nascono i termini computer virus e Trojan horse (“cavallo di Troia”)
1985: Il Dipartimento della Difesa degli USA pubblica i Trusted Computer System Evaluation Criteria (“The Orange Book”) per definire i requisiti di sicurezza di un software che elabora informazioni classificate
1986: Markus Hess sfrutta un gateway internet per accedere a ARPANet e violare 400 computer militari, con l’intenzione di vendere informazioni al KGB
1987: Nasce il primo antivirus per Atari ST

2.6 Anni ’90

1990: Vengono creati i primi virus polimorfici
• In un numero della rivista inglese PC Today è allegato un floppy contenente per sbaglio (?) il virus DiskKiller: decine di migliaia di computer vengono infettati
1992: Appare il primo anti-antivirus
1996: I nuovi virus usano la tecnica stealth e si trasmettono attraverso macro
1999: Viene rilasciato il virus Melissa, che si diffonde con un file Word e si replica via email, inviandosi come allegato ai primi 50 indirizzi su Outlook

2.7 Anni ’00

Inizio anni ’00: Con la diffusione di internet, i cybercriminali hanno più dispositivi e vulnerabilità da sfruttare
• I sistemi operativi iniziano a integrare software antivirus e a rilasciare aggiornamenti online
2000: Nasce il progetto OpenAntiVirus
2001: Nuova tecnica: non serve più scaricare un file, ma basta visitare un sito per infettarsi
Fine anni ’00: Nascono i primi antivirus per i sistemi operativi degli smartphone, specialmente Android e Windows Phone

2.8 Anni ’10

2011: L’hacker arabo 0XOMAR pubblica i dettagli di oltre 400.000 carte di credito
2013: Edward Snowden diffonde informazioni classificate della NSA
2014: Sono resi pubblici gli hash delle password dei 3 miliardi di utenti di Yahoo! (tra i quali ci sono anch’io!)
2017: Il ransomware WannaCry infetta 230.000 computer in un giorno
2019: Un attacco DDoS interrompe la borsa valori neozelandese
Vengono pubblicati i numeri di telefono (e molti altri dati personali) di 533 milioni di utenti Facebook (io compreso!)

3. Le sfide del futuro

3.1 I temi del prossimo decennio

• Ingegneria sociale
• Autenticazione a più fattori (MFA)
• Analisi comportamentale della rete (NBA)
• Intelligenza artificiale per il rilevamento delle minacce
• Protezione in tempo reale (RTP)
• Sandboxing
• Forensics
• Backup & Mirroring
• Firewall per applicazioni web (WAF)

4. I settori interessati

4.1 Automotive Security

• Il numero sempre più elevato di unità di controllo elettronico (ECU) nei veicoli e, parallelamente, l’implementazione di molteplici mezzi di comunicazione diversi da/verso il veicolo in modo remoto e wireless ha portato alla necessità di una branca della cybersecurity dedicata alle minacce associate ai veicoli (da non confondere con l’Automotive Safety!)
Possibili minacce: Sniffing; DoS; Spoofing
Attacchi: Nel 2014 gli hacker Charlie Miller e Chris Valasek hanno dimostrato con successo un attacco da remoto ad alcuni controlli (radio, climatizzatore, tergicristalli e alcune funzionalità del motore e dei freni) di una Jeep Cherokee, inviando comandi attraverso la rete interna dell’auto (CAN bus)
Possibili contromisure: Sotto-reti (Sub-networks); Gateway o Firewall; Sistemi di rilevamento delle intrusioni (IDS); Protocolli di autenticazione; Moduli di sicurezza hardware

4.2 Internet Security

• Ha l’obiettivo di stabilire regole e misure da utilizzare contro gli attacchi su Internet
• Riguarda anche la sicurezza dei sistemi operativi e dei browser
• Utilizza la crittografia per proteggere il trasferimento dei dati
Possibili minacce: Malware; DoS; Phishing; Exploit
Possibili contromisure: Sicurezza a livello di rete (SSL/TLS, PGP, IPsec); Firewall; Autenticazione a più fattori (MFA)

4.3 Mobile Security

• Consiste nella protezione dei dispositivi mobili (smartphone, tablet e laptop) dalle minacce associate alle reti wireless
• Di particolare interesse è la sicurezza delle informazioni personali e aziendali archiviate sugli smartphone: numeri di carte di credito, informazioni di autenticazione, contatti, foto, video, eventi sul calendario, messaggi, ecc.
Possibili minacce: Botnet; Applicazioni dannose; Link malevoli; Spyware
Attacchi basati su vulnerabilità:
Della gestione dei messaggi: SMS/MMS
Delle reti di telecomunicazioni: GSM (A5/1 e A5/2); Wi-Fi; Bluetooth
Del software: Browser; Sistemi operativi
Dell’hardware: Juice Jacking; Jail-breaking

4.4 Network Security

• Consiste nelle politiche, nei processi e nelle pratiche adottate per prevenire, rilevare e monitorare gli accessi non autorizzati, gli usi impropri e le modifiche alle risorse accessibili in una rete di computer
• A ogni utente di una rete viene assegnato un ID univoco
• L’autenticazione può avvenire con N fattori:
1FA: con una password
2FA: con qualcosa che l’utente “ha” (un dispositivo, un token, ecc.)
3FA: con qualcosa che l’utente “è” (i.e. con tecniche biometriche, ad es. fingerprint, scansione della retina, ecc.)
Possibili minacce:
Passive: Intercettazione; Port Scanner; Scansione inattiva; Crittografia; Analisi del traffico
Attive: Virus; Intercettazioni; Modifica dei dati; DDoS; Spoofing DNS; Man-In-The-Middle; ARP Poisoning; VLAN Hopping; Smurf Attack; Buffer Overflow; Heap Overflow; Format String; SQL Injection; Phishing; Cross-Site Scripting; CSRF; Cyber-Attack

5. Le principali minacce

5.1 Malware

• Sono letteralmente “software dannosi”
• Possono essere classificati in:
— Virus
— Worm
— Trojan Horse
— Backdoor
— Spyware
— Dialer
— Hijacker
— Rootkit
— Scareware
— Rabbit
— Adware
— Malvertising
— File Batch
— Keylogger
— Rogue Antispyware
— Ransomware
— A comando
— Automatici (da esecuzione o da avvio)
— Bombe logiche
— Bombe a decompressione

5.2 SQL Injection (SQLi)

• È una tecnica di code injection per attaccare applicazioni che gestiscono dati attraverso database relazionali
• Sfrutta le vulnerabilità di sicurezza del codice applicativo che si collega al database: caratteri di escape non filtrati correttamente, gestione non corretta dei tipi, permessi troppo ampi
• Si stima che circa il 10% delle applicazioni sia vulnerabile a questo tipo di attacco

5.3 Phishing

• È una tecnica di ingegneria sociale che consiste nel tentativo fraudolento di ottenere dati o informazioni sensibili (e.g. username, password, numeri di carta di credito, ecc.)
• È realizzato tipicamente tramite lo spoofing delle email o degli SMS (in passato veniva effettuato per lo più telefonicamente)

5.4 Man-In-The-Middle (MITM)

• È un attacco in cui qualcuno segretamente intercetta o altera la comunicazione tra due parti che credono di comunicare direttamente tra loro
• Un tipico esempio è lo sniffing, che consiste nell’intercettazione passiva dei dati che transitano in una rete telematica “non protetta” (cioè in cui i dati viaggiano in chiaro e non sono cifrati), applicabile attraverso il noto software Wireshark

5.5 Denial-of-Service (DoS)

• Consiste nell’esaurire deliberatamente le risorse di un sistema informatico (ad es. un web server) che fornisce un servizio ai client, in modo da renderlo non più in grado di erogare il servizio
• Una nota variante di questo attacco è la versione distribuita, DDoS, nella quale viene utilizzata una rete (Botnet) di computer attaccanti (zombie), i quali sono ignari del far parte dell’attacco

5.6 Exploit

• Sfrutta le vulnerabilità dei sistemi per compromettere la riservatezza, la disponibilità o l’integrità di una risorsa
• I sistemi operativi e i software prevedono architetture complesse, implementate in milioni (o miliardi) di righe di codice: è dunque inevitabile che tale codice contenga errori che possono originare vulnerabilità (che, se scoperte, possono essere sfruttate da malintenzionati)

5.7 Brute Force

• È un attacco crittografico che consiste nel provare tutte le combinazioni possibili finché non si trova la password corretta
• Ne esistono diverse varianti:
— Forza bruta semplice
— Forza bruta ibrida
— Dizionario
— Tabella arcobaleno
— Forza bruta inversa
— Credential Stuffing
Principali software: John the Ripper, Aircrack-ng

6. Come difendersi

6.1 Cinque consigli d’oro

• Aggiornare i software e i sistemi operativi (per evitare Exploit)
• Non installare software scaricati da internet (per evitare Malware)
• Utilizzare password complesse (per evitare Brute Force)
• Quando si riceve un’email da un mittente sconosciuto non scaricare gli allegati né fare clic sui link (per evitare Phishing)
• Non utilizzare reti Wi-Fi non protette (per evitare Man-In-The-Middle)