La conectividad a Internet se ha convertido en el elemento vital de las empresas. Durante la pandemia de Covid-19, esta conectividad ha permitido que muchas organizaciones permanezcan operativas, incluso cuando sus oficinas físicas estaban cerradas debido a medidas de bloqueo. Los escaparates de las tiendas web se beneficiaron de la mejora en el comercio electrónico y las organizaciones aceleraron las iniciativas de transformación digital para hacer que los procesos comerciales sean fluidos.
Aquellas organizaciones con aplicaciones web y aplicaciones móviles altamente integradas han podido sobrellevar la agitación económica causada por la pandemia mejor que aquellas con una presencia en línea menos sofisticada. Pero las aplicaciones web son un objetivo fácil para los actores malintencionados que desean penetrar en las redes corporativas, robar datos e inyectar ransomware.
Una encuesta reciente de tomadores de decisiones de seguridad global realizada por la firma de analistas Forrester informa que las aplicaciones web son los vectores más comunes que usan los atacantes para atacar los sistemas de TI. Según el estudio, mejorar las capacidades y los servicios de seguridad de las aplicaciones durante los próximos 12 meses es la principal prioridad para el 28% de los responsables de la toma de decisiones de seguridad global.
Las organizaciones necesitan proteger las aplicaciones internas, las aplicaciones web y las interfaces de programación de aplicaciones (API) externas que conectan las aplicaciones internas con el mundo exterior. Deben evitar que estas interfaces externas y interfaces web se vean comprometidas y, si un ataque tiene éxito, debe existir una política de continuidad empresarial que determine el nivel de tiempo de inactividad aceptable para la empresa.
Codificación segura
Demasiados sitios web piden a los usuarios que registren un nombre de usuario y una contraseña. Si bien los profesionales de la seguridad instan a las personas a usar contraseñas diferentes, y los navegadores web generarán y almacenarán automáticamente una contraseña segura, muchas personas optan por una contraseña que sea fácil de recordar. A menudo, utilizarán la misma contraseña para autenticarse en varios sitios web. Como tal, la contraseña del usuario no solo es fácil de descifrar, sino que un pirata informático también puede intentar usar la misma contraseña para apuntar a otros sitios.
La API de OAuth es uno de los enfoques disponibles para los sitios web que desean ofrecer autenticación sin requerir que los usuarios configuren una nueva contraseña. Hace uso de la autenticación de back-end de Facebook y Google, pero el costo de esta conveniencia es que Google y Facebook compartirán parte de la información del usuario con la organización que administra el sitio web.
El Proyecto de seguridad de aplicaciones web abiertas (OWasp) ha creado un conjunto de pautas como parte de su Estándar de verificación de seguridad de aplicaciones. En sus recomendaciones, OWasp aboga por el uso de los últimos métodos para la autenticación segura de usuarios, como la autenticación multifactor (MFA), la biometría o las contraseñas de un solo uso. Otras recomendaciones incluyen un cifrado sólido para evitar la pérdida de datos, controles de acceso y desinfección y validación del contenido generado por el usuario, como los datos que se espera que el usuario escriba en un cuadro de entrada en una aplicación web o móvil.
El estándar estipula que los desarrolladores de aplicaciones web y móviles deben implementar controles de validación de entrada. Según OWasp, el 90% de todos los ataques de inyección ocurren porque una aplicación no puede verificar los datos de entrada correctamente. La versión 4.0.2 del Estándar de verificación de seguridad de aplicaciones establece: “Las comprobaciones de longitud y rango pueden reducir esto aún más. Es necesario incorporar una validación de entrada segura durante los sprints de diseño de la arquitectura de la aplicación, la codificación y las pruebas unitarias e integradas “.
En efecto, los desarrolladores de aplicaciones necesitan escribir código de una manera que evite que los datos de entrada no autorizados se utilicen como vector de ataque. En un ataque de estilo de inyección, se utilizan datos cuidadosamente elaborados para provocar un error que hace que la aplicación ejecute los datos como otro programa. Tal ataque se puede prevenir si el programador escribe el software para manejar los datos de entrada de una manera que verifique qué datos espera. Por ejemplo, si espera un número, debe rechazar todo lo que no tenga sentido. Del mismo modo, las direcciones y fechas de nacimiento tienen formatos estándar, que se pueden verificar.
Uno de los muchos desafíos que enfrentan los programadores al intentar escribir código seguro que evite ataques de estilo de inyección o de desbordamiento de búfer es el hecho de que el desarrollo de software moderno es muy heterogéneo. “Si realmente desea detenerlos, debe hacer que sea imposible escribir un desbordamiento de búfer o un ataque de inyección”, dice Owen Wright, director gerente de aseguramiento de Accenture.
Pero, aunque la mayoría del software solía estar codificado a mano, Wright dice que los métodos modernos de desarrollo de software se basan en gran medida en marcos, bibliotecas e integración de terceros con servicios en la nube. Aquellos proporcionados por grandes proveedores comerciales pueden tener equipos importantes dedicados a la codificación segura, dice, pero “algunas bibliotecas de código abierto bien utilizadas son mantenidas por solo una o dos personas [and] todos confían en ellos y asumen [they are] bien conservado”.
Más allá de la codificación, Wright señala que las organizaciones están comenzando a adoptar un enfoque de “cambio a la izquierda” para la seguridad de TI, donde los desarrolladores asumen más responsabilidad en la producción de código seguro. “A los desarrolladores no se les enseña con una mentalidad de seguridad, ellos son los desarrolladores primero”, dice. “Las organizaciones deberían centrarse más en la conciencia de seguridad”.
Pero existe una tensión constante entre velocidad, costo y calidad. Wright cree que pasar a un modelo DevSecOps para proyectos de software alienta a los desarrolladores a solucionar el código del problema antes de lo que lo harían si dependieran de las pruebas de penetración una vez que se haya enviado la aplicación. Este es uno de los principios de trasladar la responsabilidad de la codificación segura a la izquierda, de regreso al desarrollador.
Según la experiencia de Wright, esto es mucho menos costoso que corregir errores de seguridad más adelante en el ciclo de vida del desarrollo del software. Sugiere que las organizaciones deberían crear plantillas para proteger las aplicaciones que luego se pueden implementar en proyectos posteriores.
Protección de aplicaciones web
Los ataques de la capa de aplicación, que también se conocen como ataques de Layer 7 o L7, intentan sobrecargar los servidores enviando solicitudes HTTP legítimas de forma continua.
Según yogigante de la infraestructura de Internet Cloudflare, la efectividad subyacente de la mayoría de los ataques distribuidos de denegación de servicio (DDoS) proviene de la disparidad entre el volumen de recursos que se necesita para lanzar un ataque en relación con el volumen de recursos que se necesita para absorber o mitigar uno. Dice que un ataque a la capa de aplicación crea más daño con menos ancho de banda total.
Por ejemplo, si un usuario desea acceder a un servicio basado en la web, digamos Gmail, o realizar una transacción basada en la web en un sitio de comercio electrónico, el servidor recibe una solicitud del software cliente que se ejecuta en el navegador o dispositivo del usuario y luego debe hacer una consulta a la base de datos o llamar a una API para cumplir con la solicitud del usuario.
Cloudflare señala que un ataque de estilo de denegación de servicio aprovecha el hecho de que puede haber una disparidad en la capacidad del servidor para completar esta tarea cuando muchos dispositivos apuntan a una sola propiedad web. “El efecto puede abrumar al servidor objetivo. En muchos casos, simplemente apuntar a una API con un ataque de Capa 7 es suficiente para desconectar el servicio ”, advierte en un artículo que analiza la seguridad a nivel de la aplicación.
De Gartner Magic Quadrant para firewalls de aplicaciones web El informe, publicado en octubre de 2020, predice que para 2023, más del 30% de las aplicaciones web y API de cara al público estarán protegidas por servicios de protección de API y aplicaciones web en la nube (WAAP). Para 2024, Gartner espera que la mayoría de las organizaciones que implementan estrategias multinube para aplicaciones web en producción utilicen solo servicios WAAP en la nube.
WAF de nube pública
De Gartner Magic Quadrant para firewalls de aplicaciones web el informe nombra a Akamai e Imperva como “líderes” en el campo del firewall de aplicaciones web (WAF).
Cloudflare, Fortinet, F5 y Barracuda conforman el cuadrante “retador” de Gartner. Junto con los dos líderes, estas empresas tienden a estar en la lista corta cuando los responsables de la toma de decisiones de TI están analizando sus opciones en el mercado WAF.
El proveedor de servicios de protección DDoS Radware y la startup de WAF Signal Sciences forman el cuadrante “visionario” de Gartner, reconociendo el uso innovador de la tecnología en sus ofertas de productos. Gartner señala que Radware utiliza el aprendizaje automático en su firewall de aplicaciones web para combatir amenazas, mientras que Signal Sciences se centra en proteger las aplicaciones nativas de la nube.
Los proveedores de nube pública también ofrecen capacidades de firewall de aplicaciones web como parte de sus plataformas. Sin embargo, tanto Microsoft Azure como Amazon Web Services (AWS) son considerados jugadores de “nicho” por Gartner.
Por ejemplo, el informe del Cuadrante Mágico señala que AWS WAF proporciona protección básica de bots a través del conjunto de reglas administrado proporcionado por AWS y la capacidad de protección de la infraestructura. Sin embargo, los autores del informe advierten que AWS WAF carece de muchas funciones avanzadas de protección de bots específicas de la aplicación que se encuentran en los productos de la competencia, como la identificación de dispositivos, la detección del comportamiento del usuario y los desafíos de JavaScript.
En cuanto a la oferta de Microsoft, Gartner dice que Azure WAF está disponible en más regiones de Azure. El informe destaca el trabajo de Microsoft para integrar Azure WAF con otros servicios de Azure. Como ejemplo, Gartner señala que Azure WAF ahora se integra de forma nativa con el controlador de ingreso de Azure Kubernetes Service para la protección de microservicios, puede enviar eventos a Azure Sentinel de Microsoft para un monitoreo integrado y hace un mejor uso de la infraestructura técnica de Microsoft para bloquear bots conocidos.
El informe de Gartner también menciona nuevas capacidades en el servicio de mitigación de DDoS y WAF de Cloud Armor de Google, que está disponible en Google Cloud Platform (GCP). Los autores del informe dicen que Google ha agregado “funciones útiles”, como listas de control de IP y filtrado de geo-IP, reglas predefinidas para bloqueo de scripts entre sitios (XSS) e inyección SQL (SQLi), y creación de reglas personalizadas. Según Gartner, Google está mostrando signos de voluntad de expandir sus capacidades.