Home Artículos técnicos Mejora del rendimiento de las aplicaciones con reglas de seguridad más rápidas
Applications

Mejora del rendimiento de las aplicaciones con reglas de seguridad más rápidas

About The Author

Outline

A medida que más equipos de desarrollo de aplicaciones integran la seguridad en sus flujos de trabajo, están analizando el impacto de la seguridad en sus aplicaciones, desde una perspectiva de canalización de aplicaciones, flujo de trabajo y rendimiento.

Debido a los requisitos de cumplimiento, la protección de aplicaciones web y API (WAAP) se implementa comúnmente en una pila de aplicaciones. Pero a medida que las organizaciones mueven sus cargas de trabajo a la nube y comienzan a integrar la seguridad en el tejido de sus aplicaciones, el papel del WAAP está evolucionando. Las organizaciones necesitan plataformas WAAP que puedan escalar y adaptarse a las cambiantes arquitecturas de nube y las crecientes amenazas de seguridad.

En este artículo, revisaremos cómo el motor WAAP —y, más específicamente, un conjunto de reglas creado específicamente para su uso con ese motor— se puede adaptar para escalar hacia flujos de trabajo en la nube y mejorar el rendimiento de su aplicación web, mientras mantiene una fuerte protección contra las amenazas en línea.‍

Considere tanto el motor WAAP como su ruleset‍

El WAAP debe ser una parte importante de su pila de aplicaciones y programa de seguridad de red. Tradicionalmente, los WAAP se desconectaban del desarrollo de aplicaciones y se veían como una capa de seguridad que se encontraba fuera de la aplicación. Pero las modernas arquitecturas y herramientas WAAP han ayudado a SecOPs a colaborar con DevOps a lo largo del proceso de CI/CD, incluyendo la creación de reglas y pruebas a medida que se desarrolla una aplicación. Cuando se utilizan correctamente para analizar el tráfico que atraviesa la infraestructura de la aplicación, el motor WAAP y su conjunto de reglas juegan un papel importante en la rapidez con la que se completa el análisis y el rendimiento de las decisiones de auditoría y bloqueo resultantes como parte de la arquitectura general de la aplicación.

Como el motor, la computadora y la transmisión de un automóvil, un motor WAAP, sus reglas, y la aplicación que protege debe diseñarse y optimizarse para trabajar juntos. Un fabricante de automóviles no diseña un motor en una burbuja. Debe optimizarse para que el resto del chasis y los componentes del automóvil alcancen el máximo rendimiento y eficiencia en todos los ámbitos. Lo mismo debería ser cierto para el motor WAAP y su conjunto de reglas. Un WAAP que no tenga en cuenta estas variables puede sobrecargarse y sobrecargarse y, en última instancia, degradar el rendimiento y la experiencia del usuario de la aplicación web.‍

Reduzca la carga de trabajo WAAP para mejorar la velocidad y la effectiveness‍

El Edgio WAAP utiliza una combinación de código abierto, industria y firmas propietarias para informar su conjunto de reglas. Evaluamos cuidadosamente el impacto de cada firma en el desempeño del conjunto de reglas generales.

A medida que diseñamos y optimizamos nuestro motor WAAP, vimos que al recopilar y consumir las reglas de código abierto y de la industria sin ninguna modificación, (casi) todas las reglas tendrían que ser analizadas a medida que el tráfico cruza el cable. Este modelo es bastante común entre los WAAP y hace que sea “fácil” ver lo que sucede con el tráfico. Pero también obliga al WAAP a revisar todas las reglas para evaluar el riesgo asociado con el tráfico. Esto pone una carga de trabajo innecesariamente pesada en el WAAP que se exacerba aún más a medida que crece el conjunto de reglas.

Por supuesto, no siempre se trata de velocidad. Un elemento clave en un WAAP es su capacidad para determinar el riesgo (compromiso) versus la recompensa (transacciones exitosas) asociadas con el tráfico y decidir si marcar el tráfico como malicioso, sospechoso o benigno. El WAAP enviaría una alerta al equipo (modo auditoría/alerta) y bloquearía o redirigiría el tráfico si se considera demasiado arriesgado para dejar pasar (modo producción/bloque).

Este análisis se convierte en un desafío mayor al examinar los conjuntos de reglas de código abierto e industria ingeridos. Es poco probable que se hayan creado con la velocidad y la eficiencia en mente para cada motor WAAP posible en el mercado. Esto no significa que sean malos, solo significa que se centran en el riesgo primero, dejando el rendimiento como una reflexión posterior. En otras palabras, hay margen de mejora.

Con los conjuntos de reglas creados primero para la integridad y la precisión, muchos WAAP descubren que no pueden manejar el tráfico que se analiza en ambos modos (auditoría y bloque), lo que obliga a los equipos de InfoSec a elegir un modo: comience con el modo de auditoría y muévalo al modo de producción o vaya directamente al modo de producción con pocas o ninguna prueba en el mundo real, lo que los deja abiertos a amenazas perdidas y falsos positivos.‍

Cómo Edgio mejora su WAAP rulesets‍

El modelo de código abierto OWASP ModSecurity para conjuntos de reglas proporciona una manera estándar y consistente a través de la cual se pueden desarrollar e implementar conjuntos de reglas WAAP. Para complementar esto, OWASP ofrece un conjunto de reglas genéricas de la industria que puede ser ingerido por un WAAP que sigue este modelo.

Sin embargo, a medida que nuestro equipo estaba implementando el conjunto de reglas, se dieron cuenta de que los conjuntos de reglas que se ingerían, aunque completos y precisos, estaban frenando el motor WAAP. Por lo tanto, el equipo decidió examinar cómo se estructuran y procesan los conjuntos de reglas. Lo que encontramos, que no debería sorprender a ningún administrador de WAAP, es que muchas reglas pasan por los mismos datos una y otra vez para pasar por las comprobaciones necesarias para determinar el riesgo del tráfico que pasa a través del WAAP.

Algunas reglas de aplicación de protocolos son bastante sencillas y no tienen que “vivir” dentro del ecosistema del conjunto de reglas. Para hacer frente a esto, primero desarrollamos el conjunto de reglas que recortó efectivamente el conjunto de reglas OWASP implementándolas directamente en el motor WAAP en un formato que no sea ModSecurity. Esto da como resultado una ejecución temprana y una detección más rápida.

A continuación, nos centramos en las reglas que analizan los organismos de solicitud. Construimos una capa de almacenamiento en caché que mitiga la sobrecarga de rendimiento de recalcular las mismas expresiones en las reglas. Tomando un ejemplo de cuerpos de formato XML, buscamos cuántas veces aparece la expresión “XML:/*” en el conjunto de reglas CRS de OWASP para ver cuántas veces un XPath se puede volver a putar en el procesamiento de una sola solicitud sin una capa de almacenamiento en caché, el número es significativo.

Finalmente, donde se producen muchas expansiones macro/sustituciones de cadenas y búsquedas explícitas, identificamos y eliminamos esas reglas del conjunto de reglas y las implementamos en el motor con mejores algoritmos de búsqueda y búsqueda, como las búsquedas de HashMap y el operador de coincidencia de frases (pm) en lugar de un operador regex (Rx) siempre que sea posible.

Al hacer las cosas de manera diferente con la estructura de los conjuntos de reglas, nuestro motor WAAP utiliza estructuras de datos más rápidas y formatos estándar abiertos como JSON, que son más fáciles de configurar y ejecutar más rápido. Esto se traduce en un mejor rendimiento, no solo en términos de velocidad, sino también en términos de precisión:

  • Falsos positivos bajos: Edgio organiza y controla el conjunto de reglas de una manera que garantiza que se mantenga la precisión
  • Rendimiento mejorado del motor: El motor Edgio WAAP ejecuta los conjuntos de reglas de una manera que evita sobrecargar el motor

Por ejemplo, para la regla de política de lista de bloqueo de IP OWASP, el motor ModSecurity utiliza su propio algoritmo “msc_tree” que mira una lista de IP errónea. Alternativamente, el motor Edgio WAAP utiliza un algoritmo diferente que es bastante más rápido. Los siguientes resultados de la prueba muestran cómo funciona Edgio WAAP contra ModSecurity. ModSecurity añade una latencia de 200 a 500 ms al realizar un millón de consultas en grandes listas de IP. Edgio WAAP maneja alrededor de 10B solicitudes por día en toda su red. Estos números pequeños importan mucho en una escala tan grande.

Evite alertar vs. Bloqueo de compensaciones

Un mejor motor WAAP y combinación de reglas también significa que las organizaciones obtienen un rendimiento más rápido y pueden ejecutar WAAP en modo dual (tanto en modo bloque como en modo auditoría). Esto permite a los equipos de operaciones de seguridad experimentar con nuevas reglas contra el tráfico de producción en el modo auditoría/alerta y ajustar las reglas antes de promover el conjunto de reglas para bloquear el modo en el WAAP.

Los conjuntos de reglas de Edgio altamente personalizados permiten a los administradores cortar y dar en todas partes y ejecutar los conjuntos de reglas en modo dual. Con las mismas reglas aplicadas a diferentes configuraciones, los administradores pueden ejecutarlas dos veces sin afectar el rendimiento, gracias, en parte, al motor inteligente y a la implementación del conjunto de reglas.

El valor aquí se extiende más allá del equipo de gestión de WAAP. Muchos clientes de Edgio integran esta opción en su ciclo de vida de DevOps, dando a la empresa, al equipo de ingeniería y al equipo de seguridad DE TI la capacidad de colaborar y probar las reglas en modo de auditoría antes de aplicarlas al modo de bloqueo de producción.

Este proceso de dos pasos permite al equipo de seguridad DE TI revisar los cambios de configuración del firewall antes de que se activen, equipando al equipo con datos para probar los cambios en el tráfico de producción real, reduciendo así los falsos positivos una vez que el conjunto de reglas se coloca en producción. Una vez que el conjunto de reglas ha sido validado, las configuraciones actualizadas se implementan en cuestión de segundos. Y los retrocesos, si es necesario, son posibles en pocos minutos. Esto hace que las pruebas de conjunto de reglas significativas sean mucho más realistas, dinámicas, impactantes, eficaces y que respalden los objetivos empresariales.

El enfoque Edgio Dual WAF Mode también mejora el rendimiento aún más. El conjunto de reglas inteligentes asegura que el tráfico malicioso conocido se bloquee rápidamente para dar un poco de espacio de respiración al WAF para que pueda manejar el resto del tráfico que se presenta constantemente. Esto, a su vez, da a los administradores más tiempo para centrarse en obtener visibilidad predictiva; en otras palabras, pueden ver las cosas en las aplicaciones a través del modo de auditoría antes de que se implementen en los sitios de producción.

Considere el motor WAAP y el diseño del conjunto de reglas si su empresa necesita una pila de aplicaciones que pueda adaptarse a cargas de trabajo impredecibles y aún así ofrecer una arquitectura altamente segura. Cuando se optimizan, estos factores pueden mejorar el rendimiento de sus aplicaciones web.

Para obtener más información sobre cómo el motor inteligente y los conjuntos de reglas Edgio WAAP pueden proteger sus aplicaciones web con velocidad y precisión, conectémonos hoy mismo.