Blog | Siti web professionali

I 10 rischi di un sito web sulla sicurezza
Si tratta di National Cyber Security e dell'integrità dei siti Web, vorremmo avviare una serie di post sui 10 principali rischi per la sicurezza di OWASP.
OWASP è l'acronimo di Open Web Application Security Project, una comunità online che produce articoli, metodologie, documentazione, strumenti e tecnologie nel campo della sicurezza delle applicazioni Web.
OWASP Top 10, è l'elenco delle 10 vulnerabilità delle applicazioni più viste. Mostra anche i rischi, gli impatti e le contromisure. Aggiornato ogni tre anni, l'ultima versione è stata rilasciata quest'anno. Tuffiamoci dentro!
Le 10 principali vulnerabilità di OWASP sono:
Iniezione
Autenticazione interrotta
Esposizione ai dati sensibili
XML Entità esterne (XXE)
Controllo di accesso rotto
Errori di configurazione di sicurezza
Cross Site Scripting (XSS)
Deserializzazione insicura
Utilizzo di componenti con vulnerabilità note
Registrazione e monitoraggio insufficienti
Oggi discuteremo i primi due elementi.
1. Iniezione
Un'iniezione di codice, si verifica quando un utente malintenzionato invia una richiesta non valida all'applicazione Web con l'intenzione di eseguirla.
L'esempio più comune di questa vulnerabilità di sicurezza è la query SQL che consuma dati non fidati. Di seguito, puoi vedere uno degli esempi di OWASP:
String query = "SELECT * FROM accounts WHEREcustID = '" + request.getParameter ("id") + "'";
Questa query può essere sfruttata chiamando la pagina Web eseguendola con il seguente URL: http://example.com/app/accountView?id='or'1'='1, causando il ritorno di tutte le righe memorizzate sul tabella del database.
La vulnerabilità, è la mancanza di convalida e sanificazione dei dati utilizzati dall'applicazione Web, il che significa che questa vulnerabilità può essere presente su quasi tutti i tipi di tecnologia.
Vulnerabile a un attacco di iniezione di codice.
Ecco un altro esempio di un'iniezione SQL che è stata interessata da oltre mezzo milione di siti Web con il plugin YITH WooCommerce per WordPress:
Esempio di iniezione SQL
Come si evitano le vulnerabilità di iniezione del codice?
Prevenire le vulnerabilità di iniezione del codice dipende in realtà dalla tecnologia che si sta utilizzando sul tuo sito web.
Se si dispone di un'applicazione Web personalizzata e di un team dedicato di sviluppatori, è necessario assicurarsi di disporre dei requisiti di sicurezza che gli sviluppatori possono utilizzare durante la progettazione e la scrittura di software. Ciò, ti consentirà di continuare a pensare alla sicurezza, durante il ciclo di vita del progetto.
Ecco le raccomandazioni tecniche di OWASP per prevenire le iniezioni SQL:
Prevenire le iniezioni richiede il mantenimento dei dati separati da comandi e query.
L'opzione preferita è un'API sicura, che evita completamente l'uso dell'interprete, o fornisce un'interfaccia parametrizzata o migrata, per utilizzare gli strumenti di mappatura degli oggetti relazionali (ORM).
Note: anche quando parametrizzate, le stored procedure possono introdurre SQL injection se PL / SQL o T-SQL concatenano query e dati o eseguono dati ostili con EXECUTE IMMEDIATE o exec ().
Utilizzare la convalida dell'input lato server positiva o "whitelist". Questa non è una difesa completa, in quanto molte applicazioni richiedono caratteri speciali, come aree di testo o API per applicazioni mobili.
Per tutte le query dinamiche residue, sfuggire i caratteri speciali utilizzando la specifica sintassi di escape per quell'interprete.
Note: la struttura SQL come i nomi di tabelle e così via non può essere sfuggita, e quindi i nomi delle strutture forniti dall'utente sono pericolosi. Questo è un problema comune nel software di scrittura di report.
Utilizzare LIMIT e altri controlli SQL all'interno delle query, per impedire la divulgazione di massa dei record nel caso di SQL injection.
Da questi consigli puoi astrarre due cose:
Separazione dei dati dalla logica dell'applicazione Web
Impostazioni per limitare l'esposizione dei dati in caso di successo degli attacchi di iniezione
Queste iniezioni rappresentano un grave rischio per i proprietari di siti Web, perché costituiscono un criterio di questi, possono portare a un'acquisizione ostile o alla divulgazione di informazioni riservate.
2. Autenticazione interrotta
Una vulnerabilità di autenticazione interrotta può consentire a un utente malintenzionato di utilizzare un sistema o, peggio ancora, di ottenere il controllo completo del sistema.
I siti Web con vulnerabilità di autenticazione interrotte, sono molto comuni sul Web. L'autenticazione interrotta di solito si riferisce a problemi logici, che si verificano nel meccanismo di autenticazione dell'applicazione.
Commenti
- Nessun commento trovato
Lascia i tuoi commenti