Checklist Sicurezza (KRITIS/NIS2)

Versione: 2.0
Ambito: Crypto, sicurezza memoria, disponibilità, divulgazione informazioni, gestione sicura errori.

Checklist sicurezza completa basata su vulnerabilità CWE e pattern di attacco.

Sicurezza Crittografica

Verifica CWE Descrizione
[ ] Unicità Nonce CWE-323 Nonce AES-GCM unico per cifratura (CRITICO!)
[ ] Tracciamento Nonce CWE-323 Traccia nonce usati, applica MAX_NONCES_PER_KEY
[ ] Rotazione Chiavi CWE-323 Ruota chiave dopo limite nonce raggiunto
[ ] RNG Crittografico CWE-330 OpenSSL/OS CSPRNG per chiavi/nonce
[ ] ID Casuali CWE-330 Nessun ID chiave/sessione sequenziale
[ ] Confronto Constant-time CWE-208 Per segreti, MAC, token, chiavi API
[ ] Protezione Replay CWE-294 Tracciamento nonce/timestamp/sequenza
[ ] Cifratura Canale CWE-300 mTLS per comunicazione esterna

Sicurezza Memoria

Verifica CWE Descrizione
[ ] Azzeramento Memoria CWE-316 Pulisci segreti dopo l'uso
[ ] Nessun Segreto nei Log CWE-532 Mai registrare chiavi, password, token
[ ] Gestione Stringhe Sicura CWE-316 SecureString (C#), secrecy (Rust)
[ ] Materiale Chiave Pulito CWE-316 try-finally assicura pulizia su eccezione

Validazione Input

Verifica CWE Descrizione
[ ] Limiti Dimensione CWE-400 MAX_PAYLOAD_SIZE applicato (default: 64KB)
[ ] Integer Overflow CWE-190 SafeAdd(), checked_add(), aritmetica verificata
[ ] Controlli Null CWE-476 A tutti i confini API
[ ] Nessun Unwrap su Input CWE-248 Gestione errori corretta, nessun panic su dati malformati
[ ] Query Parametrizzate CWE-89 Mai concatenazione stringhe per SQL
[ ] Validazione Caratteri - Whitelist per identificatori dove appropriato

Gestione Errori

Verifica CWE Descrizione
[ ] Messaggi Sanificati CWE-209 Nessun percorso/versione/stack trace al client
[ ] Logging Errori Completo - Registra errore completo internamente prima di sanificare
[ ] Nessun Panic nel Servizio CWE-248 Recupero errore graceful, servizio resta attivo
[ ] Stack Trace Preservato - Re-throw senza wrapping

Disponibilità (Protezione DoS)

Verifica CWE Descrizione
[ ] Rate Limiting CWE-400 Token bucket per client/endpoint
[ ] Limiti Dimensione Richieste CWE-400 Rifiuta payload troppo grandi precocemente
[ ] Sicurezza Lock CWE-667 Meccanismo recupero lock
[ ] Pulizia Risorse CWE-772 try-finally, using, defer, RAII - sempre
[ ] Gestione Timeout CWE-400 Timeout su tutte le operazioni esterne

Sicurezza Thread

Verifica CWE Descrizione
[ ] Lock Poisoning Gestito CWE-667 Recupero da lock avvelenati
[ ] Nessuna Race Condition CWE-362 Strutture dati thread-safe
[ ] Operazioni Atomiche CWE-362 Per contatori, flag, stato condiviso
[ ] Prevenzione Deadlock CWE-833 Ordinamento lock, timeout

Audit & Conformità

Verifica Standard Descrizione
[ ] Tutte Modifiche Registrate ISO 27001 A.12.4 Modifiche dati con utente, timestamp, valore vecchio/nuovo
[ ] Eventi Sicurezza Registrati NIS2 Art. 21 Auth fallita, rate limiting, input sospetto
[ ] Rotazione File Log - Formato incrementale
[ ] Nessun Dato Sensibile nei Log CWE-532 Audit per esposizione accidentale

Riferimento Rapido - Per Tipo di Attacco

Attacchi Crittografici:

  • [ ] Riutilizzo nonce prevenuto
  • [ ] Attacchi timing mitigati (confronto constant-time)
  • [ ] Attacchi replay bloccati
  • [ ] Enumerazione chiavi prevenuta (ID casuali)

Attacchi su Input:

  • [ ] Buffer overflow prevenuto (limiti dimensione)
  • [ ] Integer overflow prevenuto
  • [ ] Input malformato gestito
  • [ ] SQL injection prevenuto

Attacchi su Disponibilità:

  • [ ] Esaurimento risorse prevenuto (rate limiting)
  • [ ] Lock poisoning gestito
  • [ ] Esaurimento memoria prevenuto

Divulgazione Informazioni:

  • [ ] Messaggi errore sanificati
  • [ ] Segreti azzerati dopo l'uso
  • [ ] Nessun dato sensibile nei log

<wvds:audit:template critical=„true“> Nessuna chiamata exec/shell_exec/system Nessuna chiamata eval() Output escaping Prevenzione SQL injection Protezione CSRF </wvds:audit:template>


Versione: 2.0 (Split)
Autore: Wolfgang van der Stille

Torna a Checklist Sicurezza | Checklist di Revisione

Zuletzt geändert: il 30/01/2026 alle 01:31