Diventa Autore per CoreTech | Scopri di più





Classi di vulnerabilità Web nel contesto delle certificazioni

18/11/21 CoreTech Blog

Per le certificazioni come CISSP, CISA, Security+, CASP+ o CySA+, le classi di vulnerabilità web costituiscono solo una piccola parte delle conoscenze richieste per superare l'esame. Ad esempio, l'esame CISSP valuta l'esperienza dello studente in otto domini e anche la conoscenza avanzata di argomenti come XSS, CSRF e SQL injection.

Perché allora molti studenti scelgono di investire molto più tempo e sforzi per acquisire una buona comprensione delle classi di vulnerabilità del web rispetto a ciò che può essere giustificato dal loro peso all'interno del solo programma? Una spiegazione plausibile è l'odierna prevalenza delle tecnologie web, combinata con il nostro desiderio intrinseco di comprendere ciò che usiamo quotidianamente. Dal punto di vista di chi sostiene l'esame, la ragione potrebbe essere ancora più semplice: nessuno vuole entrare in un esame con quello che sa essere un punto cieco, e per giunta verificabile, non importa quanto piccolo e irrilevante possa sembrare. Questo è diventato un fattore particolarmente importante con l'emergere degli esami CAT.

Allo stesso tempo, lo studio autonomo anche di classi di vulnerabilità web comuni come XSS, directory traversal e SSRF può essere piuttosto scoraggiante per gli studenti che non hanno esperienza tecnica pratica, per non parlare di quelli che non hanno la propensione a ottenere tale esperienza. Ciò è particolarmente vero per gli studenti che cercano di ottenere una certificazione con particolare attenzione alla gestione (del rischio), all'auditing, all'IAM o alla conformità e che desiderano comprendere le basi della sicurezza Web senza dover scorrere articoli e letteratura scritti con un più in mente il pubblico esperto di tecnologia.

Non sorprende quindi che gruppi di studio e forum vengano spesso utilizzati per porre domande sui diversi tipi di scripting tra siti, falsificazione di richieste tra siti e SQL injection. È sfortunato quanto prevedibile che i materiali di studio più diffusi, le guide per la certificazione e i corsi preparatori tendano a essere piuttosto leggeri sul lato tecnico delle cose e non sempre riescano a trasmettere spiegazioni corrette, per non parlare di comprensibili.  

Questo articolo mira a spiegare le tipiche classi di vulnerabilità del Web e le difese ad alto livello, in termini semplici e succinti. Ci concentreremo meno sulle minuzie tecniche e più sull'assicurarci di acquisire le solide conoscenze di base che non solo ti consentiranno di affrontare l'esame di certificazione con sicurezza, ma di comprendere l'argomento a un livello che si rivelerà utile durante l'intera carriera.

XSS (script cross-site)

Descrizione:

Un utente malintenzionato invia un input accuratamente predisposto a un server, che quindi utilizza questo input per generare una pagina Web che viene consegnata al browser Web della vittima.

Impatto:

Il codice dello script dell'aggressore diventa parte della pagina Web e viene eseguito all'interno del browser Web della vittima nel contesto della pagina Web vulnerabile.

Prevenzione:

Durante la generazione di una pagina Web contenente l'input dell'utente, i server Web dovrebbero codificare l'input dell'utente per garantire che venga semplicemente visualizzato, ma mai interpretato dal browser Web. Come controllo compensativo, i server Web possono fornire ai browser Web una politica di sicurezza dei contenuti per limitare l'impatto della mancata codifica dell'input dell'utente.

Ulteriori letture:

CSRF (falsificazione di richieste tra siti); a volte abbreviato come XSRF

Descrizione:

Un utente malintenzionato inganna il browser Web della vittima facendogli inviare una richiesta involontaria a un server, inviando alla vittima un collegamento che punta al server Web vulnerabile o creando una pagina Web che avvia la richiesta.

Impatto:

Il server tratta la richiesta avviata dall'aggressore come se fosse una richiesta avviata dalla vittima ed esegue azioni nel contesto dell'autenticazione della vittima.

Prevenzione:

I server Web dovrebbero indicare al browser Web di contrassegnare le richieste autentiche con un token che l'attaccante non può indovinare. Se l'autenticazione viene gestita tramite l'uso di cookie, i cookie dovrebbero utilizzare l'attributo SameSite per impedire che vengano utilizzati nelle richieste avviate da un aggressore.

Ulteriori letture:

 

SQL Injection

Descrizione:

Un server passa l'input dell'utente a un database e un utente malintenzionato riesce a creare tale input in modo che venga trattato non come dati, ma come comando del database.

Impatto:

Banner

L'autore dell'attacco può indicare al database di eseguire azioni e può essere in grado di utilizzare questa capacità per leggere, scrivere, modificare ed eliminare i dati archiviati nel database.

Prevenzione:

Quando le applicazioni Web passano l'input dell'utente a un database, devono mantenere una chiara distinzione tra i dati utente scritti o utilizzati per interrogare il database e i comandi progettati per manipolare il database. Ciò può essere ottenuto tramite l'utilizzo di istruzioni preparate, query con parametri e stored procedure.

Ulteriori letture:

 

Attraversamento directory/percorso

Descrizione:

Un'applicazione Web accede a una risorsa su un filesystem e la posizione della risorsa a cui si accede è derivata dall'input dell'utente. Un utente malintenzionato invia un input che fa sì che l'applicazione Web acceda a una risorsa a cui non è previsto l'accesso.

Impatto:

L'attaccante può essere in grado di leggere, scrivere o manipolare in altro modo risorse arbitrarie, abusando di fatto delle autorizzazioni dell'applicazione web.

Prevenzione:

Le applicazioni Web dovrebbero evitare l'uso diretto dell'input dell'utente per costruire percorsi di risorse o riferimenti. Se ciò non è possibile, devono essere previsti controlli di accesso, come autorizzazioni restrittive per file e directory, per limitare l'accesso alle risorse predefinite.

Ulteriori letture:

 

SSRF (falsificazione della richiesta lato server)

Descrizione:

Un server Web è in grado di inviare richieste in uscita e un utente malintenzionato fa sì che il server invii richieste arbitrarie o invii qualsiasi tipo di richiesta a destinazioni indesiderate.

Impatto:

L'aggressore può abusare della relazione di fiducia tra il server vulnerabile e il destinatario delle richieste contraffatte o esfiltrare informazioni sensibili costringendo il server vulnerabile a inviare richieste a un server controllato dall'aggressore.

Prevenzione:

I server non devono consentire agli utenti di avviare richieste a destinazioni arbitrarie o garantire che il controllo degli utenti sui contenuti delle richieste e sulle destinazioni delle richieste non superi i requisiti stabiliti dai requisiti della logica di business dell'applicazione.

Ulteriori letture:


Articoli su Sicurezza

Sicurezza aziendale: da cosa è minacciata e come proteggerla?Il threat modeling per la sicurezza delle applicazioniScanner di vulnerabilità: ecco come funzionanoWeb security: 5 motivi per cui è essenziale contro i ransomwareChe cos'è DevSecOps e come dovrebbe funzionare?Test di penetrazione vs scansione delle vulnerabilitàConsiderazioni sui test di correzione delle applicazioni WebQuattro modi in cui l'analisi AppSec aiuta i tuoi professionisti DevSecOpsQuattro modi per combattere il divario di competenze di sicurezza informaticaDove i framework di cybersecurity incontrano la sicurezza webCome costruire un piano di risposta agli incidenti informaticiRendi i tuoi utenti parte della soluzione di sicurezza webSei l'unico che può proteggere le tue applicazioni webNuovo studio di settore: il 70% dei team salta i passaggi di sicurezzaConvergenza Dev-Sec: i progressi e le sfide sulla strada per garantire l'innovazioneAggiornamento FISMA: cosa sta cambiando e perché è importanteChe cos'è la sicurezza continua delle applicazioni Web?Sei l'unico che può proteggere le tue applicazioni webCos'è la sicurezza del sito Web: come proteggere il tuo sito Web dall'hackingRendi i tuoi utenti parte della soluzione di sicurezza webConvergenza Dev-Sec: la ricerca illustra i progressi per garantire l'innovazioneAggiornamento FISMA: cosa sta cambiando e perché è importanteChe cos'è la sicurezza continua delle applicazioni Web?La differenza tra XSS e CSRFNuovo studio di settore: il 70% dei team salta i passaggi di sicurezzaPrevenzione e mitigazione XSSStop ai compromessi sulla sicurezza delle applicazioni webSfatare 5 miti sulla sicurezza informaticaBasta compromessi sulla sicurezza delle applicazioni webNozioni di base sulla sicurezza web: la tua applicazione web è sicura?Che cos'è l'iniezione dell’header HTTP?Fare shift left o no?Individuazione e correzione di falle di sicurezza in software di terze partiClassi di vulnerabilità Web nel contesto delle certificazioniScripting tra siti (XSS)Che cos'è un attacco CSRFChe cos'è una SQL Injection (SQLi) e come prevenirlaAttacchi di attraversamento di directoryChe cos'è la falsificazione delle richieste lato server (SSRF)?7 migliori pratiche per la sicurezza delle applicazioni WebBlack Hat 2021: la più grande minaccia alla sicurezza informaticaÈ ben fatto? Chiedi allo sviluppatore!Scegli la soluzione di sicurezza delle applicazioni web che fa per teSicurezza fai-da-te: lo stai facendo bene?Sulla sicurezza delle applicazioni web professionali per MSSPLa cattiva comunicazione è al centro delle sfide di AppSecImpostazione e raggiungimento degli obiettivi di sicurezza delle applicazioniMetriche di sicurezza informatica per le applicazioni WebCome evitare attacchi alla supply chainPerché la maggior parte delle misure di sicurezza delle applicazioni fallisceVuoi che la tua sicurezza sia costruita su scuse?Cos'è SCA e perché ne hai bisognoLa scansione ad hoc non è sufficienteEsposizione dei dati sensibili: come si verificano le violazioniHai paura dei test di sicurezza nell'SDLC?Vantaggi di Web Asset DiscoveryStrumenti di scansione delle vulnerabilità: perché non open source?Protezione WAF - Ottieni il massimo dal tuo firewall per applicazioni webL'errore di comunicazione è al centro delle sfide di AppSecDebugger remoti come vettore di attaccoDAST è una parte essenziale di un programma completo per la sicurezza delle applicazioniCome difendersi dagli attacchi recenti su Microsoft Exchange5 principali vantaggi dei primi test di sicurezzaTecniche di attacco Denial-of-Service con avvelenamento della cacheQuali principali attacchi web possiamo aspettarci nella nuova top 10 di OWASP?Hack di SolarWindsPillole di Sicurezza | Episodio 38Pillole di Sicurezza | Episodio 37Perché gli sviluppatori evitano la sicurezza e cosa puoi fare al riguardoPillole di Sicurezza | Episodio 36Cos'è l'attacco RUDYCos'è la navigazione forzataCome gli scanner trovano le vulnerabilitàPillole di Sicurezza | Episodio 34Pillole di Sicurezza | Episodio 35Come eseguire il benchmark di uno scanner di vulnerabilità Web?Pillole di Sicurezza | Episodio 33Pillole di Sicurezza | Episodio 325 proposte di vendita comuni sulla sicurezza delle applicazioni web5 motivi per non fare affidamento sui programmi BountyPillole di Sicurezza | Episodio 315 motivi per cui la sicurezza web è importante quanto la sicurezza degli endpointPillole di Sicurezza | Episodio 305 motivi per cui la sicurezza web è importante per evitare il ransomwarePillole di Sicurezza | Episodio 293 motivi per cui DAST è il migliore per la sicurezza delle applicazioni WebPillole di Sicurezza | Episodio 28Pillole di Sicurezza | Episodio 27Pillole di Sicurezza | Episodio 24Pillole di Sicurezza | Episodio 25Pillole di Sicurezza | Episodio 21Pillole di Sicurezza | Episodio 22Pillole di Sicurezza | Episodio 20Pillole di Sicurezza | Episodio 17Il flag HttpOnly: protezione dei cookie da XSSPillole di Sicurezza | Episodio 16Il Bug Heartbleed – I vecchi Bug sono duri a morirePillole di Sicurezza | Episodio 15Pillole di Sicurezza | Episodio 14Pillole di Sicurezza | Episodio 13Pillole di Sicurezza | Episodio 12Pillole di Sicurezza | Episodio 11Pillole di Sicurezza | Episodio 10Sicurezza delle reti: gli hacker puntano CitrixCyber hacking: la Germania chiede l’intervento dell’UESicurezza informatica: Cisco rilascia aggiornamentiOcchio al cryptojacking: malware infiltrato in Docker HubSIGRed: bug di sistema in Windows Server scovato dopo 17 anniPillole di Sicurezza | Episodio 9Summit Live - Disponibili le registrazioni delle live di MonteleoneCriminalità informatica: Schmersal sventa un cyber-attaccoPillole di Sicurezza | Episodio 8Pillole di Sicurezza | Episodio 7Analisi pratica dei rischi per il SysAdmin, DevOps e Dev | Summit LivePillole di Sicurezza | Episodio 6Pillole di Sicurezza | Episodio 5Pillole di Sicurezza | Episodio 4Pillole di Sicurezza | Episodio 3Pillole di Sicurezza | Episodio 2Pillole di Sicurezza | Episodio 1Pillole di Sicurezza | Episodio 23