Come possono i team di ingegneria rilevare le violazioni di conformità durante la code review invece che nell'audit?
il team heygrc
Un audit è un indicatore ritardato: campiona ciò che è stato distribuito mesi fa, quando la violazione è già in produzione e costosa. La code review è l'indicatore anticipato, l'ultimo momento in cui una violazione è a un click dal non esistere. Per rilevarla lì: sapete quali controlli risiedono effettivamente nel codice, fate della domanda di conformità parte della lettura di ogni diff, collegate ogni segnalazione alla clausola specifica e mantenete la traccia in modo che la revisione stessa diventi prova per l'audit.
Mappare i controlli sulle superfici del codice
La maggior parte dei controlli dei framework sono organizzativi, ma una minoranza consistente risiede nel codice: registrazione degli audit (ISO 27001 A.8.15, SOC 2 CC7.2), controllo degli accessi (CC6.1), crittografia (A.8.24), minimizzazione dei dati (GDPR Art. 5(1)(c)) e limitazione della conservazione (Art. 5(1)(e)), backup e modifiche alle dipendenze. Questi sono i controlli che derivano un commit alla volta, quindi elencateli una volta e tenete l'elenco dove i revisori possono vederlo.
Porre la domanda di conformità su ogni diff
Correttezza e stile hanno già un posto nella revisione; anche la conformità ne ha bisogno. Questo può essere un checklist di revisione per iniziare, o un revisore automatico che legge ogni pull request rispetto ai vostri framework. L'automazione è importante qui perché la domanda deve essere posta ogni volta per funzionare: la diff non letta è quella in cui la violazione viene distribuita. Uno stato neutro di verifica impedisce che questo rallenti i merge.
Collegare ogni segnalazione alla clausola
Una segnalazione che indica che ISO 27001 A.8.15 è a rischio è discutibile, risolvibile e campionabile in seguito; una segnalazione che dice fate attenzione ai log non è nessuna di queste cose. Il collegamento alla clausola mantiene anche i falsi positivi tollerabili, perché l'ingegnere può verificare l'affermazione rispetto al controllo invece di indovinare.
Mantenere la traccia
Una lettura di conformità allegata a ogni pull request è la prova che la revisione è stata eseguita su ogni modifica, esattamente il tipo di traccia per modifica che un auditor campiona. Significa anche che l'audit smette di essere il momento della scoperta, perché la scoperta è già avvenuta durante la revisione.
track("report.exported", {- email: user.email,+ userId: user.id, reportId: report.id,})L'evento mantiene il suo valore analitico con un id interno invece di un indirizzo email. Rilevato durante la revisione, questa è una correzione di una riga; trovato durante l'audit, sono mesi di eventi esportati da correggere.
Correlati