Diventa Autore per CoreTech | Scopri di più
15/04/22 CoreTech Blog
Il vocabolario relativo alla sicurezza include molte parole con significati imprecisi. Due di questi termini che mi danno mal di testa quando vengono utilizzati nel contesto della sicurezza delle applicazioni Web sono i verbi per proteggere e proteggere. Ma questo mal di testa non è nulla in confronto a quello che ottengo quando vedo che le aziende credono effettivamente che gli strumenti da soli possano proteggere/proteggere le loro applicazioni web.
Quando mi sono chiesto cosa significa proteggere un'applicazione web e cosa significa proteggerla, ovviamente ho iniziato guardando come gli altri vedono questo argomento. Tuttavia, le ricerche hanno prodotto risultati insoddisfacenti: ho scoperto che nella maggior parte dei contesti di sicurezza informatica, proteggere significa proteggere dalle minacce esterne e proteggere significa... proteggersi dalle minacce interne. Queste definizioni non hanno senso nel contesto della sicurezza delle applicazioni web (e dubito fortemente che abbiano senso anche altrove...). Le uniche definizioni sensate per me si basano sul fatto che la sicurezza è proattiva e la protezione è reattiva.
Per capirlo, immagina di voler mettere in sicurezza/proteggere la tua casa dai ladri. Per me, mettere in sicurezza una casa significherebbe installare porte robuste, pellicole di sicurezza per finestre e serrature di buona qualità. Tutte queste misure sono proattive: vengono prese prima che si verifichi un vero e proprio tentativo di effrazione. Tutti rendono molto più difficile per un ladro entrare in casa. D'altra parte, proteggere una casa significherebbe installare un antifurto, assumere una società di monitoraggio o persino avere cani aggressivi nel cortile di casa. Tutte queste misure sono utili solo se si verifica un vero e proprio tentativo di effrazione: sono tutte reattive.
Questo è esattamente il modo in cui vedo la sicurezza/protezione nel contesto della sicurezza delle applicazioni web. Proteggere significa scansionare l'applicazione alla ricerca di vulnerabilità e risolvere eventuali problemi, utilizzare l'autenticazione e l'autorizzazione per i contenuti sensibili e crittografare i dati sensibili nell'applicazione. D'altra parte, proteggere significa installare un firewall per applicazioni Web , un sistema di rilevamento/prevenzione delle intrusioni o una soluzione di autoprotezione delle applicazioni runtime.
Anche con le definizioni fuori mano, mi sono reso conto di un fatto molto importante che potrebbe essere al centro di così tanti fallimenti nella sicurezza delle applicazioni web. Ci sono molte aziende, soprattutto quelle più piccole, che si aspettano di acquistare una soluzione di sicurezza per applicazioni web, installarla e configurarla, e poi tada! Sei al sicuro!
Bene, ho una notizia triste: questo è uno dei miti comuni sulla sicurezza informatica. Non sarai al sicuro. L'unico che può effettivamente proteggere/proteggere le tue applicazioni web sei tu (usando gli strumenti giusti, ovviamente).
Le soluzioni antivirus/antimalware e i firewall personali, che sono le soluzioni di sicurezza informatica più comuni e più riconosciute, ci hanno reso pigri. Molti di noi pensano che tutto ciò che dobbiamo fare è installare un antivirus e un firewall sul nostro computer e il computer è al sicuro da qualsiasi danno, qualunque cosa facciamo. Non dobbiamo nemmeno configurare nulla: le impostazioni predefinite di solito includono scansioni notturne automatiche e aggiornamenti automatici.
Sfortunatamente, questo non è il caso della sicurezza delle applicazioni web. Nessuna soluzione per la sicurezza delle applicazioni Web sarà in grado di proteggere la tua applicazione Web o proteggerla dagli attacchi. Sei tu che devi prendere in carico ed eliminare i pericoli.
La funzione del software di test dinamico della sicurezza delle applicazioni è di aiutarti a capire cosa c'è che non va nelle tue applicazioni web e, possibilmente, di insegnarti come risolverle. Possiamo aiutarti a rendere questo processo molto più semplice ed efficiente dando la priorità a ciò che deve essere risolto e automatizzando la gestione delle correzioni. Tuttavia, alla fine, lo sviluppatore dell'applicazione è l'unica persona che può correggere il problema, sia che si tratti di qualcuno assunto direttamente da te o di qualcuno che lavora per la terza parte da cui hai ricevuto l'applicazione (un team open source o un'altra azienda) .
Lo sottolineo con forza perché anche se diciamo che aiutiamo a proteggere la tua domanda, alla fine, devi essere consapevole della responsabilità e assumerla.
Potresti anche chiederti: le soluzioni reattive, come i firewall delle applicazioni Web o i sistemi RASP, saranno migliori e risolveranno i problemi automaticamente? Potrebbero promettere di farlo ma, in realtà, renderanno più difficile l'irruzione. C'è solo un modo per eliminare la possibilità di una violazione: è necessario eliminare la causa principale, che è l'errore di programmazione.
Ricordi il paragone con la messa in sicurezza/protezione della tua casa? Bene, supponendo che gli strumenti gestiranno la tua sicurezza per te è come acquistare un costoso sistema di serratura e un costoso allarme e poi non chiudere affatto la porta. Ci sono buone probabilità che i ladri riescano a disattivare il sistema di allarme e quindi ad attraversare la porta aperta.
proteggi l'applicazione correggendo le vulnerabilità scoperte il prima possibile. Comprendiamo che potrebbe non essere sempre possibile subito. Ed è per questo che sono necessarie misure reattive per proteggere la tua applicazione Web fino a quando non puoi correggere le vulnerabilità, ad esempio un firewall per applicazioni Web. Questa protezione non ha lo scopo di garantire che le vulnerabilità non vengano sfruttate, ma renderà molto più difficile sfruttarle mentre vengono riparate.
E non dimenticare – alla fine, qualunque termine usi: mettere in sicurezza, proteggere, salvaguardare… con le applicazioni web tutti questi termini puntano nella stessa direzione – a te.