Inhaltsverzeichnis
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