El diseño de aplicaciones se ha transformado profundamente en los últimos años, especialmente con motivo de la transición hacia los servicios en la nube, las arquitecturas multi-cloud y basadas en microservicios, así como aplicaciones orientadas a API que se distribuyen a nivel mundial.
Un auténtico desafío para los equipos de seguridad, ya que la mayoría de las herramientas de seguridad para aplicaciones web y API fueron diseñadas cuando los estándares se basan en soluciones nativas y permanentes en la nube. En esta evolución, es fundamental que también las reglas de seguridad para APIs y aplicaciones web y sus procesos se actualicen, se adapten a la forma en que se diseñan las aplicaciones hoy en día y que respondan al nivel de sofisticación y agilidad de los atacantes actuales. A continuación, detallaremos las que, desde Fastly, consideramos que son las cuatro reglas fundamentales.
Regla nº1 – Combatir intenciones, más que amenazas específicas
Según estudios recientes, más de 350.000 nuevas variantes de malware se crean cada día. Por lo que las empresas se afanan en buscar soluciones que protejan sus activos clave. En muchas ocasiones, la estrategia para abordarlo se basa en herramientas que buscan firmas (o indicadores de compromiso) de amenazas específicas. Por ejemplo, los casos de Stuxnet o SolarWinds. Los IoC incluyen elementos como las direcciones IP de atacantes conocidos y expresiones regulares que coinciden con una URL de petición particular a la que apunta el malware.
Sin embargo, ya hemos podido comprobar que proteger contra amenazas (como los antivirus), buscar inyecciones SQL o scripts en sitios (como hacen los WAF antiguos) o examinar exclusivamente el agente de usuario de las peticiones (como hacen las herramientas antibots) es un modelo que realmente no funciona. Es necesario un nuevo enfoque de seguridad para aplicaciones web y API, más inteligente, capaz de bloquear los ataques maliciosos pero también de mantener el flujo de tráfico valioso, como el de un cliente dispuesto a hacer una transacción. Para ello, es fundamental que las herramientas cumplan tres requisitos clave: primero, examinar no solo la firma del tráfico sino también la intención o el comportamiento. Lo cual significa tener en cuenta factores como la velocidad de la petición, la hora del día y el estado de inicio de sesión del usuario; segundo, que se puedan ejecutar no solo en modo supervisión, sino también en modo bloqueo, sin miedo a generar falsos positivos; y tercero, que estén al día anticipándose a las amenazas de forma proactiva sin suponer una carga adicional para los equipos de seguridad y operaciones.
Regla nº2 – No hay seguridad sin usabilidad
Los equipos de seguridad necesitan integrar herramientas, observar el comportamiento de los sistemas y adoptar medidas de forma ágil. Para ello, la interfaz de usuario es su principal vía de acceso. Sin embargo, en demasiadas ocasiones, han de manejar una multitud de interfaces antiguas que no se diseñaron teniendo la usabilidad como una prioridad. Esto provoca problemas como lagunas en el cumplimiento de políticas en todas las herramientas, lentitud y falta de coordinación en la respuesta a las amenazas urgentes, incluso, incongruencias en la visibilidad del ecosistema de seguridad integral —o, lo que es peor, su invisibilidad. Por este motivo, toda solución de seguridad debería contar con una interfaz única, intuitiva y fácil de usar que permita controlar y ver toda la solución, con observabilidad global para dar visibilidad completa no solo a los equipos de seguridad, sino también a los de operaciones e ingeniería. Además, es fundamental que cuente con API sencillas y que se integren fácilmente entre sí y con todo el stack tecnológico de respuesta, como hacen Jira, PagerDuty, Slack y Splunk, junto con registros y estadísticas en tiempo real.
Regla nº3 – Un ataque en tiempo real requiere una reacción en tiempo real
Los responsables detrás del malware suelen ser ágiles y emplear flujos de trabajo DevOps avanzados para probar, ajustar y desplegar rápidamente nuevos métodos de ataque. Si deseamos proteger los activos de una organización, las soluciones de seguridad deben reaccionar con la misma rapidez tanto en la visibilidad de la amenaza como en la velocidad de reacción para controlarla. Vayamos por partes.
Entendemos por visibilidad en tiempo real aquella que se mide en segundos -aplicada tanto a flujos automatizados como a los manuales- y que permite al sistema aplicar lógica inmediata para examinar amenazas y permitir reaccionar ante alertas que requieren intervención humana. Teniendo en cuenta que los ataques se perpetran en apenas unos minutos, una reacción demasiado lenta puede acarrear consecuencias nefastas.
Eso sí, una vez detectada la amenaza, la velocidad de respuesta debe ser igualmente rápida, y basada en un enfoque de mitigación basado en la intención, como explicábamos anteriormente. Estas herramientas funcionan como sistemas de autoaprendizaje y autorrecuperación; es decir, analizan constantemente patrones y comportamientos para predecir amenazas nuevas o en evolución, por lo que necesitan ver e interpretar el tráfico en tiempo real, así como poder para desplegar nuevas reglas ante las amenazas cambiantes.
Regla nº4 – DevOps seguro, ¿Mentalidad de ingeniero en desarrollo, seguridad y operaciones?
Un verdadero modelo de DevOps seguro diseña la verificación de seguridad y el análisis de vulnerabilidades directamente en el marco de trabajo automatizado de pruebas y despliegue, y no al final del proceso. La mejor forma de establecer esta avanzada forma de trabajo es la integración real de los equipos de seguridad, operaciones y desarrollo, y adoptar una mentalidad de ingeniería centrada en la distribución de software seguro. No solo lograremos un sistema más fiable, sino también equipos más alineados y empleados con una carrera profesional más satisfactoria.
Hoy en día, todavía hay una cierta fricción entre entregar software con rapidez y hacerlo con seguridad. Pero los motivos detrás de esta fricción se pueden resolver con soluciones de seguridad que satisfagan las necesidades de los equipos y que integren la seguridad en los aspectos culturales y técnicos del diseño de software. En Fastly nos centramos en diseñar soluciones de seguridad para aplicaciones web y API que respondan a estas reglas y a las exigentes expectativas de seguridad de las organizaciones modernas.