Home Articoli tecnici Migliorare le prestazioni delle applicazioni con regole di sicurezza più veloci
Applications

Migliorare le prestazioni delle applicazioni con regole di sicurezza più veloci

About The Author

Outline

Man mano che sempre più team di sviluppo delle applicazioni integrano la sicurezza nei propri flussi di lavoro, stanno esaminando l’impatto della sicurezza sulle loro applicazioni, dal punto di vista della pipeline delle applicazioni, del flusso di lavoro e delle prestazioni.

A causa dei requisiti di conformità, le applicazioni Web e la protezione API (WAAP) vengono comunemente implementate in uno stack di applicazioni. Ma mentre le organizzazioni spostano i loro carichi di lavoro nel cloud e iniziano a incorporare la sicurezza nella struttura delle loro applicazioni, il ruolo del WAAP si sta evolvendo. Le organizzazioni hanno bisogno di piattaforme WAAP in grado di scalare e adattarsi alle mutevoli architetture cloud e alle crescenti minacce alla sicurezza.

In questo articolo, esamineremo come il motore WAAP, e più specificamente un set di regole creato appositamente per l’uso con quel motore, possono essere adattati per scalare in flussi di lavoro cloud e migliorare le prestazioni della vostra applicazione web mantenendo al contempo una forte protezione dalle minacce online.‍

Considerare sia il motore WAAP che il suo ruleset‍

Il WAAP deve essere una parte importante dello stack di applicazioni e del programma di protezione della rete. Tradizionalmente, i WAAP erano disconnessi dallo sviluppo delle applicazioni e venivano visti come un livello di sicurezza che si trovava all’esterno dell’applicazione. Tuttavia, le moderne architetture e gli strumenti WAAP hanno aiutato SecOps a collaborare con DevOps durante il processo ci/CD, inclusa la creazione e il test delle regole durante lo sviluppo di un’applicazione. Se utilizzato correttamente per analizzare il traffico che attraversa l’infrastruttura dell’applicazione, il motore WAAP e il relativo set di regole svolgono un ruolo importante nella velocità di completamento dell’analisi e nella capacità delle decisioni di controllo e blocco risultanti nell’ambito dell’architettura generale dell’applicazione.

Come il motore, il computer e la trasmissione di un’auto, un motore WAAP, i suoi set di regole e l’applicazione che protegge dovrebbero essere progettati e ottimizzati per funzionare insieme. Un produttore di auto non progetta un motore in una bolla. Deve essere ottimizzato affinché il resto del telaio e dei componenti della vettura raggiunga le massime prestazioni ed efficienza su tutti i fronti. Lo stesso vale per il motore WAAP e il relativo set di regole. Un WAAP che non tiene conto di queste variabili può essere sovraccaricato e sovraccaricato e, in ultima analisi, degradare le prestazioni e l’esperienza utente dell’applicazione web.‍

Ridurre il carico di lavoro WAAP per migliorare velocità e effectiveness‍

Edgio WAAP utilizza una combinazione di firme open source, di settore e proprietarie per informare il proprio set di regole. La Corte valuta attentamente l’impatto di ciascuna firma sulle prestazioni del set di regole complessivo.

Mentre progettavamo e ottimizzavamo il nostro motore WAAP , abbiamo visto che raccogliendo e consumando i set di regole open source e di settore senza alcuna modifica, (quasi) ogni regola avrebbe dovuto essere analizzata man mano che il traffico attraversava il cavo. Questo modello è abbastanza comune tra i WAAP e rende “facile” vedere cosa succede al traffico. Ma costringe anche il WAAP a eseguire ogni regola per valutare il rischio associato al traffico. Ciò comporta un carico di lavoro inutilmente pesante sul WAAP che viene ulteriormente esacerbato con l’aumento del set di regole.

Naturalmente, non si tratta sempre di velocità. Un elemento chiave di un WAAP è la sua capacità di determinare il rischio (compromesso) rispetto al premio (transazioni riuscite) associato al traffico e decidere se segnalare il traffico come dannoso, sospetto o benigno. Il WAAP invierebbe un avviso al team (modalità di verifica/avviso) e bloccherebbe o reindirizzerebbe il traffico se fosse ritenuto troppo rischioso da far passare (modalità produzione/blocco).

Questa analisi diventa una sfida più impegnativa quando si esaminano i set di regole open source e del settore. È improbabile che siano stati creati con velocità ed efficienza in mente per ogni possibile motore WAAP sul mercato. Questo non significa che siano cattivi, significa solo che si concentrano prima sul rischio, lasciando la performance come un ripensamento. In altre parole, c’è spazio per il miglioramento.

Con i set di regole creati per completezza e precisione, molti WAAP scoprono di non essere in grado di gestire il traffico analizzato in entrambe le modalità (audit e blocco), costringendo i team InfoSec a scegliere una modalità: Iniziare con la modalità di controllo e spostarla in modalità di produzione o passare direttamente in modalità di produzione con pochi o nessun test reale, il che li lascia aperti a minacce mancate e falsi positivi.‍

In che modo Edgio migliora la sua rulesets‍ WAAP

Il modello open-source ModSecurity OWASP per set di regole fornisce un modo standard e coerente attraverso il quale è possibile sviluppare e implementare set di regole WAAP. A complemento di ciò, OWASP offre un set di regole generico del settore che può essere ingerito da un WAAP che segue questo modello.

Tuttavia, mentre il nostro team stava implementando il set di regole, si è reso conto che i set di regole che venivano ingeriti, sebbene completi e accurati, stavano effettivamente bloccando il motore WAAP. Quindi, il team ha deciso di esaminare il modo in cui i set di regole sono strutturati ed elaborati. Ciò che abbiamo scoperto, che non dovrebbe sorprendere nessun amministratore WAAP, è che molte regole passano continuamente gli stessi dati per eseguire i controlli necessari per determinare il rischio del traffico che passa attraverso il WAAP.

Alcune regole di applicazione del protocollo sono abbastanza semplici e non devono “vivere” all’interno dell’ecosistema del set di regole. Per risolvere questo problema, abbiamo sviluppato il set di regole che ha ridotto efficacemente il set di regole OWASP implementandolo direttamente nel motore WAAP in un formato non ModSecurity. Ciò si traduce in un’esecuzione precoce e un rilevamento più rapido.

Successivamente, abbiamo preso di mira le regole che analizzano i corpi delle richieste. Abbiamo creato un livello di caching che riduce l’overhead di prestazioni del ricalcolo delle stesse espressioni nelle regole. “Prendendo ad esempio i corpi in formato XML, abbiamo cercato quante volte l’espressione “XML:/*” appare nel set di regole OWASP CRS per vedere quante volte un XPath può essere ricalcolato nell’elaborazione di una singola richiesta senza un livello di memorizzazione nella cache, il numero è significativo.”

Infine, dove si verificano molte espansioni macro/sostituzioni di stringhe e ricerche esplicite, abbiamo identificato e rimosso queste regole dal set di regole e le abbiamo implementate nel motore con algoritmi di ricerca e ricerca migliori, come le ricerche HashMap e l’operatore di corrispondenza di frasi (PM) invece di un operatore regex (Rx), laddove possibile.

Facendo le cose in modo diverso con la struttura dei set di regole, il nostro motore WAAP utilizza strutture di dati più veloci e formati standard aperti come JSON, che sono più facili da configurare ed eseguire più velocemente. Ciò si traduce in prestazioni migliori, non solo in termini di velocità, ma anche in termini di precisione:

  • Bassi falsi positivi: Bordo dispone e controlla il set di regole in modo da garantire il mantenimento della precisione
  • Prestazioni del motore migliorate: Il motore Edgio WAAP fa funzionare i set di regole in modo da evitare di sovraccaricare il motore

Ad esempio, per la regola del criterio OWASP IP blocklist, il motore ModSecurity utilizza il proprio algoritmo “msc_Tree” che esamina un elenco IP non valido. In alternativa, il motore Edgio WAAP utilizza un algoritmo diverso, un po’ più veloce. I risultati dei test riportati di seguito mostrano le prestazioni di Edgio WAAP rispetto a ModSecurity. ModSecurity aggiunge una latenza da 200 ms a 500 ms quando esegue un milione di query su elenchi IP di grandi dimensioni. Edgio WAAP gestisce circa 10 miliardi di richieste al giorno sulla propria rete. Questi piccoli numeri sono molto importanti su una scala così ampia.

Evitare avvisi e bloccare i compromessi

Un motore WAAP migliore e una combinazione di set di regole consentono inoltre alle organizzazioni di ottenere prestazioni più veloci e di eseguire WAAP in modalità doppia (sia in modalità blocco che in modalità audit). Ciò consente ai team addetti alle operazioni di sicurezza di sperimentare nuove regole per il traffico di produzione in modalità audit/avviso e di perfezionare le regole prima di promuovere il set di regole in modalità blocco sul WAAP.

I set di regole Edgio altamente personalizzati consentono agli amministratori di tagliare e tagliare ovunque e di eseguire i set di regole in modalità doppia. Con le stesse regole applicate a impostazioni diverse, gli amministratori possono eseguirle due volte senza influire sulle prestazioni, grazie in parte al motore intelligente e all’implementazione del set di regole.

Il valore qui si estende oltre il team di gestione WAAP. Molti clienti Edgio integrano questa opzione nel ciclo di vita DevOps, offrendo all’azienda, al team di progettazione e al team di sicurezza IT la possibilità di collaborare e testare le regole in modalità di controllo prima di applicarle alla modalità di blocco della produzione.

Questo processo in due fasi consente al team di sicurezza IT di verificare le modifiche alla configurazione del firewall prima che vengano attivate, fornendo al team dati per testare le modifiche sul traffico di produzione reale, riducendo in tal modo i falsi positivi una volta che il set di regole è stato messo in produzione. Una volta convalidato il set di regole, le configurazioni aggiornate vengono implementate in pochi secondi. E, se necessario, i rollback sono possibili in pochi minuti. In questo modo, le prove di regole significative diventano molto più realistiche, dinamiche, di impatto, efficaci e a supporto degli obiettivi aziendali.

L’approccio Edgio Dual WAF Mode migliora ulteriormente le prestazioni. Il set di regole intelligente garantisce che il traffico dannoso noto venga bloccato rapidamente per dare spazio al WAF in modo che possa gestire il resto del traffico che viene costantemente presentato. Ciò, a sua volta, dà agli amministratori più tempo per concentrarsi sull’acquisizione di visibilità predittiva; in altre parole, possono vedere le cose nelle applicazioni tramite la modalità di controllo prima di essere distribuiti nei siti di produzione.

Prendete in considerazione il motore WAAP e la progettazione di set di regole se la vostra azienda ha bisogno di uno stack di applicazioni in grado di adattarsi a carichi di lavoro imprevedibili e di fornire comunque un’architettura altamente sicura. Se ottimizzati, questi fattori possono migliorare le prestazioni delle applicazioni Web.

Per ulteriori informazioni su come il motore intelligente Edgio WAAP e i set di regole possono proteggere le vostre applicazioni Web con velocità e precisione, connettetevi oggi stesso.