Retrospettiva
La scala, la composizione e la struttura delle minacce informatiche per le applicazioni stanno rapidamente evolvendo. Per anni, gli utenti hanno acceduto alle applicazioni web online tramite browser popolari. Era necessario supportare da 2 a 5 browser in ogni momento, e il set di standard per lo sviluppo e il collaudo delle applicazioni web era piuttosto limitato. Ad esempio, praticamente tutti i database erano costruiti utilizzando SQL. Sfortunatamente, dopo poco tempo, gli hacker hanno imparato a sfruttare le applicazioni web per rubare, eliminare o modificare dati. Ottenevano accesso illegale e abusavano delle capacità delle applicazioni usando diverse tecniche, inclusi inganni ai danni degli utenti delle applicazioni e l'iniezione e l'esecuzione remota di codice. Presto, sul mercato sono apparse soluzioni commerciali per la protezione delle applicazioni web, note come Web Application Firewalls (WAF), e la comunità ha risposto creando un progetto open source per la sicurezza delle applicazioni web, l'Open Web Application Security Project (OWASP), con l'obiettivo di definire e mantenere standard e metodologie per lo sviluppo di applicazioni sicure.
Protezione base delle applicazioni
è un punto di partenza per garantire la sicurezza delle applicazioni e contiene un elenco delle minacce più pericolose e delle configurazioni errate che possono portare a vulnerabilità delle applicazioni, oltre a tattiche di rilevamento e mitigazione degli attacchi. La OWASP Top 10 è un riferimento riconosciuto nell'industria della cybersicurezza delle applicazioni a livello globale e definisce un elenco di capacità fondamentali che un sistema di protezione delle applicazioni web (WAF) dovrebbe possedere.
Inoltre, la funzionalità del WAF deve considerare altre comuni minacce alle applicazioni web, incluse il Cross-Site Request Forgery (CSRF), il Clickjacking, il web scraping e l'inclusione di file (RFI/LFI).
Minacce e sfide per la sicurezza delle applicazioni moderne
Ad oggi, non tutte le applicazioni sono realizzate in modalità web. Esistono applicazioni cloud, applicazioni mobili, API e, nelle architetture più recenti, persino funzioni software individuali. Tutti questi tipi di applicazioni devono essere sincronizzati e monitorati, in quanto creano, modificano e gestiscono i nostri dati. Con l'emergere di nuove tecnologie e paradigmi, sorgono nuove complessità e sfide in tutte le fasi del ciclo di vita delle applicazioni. Ciò include l'integrazione dello sviluppo e delle operazioni (DevOps), i contenitori, l'Internet delle cose (IoT), gli strumenti open source, le API e altro.
La distribuzione delle applicazioni e la varietà delle tecnologie creano compiti complessi e intricati non solo per i professionisti della sicurezza informatica, ma anche per i fornitori di soluzioni di sicurezza, che non possono più contare su un approccio unificato. I sistemi di protezione delle applicazioni devono considerare la specificità del loro business per prevenire falsi positivi e interruzioni nella qualità dei servizi per gli utenti.
L'obiettivo finale degli hacker è generalmente il furto di dati o la compromissione della disponibilità dei servizi. Anche i malintenzionati traggono vantaggio dall'evoluzione tecnologica. Innanzitutto, lo sviluppo di nuove tecnologie crea più potenziali aperture e vulnerabilità. In secondo luogo, hanno accesso a strumenti e conoscenze migliori per eludere le tradizionali misure di sicurezza. Ciò aumenta notevolmente la cosiddetta "superficie di attacco" e l'esposizione delle organizzazioni a nuovi rischi. Le politiche di sicurezza devono cambiare continuamente in seguito alle evoluzioni delle tecnologie e delle applicazioni.
Pertanto, le applicazioni devono essere protette da una crescente varietà di metodi e fonti di attacco, e la mitigazione degli attacchi automatici deve essere effettuata in tempo reale sulla base di decisioni informate. Di conseguenza, aumentano i costi operativi e il lavoro manuale, insieme a una posizione di sicurezza indebolita.
Compito n. 1: Gestione dei bot
Oltre il 60% del traffico internet è generato da bot, la metà del quale è considerato "cattivo" (secondo i dati ). Le organizzazioni investono per aumentare la capacità della rete, sostanzialmente servendo un carico fittizio. Una chiara distinzione tra traffico utente reale e traffico bot, così come tra "buoni" bot (ad esempio, crawler di ricerca e servizi di confronto prezzi) e "cattivi" bot può comportare significativi risparmi e un miglioramento della qualità dei servizi per gli utenti.
I bot non hanno intenzione di semplificare questa attività e possono imitare il comportamento di veri utenti, bypassando CAPTCHA e altri ostacoli. Inoltre, nel caso di attacchi che utilizzano indirizzi IP dinamici, la protezione basata sul filtraggio degli indirizzi IP diventa inefficace. Spesso, strumenti di sviluppo open source (ad esempio, Phantom JS), che possono eseguire JavaScript client-side, vengono utilizzati per avviare attacchi di forza bruta, attacchi di credential stuffing, DDoS e attacchi automatici con bot.
Per gestire efficacemente il traffico dei bot è necessaria un'unica identificazione della sua origine (come un'impronta digitale). Poiché in caso di attacco con bot si generano molte registrazioni, la sua impronta consente di identificare attività sospette e assegnare punteggi su cui il sistema di protezione delle applicazioni può prendere una decisione informata – bloccare/consentire – con un minimo di falsi positivi.
Compito n. 2: Protezione API
Molte applicazioni raccolgono informazioni e dati dai servizi con cui interagiscono tramite API. Quando si trasmettono dati sensibili tramite API, oltre il 50% delle organizzazioni non esegue alcun controllo o protezione delle API per rilevare attacchi informatici.
Esempi di utilizzo delle API:
- Integrazione dell'Internet delle cose (IoT)
- Interazione macchina a macchina
- Ambienti serverless
- Applicazioni mobili
- Applicazioni guidate da eventi
Le vulnerabilità delle API sono simili a quelle delle applicazioni e includono iniezioni, attacchi ai protocolli, manipolazione dei parametri, reindirizzamenti e attacchi bot. I gateway API dedicati consentono di garantire la compatibilità dei servizi delle applicazioni che interagiscono tramite API. Tuttavia, non forniscono una sicurezza end-to-end delle applicazioni, come può fare un WAF con gli strumenti di sicurezza necessari, come l'analisi delle intestazioni HTTP, la lista di controllo degli accessi di livello 7 (ACL), l'analisi e la validazione del payload JSON/XML, oltre alla protezione da tutte le vulnerabilità dell'elenco OWASP Top 10. Questo viene realizzato ispezionando i valori chiave delle API utilizzando modelli positivi e negativi.
Compito n. 3: Negazione del servizio
Il vecchio vettore di attacco – la negazione del servizio (DoS) – continua a dimostrare la sua efficacia negli attacchi alle applicazioni. I criminali dispongono di un ampio insieme di tecniche di successo per compromettere i servizi delle applicazioni, inclusi attacchi di flooding HTTP o HTTPS, attacchi lenti e a bassa potenza (come SlowLoris, LOIC, Torshammer), attacchi utilizzando indirizzi IP dinamici, overflow del buffer, attacchi di forza bruta e molti altri. Con lo sviluppo dell'Internet delle cose e la successiva emergenza dei botnet IoT, gli attacchi alle applicazioni sono diventati una direzione principale degli attacchi DDoS. La maggior parte dei WAF con monitoraggio dello stato delle connessioni può affrontare solo un carico limitato. Tuttavia, possono ispezionare i flussi di traffico HTTP/S ed eliminare il traffico di attacco e le connessioni dannose. Dopo aver identificato un attacco, non ha senso lasciare passare nuovamente quel traffico. Poiché la larghezza di banda del WAF per riflettere gli attacchi è limitata, è necessaria una soluzione aggiuntiva al perimetro della rete per bloccare automaticamente i pacchetti 'sbagliati'. Per questo scenario di protezione, entrambe le soluzioni devono essere in grado di interagire tra loro per scambiare informazioni sugli attacchi.

Fig. 1. Organizzazione di una protezione complessiva della rete e delle applicazioni esempio delle soluzioni Radware
Compito n. 4: Protezione continua
Le applicazioni sono spesso soggette a modifiche. Metodologie di sviluppo e implementazione come la continuità degli aggiornamenti significano che le modifiche vengono apportate senza coinvolgimento o controllo umano. In tali condizioni dinamiche, è difficile mantenere politiche di sicurezza adeguatamente funzionanti senza un alto numero di falsi positivi. Le applicazioni mobili vengono aggiornate molto più frequentemente delle applicazioni web. Le applicazioni di terzi possono cambiare senza il tuo consenso. Alcune organizzazioni cercano di ottenere un maggiore controllo e una visibilità per rimanere al corrente dei potenziali rischi. Tuttavia, questo non è sempre fattibile e una protezione applicativa affidabile deve utilizzare capacità di machine learning per considerare e visualizzare le risorse esistenti, analizzare le minacce potenziali, creare e ottimizzare politiche di sicurezza in caso di modifica delle applicazioni.
Conclusioni
Con il crescente ruolo delle applicazioni nella vita quotidiana, esse diventano un obiettivo primario per gli hacker. Il potenziale guadagno per i malintenzionati e le perdite potenziali per le aziende sono enormi. La complessità della sicurezza delle applicazioni non può essere sottovalutata, considerando il numero e la varietà di applicazioni e minacce.
Fortunatamente, ci troviamo in un momento in cui l'intelligenza artificiale può venire in nostro aiuto. Gli algoritmi basati su apprendimento automatico offrono una protezione adattiva in tempo reale contro le minacce informatiche più avanzate rivolte alle applicazioni. Aggiornano automaticamente le politiche di sicurezza per proteggere le applicazioni web, mobili e cloud — oltre agli API — senza falsi positivi.
È difficile prevedere con precisione quale sarà la nuova generazione di minacce informatiche per le applicazioni (potenzialmente anche basate su apprendimento automatico). Ma le organizzazioni possono sicuramente intraprendere misure per proteggere i dati dei clienti, la proprietà intellettuale e garantire la disponibilità dei servizi con un grande vantaggio per il business.
Approcci e metodi efficaci per la sicurezza delle applicazioni, i principali tipi e vettori di attacco, le aree a rischio e le lacune nella cybersicurezza delle applicazioni web, oltre a esperienze e best practice globali sono presentati nello studio e rapporto Radware ““.
Fonte: habr.com
