Laborator 6: Aplicarea Fuzzing-ului pentru Testarea de Securitate
Obiective
Introducerea conceptului de fuzzing și aplicarea acestuia pentru identificarea vulnerabilităților în aplicația dezvoltată în laboratoarele anterioare
Utilizarea unor framework-uri de fuzzing pentru testarea API-urilor, componentelor web și procesării imaginilor
Identificarea și analiza defectelor de securitate cauzate de input-uri neașteptate
Cerințe tehnologice
Instrumente de fuzzing: AFL++ (American Fuzzy Lop), BooFuzz, ZAP (OWASP Zed Attack Proxy), fuzzing nativ pentru Python, JavaScript sau alte limbaje utilizate
Target de testare: Endpoint-uri API, procesare imagini, module critice ale aplicației
CI/CD Integration: Posibilitatea de a rula fuzzing în mod automat în pipeline
Format de raportare: JSON, HTML, logs
Funcționalități
1. Configurarea și aplicarea fuzzing-ului
Alegerea unui target relevant pentru fuzzing (API, procesare imagini, interfață utilizator)
Configurarea generatorului de input-uri și a strategiilor de mutație
Rularea testelor și analiza comportamentului aplicației în fața datelor generate
2. Detectarea și analiza vulnerabilităților
Identificarea crash-urilor, excepțiilor și erorilor de securitate
Analiza log-urilor și interpretarea rezultatelor fuzzing-ului
Propunerea unor măsuri de remediere pentru problemele descoperite
3. Automatizarea fuzzing-ului în CI/CD
Integrarea fuzzing-ului ca un pas automat în pipeline-ul de livrare
Setarea unor criterii pentru oprirea testelor și raportarea vulnerabilităților
Generarea de rapoarte detaliate pentru fiecare execuție
Evaluare
Configurarea corectă a unui framework de fuzzing (30%)
Detectarea și analiza vulnerabilităților descoperite (40%)
Integrarea fuzzing-ului în pipeline-ul CI/CD (30%)