Seguridad para aplicaciones: equilibrar la seguridad del software con los imperativos empresariales
- Seguridad Inteligente
La seguridad por sí sola no es suficiente. Si es poca, las organizaciones están expuestas a amenazas esenciales y potencialmente existenciales. Pero si es demasiado amplia, se enfrentan al riesgo de verse inmersas en procedimientos que erosionan la eficiencia, impiden el cambio, hacen perder dinero y frustran a los trabajadores.
La mayoría de las organizaciones reconocen que la seguridad debe equilibrarse con los imperativos empresariales que aceleran la innovación y respaldan la rentabilidad. Pero cuando se trata de la seguridad para aplicaciones (AppSec), puede ser difícil obtener correctamente este equilibrio.
AppSec en un mundo conectado
En un mundo cada vez más conectado y dependiente de las aplicaciones, las prácticas de seguridad en torno al desarrollo de aplicaciones deben desempeñar un papel fundamental en cualquier estrategia de capacidad de recuperación cibernética.
Un informe de investigación de CyberRes, el especialista en capacidad de recuperación, el informe de tendencias de AppSec, describe las tendencias clave de seguridad de las aplicaciones que las organizaciones deben abordar con urgencia. Entre ellas se incluyen la necesidad de asegurar la cadena de abastecimiento de software, un enfoque en la seguridad de la API y la necesidad de aplicar la seguridad para aplicaciones durante todo el ciclo de vida del desarrollo de software.
¿Por qué AppSec es tan importante? Debido a que muchas de las vulneraciones de la seguridad informática más importantes han involucrado defectos de seguridad en las aplicaciones, como la reciente infracción del servidor multimedia Plex, la infracción de la red de criptomonedas de Ronin y, quizás, la más preocupante de todas: la infracción del almacén de contraseñas de LastPass.
Estas infracciones a menudo ocurren debido a la forma en que se han desarrollado las aplicaciones. El nuevo código fuente creado puede contener defectos, a menudo porque está siendo desarrollado dentro de plazos estrictos por parte de organizaciones que priorizan el tiempo y el gasto por encima de las prácticas de codificación seguras. Y debido a limitaciones de tiempo, los desarrolladores utilizan un código fuente abierto que frecuentemente contiene vulnerabilidades.
De hecho, tres cuartos de las aplicaciones web tienen al menos un problema de seguridad importante. Los delincuentes lo saben, por lo que el 94 % de los ataques exitosos van dirigidos a aplicaciones o API que utilizan los desarrolladores.
La importancia de la seguridad de la API
Las interfaces de programación de aplicaciones (API) están especialmente en riesgo por parte de los ciberdelincuentes. Las API son esenciales en el desarrollo de aplicaciones modernas. Por ejemplo, permiten que una aplicación bancaria que se ejecuta en un smartphone se conecte a los servicios de back end del banco para mostrar al usuario la información más reciente de la cuenta. Debido a que son fundamentales para tantos servicios en línea, son un objetivo importante para los hackers. La mitad de todas las transacciones B2B se llevarán a cabo a través de API para el 2023: esto representa un enorme riesgo en el comercio y el sector.
Lamentablemente, el ecosistema de API es complejo, lo que dificulta la gestión. Las API pueden estar ya disponibles públicamente, pueden desarrollarse por parte de un socio externo (que puede o no cumplir con los estándares apropiados) o pueden desarrollarse internamente. Funcionan en diferentes niveles, desde el nivel de "experiencia", donde los usuarios finales interactúan con una aplicación, hasta el nivel de "sistema", donde las API son responsables de la mecánica de una aplicación, por ejemplo, conectar bases de datos con algoritmos de IA. Y a veces vinculan el software operado por dos organizaciones totalmente independientes (un banco y un minorista, tal vez), algo que puede hacer que la solución general sea más vulnerable.
Debido a esta complejidad, no es fácil garantizar la sólida seguridad de las aplicaciones y las API. Y esto se complica aún más por la necesidad de equilibrar la seguridad con los requisitos empresariales.
Equilibrar la seguridad con los imperativos empresariales
Todas las organizaciones tienen una misión, ya sea obtener ganancias o hacer el bien para la sociedad. Muy pocos hacen negocios simplemente "para garantizar la seguridad". La seguridad no es un objetivo estratégico en sí mismo, sino que es algo que respalda los objetivos estratégicos. Estos pueden incluir:
- Requisitos de innovación y mercado. Un control de seguridad sólido permite desarrollar rápidamente nuevas aplicaciones. Puede que las personas no compren productos solo porque son seguros. Sin embargo, no hay duda de que los evitarán si no lo son. Los procesos de desarrollo, por lo tanto, deben mantener la seguridad en mente en todo momento, pero, al mismo tiempo, mantener la velocidad necesaria para que las empresas puedan comercializar sus productos de forma rápida y fiable.
- Cumplimiento con los requisitos legales y normativos. Un buen programa de seguridad para aplicaciones reduce la posibilidad de litigios, multas o daños a la reputación causados por la pérdida de los datos de clientes o empleados. Además, en algunos sectores, como el de los servicios financieros, un nivel adecuado de seguridad puede ser una condición previa para hacer negocios.
- Flexibilidad. El entorno comercial actual es volátil, incierto y complejo. Los desarrolladores de software deben poder responder a cambios inesperados a la vez que mantienen el código seguro. Por ejemplo, añadir una nueva función a un servicio debe realizarse de tal manera que la seguridad de todo el servicio no se vea comprometida. Y las soluciones deben poder aumentarse o reducirse, en función de lo que requieran las circunstancias comerciales cambiantes.
- Eficiencia. Los gastos de desarrollo siempre serán importantes. Esto significa que el desarrollo de software debe ser lo más eficiente posible, con software que se pueda desplegar fácilmente y sin gastar recursos innecesarios. La automatización es un impulsor importante de la eficiencia, mientras que los proveedores que pueden ofrecer una integración rápida y fácil, y los modelos de despliegue flexibles también serán esenciales.
Con las herramientas y los procesos correctos, una seguridad sólida es compatible con estos imperativos empresariales, y los desarrolladores pueden capacitarse para ser responsables de la seguridad e integrarla sin problemas en sus prácticas de codificación a gran velocidad. Sin embargo, para que esto ocurra, se debe implantar una cultura de pruebas de seguridad durante todo el ciclo de vida del desarrollo.
Pruebas de AppSec
Con frecuencia, las herramientas de seguridad de software se utilizan para buscar vulnerabilidades comunes en el software que ya se ha desplegado. Sin embargo, es probable que este enfoque deje las aplicaciones vulnerables e implica que las vulnerabilidades son más costosas de reparar cuando se detectan. Un mejor enfoque es encontrar y corregir vulnerabilidades antes en el ciclo de vida del desarrollo de software.
Se deben implantar pruebas de seguridad para aplicaciones estáticas (SAST) para analizar el código de cada componente independiente a medida que se escribe. Por separado, las pruebas de seguridad para aplicaciones dinámicas (DAST) se deben utilizar para analizar las aplicaciones web a medida que se ejecutan, de la misma manera que lo haría un hacker.
Además, se debe implantar la detección de la superficie de ataque. Esto implica el análisis de los puestos finales, los servicios (como los servidores en la nube y la web) y otros parámetros (como los certificados SSL y las direcciones IP) que podrían proporcionar puntos de entrada para los vectores de ataque.
El objetivo debe ser que las pruebas de seguridad para aplicaciones deben "estar en todas partes y ser frecuentes". Se debe alentar a los desarrolladores a convertirse en los principales impulsores de las pruebas de seguridad. En lugar de incentivarles a tener el software "listo cuanto antes", también se les deben dar las herramientas y los recursos para identificar y corregir vulnerabilidades sin una pérdida significativa de tiempo y sin que haya un impacto en el tiempo de lanzamiento.
Las pruebas de seguridad para aplicaciones eficaces tendrán en cuenta las principales tendencias identificadas en el informe de tendencias de AppSec de CyberRes. Estas incluyen:
- AppSec nativa en la nube. Ahora que la norma es una infraestructura de varias nubes, existen requisitos de AppSec específicos para las aplicaciones que se ejecutan en la nube. Por ejemplo, cuando las aplicaciones se migran a la nube, será necesario volver a probarlas, ya que los vectores de ataque y las dependencias del repositorio de datos son diferentes.
- Orquestación de la seguridad. Cuando hay grandes equipos de desarrolladores en una organización, deben capacitarse con soluciones escalables de análisis y seguridad. Para garantizar la eficiencia, las soluciones deben recopilar, analizar e indicar los resultados en un solo lugar, lo que proporciona visibilidad de todas las iniciativas de seguridad para aplicaciones dentro de una organización y ofrece una visión general completa de los datos de AppSec para los directores ejecutivos.
- SAST y DAST. Las pruebas de seguridad deben incluir pruebas estáticas (SAST) y dinámicas (DAST). Las pruebas SAST le ayudan a detectar problemas complejos, como los relacionados con el flujo de datos (como inyecciones de SQL). Además, aceleran las revisiones seguras del código mediante la automatización de algunos de los procesos. Por el contrario, las pruebas DAST pueden detectar diferentes tipos de problemas, ya que se comportan como lo haría un hacker y detecta exploits en entornos operativos. Y dado que, al igual que las pruebas SAST, están en gran medida automatizadas, las pruebas DAST pueden liberar a sus evaluadores de penetración para que se concentren en pruebas más complejas.
La importancia de las pruebas automatizadas de seguridad para aplicaciones
Las empresas que utilizan la automatización tienen el doble de probabilidades de implantar pruebas de seguridad con regularidad. Alrededor de un tercio de las organizaciones (32 %) todavía integra manualmente sus herramientas de seguridad. Esto deja un amplio margen para la mejora de los canales de desarrollo de software.
En los otros dos tercios de las organizaciones, la automatización está bien establecida. Sin embargo, los protocolos de pruebas de seguridad están evolucionando aún más con el uso creciente de la inteligencia artificial y, específicamente, del aprendizaje automático (ML), como señala la investigación de CyberRes.
Una forma de usar el ML es impulsar la erradicación de la identificación de amenazas que son falsos positivos, que tiene un gran impacto en la energía de los equipos de seguridad. El ML aprenderá continuamente de los resultados anteriores, y será cada vez más y más preciso. Por supuesto, nunca es perfecto, y la intervención humana, inicialmente para entrenar al sistema y luego validar las decisiones, es una parte esencial de cualquier programa de ML.
Los procesos en el desarrollo de aplicaciones siguen evolucionando. El ritmo del cambio asociado con las pruebas de seguridad para aplicaciones también se está acelerando. El desarrollo correcto de aplicaciones requiere que las organizaciones reconozcan la necesidad de que los riesgos de seguridad se equilibren con los imperativos empresariales y el requisito de la innovación constante. Al actuar según las tendencias actuales en seguridad para aplicaciones, las organizaciones estarán capacitadas para ofrecer aplicaciones seguras de manera flexible, rentable y rápida.
La herramienta de pruebas de seguridad Fortify de CyberRes puede ayudarle a equilibrar sus requisitos de seguridad y empresariales. ¿Desea conocer más opiniones? Consulte el informe Magic Quadrant de pruebas de seguridad para aplicaciones de Gartner.
Puede descargar una prueba gratuita de Fortify on Demand aquí.
Or sign up for a free webinar on open source secure code testing ?https://attendee.gotowebinar.com/register/7236437305696395871
Descubre la innovación
Para asegurar el éxito empresarial, ahora y a futuro, es imprescindible maximizar el retorno de la inversión existente en software, a la vez que innovar y adoptar nuevas tecnologías. Los retos que hay abordar para competir en un mundo de IT Híbrida incluyen diferentes vías de actuación: la gestión de aplicaciones, la gestión de las operaciones de IT (ITSM), la modernización de aplicaciones y la ciberseguridad inteligente. Puedes obtener más información sobre cómo abortar estos retos e innovar haciendo clic en cada una de las líneas de acción o visitando el sitio web de Micro Focus en este enlace.