La sicurezza delle applicazioni Web è una filosofia di sicurezza orientata alla protezione delle applicazioni ospitate sui siti Web e alla protezione dei siti Web stessi. L’entità da proteggere è collegata a un sito Web, quindi la sicurezza dell’applicazione Web dovrebbe essere realizzata in un linguaggio di programmazione che i siti Web possano comprendere. Diversi tipi di programmi di sicurezza sono comunemente usati per fornire questa protezione, inclusi scanner di vulnerabilità e test di input. Esistono molti tipi di attacchi che possono verificarsi a un sito Web o un’applicazione Web, ma lo scripting e l’iniezione di codice sono le due minacce alla sicurezza più comuni online.
La protezione di un sito Web o di un’applicazione Web è molto diversa dalla creazione di sicurezza per un programma installato su un desktop. L’applicazione è online e in genere è accessibile a chiunque, o almeno a un ampio gruppo di utenti, quindi aumenta la possibilità che un utente malintenzionato trovi l’applicazione web. Inoltre, tende a essere più facile per un utente malintenzionato iniettare codice in un sito Web, quindi la sicurezza delle applicazioni Web deve superare queste sfide.
Quando si crea un programma di sicurezza per applicazioni Web, gli sviluppatori di software devono creare il programma in un linguaggio che può essere utilizzato su un server o un sito Web. Se un server o un sito Web non è in grado di comprendere il linguaggio di programmazione, è molto probabile che il programma sia inefficace. Molti programmi di sicurezza del desktop sono realizzati in queste lingue, quindi di solito questo non rappresenta un problema per la maggior parte degli sviluppatori di software.
La codifica è estremamente importante per la sicurezza delle applicazioni Web, poiché una codifica scadente di siti Web o applicazioni Web può facilitare l’accesso al sistema da parte di un hacker. Per questo motivo, molti programmi di sicurezza delle applicazioni Web sono realizzati per analizzare la codifica per individuare vulnerabilità o volatilità di penetrazione. Le sezioni di input possono anche aiutare un hacker a entrare nel sistema, quindi i programmi vengono generalmente utilizzati per controllare la stabilità di queste aree di input. Anche i firewall e i tester di password sono comunemente usati per una maggiore sicurezza del sito web.
Un hacker può attaccare l’applicazione Web o il sito Web in molti modi diversi, ma comunemente vengono utilizzati due attacchi principali. L’iniezione di codice, di solito da un linguaggio di query strutturato (SQL), aggiunge un codice nel sito Web o nel suo database. Ciò può causare problemi da solo o può aprire buchi nella sicurezza per attacchi più gravi. Gli script sono simili all’iniezione di codice, tranne per il fatto che eseguono un programma dannoso anziché aggiungere programmi dannosi nel sistema.