EITC/IS/WASF Web Applications Security Fundamentals è il programma di certificazione IT europea sugli aspetti teorici e pratici della sicurezza dei servizi World Wide Web che vanno dalla sicurezza dei protocolli Web di base, attraverso la privacy, le minacce e gli attacchi a diversi livelli di traffico web, comunicazione di rete, web sicurezza dei server, sicurezza a livelli superiori, inclusi browser Web e applicazioni Web, nonché autenticazione, certificati e phishing.
Il curriculum dell'EITC/IS/WASF Web Applications Security Fundamentals copre l'introduzione agli aspetti di sicurezza Web HTML e JavaScript, DNS, HTTP, cookie, sessioni, attacchi di cookie e sessioni, Stesso criterio di origine, Falsificazione di richieste tra siti, eccezioni allo stesso Criteri di origine, Cross-Site Scripting (XSS), difese Cross-Site Scripting, Web fingerprinting, privacy sul Web, DoS, phishing e canali laterali, Denial-of-Service, phishing e canali laterali, attacchi injection, Code injection, trasporto Layer security (TLS) e attacchi, HTTPS nel mondo reale, autenticazione, WebAuthn, gestione della sicurezza web, problemi di sicurezza nel progetto Node.js, sicurezza del server, pratiche di codifica sicure, sicurezza del server HTTP locale, attacchi di riassociazione DNS, attacchi del browser, browser architettura, oltre a scrivere un codice browser sicuro, all'interno della struttura seguente, che comprende contenuti didattici video completi come riferimento per questa certificazione EITC.
La sicurezza delle applicazioni Web è un sottoinsieme della sicurezza delle informazioni che si concentra sulla sicurezza di siti Web, applicazioni Web e servizi Web. La sicurezza delle applicazioni Web, al suo livello più elementare, si basa sui principi di sicurezza delle applicazioni, ma li applica in particolare a Internet e alle piattaforme Web. Le tecnologie di sicurezza delle applicazioni Web, come i firewall delle applicazioni Web, sono strumenti specializzati per lavorare con il traffico HTTP.
L'Open Web Application Security Project (OWASP) offre risorse sia gratuite che aperte. Ne è responsabile una Fondazione OWASP senza scopo di lucro. La Top 2017 di OWASP 10 è il risultato dell'attuale studio basato su dati estesi raccolti da oltre 40 organizzazioni partner. Sono state rilevate circa 2.3 milioni di vulnerabilità in oltre 50,000 applicazioni che utilizzano questi dati. I primi dieci problemi di sicurezza delle applicazioni online più critici, secondo OWASP Top 10 – 2017, sono:
- Iniezione
- Problemi di autenticazione
- Dati sensibili esposti entità esterne XML (XXE)
- Controllo accessi che non funziona
- Errata configurazione della sicurezza
- Script da sito a sito (XSS)
- Deserializzazione che non è sicura
- Utilizzo di componenti con difetti noti
- La registrazione e il monitoraggio sono insufficienti.
Di conseguenza, la pratica di difesa di siti Web e servizi online da varie minacce alla sicurezza che sfruttano i punti deboli nel codice di un'applicazione è nota come sicurezza delle applicazioni Web. I sistemi di gestione dei contenuti (ad es. WordPress), gli strumenti di amministrazione di database (ad es. phpMyAdmin) e le app SaaS sono tutti obiettivi comuni per attacchi alle applicazioni online.
Le applicazioni Web sono considerate obiettivi prioritari dagli autori perché:
- A causa della complessità del loro codice sorgente, sono più probabili vulnerabilità incustodite e modifiche al codice dannoso.
- Ricompense di alto valore, come informazioni personali sensibili ottenute attraverso un'efficace manomissione del codice sorgente.
- Facilità di esecuzione, perché la maggior parte degli assalti può essere prontamente automatizzata e dispiegata indiscriminatamente contro migliaia, decine o addirittura centinaia di migliaia di bersagli contemporaneamente.
- Le organizzazioni che non riescono a salvaguardare le proprie applicazioni Web sono vulnerabili agli attacchi. Ciò può portare a furto di dati, relazioni con i clienti tese, licenze annullate e azioni legali, tra le altre cose.
Vulnerabilità nei siti web
I difetti di sanificazione di input/output sono comuni nelle applicazioni Web e vengono spesso sfruttati per modificare il codice sorgente o ottenere accessi non autorizzati.
Questi difetti consentono lo sfruttamento di una varietà di vettori di attacco, tra cui:
- Iniezione SQL: quando un perpetratore manipola un database back-end con codice SQL dannoso, le informazioni vengono rivelate. Tra le conseguenze ci sono la navigazione illegale degli elenchi, l'eliminazione delle tabelle e l'accesso non autorizzato dell'amministratore.
- XSS (Cross-site Scripting) è un attacco injection che prende di mira gli utenti per accedere agli account, attivare Trojan o modificare il contenuto della pagina. Quando il codice dannoso viene iniettato direttamente in un'applicazione, questo è noto come XSS archiviato. Il mirroring di uno script dannoso da un'applicazione al browser di un utente è noto come XSS riflesso.
- Inclusione di file distanti: questa forma di attacco consente a un hacker di inserire un file in un server di applicazioni Web da una posizione remota. Ciò può comportare l'esecuzione di script o codice pericolosi all'interno dell'app, nonché il furto o la modifica dei dati.
- Cross-site Request Forgery (CSRF) – Un tipo di attacco che può comportare un trasferimento involontario di denaro contante, modifiche alla password o furto di dati. Si verifica quando un programma Web dannoso indica al browser di un utente di eseguire un'azione indesiderata su un sito Web a cui ha effettuato l'accesso.
In teoria, un'efficace sanificazione di input/output potrebbe eliminare tutte le vulnerabilità, rendendo un'applicazione impermeabile a modifiche non autorizzate.
Tuttavia, poiché la maggior parte dei programmi è in un perpetuo stato di sviluppo, una sanificazione completa è raramente un'opzione praticabile. Inoltre, le app sono comunemente integrate tra loro, creando un ambiente codificato che sta diventando sempre più complesso.
Per evitare tali pericoli, è necessario implementare soluzioni e processi di sicurezza delle applicazioni Web, come la certificazione PCI Data Security Standard (PCI DSS).
Firewall per applicazioni web (WAF)
I WAF (web application firewall) sono soluzioni hardware e software che proteggono le applicazioni dalle minacce alla sicurezza. Queste soluzioni sono progettate per ispezionare il traffico in ingresso al fine di rilevare e bloccare i tentativi di attacco, compensando eventuali difetti di sanificazione del codice.
L'implementazione di WAF risponde a un criterio cruciale per la certificazione PCI DSS proteggendo i dati da furti e modifiche. Tutti i dati dei titolari di carte di credito e di debito conservati in un database devono essere salvaguardati, secondo il Requisito 6.6.
Dato che è posto prima della sua DMZ ai margini della rete, la creazione di un WAF di solito non richiede modifiche a un'applicazione. Funge quindi da gateway per tutto il traffico in entrata, filtrando le richieste pericolose prima che possano interagire con un'applicazione.
Per valutare a quale traffico è consentito l'accesso a un'applicazione e quale deve essere eliminato, i WAF utilizzano una varietà di euristiche. Possono identificare rapidamente attori dannosi e vettori di attacco noti grazie a un pool di firme regolarmente aggiornato.
Quasi tutti i WAF possono essere adattati ai singoli casi d'uso e alle normative di sicurezza, nonché alla lotta contro le minacce emergenti (note anche come zero-day). Infine, per acquisire ulteriori informazioni sui visitatori in arrivo, le soluzioni più moderne utilizzano dati di reputazione e comportamentali.
Per costruire un perimetro di sicurezza, i WAF sono solitamente combinati con soluzioni di sicurezza aggiuntive. Questi potrebbero includere servizi di prevenzione DDoS (Distributed Denial-of-Service), che offrono la scalabilità aggiuntiva necessaria per prevenire attacchi ad alto volume.
Elenco di controllo per la sicurezza delle applicazioni web
Esistono diversi approcci per la protezione delle app Web oltre ai WAF. Qualsiasi elenco di controllo per la sicurezza delle applicazioni Web deve includere le seguenti procedure:
- Raccolta dei dati: esamina manualmente l'applicazione, cercando punti di ingresso e codici lato client. Classificare i contenuti ospitati da terzi.
- Autorizzazione: durante il test dell'applicazione, cercare attraversamenti di percorso, problemi di controllo dell'accesso verticale e orizzontale, autorizzazione mancante e riferimenti diretti a oggetti non sicuri.
- Proteggi tutte le trasmissioni di dati con la crittografia. Qualche informazione sensibile è stata crittografata? Hai impiegato algoritmi che non sono all'altezza? Ci sono errori di casualità?
- Denial of Service: verifica di anti-automazione, blocco dell'account, DoS del protocollo HTTP e DoS jolly SQL per migliorare la resilienza di un'applicazione contro gli attacchi Denial of Service. Ciò non include la sicurezza contro gli attacchi DoS e DDoS ad alto volume, che richiedono un mix di tecnologie di filtraggio e risorse scalabili per resistere.
Per ulteriori dettagli, è possibile controllare il Cheat Sheet del test di sicurezza delle applicazioni Web OWASP (è anche un'ottima risorsa per altri argomenti relativi alla sicurezza).
Protezione DDoS
Gli attacchi DDoS, o attacchi denial-of-service distribuiti, sono un modo tipico per interrompere un'applicazione web. Esistono diversi approcci per mitigare gli attacchi DDoS, tra cui l'eliminazione del traffico di attacchi volumetrici alle reti di distribuzione dei contenuti (CDN) e l'utilizzo di reti esterne per instradare in modo appropriato le richieste autentiche senza causare un'interruzione del servizio.
Protezione DNSSEC (Domain Name System Security Extensions).
Il sistema dei nomi di dominio, o DNS, è la rubrica di Internet e riflette il modo in cui uno strumento Internet, come un browser Web, trova il server pertinente. L'avvelenamento della cache DNS, gli attacchi sul percorso e altri mezzi per interferire con il ciclo di vita della ricerca DNS verranno utilizzati da malintenzionati per dirottare questo processo di richiesta DNS. Se DNS è la rubrica di Internet, DNSSEC è un ID chiamante non falsificabile. Una richiesta di ricerca DNS può essere protetta utilizzando la tecnologia DNSSEC.
Per conoscere nel dettaglio il curriculum di certificazione puoi espandere e analizzare la tabella sottostante.
Il programma di certificazione EITC/IS/WASF Web Applications Security Fundamentals fa riferimento a materiali didattici ad accesso aperto sotto forma di video. Il processo di apprendimento è suddiviso in una struttura passo dopo passo (programmi -> lezioni -> argomenti) che copre le parti rilevanti del curriculum. Sono inoltre previste consulenze illimitate con esperti di dominio.
Per i dettagli sulla procedura di certificazione controllare Come Funziona?.
Scarica i materiali preparatori completi di autoapprendimento offline per il programma EITC/IS/WASF Web Applications Security Fundamentals in un file PDF
Materiali preparatori EITC/IS/WASF – versione standard
Materiali preparatori EITC/IS/WASF – versione estesa con domande di revisione