Krypton Solid

La última tecnología en raciones de 5 minutos

Mejores prácticas para la malla de servicios de modelado de amenazas, microservicios

Los profesionales de la seguridad probablemente hayan notado que los contenedores, como Docker y Rkt, así como la orquestación de contenedores, por ejemplo, Kubernetes, están ganando terreno a lo grande. Esto se debe a que, a medida que los desarrolladores han descubierto el poder de los microservicios, se están alejando de las arquitecturas de diseño de componentes monolíticos o estrechamente acoplados y se están moviendo hacia modelos más desacoplados, es decir, modelos en los que REST se usa como una capa de abstracción.

Esto ofrece varias ventajas desde el punto de vista del desarrollador. Primero, analiza los detalles de implementación de los componentes que comunican datos desde el punto A al punto B. Eso ya es una gran victoria, pero también permite a los desarrolladores crear versiones de una interfaz, lo que les permite agregar nuevas funciones a una API para respaldar el desarrollo futuro. sin la necesidad de recodificar, recompilar o alterar el código base existente. Este es uno de los aspectos más poderosos desde el punto de vista del desarrollo de una arquitectura de microservicios: una estrategia de arquitectura de software donde la funcionalidad se modulariza en unidades pequeñas y discretas de funcionalidad, todas accesibles entre sí a través de API RESTful.

Como todo, la escala hace que esto sea complejo. Imagina que hay 500 API RESTful. Cada API tiene una URL única dentro del entorno y es, más o menos, independiente de los detalles de implementación subyacentes de los otros servicios en la aplicación que permite que la aplicación en general funcione. Sin embargo, digamos que se debe realizar un cambio amplio en los servicios en masa, por ejemplo, para habilitar la autenticación mutua TLS en todas partes, o se debe realizar un cambio específico pero disruptivo en un servicio que afecte el comportamiento de todos los demás. servicio: por ejemplo, cambiar la URL de un servicio de uso frecuente. ¿Es necesario cambiar todos los demás servicios? ¿Es necesario realizar cambios de configuración en los contenedores en los que se alojan esos servicios? Estos son exactamente los tipos de cosas que los microservicios están diseñados para ayudar a prevenir en primer lugar.

Una tecnología que ayuda a abordar los desafíos a escala es la malla de servicios. Service Mesh presenta un método para permitir cambios en la operación del servicio sin tener que cambiar el código subyacente. Por lo general, esto se hace utilizando un proxy lateral, es decir, una imagen de contenedor que vive junto al servicio que es responsable de dirigir el tráfico desde ese servicio. En este modelo, debido a que los servicios hablan a través de un proxy en lugar de comunicarse directamente entre sí, proporciona una gancho donde los diseñadores pueden realizar cambios en la forma en que ocurre esa comunicación. ¿Quiere mover los servicios? Seguro, eso se puede hacer. ¿Quiere activar o desactivar selectivamente la autenticación mutua, la limitación de velocidad o los encabezados HTTP? Eso también se puede hacer. Y se pueden completar sin cambiar el código de aplicación o la configuración del contenedor donde vive el servicio.

Nuevo desafío: malla de servicios de modelado de amenazas

Estos beneficios convierten el lado de las operaciones de la implementación de una malla de servicios de una pesadilla a algo más manejable. Sin embargo, tiene el subproducto de hacer que la vida de los analistas de seguridad de aplicaciones sea más compleja debido a los desafíos en el modelado de amenazas que surgen cuando ya no se puede presuponer una ruta estática a través de la aplicación.

Para aquellos que no están familiarizados con el modelado de amenazas de aplicaciones, la idea es descomponer una aplicación en sus partes componentes, mirar desde el punto de vista de un atacante los puntos de interacción entre esos componentes y luego trazar sistemáticamente cómo específicamente cada interacción puede ser mal utilizada para ganar influencia. Para hacer esto, los profesionales de la seguridad a menudo comienzan por hacer un diagrama de flujo de datos, un documento que mapea cómo se envían los datos a través de una aplicación y los componentes con los que interactúa a lo largo del camino. A partir de ahí, los profesionales de la seguridad analizan tipos específicos de casos de uso indebido que pueden afectar cada interacción. Por ejemplo, cada elemento podría trabajarse sistemáticamente a través de un modelo de amenaza mnemónico, como STRIDE (suplantación de identidad, manipulación, repudio, divulgación de información, denegación de servicio, elevación de privilegios) para determinar cómo un atacante podría atacar cada componente.

El desafío con este enfoque, sin embargo, es que bajo un modelo de microservicios en general, y una malla de servicios específicamente, el camino a través de la aplicación no permanecerá estático con el tiempo. Una aplicación puede funcionar de una manera particular hoy, pero podría funcionar de manera diferente dentro de dos semanas, por ejemplo, tener diferentes controles de seguridad o hablar con diferentes API.

Cómo analizar la malla de servicios

Entonces, ¿qué se puede hacer para realizar el modelado de amenazas de aplicaciones en un entorno de microservicios y malla de servicios?

Un enfoque consiste en modularizar el proceso de gestión de amenazas en sí. Así como los equipos de seguridad observarían en detalle las interacciones de los componentes desde el punto de vista de un atacante con una aplicación monolítica o componentes estrechamente vinculados en una aplicación tradicional, también lo harían para cada servicio en una malla. La diferencia es que, en lugar de centrarse únicamente en una vía a través de la aplicación y los componentes utilizados para respaldarla, los profesionales de la seguridad también deben analizar cada servicio de forma independiente. Esto es por dos razones:

  1. Porque cada servicio no es estático, lo que significa que puede moverse o cambiar de contexto rápidamente. Por ejemplo, es posible que un servicio no sea accesible a Internet hoy, es decir, que lo utilicen solo otras partes de la aplicación y no directamente los usuarios finales, y que se exponga mañana.
  2. Porque hacerlo permite a los equipos de seguridad mantenerse al día a medida que los desarrolladores lanzan servicios nuevos o actualizados de forma continua.

Visto a través de esta lente, el modelado de amenazas se vuelve aún más útil en un contexto de microservicios de lo que ya era. Descomponer la aplicación es bastante fácil de hacer, posiblemente más fácil de lo que sería de otra manera, porque los servicios ya están débilmente acoplados. Del mismo modo, para las tiendas que están impulsando DevOps o integración continua / entrega continua, el análisis ya no es un cuello de botella, ya que no tienen que rehacer el trabajo existente cuando o si lanzan un nuevo servicio.

Para iniciar la malla del servicio de modelado de amenazas, comience por analizar cada API de forma aislada, examinar las entradas, las salidas y cómo se pueden abusar de ellas. Con STRIDE u otra metodología de modelado de amenazas, examine y refuerce el servicio en cada dimensión. Al final del proceso, habrá una pequeña cantidad de funcionalidad reforzada sobre cómo un atacante podría abusar de la API, y aumentará la resistencia.

Es importante tener en cuenta que existen ventajas al evaluar la aplicación en general, así como al considerar los servicios individuales de forma aislada, lo que significa hacer esto de forma aditiva en lugar de reemplazar por completo la descomposición completa de la aplicación. Esto puede parecer extraño al principio, ya que se espera que las interacciones entre los servicios cambien rápidamente con el tiempo. Lo harán, pero observar el flujo general también tiene ventajas. Por ejemplo, puede ayudar a encontrar y detectar errores de lógica empresarial que pueden afectar la seguridad, por ejemplo, cuando se utiliza la entrada a un servicio y tiene efectos en cadena a lo largo de la cadena.

Los métodos de modelado de amenazas pueden y deben adaptarse para su uso en una arquitectura de microservicios y malla de servicios, aunque la malla de servicios cambia la forma en que las aplicaciones encajan. Al considerar los servicios individuales de forma aislada, además de una descomposición más amplia de la aplicación en general, los profesionales de la seguridad pueden mejorar en la contabilidad de los cambios en el contexto, así como en la optimización de las cargas de trabajo.

Deja un comentario

También te puede interesar...

Definición de exportaciones netas

¿Qué son las exportaciones netas? Las exportaciones netas son una medida del comercio total de una nación. La fórmula para las exportaciones netas es simple: el valor de las exportaciones totales de bienes y servicios

Definición de derechos inalienables

¿Qué son los derechos inalienables? Una emisión de derechos de no renuncia se refiere a una oferta emitida por una corporación a los accionistas para comprar varias acciones de la corporación (generalmente con un descuento).

NASA.gov necesita un cambio | Krypton Solid

¿Seguiste el ritmo de Mars Lander como yo? Millones de usuarios de Internet en todo el mundo están inundando NASA.gov y se preguntan cómo es el paisaje polar marciano. Mars, al menos en Internet, es

¿Qué es un ataque de encuentro en el medio?

¿Qué es un ataque de encuentro en el medio? Meet-in-the-middle es un conocido ataque de texto sin formato que puede reducir en gran medida la cantidad de permutaciones de fuerza bruta necesarias para descifrar texto

El lado no tan soleado de Twitter

Aquí hay un paseo por las fotos a lo largo del lado sur de Mid-Market Street, donde Twitter [$TWTR] La sede es parte de un acuerdo de gentrificación con la ciudad de San Francisco. Twitter

Reinventando la uva en los viñedos españoles

MADRID – Desde vino orgánico y reciclado hasta el primer vino de alto contenido alcohólico de máxima calidad, el país conocido por su vino es líder mundial en innovación de uvas. En Madrid, en octubre

Definición de vida económica.

¿Qué es Vida Económica? La vida económica es el período de tiempo esperado durante el cual un activo sigue siendo útil para el propietario promedio. Cuando un activo ya no es útil para su propietario,

Sin codificación para hombres jóvenes

Su liberación código básico de SimCity bajo la GPLv3 es frío, pero me pregunto cuál será su impacto. Empiezo el interrogatorio en la habitación de al lado, donde mi muy inteligente hijo de 16 años

5 patrones de UX populares que los usuarios odian

5 patrones de UX populares que los usuarios odian Los patrones de UX son soluciones de diseño que se pueden repetir para problemas comunes. Su objetivo es facilitar la accesibilidad del usuario, lo que conduce

Tassie va a la prueba del iPad

El Departamento de Educación y Capacitación de Tasmania (DET) ha revelado que se están probando más de 30 iPads en varias escuelas en todo el estado, con planes en marcha para examinar el potencial de

¿Qué es un archivo AVIF y cómo funciona?

Un AVIF es un formato de archivo de imagen de última generación y altamente eficiente que utiliza la codificación AV1. Este formato es capaz de comprimir imágenes con una calidad excepcional y con un tamaño

Definición de indicador de sentimiento

¿Qué es un indicador de sentimiento? Un indicador de sentimiento está diseñado para representar cómo se siente un grupo sobre el mercado o la economía. Estos indicadores de psicología del mercado intentan cuantificar el sentimiento,

Semana de revisión: el duro camino de HP

Para Hewlett-Packard, en su intento de comprar Compaq Computer, no es nada fácil, porque los lazos familiares y las preocupaciones de los accionistas han creado algunas aguas turbulentas. La Fundación David y Lucile Packard ya

¿Cuánto comercia Estados Unidos con México?

El expresidente Donald Trump ha sido duramente criticado por muchos miembros de la comunidad internacional por su postura proteccionista y su estricto apego a la agenda comercial «Estados Unidos primero». Entre otras preocupaciones de la