Ho raccolto statistiche dalla mia ricerca sulla sicurezza informatica negli ultimi anni. Ho deciso di condividerli un po'. Qui è possibile trovare un rapporto di test di penetrazione del campione – report. In un gran numero di interviste con tester di penetrazione, sento la domanda – "La sicurezza delle applicazioni web è migliorata nel corso degli anni?" A mio parere- sì, ma solo dove è in qualche modo forzato da una regolamentazione dal basso verso l'alto. I test di penetrazione aiutano a migliorare la sicurezza? – sicuramente sì!
Di quali dati stiamo parlando?
Negli ultimi 2 anni, sono riuscito a eseguire oltre 100 test di penetrazione, audit di sicurezza, analisi e riprove. Queste erano applicazioni diverse per diversi clienti. La stragrande maggioranza erano applicazioni web. Quando un'applicazione è stata testata per la prima volta, ha quasi sempre rilevato un errore che ha classificato la minaccia come critica o alta. Per i non iniziati, l'uso di questo tipo di vulnerabilità porta al pieno controllo dell'applicazione (spesso anche del server) o consente l'accesso a dati sensibili.
Le statistiche per classificazione della suscettibilità sono simili alle seguente:
Il rilevamento di così tanti errori di sicurezza nelle applicazioni che va avanti da anni, a mio parere, indica che è stato speso troppo poco tempo per la sicurezza nelle prime fasi dello sviluppo del software. Penso all'educazione dei programmatori, alla sicurezza nella costruzione stessa delle architetture software e alla modellazione dei rischi. Senza questo, le vulnerabilità saranno ancora catturate nella fase finale dello sviluppo del software (quindi il costo della riparazione è grande) o peggio, solo sugli ambienti di produzione da questi hacker meno etici ;).
Le vulnerabilità più comunemente riscontrate a causa del tipo di
Diamo un'occhiata a più statistiche. Questa volta, i tipi di vulnerabilità più comunemente trovati.
Con colori diversi, ho cercato di contrassegnare la tipica classificazione del rischio di una data vulnerabilità (ovviamente, per dirla semplicemente, in pratica dipende da molti fattori). A sua volta, assomiglia a questo: bordeaux – critico, rosso – alto, arancione – medio, verde- basso.
Prima di tutto, si può vedere qui che XSSy sono il tipo di vulnerabilità più comunemente trovato di quelli più criticati. Per me è sorprendente che sia noto da circa 30 anni. Inoltre, è forse la classe più riconoscibile di errori di sicurezza. Pertanto, il suo verificarsi dovrebbe già essere raro.
A loro volta, ci sono vulnerabilità associate all'autorizzazione, che è un processo valido per verificare che l'utente abbia il diritto di eseguire una particolare operazione. Il problema è particolarmente evidente nelle applicazioni con API avanzate.
Se si esaminano le statistiche per gli errori più comuni, il primo posto è divulgare informazioni che non dovrebbero essere rese pubbliche. Si prega di notare che la prima fase di hacking delle applicazioni è la ricognizione. Qualsiasi informazione ridondante che sembra banale può in ultima analisi rivelarsi cruciale per un attacco efficace.
Vengono quindi elencati i messaggi di errore non generali. Come in precedenza, spesso rivelano troppi dati sensibili, ad esempio sulle tecnologie utilizzate.
In terzo luogo, il problema, che credo porterà nei prossimi anni nelle statistiche alla prima posizione. Si tratta di un debito tecnologico e dell'uso associato di componenti con vulnerabilità note. Dal mio punto di vista, le applicazioni di oggi sono composte da molti piccoli blocchi e catene di dipendenza. Ciò fa sì che quasi ogni giorno si evolva che un piccolo componente è già aggiornato. Conquistare la sua versione spesso comporta la ricostruzione di parte dell'applicazione (almeno osto tali informazioni dagli sviluppatori ;)), e questo processo purtroppo consuma molte risorse.
OWASP Top 10 vs TOP 12 Pentester
L'elenco delle vulnerabilità rilevate più di frequente con l'elenco OWASP Top 10 è il seguente:
È difficile mappare i miei "reperti" da 1 a 1 nella lista di OWASPa. Non troveremo una riflessione qui per "Autenticazione interrotta". Questo semplicemente perché l'account brutforssing è per lo più al di fuori del mio intervallo di test (e altri errori all'interno di questo punto non sono nella mia lista superiore). Invano cerca anche un link a XXE. Dalle mie osservazioni, gli errori di questa classe si verificano sempre meno spesso. Penso che ciò sia legato al fatto che i framework responsabili dell'elaborazione di XMLy per impostazione predefinita non consentono più l'uso di entità esterne. Tuttavia, il riassunto di cui sopra mostra che, per quanto possibile, l'elenco OWASP TOP 10 non è solo una teoria secca e si riflette nella pratica. Pertanto, vale la pena usarlo, così come tutte le conoscenze fornite dall'Open Web Application Security Project.