Ce este de fapt DevSecOps
DevSecOps este o abordare de dezvoltare software care integrează securitatea în întregul ciclu de viață al dezvoltării, în loc să o trateze ca o activitate ulterioară. DevSecOps implică adoptarea unor practici de codare sigure și implementarea unor instrumente de testare a securității aplicațiilor care ajută la proiectarea, testarea, verificarea, lansarea și actualizarea software-ului sigur într-un mod sigur. De asemenea, necesită asigurarea că nu numai software-ul în sine este sigur, ci și mediul de dezvoltare și întregul lanț de aprovizionare este sigur. Ca urmare, DevSecOps se bazează pe un nivel ridicat de automatizare a instrumentelor pentru a reduce la minimum munca manuală.

DevSecOps este o schimbare culturală chiar și pentru echipele DevOps, deoarece necesită ca toți membrii să adopte o mentalitate de securitate care să asigure că software-ul nu este lansat doar rapid și la cea mai înaltă calitate posibilă, ci include și toate măsurile și verificările de securitate încă din faza de proiectare. Pentru a înțelege mai bine DevSecOps, este util să cunoaștem câteva concepte cheie de securitate, cum ar fi:
- SBOM – Software Bill of Materials: Un SBOM cuprinde toate componentele și dependențele software din procesul de construire și livrare al aplicației. Acesta permite identificarea rapidă a vulnerabilităților potențiale sau a componentelor compromise din software.
- Secure by Design: Este un principiu care presupune incorporarea proactivă a securității în designul software-ului, în loc să o adauge ulterior ca o remediere. Acest lucru implică respectarea unor standarde și practici de codare sigure, precum și utilizarea unor instrumente care pot detecta și preveni defectele sau vulnerabilitățile din cod.
- Shift-Left: Este o practică care presupune abordarea securității devreme în procesul de dezvoltare, în loc să o amâne pentru fazele ulterioare sau post-dezvoltare. Acest lucru implică integrarea unor instrumente automate de testare a securității în fluxul de lucru DevOps, astfel încât să se poată identifica și remedia problemele de securitate cât mai curând posibil.
- Continuous Security: Este o practică care presupune aplicarea continuă a măsurilor și verificărilor de securitate pe tot parcursul ciclului de viață al dezvoltării software-ului, nu doar la momente punctuale. Acest lucru implică utilizarea unor instrumente care pot monitoriza și actualiza starea de securitate a software-ului în timp real, precum și implementarea unor mecanisme de feedback rapid și remediere automatizată.
- Threat Modeling: Este un proces care presupune identificarea și atenuarea amenințărilor potențiale la adresa software-ului sau a infrastructurii sale. Acest lucru implică analizarea contextului operațional al software-ului, definirea actorilor și scenariilor relevante, evaluarea riscurilor și impactului posibilelor atacuri, precum și stabilirea unor contramăsuri adecvate.
- Infrastructure as Code: Este o practică care presupune gestionarea infrastructurii software ca fiind cod sursă, nu ca fiind resurse fizice sau virtuale. Acest lucru permite automatizarea configurării, implementării și actualizării infrastructurii.