În acest articol, vom analiza câteva dintre instrumentele de securitate pe care le poți implementa în testarea din cadrul pipeline-urilor CI/CD, pentru a detecta din timp vulnerabilitățile sau problemele înainte de lansarea în producție. Toate instrumentele enumerate sunt open-source sau gratuite.
De ce este important să ai instrumente de securitate în procesul tău CI/CD?
Când vine vorba despre Security Software Development Lifecycle (SSDLC), unul dintre conceptele sale de bază spune că este mai bine să identifici vulnerabilitățile de securitate cât mai devreme posibil în procesul de dezvoltare. Aplicarea acestui concept te ajută să economisești considerabil costuri, deoarece testarea și implementarea remediilor într-o etapă timpurie sunt mai puțin costisitoare decât realizarea lor în producție.
În plus, vei avea siguranța că proiectul livrat trece prin câteva verificări de securitate înainte de deployment.
Instrumentele prezentate în acest articol de blog te vor ajuta să detectezi următoarele aspecte de securitate:
- Secrete hardcodate în cod
- Versiuni vulnerabile ale dependențelor
- Vulnerabilități de securitate în cod (SAST)
- Vulnerabilități de securitate la runtime (DAST)
- Verificări de securitate pentru aplicații mobile
- Audit de securitate TLS/SSL
Identificarea secretelor hardcodate în cod
Proiectul tău nu ar trebui să conțină secrete hardcodate, precum parole, chei private, PII și altele. Poți folosi Whispers pentru a scana întregul proiect și a identifica astfel de informații.
Sursă: https://github.com/Skyscanner/whispers
Verificarea versiunilor vulnerabile ale dependențelor
Atacatorii pot exploata vulnerabilități din bibliotecile, modulele sau framework-urile terțe pe care le folosești. Pentru a preveni aceste probleme, poți utiliza un instrument precum OWASP-DependencyCheck.
Sursă: https://github.com/jeremylong/DependencyCheck/
Identificarea vulnerabilităților de securitate în cod (SAST)
Static Analysis Security Testing (SAST) îți permite să rulezi verificări automate asupra codului dezvoltat, pentru a găsi posibile vulnerabilități de securitate. Recomandăm implementarea SonarQube Community Edition, deoarece acoperă majoritatea limbajelor de programare și este foarte eficient.
Sursă: https://www.sonarqube.org/downloads/
Descoperirea vulnerabilităților de securitate la runtime (DAST)
Dynamic Analysis Security Testing (DAST) îți permite să rulezi verificări automate asupra proiectului/codului în timp ce acesta rulează, ceea ce ajută la eliminarea rezultatelor fals pozitive. În acest scop, poți folosi un instrument complet personalizabil precum Nuclei.
Sursă: https://github.com/projectdiscovery/nuclei
Identificarea problemelor de securitate mobile (Android & iOS)
Dacă vrei să verifici postura generală de securitate a proiectului tău mobil, te poți baza pe Mobile Security Framework (MobSF). Acesta îți oferă un set complet de metode de scanare, inclusiv analiză de cod sursă, verificări de hardening, identificarea secretelor și multe altele. Prin MobSF poți scana atât pachete Android, cât și iOS.
Sursă: https://github.com/MobSF/Mobile-Security-Framework-MobSF
Audit de securitate TLS/SSL
Proiectul tău folosește criptare TLS/SSL pentru comunicațiile dintre componente? Dacă da, atunci ar trebui să te asiguri că aceasta nu poate fi spartă sau exploatată de atacatori. Poți verifica securitatea configurației TLS/SSL folosind un instrument precum SSLScan.
Sursă: https://github.com/rbsec/sslscan
Toate instrumentele prezentate mai sus sunt open-source și pot fi implementate în rutina de testare a proiectului tău. Cele mai multe dintre ele au integrări pentru platforme CI/CD cunoscute.







