Diventa Autore per CoreTech | Scopri di più
20/10/21 CoreTech Blog
Per mantenere la migliore posizione di sicurezza possibile e proteggere i tuoi dati sensibili dagli attacchi informatici, non puoi semplicemente fare affidamento solo sui prodotti di sicurezza. Ecco un elenco di sette elementi chiave che riteniamo dovrebbero essere considerati nella strategia di sicurezza delle app Web.
Alcune aziende credono ancora che la sicurezza debba essere solo una preoccupazione di un team specializzato. Nell'attuale ambiente aziendale, un tale approccio non è praticabile:
Il crescente divario di competenze in materia di sicurezza informatica significa che i team di sicurezza non sono in grado di raggiungere la crescita del business.
Un team di sicurezza dedicato diventa un collo di bottiglia nei processi di sviluppo.
Se la sicurezza è reattiva, non proattiva, ci sono più problemi da gestire per il team di sicurezza.
L'attuale best practice per la creazione di software sicuro si chiama SecDevOps . Questo approccio, che va oltre DevSecOps , presuppone che ogni persona coinvolta nello sviluppo di applicazioni Web (e di qualsiasi altra applicazione) sia in qualche modo responsabile della sicurezza. Gli sviluppatori sanno come scrivere codice sicuro. Gli ingegneri del controllo qualità sanno come applicare le policy di sicurezza ai loro test. Tutti i dirigenti e i dirigenti hanno in mente la sicurezza quando prendono decisioni chiave.
Un’approccio DevOps sicuro ed efficace richiede molta formazione. Tutti devono essere consapevoli delle minacce e dei rischi alla sicurezza, comprendere le potenziali vulnerabilità delle applicazioni e sentirsi responsabili della sicurezza. Sebbene ciò richieda molto tempo e impegno, l'investimento si ripaga con applicazioni sicure di prim'ordine.
La sicurezza informatica è molto complessa e richiede un approccio ben organizzato. È facile dimenticare certi aspetti e altrettanto facile cadere nel caos. Ecco perché molte organizzazioni basano la loro strategia di sicurezza su un framework di sicurezza informatica selezionato.
Un framework di sicurezza informatica è un approccio strategico che inizia con una ricerca dettagliata sui rischi per la sicurezza e include attività come lo sviluppo di un piano di risposta agli incidenti informatici insieme a liste di controllo per la sicurezza delle applicazioni adeguate. Più grande è l'organizzazione, più è necessario un tale approccio strategico.
Un altro vantaggio dell'adozione di un framework di sicurezza informatica è la consapevolezza che tutta la sicurezza informatica è interconnessa e che la sicurezza web non può essere trattata come un problema separato.
In passato, i team di sicurezza eseguivano manualmente i test di sicurezza delle applicazioni utilizzando soluzioni di sicurezza dedicate. Ad esempio, un ricercatore di sicurezza utilizzerebbe prima un semplice scanner di vulnerabilità e quindi eseguirà manualmente ulteriori test di penetrazione utilizzando strumenti open source. Tuttavia, nell'attuale panorama della sicurezza, tale approccio non è ottimale. Proprio come nell'intero settore IT, i processi di sicurezza IT più efficienti si basano sull'automazione e sull'integrazione.
Molti strumenti di sicurezza sono ora sviluppati pensando a tale automazione e integrazione. Ad esempio, gli scanner di vulnerabilità di livello aziendale sono progettati per essere integrati con altri sistemi come piattaforme CI/CD e tracker di problemi. Ci sono diversi vantaggi in un tale approccio:
Meno lavoro manuale, meno margine di errore. Se i processi di sicurezza sono automatizzati e integrati, nessuno può, ad esempio, dimenticare di eseguire la scansione di un'applicazione Web prima che venga pubblicata.
Se la sicurezza è integrata nel ciclo di vita dello sviluppo software (SDLC), i problemi possono essere individuati ed eliminati molto prima. Ciò consente di risparmiare molto tempo e semplifica notevolmente la riparazione.
Se gli strumenti di sicurezza funzionano insieme ad altre soluzioni utilizzate nello sviluppo del software, come i tracker dei problemi, i problemi di sicurezza possono essere trattati come qualsiasi altro problema. Ingegneri e manager non perdono tempo imparando e utilizzando strumenti separati per motivi di sicurezza.
Ci sono due aspetti chiave per proteggere lo sviluppo del software:
Nel primo caso, gli sviluppatori di software devono essere istruiti sui potenziali problemi di sicurezza. Devono comprendere le iniezioni SQL, lo scripting cross-site (XSS), la contraffazione delle risorse cross-site (CSRF) e altre vulnerabilità e configurazioni errate come quelle elencate nella OWASP Top 10. Devono inoltre conoscere le tecniche di codifica sicura necessarie per prevenire tali vulnerabilità, ad esempio devono sapere come prevenire le iniezioni SQL.
Nel secondo caso, ciò che aiuta di più è la scansione delle vulnerabilità di sicurezza il prima possibile nel ciclo di vita dello sviluppo. Se integri strumenti di sicurezza nelle tue pipeline DevOps, non appena lo sviluppatore impegna funzionalità nuove o aggiornate, viene informato di eventuali vulnerabilità al suo interno. Poiché questo viene fatto immediatamente, rende anche molto più facile correggere tali vulnerabilità perché lo sviluppatore ricorda ancora il codice su cui stavano lavorando. Garantisce inoltre che lo sviluppatore possa correggere il proprio codice e non perdere tempo a cercare di capire il codice scritto da qualcun altro molto tempo fa.
Ci sono molti aspetti della sicurezza web e nessun singolo strumento può essere percepito come l'unica misura che garantisca la completa sicurezza. Lo strumento chiave per la sicurezza delle applicazioni web è lo scanner di vulnerabilità. Tuttavia, anche il miglior scanner di vulnerabilità non sarà in grado di scoprire tutte le vulnerabilità come errori logici o bypassare complessi schemi di controllo/autenticazione degli accessi senza l'intervento umano.
La scansione delle vulnerabilità non deve essere considerata un sostituto del test di penetrazione. Inoltre, per proteggere completamente i server Web, la scansione delle vulnerabilità deve essere combinata con la scansione della rete. Fortunatamente, alcuni scanner di vulnerabilità sono integrati con scanner di sicurezza di rete, quindi le due attività possono essere gestite insieme.
Oltre agli scanner di vulnerabilità basati su tecnologie DAST o IAST , molte aziende scelgono inoltre di utilizzare uno strumento SAST (analisi del codice sorgente) nelle fasi iniziali, ad esempio nelle pipeline SecDevOps o anche prima, sui computer degli sviluppatori. Tale strumento è un'aggiunta molto utile, ma a causa dei suoi limiti (come l'impossibilità di proteggere elementi di terze parti), non può sostituire uno strumento DAST.
Alcune aziende ritengono che il modo migliore per proteggersi dalle minacce relative al Web sia utilizzare un firewall per applicazioni Web (WAF). Tuttavia, un WAF è solo uno strumento cerotto che elimina potenziali vettori di attacco. Sebbene un WAF sia una parte importante di una suite di sicurezza completa per un'azienda e il modo migliore per gestire le vulnerabilità zero-day attraverso l'applicazione di patch virtuali, non dovrebbe essere considerato la linea di difesa più importante.
Tutto sommato, dovresti utilizzare diverse misure di sicurezza, ma non dovresti semplicemente credere che acquistarle e darle al tuo team di sicurezza risolverà il problema. Queste misure di sicurezza devono essere integrate con l'intero ambiente e automatizzate il più possibile. Sono lì per ridurre la quantità di lavoro che ha il team di sicurezza, non per aumentarla.
Uno dei modi migliori per verificare se le tue informazioni sensibili sono al sicuro è eseguire attacchi fittizi. Questo è il presupposto chiave alla base dei test di penetrazione, ma i test di penetrazione sono solo controlli a campione. Per valutare in modo completo e continuo la tua posizione in materia di sicurezza, il modo migliore è eseguire esercizi di sicurezza continui come le campagne della squadra rossa contro la squadra blu.
L'idea alla base del red teaming è quella di assumere un'organizzazione esterna che tenti continuamente di mettere alla prova la tua sicurezza e di stabilire una squadra locale che si occupi di fermare tali tentativi. Ci sono molti vantaggi in questo approccio. Un esercizio continuo significa che la tua azienda è sempre pronta per un attacco. Aiuta anche a mantenere la consapevolezza generale della sicurezza, poiché il team blu coinvolge molto più di un semplice team di sicurezza dedicato.
Un team rosso dedicato non si limita a sfruttare le vulnerabilità della sicurezza. Spesso eseguono diversi tipi di attacchi fittizi (inclusi phishing, ingegneria sociale, attacchi DDoS e altri) per aiutarti a proteggerti da quelli reali. Il vantaggio aggiuntivo è anche la realizzazione di come i diversi elementi di sicurezza sono intrecciati insieme e non possono essere trattati separatamente.
Molti professionisti della sicurezza di prim'ordine preferiscono lavorare come liberi professionisti invece di essere assunti da aziende a tempo pieno o su base di progetto. Perdere una competenza così eccezionale è un enorme spreco. La tua azienda può utilizzare tali risorse preziose stabilendo un programma di taglie.
Sebbene alcune aziende possano percepire un programma di taglie come un investimento rischioso, ripaga rapidamente. Aumenta anche il rispetto che il tuo marchio ha nella comunità degli hacker e, di conseguenza, la percezione generale del marchio. Se disponi di un programma di ricompense e tratti in modo equo gli esperti di sicurezza indipendenti, il tuo marchio viene percepito come maturo e orgoglioso della sua posizione in materia di sicurezza. È possibile rafforzare tale percezione divulgando pubblicamente i guadagni del programma di ricompensa e condividendo responsabilmente informazioni su eventuali scoperte di vulnerabilità della sicurezza e violazioni dei dati.