Sicurezza proattiva: quello che ho imparato negli ultimi 27 anni

(a.k.a. «Pentesting field experiences: 1996-2023»)

A cura di Raoul Chiesa

Introduzione: Il mio primo PT

Il mio primo Penetration Test (di seguito, “pentest”) lo eseguii nel 1996, l’anno successivo alla famosa “Operazione Ice Trap” che mi vide coinvolto, eseguita dalla SCO (Sezione Centrale Operativa) della Polizia di Stato, che si concluse il 13 dicembre del 1995. Dopo tre mesi e mezzo di domiciliari decisi - anche grazie alla comprensione, all’empatia ed al rapporto personale che si venne a creare con il PM del caso, il Dott. Saviotti della Procura di Roma, e la D.ssa Maria Cristina Ascenzi della SCO – di impiegare le mie capacità di Ethical Hacking professionalmente.

Decisi quindi di avviare la mia prima ditta individuale, la “Security First”, fornendo le prime consulenze tecniche e tecnologia basica (hardware e modem). In seguito fui ingaggiato da un amico di Torino, il quale gestiva un ISP, per effettuare una “simulazione d’attacco” nei confronti di un suo cliente, nella fattispecie un’azienda metalmeccanica di medie dimensioni.

A quel tempo, ovviamente, non c’era “Internet”, o quantomeno come la intendiamo nei giorni d’oggi: per capirci, VOL (VideoOnLine), il primo ISP italiano massivo, vide la luce nel 1994 grazie all’intuito di Nicola Grauso in quel della Sardegna (Nicola poi fondò Tiscali molti anni dopo). A quei tempi, le aziende che necessitavano di connettività distribuita, utilizzavano le Reti a Commutazione di Pacchetto (in Italia tale servizio veniva offerto da ITAPAC).

Ogni paese era dotato di una sua rete nazionale basata su protocollo X25, una sorta di enorme rete WAN distribuita ed altamente efficace.

Parliamo ovviamente degli albori delle telecomunicazioni informatiche e di una tecnologia concepita negli anni ’70 e sviluppatasi globalmente nel corso degli anni ’80.

Tornando al mio primo pentest, il target era un VAX/VMS della DEC (Digital Equipment Corporation): l’amico che mi ingaggiò sapeva che ero molto bravo sui VAX, ma quello che non sapeva era che li avevo sempre utilizzati e “testati” da remoto, X25 per l’appunto. In pratica, non avevo mai visto dal vivo un VAX/VMS, e non ero mai stato in “consolle”.

Purtroppo, quell’azienda metalmeccanica non aveva connessioni remote X.25, era presente solo un modem a 1200 Baud, davvero troppo lento per lanciare attacchi brute-force, ma, soprattutto, a causa della distanza logistica del cliente da Torino, la linea telefonica risultava essere estremamente disturbata ed instabile per poter lavorare da remoto via modem.

A questo punto per ovviare a tali criticità, decidemmo di recarci direttamente in azienda. Mai dimenticherò le sensazioni che provai vedendo e toccando un vero VAX quella prima volta. Imparai così ad operare “in locale” apprezzando ancor di più quel fantastico OS che era il VMS.

Il resto è storia… una storia vissuta in prima persona, attraverso le varie aziende che ho fondato o co-fondato, specializzandomi sempre di più, per quasi 30 anni, proprio nel Pentesting. Ma, come dico sempre, dobbiamo imparare dalla storia… e dalle mie storie di Pentest ho appreso davvero molto sul “mercato” della Proactive Security.

Introduzione: evoluzioni e status attuale

Da quel lontano 1996 ad oggi sono accaduti innumerevoli cambiamenti: la DEC fu acquisita dalla Compaq (la quale, a sua volta, fu acquisita da HP), le Sun Solaris e gli IBM Aix continuavano a venire venduti in tutto il mondo, le reti X.25 vennero mano a mano dismesse e l’IPv6 avrebbero reso divertenti le nostre vite da penetration tester, insieme al 5G e all’IoT/IoX.

Nel 2000 entrai nel team di ISECOM (Institute for Security and Open Methodologies, USA), la community no-profit che ha regalato al mondo il fantastico OSSTMM (Open Source Security Testing Methodology Manual), permettendo di integrare una reale professionalità – ed una metodologia libera, gratuita e condivisa a livello mondiale, dal mondo militare e governativo sino alla Pubblica Amministrazione ed alle aziende private – al settore della Sicurezza Preventiva (“Proactive Security”), insieme a più di 10.000 volontari e dozzine di Key Contributors, tra i quali il sottoscritto.

Nonostante ciò, le organizzazioni e le aziende continuano a commettere diversi errori quando hanno a che fare con l’argomento del Penetration Testing: questo sia dal punto di vista strategico, che di business e delle prospettive operative.

L’obiettivo, con questa serie di articoli, è condividere le mie esperienze sul campo. Ritengo possa essere utile sia agli “op geeks” che ai manager evidenziare le procedure errate commesse da alcuni clienti (che hanno reso il nostro lavoro estremamente difficoltoso e dispendioso in termini di risorse umane e ore lavorative).

Problematica Uno: “Mindset” e background

Durante i training, nei corsi specializzati, e nei Master universitari dove insegno, ricorro frequentemente a questa rappresentazione grafica per descrivere il concetto di “Mindset”.

L’esempio tipico che faccio è quello del dialogo tra un Auditor e un Pentester.

Nonostante operino entrambi nello stesso “settore” di nicchia (la “verifica” della sicurezza, possiamo dire per sintetizzare), utilizzano linguaggi e termini diversi, oppure gli danno significati differenti. Hanno difficoltà a comprendersi reciprocamente,avendo formazione ed esperienze diverse.

Ampliando questo concetto possiamo capire come il mindset ed il background (di studi e lavorativo) del committente possa creare sin dall’inizio una serie di problemi, quando si viene ingaggiati per un progetto di Penetration Test.

Infatti, a seconda della nazione e del continente, il “referente tecnico” dell’azienda cliente avrà almeno uno di questi profili:
- Tecnico IT esperto (ma NON un “InfoSec” guy)
- Tecnico IT con poca esperienza (teorica, ma soprattutto pratica)
- Infosec Guy inesperto (ma che magari si è “venduto bene”)
- Auditor
- Risk Officer
- Privacy Officer / Legal
- Manager non tecnico
- Ex Forze dell’Ordine
- Infosec Guy realmente esperto (rari come il tartufo bianco ed i cigni neri!)

Le conseguenze, sin dalle fasi iniziali (prevendita, accordi tecnici, Target of Evaluation, Regole di Ingaggio, etc) possono essere “disastrose”, o comunque non rendere facile il lavoro per il quale siamo stati ingaggiati:

► La maggior parte degli interlocutori – circa l’80% - non vi comprenderà a causa del differente linguaggio (il concetto appunto di Mindset e Background): slang tecnico, terminologie, acronimi, concetti di cybersecurity, metodologie e così via.

► Quasi tutti – circa il 95% - non ne saprà abbastanza sui penetration test, ma vorrà dire la sua.

Per concludere, nella “testa del cliente” troveremo sempre una o più di queste domande, talvolta addirittura anche a livello inconscio:
- Ho (davvero) bisogno di un test di sicurezza?
- Quanto spesso devo farlo?
- Chi dovrebbe eseguirlo?
- È meglio ingaggiare un consulente, un’azienda specializzata, o formare/utilizzare personale interno?
- Come scelgo il giusto fornitore?
- ... e comunque devo spendere il meno possibile!