La OWASP Top 10 rappresenta il documento di riferimento a livello internazionale in cui vengono identificati i 10 maggiori rischi di sicurezza per le Web Application. Il documento dovrebbe essere usato in tutti i progetti Web per assicurare che lo sviluppo minimizzi questi rischi.
Quali sono i 10 maggiori rischi di sicurezza per le Web Application
Alla data in cui scriviamo la Top 10 è composta da:
- Broken Access Control: non sono correttamente applicate le restrizioni a cosa può o non può fare un utente permettendo di utilizzare funzioni che richiederebbero privilegi elevati a semplici utenti.
- Cryptographic Failure: precedentemente noto come “Sensitive Data Exposure” che denotava maggiormente il sintomo piuttosto che la causa, questo rischio pone il focus verso i fallimenti nella cifratura e protezione dei dati( cifratura at rest e in transit, autenticazione, autorizzazione, ecc…) che comportano l’esposizione, a volte pubblicamente, di dati personali e privati.
- Injection: una injection avviene quando alcuni dati vengono inviati ad un interprete dei dati che non li gestisce correttamente permettendo all’hacker di accedere ad informazioni riservate o di eseguire commandi.
- Insecure Design: la progettazione errata comporta gravi rischi, volendo applicare il modello industriale è necessario utilizzare, nella progettazione, threat modeling, secuirity design pattern e architetture consolidate.
- Security Misconfiguration: probabilmente il più comune, configurazioni errate o non precise a livello di sicurezza espongono i sistemi ad enormi rischi di compromissione.
- Vulnerable and Outdated Components: precedentemente noto come Components with Known Vulnerabilities; librerie, framework e qualsiasi software terzo può avere vulnerabilità che se non vengono gestite correttamente compromettono l’applicazione.
- Identification and Authentication Failures: precedentemente noto come Broken Authentication; l’identificazione e l’autenticazione non sono gestite correttamente e l’hacker può rubare password, chiavi, sessioni, cookie per impersonare altri utenti.
- Software and Data Integrity Failures: sottovalutare l’integrità e la sicurezza, attraverso semplici assunzioni di correttezza, di aggiornamenti software, dati critici e pipeline di CI/CD può comportare gravissimi problemi e compromettere intere piattaforme.
- Security Logging and Monitoring Failures: precedentemente noto come Insufficient Logging & Monitoring; il mancato monitoraggio e la mancata integrazione di processi di incident response può comportare la persistenza dell’hacker nei propri sistemi. Oggi c’è una media di 200 giorni prima di scoprire un attacco.
- Server-Side Request Forgery(SSRF): un attacco SSRF avviene quando una Web Application acquisisce dati da sorgenti remote senza validare la URL inserita dall’utente. Ciò permette ad un attaccante di forza un’applicazione ad inviare richieste opportunamente modificare a destinazioni ad hoc, anche protette da ACL e firewall. la deserializzazione dei dati non è applicata correttamente permettendo l’esecuzione di comandi da parte dell’attaccante.
Le soluzioni alla OWASP Top 10
Per ottenere applicazioni con la minima esposizione di rischio occorre applicare ai propri progetti di sviluppo i seguenti elementi:
- Formazione avanzata: la formazione rappresenta la prima difesa, migliori skill permettono a tutti gli elementi di un progetto di riuscire a produrre codice più sicuro, solo attraverso un’intensa formazione paradigmi come “Security by design” e “Privacy by Design” possono diventare parte integrante dei progetti. Contattaci subito e senza impegno per un preventivo gratuito.
- Code review: durante la fase di sviluppo il codice deve attraversare fasi di revisione che lo ispezionano, riga per riga, alla ricerca di possibili problemi. Contattaci subito e senza impegno per un preventivo gratuito.
- Test di qualità: alla fine di ogni ciclo di sviluppo vanno effettuati test oltre che di mera funzionalità del programma anche di comportamenti inusuali dell’utente che possono compromettere il software. E’ necessario verificare qualsiasi casistica soprattuto in software business critical. Contattaci subito e senza impegno per un preventivo gratuito.
- Penetration Test: quando sei pronto per andare in produzione prova a far compromettere il software ad un hacker professionista e se il software è già in produzione prova ugualmente perchè, alla luce delle attuali norme, arrivare troppo tardi nella sicurezza potrebbe compromettere la stabilità della tua azienda/organizzazione. Contattaci subito e senza impegno per un preventivo gratuito.
Perchè Glue Labs
Abbiamo lavorato con tantissimi Clienti e vantiamo Ethical Hacker professionisti in possesso di certificazioni internazionali di assoluto livello come OSCP, OSCE, OSWE, eCPPT, eCPTX, Red Team Professional, ISO 27001 LA e molto altro. Contattaci subito e senza impegno per un preventivo gratuito.