Modelul clasic — construiești sistemul, apoi chemi auditorul — produce constant același rezultat: un raport cu 40 de constatări, dintre care cinci nu pot fi rezolvate fără modificări arhitecturale.
Ce mutăm la început
Modelarea amenințărilor
O ședință de trei ore în faza de arhitectură, în care ne întrebăm sistematic: cine ar vrea să atace acest sistem, ce ar câștiga și pe unde ar intra. Rezultatul este o listă de controale, nu un document de conformitate.
Modelul de audit
Ce evenimente trebuie înregistrate, cât timp se păstrează, cine le poate citi. Este mult mai ieftin să decizi asta înainte de a scrie prima linie de cod decât să adaugi jurnalizare într-un sistem deja lansat.
Clasificarea datelor
Nu toate datele au aceeași sensibilitate. Când știi de la început care câmpuri sunt speciale, criptarea, mascarea în jurnale și regulile de retenție devin decizii de proiectare, nu remedieri.
Ce automatizăm
- Analiză statică cu reguli de securitate, la fiecare pull request
- Scanarea dependențelor pentru vulnerabilități cunoscute, zilnic
- Verificarea automată a secretelor scăpate în cod
- Teste care confirmă că regulile de autorizare fac ce trebuie
Ce rămâne pentru audit
Auditul extern își păstrează rolul, dar devine o confirmare, nu o descoperire. În ultimele cinci proiecte livrate cu acest proces, auditurile independente au raportat în medie trei constatări minore, niciuna critică.
Costul suplimentar față de abordarea clasică este de aproximativ 4% din bugetul proiectului. Costul remedierii unei probleme arhitecturale descoperite după lansare este, de regulă, cu un ordin de mărime mai mare.