Le competizioni Capture the Flag, che mettono alla prova i partecipanti su sfide di ethical hacking, stanno diventando sempre più popolari, non solo tra gli esperti di sicurezza informatica ma anche tra i giovani talenti cyber che imparano giocando. In questo articolo descriviamo l’ecosistema delle CTF e mostriamo come il fenomeno sta cambiando il mondo della sicurezza informatica in Italia e in Europa.
Ethical hacker, assolti ma non troppo: le “zone grigie” del diritto penale
2020, l’escalation degli attacchi informatici
Il 2020, che sarà ricordato come l’anno che ha dato inizio alla pandemia COVID-19, è stato anche caratterizzato da un numero sempre crescente di attacchi informatici quali ransomware, campagne di phishing, furti di dati personali. La crescita delle infrastrutture critiche e dei sistemi IoT/OT, l’iperconnettività resa possibile dai dispositivi mobili, il cloud e la rete Internet e, in aggiunta, l’improvviso spostamento delle nostre attività quotidiane online, hanno allargato la superficie di attacco dei criminali informatici.
Le minacce alla nostra sicurezza digitale sono mutate e continuano a cambiare di giorno in giorno. In questo contesto estremamente dinamico, l’unico punto fermo sembra essere la carenza cronica di personale qualificato [I19]. Alla luce di queste considerazioni una domanda sorge spontanea: come si stanno muovendo le università italiane per formare i “cybersecurity expert” del domani?
Una prima risposta viene dai circuiti tradizionali. In molte sedi universitarie, infatti, sono stati attivati percorsi formativi, lauree magistrali e master di primo e di secondo livello, che offrono percorsi di specializzazione in sicurezza informatica[1]. Questi percorsi hanno caratteristiche diverse, che spesso dipendono dalle competenze presenti nelle sedi stesse e sul territorio. Purtroppo però, nonostante queste recenti iniziative abbiano contribuito positivamente ad aumentare l’interesse verso la sicurezza informatica, il problema della mancanza cronica di talenti cyber immediatamente spendibili nel mondo del lavoro non si è affatto ridotto.
In questo contesto un’iniziativa di natura molto diversa è il progetto CyberChallenge.IT[2], iniziato nel 2017 con la sola partecipazione dell’Università Sapienza di Roma. In pochi anni il progetto è cresciuto molto e nel 2021 (edizione in corso) ha incassato l’adesione di 31 sedi[3] universitarie e di una accademia militare.
Organizzato dal Laboratorio Nazionale di Cybersecurity del CINI (il Consorzio Interuniversitario Nazionale per l’Informatica), il progetto è rivolto ai giovani talenti tra i 16 e i 23 anni che frequentano gli ultimi anni della scuola superiore o i primi anni dell’università. Le ragazze e i ragazzi selezionati vengono ammessi a un percorso di formazione intensivo di tre mesi presso la sede universitaria da loro indicata. La formazione, fortemente incentrata sulla pratica, li catapulta letteralmente nel mondo dell’ethical hacking. Il meccanismo alla base del progetto CyberChallenge.IT è molto semplice: immergere i partecipanti in un contesto altamente competitivo, estremamente coinvolgente e divertente. La pietra angolare di questo sistema sono le competizioni Capture the Flag, cioè gare di sicurezza informatica svolte in un contesto controllato.
Ransomware, gli USA al contrattacco ma serve risposta globale: ecco le azioni urgenti
Capture the Flag
Le competizioni Capture the Flag (CTF) affiancano un’attività ludica all’insegnamento più tradizionale della cybersecurity e stanno diventando via via sempre più popolari. Esse costituiscono una rivisitazione digitale del gioco del ruba bandiera[4], dove lo scopo delle varie squadre è di conquistare le bandiere delle squadre avversarie e di proteggere le proprie. Nella versione digitale la bandiera (flag in inglese) è sostituita da un codice, generalmente una sequenza di caratteri alfanumerici difficili da prevedere.
Esistono principalmente due tipi di competizioni CTF, le Jeopardy e le Attack/Defense (A/D).
Le competizioni di tipo Jeopardy
Le competizioni di tipo Jeopardy prendono il nome dal famoso quiz americano “Jeopardy!” e non prevedono un’interazione diretta tra le squadre. Ai partecipanti è chiesto di risolvere un certo numero di sfide (dette challenge) in diverse categorie – web, reti, crittografia, analisi di codice binario, ecc. – che richiedono di attaccare programmi o siti web vulnerabili tenuti in piedi dagli organizzatori. Ogni volta che una squadra risolve una challenge, “cattura” la flag corrispondente che viene sottomessa al server di gioco per ottenere i punti associati alla sfida.
Il numero di punti attribuiti a ciascuna challenge è deciso dagli organizzatori della competizione. È possibile decidere un punteggio statico che varia a seconda della difficoltà della challenge, oppure un punteggio dinamico. Nel secondo caso, se più squadre riescono a risolvere una challenge, il suo punteggio si abbassa progressivamente per tutti. Con questa scelta, il valore di ciascuna challenge si adatta in modo autonomo rispetto al numero di soluzioni, rispecchiando così la sua difficoltà intrinseca. La durata delle competizioni Jeopardy può variare da un minimo di 12-24 ore sino ad una settimana e a fine gara vince la squadra che ha totalizzato il maggior numero di punti.
Le competizioni Attack/Defense
Nelle competizioni A/D, invece, le squadre si sfidano attaccandosi, in una gara tutti-contro-tutti. All’inizio della competizione ogni squadra riceve la stessa macchina virtuale[5] che rappresenta un sistema IT preconfigurato dagli organizzatori con dei servizi vulnerabili. Ogni squadra durante la gara dovrà rubare le flag memorizzate sulle macchine delle altre squadre, sfruttando i servizi vulnerabili installati e, contemporaneamente, dovrà cercare di proteggere il più possibile i propri servizi e le proprie flag. Tipicamente queste gare si svolgono in un’apposita VPN[6] e la competizione è monitorata da un server centrale che scandisce i turni di gioco e verifica che i servizi delle varie squadre siano sempre accessibili. Il motivo è che un modo ovvio, ma vietato, di proteggere i propri servizi è di renderli inaccessibili dalla rete. Se questo avviene, il server centrale assegna delle penalità per il tempo durante il quale i servizi sono risultati non accessibili (downtime).
Anche per le CTF A/D, quando una squadra ruba le flag alle altre squadre le sottomette al server di gioco che le trasforma in punti. In realtà, il punteggio non dipende solo dalle flag rubate agli avversari, ma anche da quanto si è stati bravi a proteggere le proprie flag, e dall’uptime dei propri servizi. La squadra che totalizza il punteggio più alto alla fine della competizione vince. Data la natura sincrona di queste gare, le CTF di tipo A/D hanno una durata più breve rispetto alle Jeopardy, dalle 6-12 ore fino ad un massimo di uno o due giorni.
Infine, le competizioni Jeopardy e A/D non sono mutuamente esclusive perché possono essere combinate tra loro dando vita a CTF di tipo misto, dove è richiesto alle squadre di risolvere delle challenge e, nel contempo, anche di attaccare e difendersi dalle squadre avversarie.
Tipicamente, al termine delle competizioni CTF i partecipanti descrivono come hanno risolto le challenge e producono le cosiddette writeup, cioè brevi documenti che spiegano passo passo come è stata trovata una vulnerabilità e come è stata sfruttata per ricavare la flag. Le writeup sono molto utili per vari motivi. In particolare, oltre a presentare la soluzione di una challenge ai partecipanti che non sono riusciti a superare la sfida, esse rappresentano una fondamentale risorsa per l’addestramento. Inoltre, poiché non tutte le soluzioni sono note a priori (spesso neppure agli organizzatori!), le writeup costituiscono una preziosa fonte di informazione per tutta la comunità delle CTF.
Molto spesso i link alle writeup vengono pubblicati sul sito CTFtime[7] che è il punto di riferimento per tutti i team che giocano alle CTF. Qui infatti vengono pubblicati tutti i dettagli delle gare, i risultati dei vari team, una classifica globale che permette di confrontare i team a livello mondiale, una classifica per ciascun paese, i link alle writeup, i prossimi eventi in calendario e molto altro.
In un recente lavoro [SCVB21] gli autori, analizzando la frequenza delle keyword in un corpus di 8500 writeup pubblicate a partire dal 2012, hanno constatato che gli argomenti più popolari nelle CTF riguardano la crittografia e la sicurezza delle reti e dei sistemi. Al contrario, argomenti quali privacy o normative in ambito cybersecurity, considerati importanti nei percorsi formativi più tradizionali, sono raramente trattati nelle CTF. Come affermato dagli autori stessi, il motivo è che chi sviluppa challenge si concentra quasi esclusivamente sugli aspetti tecnici, fondamentali per l’addestramento pratico. È ragionevole attendersi che tra gli sviluppi futuri delle CTF rientrino anche sfide legate agli aspetti meno tecnici.
Lo sviluppo nazionale del progetto
Nel panorama nazionale, il già citato progetto CyberChallenge.IT è sicuramente l’evento di maggiore portata per quanto riguarda la formazione della prossima generazione di esperti. Uno dei fattori principali è probabilmente la buona copertura garantita dalle sedi universitarie sparse sul territorio. La figura sottostante mostra le sedi universitarie che partecipano all’edizione 2021 di CyberChallenge.IT (in rosso le province con almeno una sede universitaria).
Guardando il grafico sovrastante è facile notare che negli ultimi anni la crescita è stata costante. Dato che molte squadre che partecipano a CyberChallenge.IT sono anche registrate su CTFtime, è ragionevole immaginare che ci sia stato un contributo all’aumento delle squadre a partire dal 2018 (prima edizione con più sedi partecipanti). Tuttavia, da questo punto di vista, è abbastanza chiaro che CyberChallenge.IT si sia innestato in un fenomeno già esistente e in evoluzione.
Un altro fattore da non trascurare per comprendere l’ecosistema delle CTF è il numero di eventi organizzati da attori nazionali. Per esempio, a partire dal 2019, i PwnTheM0le[8], la squadra del Politecnico di Torino, organizzano una CTF annuale in corrispondenza della conferenza internazionale M0lecon[9]. Altri eventi di rilievo sono la Reply Cyber Security Challenge[10] e la mHACKeCTF[11].
Il contesto europeo
Lo stesso clima si respira a livello europeo dove, a partire dal 2014, ENISA[12] (European Union Agency for Cybersecurity) organizza annualmente la CTF ECSC (European Cyber Security Challenge), competizione europea sulla sicurezza informatica. Le squadre dei paesi partecipanti, composte da ragazze e ragazzi tra i 16 e i 25 anni, si sfidano in una CTF di tipo Jeopardy con challenge su temi quali sicurezza web, sicurezza mobile, crittografia, reverse engineering e analisi forense. Terminata la competizione europea i partecipanti hanno anche la possibilità di seguire seminari tematici e conoscersi tra di loro.
Anche in questo caso il numero di paesi partecipanti è cresciuto negli anni, partendo da 3 squadre nazionali nel 2014 fino a raggiungere 20 paesi nell’ultima edizione che si è svolta a Bucarest, in Romania, nel 2019. L’edizione 2020, che avrebbe dovuto svolgersi a Vienna, è stata cancellata a causa del perdurare della pandemia.
Per partecipare alla ECSC ogni paese organizza un percorso di addestramento e selezione per formare la propria nazionale di giovani talenti cyber. Il report di ENISA [ZY21], pubblicato nell’aprile 2021, confronta i percorsi formativi delle diverse nazioni che partecipano all’ECSC. La situazione a livello europeo è molto variegata. Alcune nazioni, ad esempio la Francia, organizzano competizioni CTF online di breve durata (da pochi giorni a due settimane) i cui migliori classificati vengono ammessi ad una gara finale per la selezione della squadra nazionale. Altre nazioni, come la Germania e l’Austria, organizzano competizioni lunghe, mantenendo aperta per alcuni mesi una piattaforma con le challenge e poi ammettendo alla gara finale i partecipanti che hanno risolto la maggior parte degli esercizi. Infine, altre nazioni organizzano veri e propri percorsi di addestramento al termine dei quali vengono formati i team nazionali. Questo è il caso, ad esempio, dell’Italia, con il progetto CyberChallenge.IT, e dell’Olanda.
Dai dati presentati nel report ENISA si evince che il programma italiano è fortemente strutturato. Questo dato emerge soprattutto dal confronto con le altre nazioni in termini di (i) alto coinvolgimento di università sul territorio nazionale, (ii) alto numero di studenti partecipanti e selezionati e (iii) lunga durata del percorso formativo.
Il Team Italy[13] che rappresenta il nostro Paese viene selezionato dall’allenatore Mario Polino, del Politecnico di Milano, tra i partecipanti a CyberChallenge.IT. Come un vero selezionatore, l’allenatore del Team Italy tiene in considerazione i risultati ottenuti durante la formazione e nelle gare previste dal progetto, per creare un team con competenze diversificate e quindi in grado di ricoprire strategicamente tutti i ruoli legati agli aspetti delle CTF.
Il Team Italy si riunisce annualmente presso l’IMT di Lucca per una settimana di formazione tecnica che ha anche lo scopo di creare un gruppo coeso tra ragazzi che, provenendo da sedi universitarie diverse, si conoscono per la prima volta durante questo “ritiro” della nazionale.
E poi si parte per la gara, che quest’anno – dopo la cancellazione dell’edizione di Vienna del 2020 – si terrà il 29 settembre 2021 a Praga. Fino ad ora le prestazioni del Team Italy sono state all’altezza della competizione. Nell’edizione di Malaga del 2017 il Team Italy, alla sua prima partecipazione, ha conquistato il podio posizionandosi al terzo posto (a pari merito con il Regno Unito). Nel 2018, a Londra, si è piazzato al sesto posto e, infine, nel 2019, a Bucarest, si è classificato in seconda posizione, preceduto solo dai padroni di casa.
Conclusioni
Tutto l’ecosistema delle CTF contribuisce a creare un sempre maggior interesse verso la sicurezza informatica. L’aumento delle competenze e della consapevolezza (cyber awareness) non può che avere risvolti positivi per il paese e per l’Europa. Il primo ovvio beneficio è ridurre la skill shortage, cioè la cronica mancanza di esperti di cybersecurity nel mercato del lavoro. Va anche sottolineato il fatto che se da una parte il numero di posti di lavoro per esperti di sicurezza è destinato a crescere negli anni a venire, allo stesso tempo, tutti i futuri lavoratori nel comparto IT dovranno necessariamente avere una adeguata formazione anche nel campo trasversale della sicurezza. Altri benefici, meno immediati, includono la sensibilizzazione in generale della società verso il tema della cybersecurity e l’avvicinamento di sempre più giovani verso le discipline STEM.
Come già detto, è giusto sottolineare che attualmente le CTF hanno dei limiti che è importante comprendere e, in alcuni casi, cercare di superare. Un primo limite riguarda i temi affrontati dalle challenge che sono fortemente polarizzati sugli aspetti più tecnici. In questo contesto, è auspicabile che in futuro si coprano anche temi importanti ma non direttamente collegati alle tecnologie come, ad esempio, gli aspetti di gestione e normativi della sicurezza. Un altro limite che sarebbe importante superare è quello legato al gender gap. Come confermano i dati delle scorse edizioni di CyberChallenge.IT, la partecipazione femminile ad attività di questo tipo è ancora troppo scarsa. Anche se questo è un problema aperto per tutte le discipline STEM, è necessario un impegno mirato affinché non vada perduta quella metà di potenziali talenti cyber, con le proprie qualità specifiche, che attualmente non viene valorizzata.
Bibliografia
[I19] (ISC)2, “Strategies for Building and Growing Strong Cybersecurity Teams”, CYBERSECURITY WORKFORCE STUDY, 2019. https://www.isc2.org/-/media/ISC2/Research/2019-Cybersecurity-Workforce-Study/ISC2-Cybersecurity-Workforce-Study-2019.ashx
[SCVB21] Valdemar Švábenský, Pavel Čeleda, Jan Vykopal, and Silvia Brišáková. Cybersecurity knowledge and skills taught in capture the flag challenges, Computers & Security, Volume 102, Aprile 2021, http://dx.doi.org/10.1016/j.cose.2020.102154.
[ZY21] Tommaso De Zan, Muhammad Mudassar Yamin. TOWARDS A COMMON ECSC ROADMAP, Success factors for the implementation of national cyber security competitions, April 2021, https://www.enisa.europa.eu/publications/towards-a-common-ecsc-roadmap.
- https://cybersecnatlab.it/formazione-in-cybersecurity/ ↑
- https://cyberchallenge.it/ ↑
- Una delle sedi, C3T, è coordinata congiuntamente da Università di Firenze, Scuola di Alti Studi IMT di Lucca e Università degli Studi di Siena. ↑
- https://en.wikipedia.org/wiki/Capture_the_flag ↑
- https://it.wikipedia.org/wiki/Macchina_virtuale ↑
- https://it.wikipedia.org/wiki/Rete_virtuale_privata ↑
- https://ctftime.org/ ↑
- https://pwnthem0le.polito.it ↑
- https://ctf.m0lecon.it ↑
- https://challenges.reply.com/tamtamy/challenges/category/cybersecurity ↑
- https://ctf.mhackeroni.it ↑
- https://www.enisa.europa.eu/ ↑
- https://cyberchallenge.it/team ↑