Claves para maximizar la seguridad en las aplicaciones y servicios modernos
- Actualidad
La realidad ha cambiado, tanto en lo referido a lo que demandan los usuarios de las aplicaciones y los servicios, como en lo relacionado con la complejidad de las amenazas existentes, sobre todo desde la explosión del mundo cloud y de la movilidad. Millones de aplicativos y microservicios son accedidos a diario por unos clientes que esperan inmediatez y una inmejorable experiencia de uso, mientras sus responsables deben asegurarse de contar con los niveles óptimos de seguridad en un entorno cada día más complejo y expuesto.
El mundo del desarrollo ha cambiado radicalmente en los últimos años. De largos procesos de preparación de las aplicaciones y ciclos de actualización todavía más amplios, hemos pasado a flujos de trabajo optimizados, un mayor acercamiento entre programación y negocio, períodos menores de creación y actualización, y un mayor foco en la seguridad como parte esencial del diseño, sin que ello afecte a la Experiencia de Usuario, dado que alcanzar el mayor nivel posible en este terreno es el principal objetivo de cualquier aplicación o servicio.
Sin embargo, no todos los responsables de seguridad son tenidos en cuenta a la hora de diseñar estos desarrollos. De hecho, según el resultado de una encuesta realizada por Fastly en colaboración con Enterprise Strategy Group (ESG) Research para la elaboración del informe El punto de inflexión de la seguridad en la web,solo una de cada cuatro empresas reconoció haber centralizado el control de la seguridad en todas las aplicaciones y aspectos de su entorno.
Pensemos en la seguridad como en los frenos de un coche. Podemos creer que los frenos son el elemento del vehículo que nos impide acelerar, pero la realidad es justo la contraria, dado que solo podremos alcanzar más velocidad si tenemos las herramientas de seguridad necesarias para detenernos en caso de necesidad. Si no, no podríamos incrementar nuestro ritmo sin exponernos a un peligro incalculable.
Contar con la seguridad como un elemento básico en el diseño de servicios y aplicaciones nos capacita para ofrecer la mejor experiencia posible de uso sin que eso penalice la protección de nuestro entorno, de los datos, de los usuarios y de los dispositivos donde se ejecutan.
Nueva forma de creación de aplicaciones
La realidad ha cambiado, como decíamos. Todos los días nos relacionamos con servicios en diferentes tipos de nube, incluso en entornos multicloud, apoyándose en microservicios y con un creciente protagonismo de las API para su integración con otros servicios o aplicaciones corporativas. Esto hace que el desarrollo no pueda seguir las directrices tradicionales, donde la seguridad solía aportarse como una capa adicional una vez concluida la programación. Ahora, más cuando hablamos de usuarios que esperan actualizaciones constantes, no podemos esperar a parchear o evolucionar una aplicación en un ciclo largo de desarrollo, sino que, aprovechando las posibilidades de conceptos como DevOps, tenemos que crear flujos de actualización constante en los que la seguridad es un elemento esencial, no adicional.
En una realidad donde la tecnología se consume, cada día más, fuera de los perímetros tradicionales, ya sea por parte de los clientes, que se conectan con sus dispositivos móviles, o por parte de la fuerza laboral, proveedores y socios de las compañías, que interactúan con los aplicativos corporativos desde posiciones remotas, la seguridad es un elemento que no podemos pasar por alto, y que tiene que mantener protegido un entorno cada vez más complejo y heterodoxo.
Nuevos atacantes, nuevos retos para la seguridad
Además, los atacantes han demostrado una gran capacidad para desarrollar amenazas cada vez más serias y dirigidas, automatizando muchos de los elementos de ataque y aprovechando tecnologías de Inteligencia Artificial y Machine Learning para mantenerse varios pasos por delante de unas herramientas de protección que, hasta hace no mucho, apostaban por una defensa basada en firmas y en amenazas conocidas. Es imprescindible cambiar el foco a la hora de definir los elementos de seguridad, cambiando unas reglas del juego que hacen que la protección siempre tenga que estar por detrás y tenga que limitarse a una defensa reactiva. Aplicando nuevas reglas en la seguridad, aprovechando las posibilidades que las nuevas tendencias de desarrollo nos ofrecen, podremos anticiparnos a las amenazas, aportando una respuesta proactiva que coloque a las empresas por delante de las amenazas.
Eso sí, hay que tener en cuenta cuatro claves que deben definir nuestra estrategia de seguridad y su integración en las diferentes aplicaciones y servicios web:
1.- Las herramientas deben combatir intenciones, no amenazas específicas. Apostar por elementos conocidos de peligro nos aboca a tener que definir una política reactiva en materia de seguridad. Sin embargo, si aplicamos inteligencia para analizar las intenciones de cualquier dispositivo, usuario o elemento que se conecte a nuestra plataforma, podremos adelantarnos a cualquier posibilidad de ataque, ya sea conocida o desconocida.
2.- No hay seguridad sin usabilidad. Muchas medidas de seguridad integradas en aplicativos o servicios no nos efectivas porque perjudican la Experiencia del Usuario. Si éste no obtiene el nivel de uso que espera, puede llegar a comprometer la seguridad del entorno al buscar formas alternativas de manejo que dejen de lado las políticas de seguridad de la compañía.
3.- Los ataques en tiempo real requieren acciones en tiempo real. Como decíamos, los ataques actuales son más sofisticados y dañinos para las empresas, tanto a nivel de negocio como en el terreno reputacional. En un mundo donde la inmediatez es un elemento esencial, la respuesta ante cualquier tipo de ataque debe ser inmediata, porque el tiempo que se tarde en reaccionar abre una ventana que los creadores de malware pueden aprovechar para incrementar de forma exponencial el daño creado y el beneficio que obtienen. De ahí que sea fundamental contar con una seguridad proactiva, que permitirá hacer frente a los ataques incluso antes de que se produzcan.
4.- En desarrollo, seguridad y operaciones, todo el mundo debe asumir una mentalidad de ingeniero. Frente a la visión tradicional, que dejaba estos tres perfiles en realidades independientes condenadas a no entenderse, la visión más adecuada en estos momentos se basa en la colaboración de todos los elementos de la empresa, desde los desarrolladores hasta las personas de operaciones, pasando, como no podía ser de otra manera, por la seguridad, aspecto inevitable de cualquier innovación exitosa para la compañía.
En definitiva, para adecuar los niveles de protección a lo que realmente necesitamos en nuestros aplicativos o servicios, es imprescindible optar por una estrategia de seguridad que no perjudique la experiencia de uso, que reaccione antes de que se llegue a materializar la amenaza, que permita mantener el ritmo de actualizaciones que demandan los usuarios, y que se aproveche de las nuevas opciones que ofrece la tecnología para conseguir un entorno seguro y productivo para la compañía y el negocio.