====== 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 ---- Nessuna chiamata exec/shell_exec/system Nessuna chiamata eval() Output escaping Prevenzione SQL injection Protezione CSRF ---- //Versione: 2.0 (Split)//\\ //Autore: Wolfgang van der Stille// Torna a [[start|Checklist Sicurezza]] | [[..:start|Checklist di Revisione]] ~~DISCUSSION:off~~