Sicurezza
Da noi registri i tuoi processi, i tuoi rischi e i tuoi controlli. È giusto allora che tu sappia come gestiamo noi stessi la sicurezza. La maggior parte dei fornitori mostra un logo. Noi mostriamo i nostri compiti — compreso ciò che è ancora aperto.
Verificato rispetto a OWASP ASVS 5.0 Level 2
ASVS è lo standard di sicurezza applicativa di OWASP. Il Level 2 è il livello pensato per le applicazioni che trattano dati sensibili. Abbiamo esaminato uno per uno tutti i 253 requisiti del Level 1 e del Level 2 e per ogni requisito abbiamo registrato qual è lo stato — e perché.
Questa è un'autovalutazione, non una certificazione
Nessun auditor esterno l'ha esaminata. Per questo non ci definiamo conformi ad ASVS, certificati ASVS o ASVS ready: lascerebbe intendere che sia stato qualcun altro a verificarlo. Quello che vedi qui è la nostra valutazione, motivata riga per riga, con i punti aperti indicati senza giri di parole.
Lo stato
222 dei 253 sono conclusi oppure non applicabili, con motivazione. I restanti 31 sono elencati uno per uno nel nostro registro — motivo compreso.
Questi numeri sono ricavati dal registro e verificati a ogni release. Non possono quindi invecchiare in silenzio mentre il registro cambia.
Cosa significa in concreto
Uno standard è astratto. Ecco cosa c'è dentro nella pratica:
Separazione tra organizzazioni
Tutte le query su processi, rischi e masterdata passano da un confine tenant che impone l'organizzazione e si chiude se il contesto manca — un confine dimenticato produce un errore, mai in silenzio i dati di qualcun altro. Un utente di un'organizzazione non può recuperare i dati di un'altra, nemmeno indovinando un id.
Ruoli e permessi sul server
Chi può fare cosa viene deciso sul server, non nel browser. Un lettore non può modificare nulla dei contenuti, nemmeno facendo ricomparire un pulsante.
Verifica in due passaggi
Disponibile tramite un'app di autenticazione, con codici di backup. La offriamo ma non la imponiamo; quella scelta è motivata nel registro.
Le password compromesse vengono rifiutate
Quando imposti una password la confrontiamo con il database di Have I Been Pwned. Se compare lì dentro, non è utilizzabile.
Percorsi di accesso limitati
I percorsi in cui transitano le credenziali hanno un limite, e quel limite risiede nel database — non nella memoria di un singolo processo, così che un riavvio o un secondo container non lo azzeri.
Content-Security-Policy rigorosa
Con un nonce per pagina, così che uno script iniettato non arrivi mai in esecuzione.
Sessioni
Il cookie di sessione è HttpOnly, Secure e SameSite. Vale una durata massima assoluta, e le operazioni sensibili richiedono di nuovo la tua password.
Audit trail e security logging
Le modifiche ai tuoi processi, ruoli, rischi e controlli vengono registrate con chi, cosa e quando. Un'autorizzazione negata viene registrata a parte — un login fallito è rumore, ma chi con una sessione valida prova a fare qualcosa che non gli è permesso è un segnale.
Catena di fornitura
Manteniamo una SBOM delle dipendenze che eseguiamo in produzione, e la pipeline analizza automaticamente ogni modifica alla ricerca di secret committati per errore.
Per capitolo
I 17 capitoli dello standard, con lo stato per capitolo. I titoli dei capitoli sono i nomi dello standard stesso e li lasciamo non tradotti — così restano rintracciabili.
| Capitolo | Requisiti | Soddisfatti | N/A | Parziali | Aperti |
|---|---|---|---|---|---|
| V1 Encoding and Sanitization | 27 | 12 | 15 | 0 | 0 |
| V2 Validation and Business Logic | 11 | 7 | 1 | 3 | 0 |
| V3 Web Frontend Security | 19 | 18 | 0 | 0 | 1 |
| V4 API and Web Service | 10 | 2 | 6 | 2 | 0 |
| V5 File Handling | 9 | 4 | 4 | 1 | 0 |
| V6 Authentication | 35 | 26 | 6 | 2 | 1 |
| V7 Session Management | 18 | 15 | 3 | 0 | 0 |
| V8 Authorization | 7 | 7 | 0 | 0 | 0 |
| V9 Self-contained Tokens | 7 | 0 | 7 | 0 | 0 |
| V10 OAuth and OIDC | 29 | 0 | 29 | 0 | 0 |
| V11 Cryptography | 14 | 12 | 1 | 1 | 0 |
| V12 Secure Communication | 9 | 3 | 1 | 2 | 3 |
| V13 Configuration | 13 | 6 | 0 | 4 | 3 |
| V14 Data Protection | 9 | 7 | 0 | 2 | 0 |
| V15 Secure Coding and Architecture | 13 | 10 | 0 | 3 | 0 |
| V16 Security Logging and Error Handling | 16 | 13 | 0 | 1 | 2 |
| V17 WebRTC | 7 | 0 | 7 | 0 | 0 |
Cosa è ancora aperto
Pubblichiamo anche ciò che non è finito — altrimenti trasparenza è solo una parola da marketing. In questo momento ci sono 10 requisiti aperti e 21 parziali. Il baricentro sta nei requisiti infrastrutturali che abbiamo consapevolmente accettato sulla base del nostro modello delle minacce, a cui si aggiungono alcune scelte di policy che richiedono ancora una decisione, una singola deviazione che risiede in una libreria esterna, e un residuo di hardening che completiamo noi stessi. Ogni punto è nel registro con la sua motivazione — compresi i punti che vogliamo chiudere per primi.
Perché non spuntare semplicemente tutto?
Perché non ogni requisito pesa allo stesso modo in questa applicazione. Per ogni requisito abbiamo fatto una scelta consapevole e l'abbiamo messa per iscritto — compresi i requisiti che (ancora) non soddisfiamo e il perché riteniamo quel rischio accettabile. Su quei punti questo non ci rende conformi ad ASVS; rende la scelta verificabile. Una lacuna taciuta non lo sarebbe.
E NIS2?
Se la tua organizzazione rientra in NIS2, devi avere una presa dimostrabile sui tuoi processi, sui tuoi rischi e sulla tua catena. Registrare esattamente questo è ciò per cui Proceshuis è stato costruito: processi, ruoli tramite RASCI, rischi e controlli in un unico sistema, con storico delle versioni e un audit trail su quei contenuti che mostra chi ha modificato cosa e quando.
Cosa non affermiamo qui
Proceshuis non rende la tua organizzazione conforme a NIS2, e noi non ci definiamo conformi a NIS2. NIS2 è una direttiva organizzativa: gestione del rischio, notifica degli incidenti, responsabilità sulla catena, responsabilità degli amministratori. Il software ne copre una parte. Noi supportiamo i tuoi obblighi; non ce ne facciamo carico al posto tuo.
Il registro completo
Tutti i 253 requisiti con la motivazione riga per riga, compresi i punti aperti e il perché siano aperti. Lo condividiamo su richiesta: contiene dettagli di implementazione che non hanno posto su una pagina pubblica.
Richiedi il registro