Hai ricevuto l'incarico di testare la sicurezza di un'azienda italiana. Sei sicuro di sapere cosa puoi fare legalmente e cosa no? Un errore di confine tra test autorizzato e violazione di sistema può costarti una denuncia penale. Noi, di Meteora Web, lo vediamo troppo spesso: professionisti preparati tecnicamente che trascurano l'aspetto legale, e aziende che chiedono un "ethical hacking" senza sapere cosa stanno autorizzando. Qui non parliamo di teoria accademica: parliamo di come eseguire un penetration test rispettando la legge italiana, dal contratto al report finale.
Metodologia dell’ethical hacking: le fasi operative
Un penetration test segue un processo strutturato. Ogni fase ha implicazioni legali e tecniche. Ecco le cinque fasi principali, così come le applichiamo noi nei progetti dei nostri clienti.
1. Ricognizione (Reconnaissance)
Raccogli informazioni pubbliche sul target: DNS, WHOIS, social network, motori di ricerca, Shodan. Non c’è ancora interazione diretta con i sistemi. Dal punto di vista legale, questa fase è generalmente lecita se usi solo fonti aperte. Attenzione però: se usi tecniche di social engineering (chiamate, phishing simulato) devi averle contrattualizzate. Noi, di Meteora Web, includiamo sempre nel contratto un elenco delle tecniche autorizzate, comprese quelle di ingegneria sociale.
2. Scansione e enumerazione
Qui inizi a interagire con i sistemi: scan delle porte, fingerprint dei servizi, enumerazione di utenti e risorse. Ogni pacchetto inviato è tecnicamente un accesso non autorizzato se non è coperto da autorizzazione. La legge italiana punisce l'accesso abusivo a sistema informatico (art. 615-ter c.p.) anche solo tentato. Quindi: niente Nmap senza un documento firmato che specifichi gli IP e le tecniche consentite.
3. Sfruttamento delle vulnerabilità (Exploitation)
La fase più critica. Tentare di ottenere accesso a un sistema usando una vulnerabilità è esattamente ciò che il codice penale vuole prevenire. Se hai un'autorizzazione scritta e dettagliata (con limiti precisi: ad esempio, non oltrepassare un certo servizio), sei coperto. Se sfori, anche di poco, sei nell'illecito. Noi consigliamo di separare la fase di exploitation in due sotto-fasi: prova di concetto (PoC) che dimostri la vulnerabilità senza causare danni, e solo dopo eventuale escalation autorizzata.
4. Post-exploitation e mantenimento dell'accesso
Una volta dentro, cosa fai? Installi backdoor per testare la persistenza? Molto dipende dagli obiettivi del test. In Italia, installare software su un sistema altrui senza autorizzazione esplicita è reato (art. 615-quater c.p. - detenzione e diffusione di codici di accesso). La regola pratica: ogni azione oltre la semplice dimostrazione della vulnerabilità va scritta nero su bianco.
5. Reporting e remediation
La fase finale: documentare tutto. Il report deve includere vulnerabilità trovate, impatto, prove di concetto e raccomandazioni. Attenzione: il report stesso può contenere informazioni sensibili. Deve essere protetto (crittografia, consegna a persona designata). Noi consegniamo il report in PDF firmato digitalmente e lo eliminiamo dai nostri sistemi dopo 30 giorni, salvo diverso accordo.
Framework legale italiano per l’ethical hacking
L'Italia non ha una legge specifica che regolamenti l'ethical hacking, ma il quadro normativo è composto da diverse norme del codice penale, dalla legislazione sulla privacy e da linee guida di settore.
Articoli chiave del Codice Penale
- Art. 615-ter (Accesso abusivo a un sistema informatico o telematico): è il cavallo di battaglia. Punisce chiunque si introduce abusivamente in un sistema protetto. Copre anche il tentativo. La pena aumenta se c'è danno o se il fatto è commesso da un pubblico ufficiale.
- Art. 615-quater (Detenzione e diffusione abusiva di codici di accesso): punisce chi possiede o diffonde password, chiavi o altri mezzi per accedere a sistemi. Un penetration tester non deve mai conservare credenziali di produzione senza esplicita autorizzazione.
- Art. 615-quinquies (Diffusione di programmi diretti a danneggiare o interrompere un sistema): riguarda malware, virus, ma anche script di exploit. Se usi Metasploit per creare un reverse shell, stai diffondendo un programma potenzialmente dannoso.
- Art. 635-bis (Danneggiamento di informazioni, dati e programmi informatici): copre alterazione o cancellazione di dati. In un penetration test non devi mai distruggere dati senza autorizzazione.
Norme sulla cybersecurity e GDPR
Il Decreto Legislativo 105/2019 (recepimento della direttiva NIS) impone obblighi di sicurezza a operatori di servizi essenziali e fornitori di servizi digitali. Un ethical hacker che testa un soggetto NIS deve coordinarsi con il DPO e rispettare le procedure di notifica degli incidenti. Il GDPR (Reg. UE 2016/679) richiede che i test siano proporzionati e che i dati personali eventualmente acquisiti siano trattati secondo i principi di minimizzazione e protezione. Noi, di Meteora Web, abbiamo gestito il sistema ERP di un negozio di abbigliamento dall'interno: sappiamo cosa significa maneggiare dati sensibili durante un test. Per questo ogni nostro penetration test include una clausola specifica sul trattamento dei dati personali.
Linee guida di settore
Il Centro Nazionale per la Cybersecurity (CNAIPIC) e l'AgID hanno pubblicato documenti sulle best practice per i penetration test nella Pubblica Amministrazione. Anche il NIST SP 800-115 è un riferimento internazionale, ma in Italia va integrato con le norme locali. Le associazioni come CLUSIT offrono un codice etico per i professionisti.
Come strutturare un penetration test legale in Italia
Ecco i passaggi operativi che seguiamo sempre, basati sulla nostra esperienza.
1. Contratto dettagliato (penetration testing agreement)
Deve contenere: oggetto del test (IP, URL, applicazioni), periodo, orari (fuori orario lavorativo?), tecniche consentite (nessuna, solo passive, solo automated, con social engineering), limiti (non testare sistemi di produzione critici senza replica), responsabilità e copertura assicurativa. Noi richiediamo sempre una polizza RC professionale specifica per attività di penetration testing.
2. Definizione del perimetro (scope)
Documento separato dal contratto, firmato da entrambe le parti, con elenco puntuale di indirizzi e servizi in scope e out-of-scope. Includi anche i criteri di stop: se trovi dati personali, se causi un downtime, se rilevi attività illecite durante il test.
3. Regole di ingaggio (Rules of Engagement)
Qui specifichi: metodi di comunicazione (se trovi una vulnerabilità critica, la notifichi subito?), gestione delle credenziali (non salvarle, usarle solo per PoC), tempistiche, e procedure di escalation. Noi, di Meteora Web, usiamo un template di RoE basato su OWASP Testing Guide, personalizzato per ogni cliente.
4. Esecuzione e monitoraggio
Durante il test, tieni un log di tutte le azioni: ogni comando, ogni payload. Questo log è la tua prova di conformità al contratto. In caso di contestazione, dimostra che non hai oltrepassato i limiti.
5. Report e distruzione dati
Consegni il report e poi elimini tutti i dati raccolti (log, screenshot, credenziali) entro il termine concordato. Fai firmare una liberatoria di consegna.
Errori comuni da evitare
- Non avere un contratto firmato prima del test: anche se il cliente è amico, non farlo. Un test senza autorizzazione è reato.
- Usare tool automatici senza conoscerne l'impatto: uno scanner come Nessus può mandare in crash un server. Il contratto deve coprire questo rischio.
- Conservare i risultati del test su cloud pubblico: è una violazione della privacy se contiene dati personali.
- Non aggiornare le autorizzazioni per test ripetuti: un vecchio contratto non vale per un nuovo test se lo scope è cambiato.
In sintesi — cosa fare adesso
Se stai per eseguire un penetration test in Italia, prendi queste azioni immediate:
- Scarica il template di Penetration Testing Agreement da OWASP (https://owasp.org/www-project-web-security-testing-guide/latest/3-The_OWASP_Testing_Framework/1-Penetration_Testing_Methodologies) e adattalo alla normativa italiana con l'aiuto di un avvocato specializzato in cybercrime.
- Redigi uno scope document dettagliato con tutti gli indirizzi IP e servizi autorizzati. Fai firmare al cliente prima di iniziare.
- Prepara un log di audit: usa uno strumento come Burp Suite con logging attivo o un semplice script bash che registri ogni comando con timestamp.
- Stipula una polizza RC professionale per penetration testing (molte assicurazioni generali non coprono attività di hacking autorizzato).
- Leggi l'articolo correlato su come la tecnologia non è mai neutrale (link) – anche l'etica fa parte del framework legale.
Sponsored Protocol