Panorama de mejores prácticas para el desarrollo de aplicaciones modernas y seguras

El desarrollo de aplicaciones modernas (MAD) es un enfoque para desarrollar aplicaciones de software utilizando tecnologías nativas de la nube. La idea principal es aprovechar las herramientas emergentes más nuevas, como K8, para crear aplicaciones adaptables que sean fáciles de escalar, monitorear y administrar.

 

Pero ¿qué pasa con la seguridad? ¿Deberíamos tratar de proteger las aplicaciones MAD solo usando la lista de los 10 principales de OWASP como guía, o deberíamos explorar opciones adicionales? Y si adoptamos una solución de seguridad integral, ¿cómo podemos estar seguros de que los desarrolladores la mantendrán a largo plazo?

¿CUÁLES SON LAS MEJORES PRÁCTICAS PARA EL DESARROLLO DE APLICACIONES SEGURAS MODERNAS?

In einer idealen Welt würden Sicherheits- und Compliance-Lösungen in jeder Phase des Lebenszyklus der Anwendungsentwicklung enthalten sein. Das bedeutet, dass jede Softwarekomponente standardmäßig gesichert und unter Verwendung von Best Practices der Branche implementiert wird.

 

MAD-Anwendungen (insbesondere Microservices) helfen uns dabei, eine klare Aufgabenverteilung und individuell absicherbare und schützbare Komponenten zu schaffen. Dies erhöht jedoch auch die Wahrscheinlichkeit von Fehlkonfigurationen. Es liegt an Entwicklern und Sicherheitsexperten, den richtigen Weg einzuschlagen, ihre grundlegenden Sicherheitskompetenzen zu verbessern und kontinuierlich auf neue Schwachstellen zu achten.

 

Lassen Sie uns angesichts der zunehmenden Komplexität von MAD-Anwendungen die aktuelle Landschaft der Best Practices für die sichere Entwicklung untersuchen. Beginnen wir  mit den OWASP Top 10.

 

OWASP TOP 10 - ¿POR QUÉ ES IMPORTANTE?

Hoy en día, la lista más conocida de las principales amenazas de seguridad es OWASP Top 10. OWASP es una organización sin fines de lucro dedicada a promover prácticas de software seguras. A lo largo de los años, han publicado una lista de los 10 principales riesgos de seguridad de las aplicaciones web según la información de la comunidad abierta. Esto fue actualizado por última vez en 2011.

 

Los 10 principales de OWASP se basan en amenazas de seguridad comprobadas, están bien documentados y son fáciles de reproducir. Las aplicaciones MAD pueden ser particularmente vulnerables a estas vulnerabilidades porque el uso de microservicios y sistemas de orquestación de contenedores agregan complejidad a la arquitectura del sistema. Esto significa que hay muchas más oportunidades de errores de configuración y autenticación.

 

Hay otra razón por la cual el OWASP Top 10 es importante. Los controles de mitigación se pueden automatizar, programar e integrar con firewalls de aplicaciones web, herramientas de automatización de seguridad y canalizaciones de CI/CD. La integración de los controles de seguridad de OWASP en la canalización del código facilita la identificación y evita muchos problemas de seguridad comunes. Hay muchas herramientas tradicionales para ayudar, incluidos los detectores de desviación de configuración, las comprobaciones de IaC, los escáneres de dependencia, los verificadores de políticas y los verificadores de integridad.

¿HAY OTROS MÉTODOS A CONSIDERAR?

La práctica del desarrollo de aplicaciones seguras no está dominada únicamente por OWASP. De hecho, existen guías y estándares competitivos que fomentan el uso de las mejores prácticas para el desarrollo moderno de aplicaciones seguras. La verdadera pregunta es: ¿por qué no se usan tanto?

 

Para responder a esta pregunta, echemos un vistazo a dos de estos modelos: BSIMM y SAMM.

 

BSIMM (Building Security In Maturity Model) es un marco de seguridad que brinda a las organizaciones información práctica sobre su postura de seguridad en comparación con otras organizaciones. BSIMM realmente no le dice qué hacer. En cambio, tú aprender lo que otras organizaciones están haciendo. Debe usar BSIMM si desea integrar un modelo de seguridad establecido en su propio dominio empresarial.

 

BSIMM recopila información de alrededor de 128 empresas en múltiples categorías comerciales. El núcleo del marco BSIMM consta de 122 tareas divididas en 12 prácticas organizadas en cuatro dominios:

  • Gobernanza (incluye estrategias y métricas, cumplimiento y reglas y capacitación),
  • Inteligencia (incluye modelos de ataque, características y diseño de seguridad, y estándares y requisitos),
  • Puntos de contacto SSDL (incluye análisis de arquitectura, revisión de código y pruebas de seguridad),
  • Implementación (incluye pruebas de penetración, entorno de software y gestión de configuración y gestión de vulnerabilidades).

En la práctica, el equipo de SecOps evalúa la postura de seguridad de la organización y asigna puntos a las actividades. A partir de esto, crean un cuadro de mando que pueden usar para determinar si desean incluir controles de seguridad adicionales basados ​​en los puntajes. Por lo general, refinan el cuadro de mando en función de áreas específicas de interés. Algunas prácticas serán más importantes que otras; Por ejemplo, las obligaciones de PII, los estándares de seguridad y la buena seguridad de la red son siempre consideraciones importantes.

 

BSIMM es gratuito y puede servir como un buen punto de referencia al implementar auditorías de seguridad en una organización. Sin embargo, no es estándar, lo que lo hace un poco menos atractivo que otras opciones.

 

SAMM (Software Assurance Maturity Model) es un proyecto de marco de seguridad de OWASP que tiene mucho en común con BSIMM. Al igual que BSIMM, las organizaciones pueden usarlo para medir y evaluar su postura de seguridad.

 

Los pilares fundamentales de SAMM consisten en:

Figura: La estructura de SAMM (fuente: https://owaspsamm.org/about/)

OWASP proporciona algunas herramientas valiosas para ayudarlo a administrar los modelos de madurez (SAMM o BSIMM) que utiliza. Sin embargo, para poder evaluarlos correctamente en la práctica, aún necesita conocimientos especializados. A continuación explicamos por qué estos métodos no son tan populares como el OWASP Top 10.

 

La razón principal por la que estos métodos no se adoptan ampliamente es por su conveniencia y practicidad. Desde nuestro punto de vista, son demasiado completos y simplemente requieren demasiado esfuerzo. Por ejemplo, imagine que su empresa desea adoptar BSIMM como marco para la madurez del software. Debería evaluar cuáles de las 122 tareas son relevantes para su organización y luego intentar monitorear su puntuación de seguridad en función de esas tareas. Su organización también necesitaría invertir mucho en capacitación, contratar a los profesionales de seguridad adecuados, elegir las herramientas adecuadas y asegurarse de que se siga la lista de tareas pendientes. Eso requiere mucho esfuerzo solo para comprender e integrar un marco que esencialmente solo le dice lo que todos los demás están haciendo (y, por implicación, que usted también debería hacerlo).

Por lo tanto, es más conveniente adoptar el OWASP Top 10 como un estándar único, basado en incidentes reales, con mejores herramientas y considerando una variedad de ataques. ¿Significa esto que su organización no debería considerar BSIMM o SAMM? La respuesta depende principalmente de su modelo de garantía de software y los resultados específicos que desea lograr (por ejemplo, preparación para auditorías, soporte de sistemas críticos u objetivos de seguridad holísticos).

El problema con estos marcos de seguridad es que tienden a ser demasiado complejos, con expectativas casi inmanejables sobre el equilibrio entre seguridad y usabilidad.

Puede tener sentido usar estos marcos de seguridad en ciertos escenarios cuando se intenta lograr el estado de certificación. Por ejemplo, Checkmarx KICS ha obtenido la certificación CIS Nivel 2. Las organizaciones que deseen obtener certificaciones similares deberán seguir un conjunto de reglas y criterios de evaluación para recibir el sello de aprobación adecuado.

Los dos marcos de seguridad discutidos anteriormente tienen la ventaja de ser de uso gratuito y pueden ahorrarle el tiempo que dedicaría a investigar lo que hacen los demás.

LOS PRÓXIMOS PASOS EN EL DESARROLLO DE APLICACIONES MODERNAS Y SEGURAS

En este blog, hemos explicado brevemente el OWASP Top 10, así como BSIMM y SAMM, dos marcos de seguridad alternativos de código abierto para el desarrollo moderno de aplicaciones seguras (y cualquier tipo de software). Comience por adoptar las 10 mejores prácticas de seguridad de OWASP. Checkmarx SAST es la herramienta líder en la industria para ayudarlo a capitalizar esta lista al integrar cheques en su flujo de CI/CD.

 

Los desarrolladores también deben recibir formación sobre las prácticas recomendadas más recientes para desarrollar aplicaciones seguras modernas a fin de escribir software seguro que cumpla con los estándares. Checkmarx Codebashing es una plataforma de capacitación dedicada a educar a los desarrolladores sobre los fundamentos de la codificación segura. OWASP Top 10 Protections y Developer Training deben ser partes esenciales de sus flujos de trabajo de desarrollo de aplicaciones modernas.

Need Help?

Contact us with any questions you might have

Need Help?

Request a callback and we will contact you