Video: Conoscere la crittografia...rompendola! | Marco Ortisi | HackInBo® Winter Edition 2018 2024
I sistemi basati sul Web contengono molti componenti, inclusi il codice dell'applicazione, i sistemi di gestione del database, i sistemi operativi, il middleware e il software del server web stesso. Questi componenti possono, individualmente e collettivamente, avere difetti di progettazione o di implementazione. Alcuni dei difetti presenti includono:
- Mancato blocco degli attacchi per iniezione. Attacchi come l'iniezione di JavaScript e l'iniezione SQL possono consentire a un utente malintenzionato di causare il malfunzionamento di un'applicazione Web e di esporre dati sensibili internamente memorizzati.
- Autenticazione difettosa. Ci sono molti, molti modi in cui un sito web può implementare l'autenticazione - sono troppo numerosi per essere elencati qui. L'autenticazione è essenziale per avere ragione; molti siti non riescono a farlo.
- Gestione sessione errata. I server Web creano "sessioni" logiche per tenere traccia dei singoli utenti. I meccanismi di gestione delle sessioni di molti siti Web sono vulnerabili agli abusi, in particolare quelli che consentono a un utente malintenzionato di rilevare la sessione di un altro utente.
- Mancato blocco degli attacchi di cross-site scripting. Siti Web che non riescono a esaminare e disinfettare i dati di input. Di conseguenza, gli autori di attacchi a volte possono creare attacchi che inviano contenuti dannosi all'utente.
- Mancato blocco degli attacchi di falsificazione delle richieste tra siti. I siti Web che non utilizzano la sessione corretta e la gestione del contesto delle sessioni possono essere vulnerabili agli attacchi in cui gli utenti sono indotti a inviare comandi a siti Web che potrebbero causare loro danni.
Un esempio è dove un utente malintenzionato induce un utente a fare clic su un collegamento che in realtà porta l'utente a un URL come questo:
// bank. com / trasferire? tohackeraccount: importo = 99999. 99
. - Mancata protezione dei riferimenti agli oggetti diretti. A volte i siti Web possono essere ingannati per accedere e inviare dati a un utente che non è autorizzato a visualizzarlo o modificarlo.
Queste vulnerabilità possono essere mitigate in tre modi principali:
- Formazione degli sviluppatori sulle tecniche di sviluppo del software più sicuro
- Inclusione della sicurezza nel ciclo di vita dello sviluppo
- Uso dell'applicazione dinamica e statica strumenti di scansione