SlideShare uma empresa Scribd logo
1 de 87
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Seguridad en contenedores
Francisco Javier Barrena Castillo @DogDeveloper
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Who’s that guy
• Security Advocate & Software Architect en @ITI_TIC
• Actualmente en proyectos de investigación de ciberseguridad en
entornos cloud y detección basada en Machine Learning
• +10 años con proyectos comerciales
• Cybersecurity, Big Data, Machine Learning, Cloud Computing…
• ConsejeroTécnico en www.onlyeco.com
• Buscador de viajes eco-sostenibles
• Formador y ponente
• +60 cursos y charlas
https://www.linkedin.com/in/fjbarrena
https://twitter.com/DogDeveloper
https://github.com/fjbarrena
https://www.slideshare.net/fjbarrena
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Depende del proveedor
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Depende del proveedor
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Depende del proveedor
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Pero en general…
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
cloud?
data leaks?
cloud is ok?
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
You
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• La tierra prometida del cloud nos ha hecho creer que:
• No tenemos que preocuparnos de las ‘cosas de sistemas’
• No tenemos que preocuparnos de las ‘cosas de redes’
• No tenemos que preocuparnos de las ‘cosas de seguridad’
• No es que sea falso lo que prometían
• Es que no era toda la verdad
• Es cierto que nos abstraemos de muchas cosas de las que antes no
podíamos librarnos
• Y es cierto que vale muchísimo la pena
• Pero hay aspectos que hemos desatendido porque ‘de eso se encargará otro’ …
Seguridad en el cloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Hemos pasado de defender esto
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
A defender esto…
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Poner star trek
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Pero eso no es lo peor
• Lo peor es que quien nos defendía antes ya no lo hace
• Lo peor es que las herramientas que nos ayudaban a defendernos
antes ya no valen, o su efectividad baja demasiado
• Esas herramientas hacían asunciones técnicas que ya no sirven
• Por ejemplo, consideremos un control de seguridad que tenga en cuenta
las direcciones IP
• Esto funciona bien paraVM o para Baremetal, donde las IP’s se mantienen durante meses o años
• Pero no para contenedores, donde las IP’s cambian constantemente
• Esto hace imposible proteger contenedores utilizando técnicas de seguridad que confían en IP’s
estáticas, como por ejemplo los conjuntos de reglas de un Firewall clásico
Seguridad en el cloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• El cloud, y los contenedores, necesita herramientas de monitorización y
seguridad específicas
• Los sistemas en seguridad clásica…
Network Sistemas de seguridad
Seguridad en el cloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• En entornos de contenedores hay muchas más
entidades, por lo que los procesos y herramientas de
seguridad en contenedores deben ser capaces de
escalar en consecuencia
• Y no solo respecto al número total de objetos que pueden
soportar
• También en cómo de efectivos y autónomos puedan ser
• Muchas empresas lo pasan mal para gestionar unos
pocos cientos deVMs
• En una arquitectura basada en contenedores vamos a tener
que gestionar miles o decenas de miles de contenedores
Seguridad en el cloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• En entornos de contenedores hay muchas más
entidades, por lo que los procesos y herramientas de
seguridad en contenedores deben ser capaces de
escalar en consecuencia
• Y no solo respecto al número total de objetos que pueden
soportar
• También en cómo de efectivos y autónomos puedan ser
• Muchas empresas lo pasan mal para gestionar unos
pocos cientos deVMs
• En una arquitectura basada en contenedores vamos a tener
que gestionar miles o decenas de miles de contenedores
Seguridad en el cloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Con contenedores hay un ratio de cambio mucho más elevado que
conVMs
• Mascotas vs Ganado
• Lo que conVMs era aceptable hacerlo manualmente, ya no lo es
• La automatización es la clave
• No solo por la importancia de manejar un número mayor de entidades
• Si no también por la frecuencia con la cual esas entidades cambian
Seguridad en el cloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Con contenedores hay un ratio de cambio mucho más elevado que
conVMs
• Mascotas vs Ganado
• Lo que conVMs era aceptable hacerlo manualmente, ya no lo es
• La automatización es la clave
• No solo por la importancia de manejar un número mayor de entidades
• Si no también por la frecuencia con la cual esas entidades cambian
Seguridad en el cloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• La seguridad debe ser portable, como los mismos contenedores
• Las organizaciones deben adoptar técnicas y herramientas que sean
abiertas y que funcionen entre plataformas (cross-platform) y entre
entornos (cross-environments)
• Los desarrolladores buildean la solución en un entorno (Docker local,
clúster local de Kubernetes…)
• La prueban en otro entorno (GitLabCI, Jenkins,TeamCity…)
• Y la despliegan en otro entorno diferente (Amazon, OpenShift, OpenStack,
Kubernetes OnPremise…)
• Por tanto, alcanzar consistencia en la evaluación (y refuerzo) de
seguridad entre entornos es clave
Seguridad en el cloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
y para contenedores…
• La seguridad debe ser portable como los mismos
contenedores
• Las organizaciones deben adoptar técnicas y
herramientas que sean abiertas y que funcionen entre
plataformas (cross-platform) y entre entornos (cross-
environments)
• Los desarrolladores buildean la solución en un entorno
(Docker local, clúster local de Kubernetes…)
• La prueban en otro entorno (GitLabCI, Jenkins,TeamCity…)
• Y la despliegan en otro entorno diferente (Amazon,
OpenShift, OpenStack, Kubernetes OnPremise…)
• Por tanto, alcanzar consistencia en la evaluación (y
refuerzo) de seguridad entre entornos es clave
Seguridad en el cloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Históricamente, las herramientas, reportes y configuración de seguridad,
tanto base como de políticas, nos han hecho sentir así…
Seguridad en el cloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• La complejidad creciente de los sistemas requieren de herramientas que nos
sean:
• Sencillas de instrumentar
• Con información suficiente, pero no excesiva
• Con alertas suficientes, pero no excesivas
• Pero sobretodo
• Usable
• El volumen de información, la complejidad de los sistemas y el aumento de la
variedad y cantidad de ataques necesitan que la aplicación de técnicas de
seguridad sea usable
Seguridad en el cloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• La complejidad creciente de los sistemas requieren de
herramientas que nos sean:
• Sencillas de instrumentar
• Con información suficiente, pero no excesiva
• Con alertas suficientes, pero no excesivas
• Pero sobretodo
• Usable
• El volumen de información, la complejidad de los
sistemas y el aumento de la variedad y cantidad de
ataques necesitan que la aplicación de técnicas de
seguridad sea usable
Seguridad en el cloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Por qué debería creerte?
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Contenedor vs máquina virtual (vm)
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Ciclo de desarrollo con contenedores
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Riesgos y contramedidas
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
vulnerabilidades con imágenes
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Las imágenes son instantáneas estáticas de un sistema operativo (y las
dependencias necesarias para ejecutar la aplicación) en un instante de tiempo
• La ’estaticidad’ de las imágenes las hace proclives a falta de actualizaciones de
seguridad
• Una imagen creada hoy, con todo actualizado, puede estar libre de
vulnerabilidades conocidas por días o semanas después de su creación
• Pero inevitablemente se descubrirán vulnerabilidades en la imagen o en alguno de sus
componentes
• En un entorno no contenerizado, simplemente se actualizan las máquinas
• Pero las imágenes son inmutables, por lo que se requiere hacer una nueva versión y subirla al
repositorio de imágenes para que los sistemas que las usan se actualicen
• Y cambiar la configuración del orquestador para que apunte a las nuevas imágenes
actualizadas…
Riesgo 1 – vulnerabilidades con imágenes
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Se requiere de herramientas y procesos específicos para la gestión de
vulnerabilidades en imágenes
• Las herramientas tradicionales cuentan con ciertas asunciones, como la
durabilidad del host y los mecanismos de actualización de aplicaciones, que
no aplican a las tecnologías de contenedores
• Estas herramientas a menudo son incapaces de detectar vulnerabilidades
dentro de los contenedores, dándonos una falsa sensación de seguridad
contramedida 1 – vulnerabilidades con imágenes
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Algunos aspectos clave a tener en cuenta
• Policy-driven. Las organizaciones deben ser capaces de crear quality
gates en todo el ciclo de vida de la imagen que garanticen que solo las
imágenes que cumplen el estándar de seguridad puedan ser
utilizadas
• Integración con el ciclo de vida completo de las imágenes
• Visibilidad de vulnerabilidades en todas las capas de la imagen, no
solo de la imagen base, también de frameworks, software de teceros y
software propio
contramedida 1 – vulnerabilidades con imágenes
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
contramedida 1 – vulnerabilidades con imágenes
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
contramedida 1 – vulnerabilidades con imágenes
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
image missconfiguration
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Un clásico
• Ejemplos
• Imagen que corre todo con privilegios de administrador
• Imagen que tiene instalado un SSH daemon
• Imagen con credenciales por defecto
• …
• Lo de siempre en sistemas, pero ahora en imágenes. Not new.
Riesgo 2 – image missconfiguration
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Contramedidas recomendadas
• Se deben configurar las imágenes para que corran con usuarios sin privilegios (o
con los mínimos necesarios)
• Añadir al proceso de build la validación de la configuración de las imágenes,
incluyendo las recomendaciones del vendor
• Informes continuos, constantemente actualizados, centralizados y
monitorización constante de imágenes para identificar, lo más prematuramente
posible, debilidades y riesgos
• Policy-driven. Procesos y automatismos que permitan prohibir la ejecución de
máquinas que no cumplan con el quality-gate
• Uso de imágenes base solo de fuentes de confianza (oficiales)
contramedida 2 – image missconfiguration
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Contramedidas recomendadas
• Actualización frecuente de las imágenes base para reducir la superficie de ataque
• Usa siempre como imagen base tecnologías específicas para contenedores
• No uses Ubuntu, Debian ni sistemas operativos de propósito general
• En su lugar, utiliza Alpine Linux,Windows Nano Server, etc.
• Es más engorroso, porque tienes que instalar dependencias básicas, pero reducen muchísimo la superficie de
ataque
• Nunca, amigo, nunca habilites SSH en un contenedor
• Los contenedores deben correr de forma inmutable
• Habilitar acceso por SSH abre la puerta a cambios, que violan este principio
• Y además exponen al contenedor a un enorme riesgo de red
• Si tienes que acceder a un contenedor, utiliza el API del runtime…
contramedida 2 – image missconfiguration
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Pero no añadas paquetes software, ni actualices, ni hagas
nada más que consultar, recuerda la inmutabilidad de los
contenedores.
contramedida 2 – image missconfiguration
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Embedded shit
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Ojo con el malware dentro de las imágenes
• Es una manera COXONUDA de expandir malware
• Especialmente si estamos en entornos de alta carga y elásticos (como Kubernetes,
por ejemplo)
riesgo 3 – embedded shit
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Explicar Riesgos / Contramedidas / Ejemplos
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Riesgo 3 – embedded shit
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
R3 – embedded shit
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
R3 – embedded shit
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Riesgo 3 – embedded shit
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Riesgo 3 – embedded shit
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Riesgo 3 – embedded shit
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Ojo con empaquetar imágenes con secretos, claves, API Keys o
whatever… en claro https://github.com/christianmetz/wildfly-mysql/blob/master/Dockerfile
Riesgo 3 – embedded shit
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
R3 – embedded shit
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Conexiones inseguras a registros
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Como hemos visto, las imágenes son sensibles, por que son la base de
todo
• Si las conexiones a los repositorios de imágenes se hacen a través de
conexiones inseguras, los contenidos de las imágenes viajan en claro
• Si se trata además de un repositorio privado, es más probable que me haya
relajado con el tema de los secretos, claves, etc.
• Además, se incrementa el riesgo de un ataque por man-in-the-middle
• Docker, por defecto, no permite la inclusión de registros inseguros…
pero se pueden activar…
Riesgo 4 – conexiones inseguras a registros de imágenes
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Riesgo 4 – conexiones inseguras a registros de imágenes
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
192.168.3.21:8081
192.168.3.21  artifactory.my-org.es
DNS Server
Dame IP de artifactory.my-org.es
Toma: 192.168.3.21
Oye 192.168.3.21, dame la imagen jboss/wildfly:latest
Toma churro de bytes
Expulsa de la red
Suplanta a JFrog,
tomando su IP
192.168.3.21:8081
192.168.3.22:8081
Cuando el legítimo JFrog reaparece, ya no tiene la misma IP, ergo ya no sirve a Kubernetes
Riesgo 4 – conexiones inseguras a registros de imágenes
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Tráfico de red entre contenedores
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• El tráfico entre contenedores se suele routear sobre una red virtual
• Esta red está típicamente manejada por el orquestador y es,
habitualmente, opaca
• Además, las herramientas de monitorización, administración y seguridad de
redes convencionales no sirven
• Porque ese tráfico NOVA POR LA INTERFAZ DE RED ‘física’
• Va por otra parte, y somos ciegos a ella
• Pero lo potencialmente crítico es mezclar tráfico ‘virtual’ (opaco) de
diferentes aplicaciones sobre la misma red virtual
• Especialmente si la ‘sensibilidad’ de las aplicaciones es diferente
• No es lo mismo mezclar tráfico de Spotify y Facebook…
• Que mezclar tráfico entre el ERP y el blog en Wordpress de mi empresa…
Riesgo 5 – tráfico de red entre contenedores
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Si aplicaciones de diferente nivel de sensibilidad usan la misma red virtual,
el riesgo a un ataque de red exitoso aumenta
• Si el WordPress se compromete, los atacantes tendrán visibilidad al tráfico de red
del ERP
Riesgo 5 – tráfico de red entre contenedores
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Los orquestadores deben configurar las aplicaciones en redes en base a su
nivel de sensibilidad (segmentación de red por sensibilidad)
• Aunque también es posible dar una red a cada aplicación (segmentación de
red por aplicación), para la mayoría de las organizaciones definir redes por
sensibilidad es suficiente
• Un pelín más de riesgo, pero muchísimo más mantenible
contramedida 5 – tráfico de red entre contenedores
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Mezcla de nodos
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Imaginemos un orquestador cualquiera, por ejemplo Kubernetes
• Nuestro Kubernetes tiene 4 nodos físicos, en los que corren los
contenedores
• Qué contenedores corren en qué nodos es irrelevante para Kubernetes
• Sin configuración adicional, un contenedor puede caer en cualquier nodo
físico
• Eso significa, que mi contenedor deWordpress puede caer en el mismo
nodo físico que mi contenedor del ERP
riesgo 6 – mezcla de nodos
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Aunque tenga configuradas redes virtuales diferentes para esos nodos, que físicamente
estén en el mismo equipo implica ciertos riesgos
• Por ejemplo, en Kubernetes se puede montar un volumen directamente en el sistema
de ficheros del nodo que hostea al contenedor
Load Balancer
Nodo físico A Nodo físico B
POD
WP
DockerRuntime
DockerRuntime
HostFS
HostFS
POD
WP
POD
ERP
POD
ERP
riesgo 6 – mezcla de nodos
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Configurar tu orquestador para aislar despliegues en nodos por sensibilidad
• Misma estrategia que para la red, pero para los nodos
• Cómo implementarlo dependerá del orquestador, si tomamos el ejemplo de Kubernetes
• Podemos configurar reglas de afinidad (affinity) que aseguren que la planificación de los pods/contenedores se
hace por sensibilidad
• Podemos tener varios clústers de Kubernetes por sensibilidad…
• Aunque el orquestador que usemos haga un buen trabajo aislando
contenedores de nodos físicos, asilar despliegues por sensibilidad nos da un
nivel adicional de defensa muy interesante
• Esta aproximación también asegura que si queda algún dato residual (cachés,
volúmenes locales, etc.), este solo podrá ser comprometido por contenedores
infectados de su mismo nivel de sensibilidad, dificultando así el robo de datos
contramedida 6 – mezcla de nodos
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
orchestrator trust
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• La confianza entre el orquestador y sus nodos físicos requiere de un
especial cuidado
• El orquestador es el nodo más importante del sistema
• Una configuración débil del orquestador puede exponer a todo el sistema a
múltiples riesgos
• Algunos ejemplos:
• Inclusión de nodos físicos no autorizados al clúster
• Si un nodo se ha comprometido se compromete todo el clúster
• Ya que comparten claves de seguridad
• Comunicaciones entre DevOps y el orquestador, administradores y otros hosts sin
encriptar y sin autenticar
riesgo 7 – orchestator node trust
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Los orquestadores deben asegurar que los nodos físicos de los que se
compone el clúster tienen una identidad persistente y deben estar
siempre autenticados
• También deben proveer de un inventario actualizado de nodos, que
incluya su estado de conectividad
• Deben ser capaces de aislar un nodo comprometido y eliminarlo del
clúster sin degradar el conjunto de operaciones del clúster
• Las comunicaciones entre nodos deben hacerse por HTTPs (encriptadas)
contramedida 7 – orchestator node trust
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Hay muchísimas más recomendaciones de seguridad específicas para
contenedores, que tienen que ver con
• Imágenes
• Container registries
• Orquestadores
• Contenedores
• Sistemas operativos Host
• Riesgos externos
• Por no hablar de la seguridad de las propias aplicaciones, que es otro
mundo…
• Pero hay 4 elementos que son fundamentales en lo que a seguridad en
contenedores se refiere
conclusiones
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Explicar Riesgos / Contramedidas / EjemplosExplicar Riesgos / Contramedidas / Ejemplos
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
• Para conseguir esto tenemos que apoyarnos en nuevas tecnologías y
nuevos paradigmas
• Big Data
• Machine Learning
• Blockchain
• OSINT
• Counterintelligence
• Deception
• Seguir con el desacoplamiento de elementos críticos
• ZeroTrust Architecture
• Pero esto no es tan fácil como soltar 4 palabros de moda…
conclusiones
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Proyecto opossum
IMDEEA/2020/64
AppSec
DevSecOpsInfraSec
OPOSSUM
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Proyecto opossum
IMDEEA/2020/64
Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
Gracias!

Mais conteúdo relacionado

Semelhante a Webinar Codemotion 2020 - Piratas del Cloud

Curso Virtual Hacking con Kali Linux
Curso Virtual Hacking con Kali LinuxCurso Virtual Hacking con Kali Linux
Curso Virtual Hacking con Kali Linux
Alonso Caballero
 
Re evolución robótica
Re evolución robóticaRe evolución robótica
Re evolución robótica
Software Guru
 
Curso de Hacking Ético 2013
Curso de Hacking Ético 2013Curso de Hacking Ético 2013
Curso de Hacking Ético 2013
NPROS Perú
 
Curso Virtual de Metasploit Framework 2019
Curso Virtual de Metasploit Framework 2019 Curso Virtual de Metasploit Framework 2019
Curso Virtual de Metasploit Framework 2019
Alonso Caballero
 

Semelhante a Webinar Codemotion 2020 - Piratas del Cloud (20)

Deja de ser el rival más débil con DevSecOps
Deja de ser el rival más débil con DevSecOpsDeja de ser el rival más débil con DevSecOps
Deja de ser el rival más débil con DevSecOps
 
TotoConf2020 - Técnicas OSINT que te dejarán con el PAPO torcido
TotoConf2020 - Técnicas OSINT que te dejarán con el PAPO torcidoTotoConf2020 - Técnicas OSINT que te dejarán con el PAPO torcido
TotoConf2020 - Técnicas OSINT que te dejarán con el PAPO torcido
 
Welcome to Gotham - Nuevas formas ingeniosas y terroríficas de ciberataques
Welcome to Gotham - Nuevas formas ingeniosas y terroríficas de ciberataquesWelcome to Gotham - Nuevas formas ingeniosas y terroríficas de ciberataques
Welcome to Gotham - Nuevas formas ingeniosas y terroríficas de ciberataques
 
Svt cloud security services - Catalogo de Servicios
Svt cloud security services - Catalogo de ServiciosSvt cloud security services - Catalogo de Servicios
Svt cloud security services - Catalogo de Servicios
 
Curso Virtual Hacking con Kali Linux
Curso Virtual Hacking con Kali LinuxCurso Virtual Hacking con Kali Linux
Curso Virtual Hacking con Kali Linux
 
Seguridad de información para criptoactivos
Seguridad de información para criptoactivosSeguridad de información para criptoactivos
Seguridad de información para criptoactivos
 
Re evolución robótica
Re evolución robóticaRe evolución robótica
Re evolución robótica
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
 
Devsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoDevsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivo
 
Curso de Hacking Ético 2013
Curso de Hacking Ético 2013Curso de Hacking Ético 2013
Curso de Hacking Ético 2013
 
Curso Virtual Fundamentos de Hacking Etico 2017
Curso Virtual Fundamentos de Hacking Etico 2017Curso Virtual Fundamentos de Hacking Etico 2017
Curso Virtual Fundamentos de Hacking Etico 2017
 
Curso Virtual de Metasploit Framework 2019
Curso Virtual de Metasploit Framework 2019 Curso Virtual de Metasploit Framework 2019
Curso Virtual de Metasploit Framework 2019
 
Azure Dev(Sec)Ops EPIDATA completa
Azure Dev(Sec)Ops EPIDATA completaAzure Dev(Sec)Ops EPIDATA completa
Azure Dev(Sec)Ops EPIDATA completa
 
Workshop azure devsecops Microsoft Argentina
Workshop azure devsecops Microsoft ArgentinaWorkshop azure devsecops Microsoft Argentina
Workshop azure devsecops Microsoft Argentina
 
Inteligencia artificial in house con servicios cognitivos y docker
Inteligencia artificial in house con servicios cognitivos y dockerInteligencia artificial in house con servicios cognitivos y docker
Inteligencia artificial in house con servicios cognitivos y docker
 
Empleos con futuro. Perfil de un ingeniero de datos
Empleos con futuro. Perfil de un ingeniero de datosEmpleos con futuro. Perfil de un ingeniero de datos
Empleos con futuro. Perfil de un ingeniero de datos
 
Avira
AviraAvira
Avira
 
Ataques de denegacion de servicio
Ataques de denegacion de servicioAtaques de denegacion de servicio
Ataques de denegacion de servicio
 
Cloud native y donde esta el piloto
Cloud native   y donde esta el pilotoCloud native   y donde esta el piloto
Cloud native y donde esta el piloto
 
Virtualización - Hypervisors and Containers
Virtualización - Hypervisors and ContainersVirtualización - Hypervisors and Containers
Virtualización - Hypervisors and Containers
 

Último

editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
ssusere34b451
 

Último (20)

Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdf
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de Software
 
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnaTELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
 
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
taller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariataller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundaria
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptx
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
 
BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometria
 

Webinar Codemotion 2020 - Piratas del Cloud

  • 1. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Seguridad en contenedores Francisco Javier Barrena Castillo @DogDeveloper
  • 2. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Who’s that guy • Security Advocate & Software Architect en @ITI_TIC • Actualmente en proyectos de investigación de ciberseguridad en entornos cloud y detección basada en Machine Learning • +10 años con proyectos comerciales • Cybersecurity, Big Data, Machine Learning, Cloud Computing… • ConsejeroTécnico en www.onlyeco.com • Buscador de viajes eco-sostenibles • Formador y ponente • +60 cursos y charlas https://www.linkedin.com/in/fjbarrena https://twitter.com/DogDeveloper https://github.com/fjbarrena https://www.slideshare.net/fjbarrena
  • 3. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
  • 4. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
  • 5. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
  • 6. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
  • 7. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
  • 8. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Depende del proveedor
  • 9. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Depende del proveedor
  • 10. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Depende del proveedor
  • 11. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Pero en general…
  • 12. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud cloud? data leaks? cloud is ok?
  • 13. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
  • 14. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
  • 15. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud You
  • 16. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • La tierra prometida del cloud nos ha hecho creer que: • No tenemos que preocuparnos de las ‘cosas de sistemas’ • No tenemos que preocuparnos de las ‘cosas de redes’ • No tenemos que preocuparnos de las ‘cosas de seguridad’ • No es que sea falso lo que prometían • Es que no era toda la verdad • Es cierto que nos abstraemos de muchas cosas de las que antes no podíamos librarnos • Y es cierto que vale muchísimo la pena • Pero hay aspectos que hemos desatendido porque ‘de eso se encargará otro’ … Seguridad en el cloud
  • 17. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
  • 18. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
  • 19. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
  • 20. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
  • 21. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Hemos pasado de defender esto
  • 22. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
  • 23. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud A defender esto…
  • 24. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Poner star trek
  • 25. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Pero eso no es lo peor • Lo peor es que quien nos defendía antes ya no lo hace • Lo peor es que las herramientas que nos ayudaban a defendernos antes ya no valen, o su efectividad baja demasiado • Esas herramientas hacían asunciones técnicas que ya no sirven • Por ejemplo, consideremos un control de seguridad que tenga en cuenta las direcciones IP • Esto funciona bien paraVM o para Baremetal, donde las IP’s se mantienen durante meses o años • Pero no para contenedores, donde las IP’s cambian constantemente • Esto hace imposible proteger contenedores utilizando técnicas de seguridad que confían en IP’s estáticas, como por ejemplo los conjuntos de reglas de un Firewall clásico Seguridad en el cloud
  • 26. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • El cloud, y los contenedores, necesita herramientas de monitorización y seguridad específicas • Los sistemas en seguridad clásica… Network Sistemas de seguridad Seguridad en el cloud
  • 27. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • En entornos de contenedores hay muchas más entidades, por lo que los procesos y herramientas de seguridad en contenedores deben ser capaces de escalar en consecuencia • Y no solo respecto al número total de objetos que pueden soportar • También en cómo de efectivos y autónomos puedan ser • Muchas empresas lo pasan mal para gestionar unos pocos cientos deVMs • En una arquitectura basada en contenedores vamos a tener que gestionar miles o decenas de miles de contenedores Seguridad en el cloud
  • 28. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • En entornos de contenedores hay muchas más entidades, por lo que los procesos y herramientas de seguridad en contenedores deben ser capaces de escalar en consecuencia • Y no solo respecto al número total de objetos que pueden soportar • También en cómo de efectivos y autónomos puedan ser • Muchas empresas lo pasan mal para gestionar unos pocos cientos deVMs • En una arquitectura basada en contenedores vamos a tener que gestionar miles o decenas de miles de contenedores Seguridad en el cloud
  • 29. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Con contenedores hay un ratio de cambio mucho más elevado que conVMs • Mascotas vs Ganado • Lo que conVMs era aceptable hacerlo manualmente, ya no lo es • La automatización es la clave • No solo por la importancia de manejar un número mayor de entidades • Si no también por la frecuencia con la cual esas entidades cambian Seguridad en el cloud
  • 30. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Con contenedores hay un ratio de cambio mucho más elevado que conVMs • Mascotas vs Ganado • Lo que conVMs era aceptable hacerlo manualmente, ya no lo es • La automatización es la clave • No solo por la importancia de manejar un número mayor de entidades • Si no también por la frecuencia con la cual esas entidades cambian Seguridad en el cloud
  • 31. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • La seguridad debe ser portable, como los mismos contenedores • Las organizaciones deben adoptar técnicas y herramientas que sean abiertas y que funcionen entre plataformas (cross-platform) y entre entornos (cross-environments) • Los desarrolladores buildean la solución en un entorno (Docker local, clúster local de Kubernetes…) • La prueban en otro entorno (GitLabCI, Jenkins,TeamCity…) • Y la despliegan en otro entorno diferente (Amazon, OpenShift, OpenStack, Kubernetes OnPremise…) • Por tanto, alcanzar consistencia en la evaluación (y refuerzo) de seguridad entre entornos es clave Seguridad en el cloud
  • 32. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud y para contenedores… • La seguridad debe ser portable como los mismos contenedores • Las organizaciones deben adoptar técnicas y herramientas que sean abiertas y que funcionen entre plataformas (cross-platform) y entre entornos (cross- environments) • Los desarrolladores buildean la solución en un entorno (Docker local, clúster local de Kubernetes…) • La prueban en otro entorno (GitLabCI, Jenkins,TeamCity…) • Y la despliegan en otro entorno diferente (Amazon, OpenShift, OpenStack, Kubernetes OnPremise…) • Por tanto, alcanzar consistencia en la evaluación (y refuerzo) de seguridad entre entornos es clave Seguridad en el cloud
  • 33. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Históricamente, las herramientas, reportes y configuración de seguridad, tanto base como de políticas, nos han hecho sentir así… Seguridad en el cloud
  • 34. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
  • 35. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • La complejidad creciente de los sistemas requieren de herramientas que nos sean: • Sencillas de instrumentar • Con información suficiente, pero no excesiva • Con alertas suficientes, pero no excesivas • Pero sobretodo • Usable • El volumen de información, la complejidad de los sistemas y el aumento de la variedad y cantidad de ataques necesitan que la aplicación de técnicas de seguridad sea usable Seguridad en el cloud
  • 36. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • La complejidad creciente de los sistemas requieren de herramientas que nos sean: • Sencillas de instrumentar • Con información suficiente, pero no excesiva • Con alertas suficientes, pero no excesivas • Pero sobretodo • Usable • El volumen de información, la complejidad de los sistemas y el aumento de la variedad y cantidad de ataques necesitan que la aplicación de técnicas de seguridad sea usable Seguridad en el cloud
  • 37. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Por qué debería creerte?
  • 38. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
  • 39. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Contenedor vs máquina virtual (vm)
  • 40. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Ciclo de desarrollo con contenedores
  • 41. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Riesgos y contramedidas
  • 42. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud vulnerabilidades con imágenes
  • 43. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Las imágenes son instantáneas estáticas de un sistema operativo (y las dependencias necesarias para ejecutar la aplicación) en un instante de tiempo • La ’estaticidad’ de las imágenes las hace proclives a falta de actualizaciones de seguridad • Una imagen creada hoy, con todo actualizado, puede estar libre de vulnerabilidades conocidas por días o semanas después de su creación • Pero inevitablemente se descubrirán vulnerabilidades en la imagen o en alguno de sus componentes • En un entorno no contenerizado, simplemente se actualizan las máquinas • Pero las imágenes son inmutables, por lo que se requiere hacer una nueva versión y subirla al repositorio de imágenes para que los sistemas que las usan se actualicen • Y cambiar la configuración del orquestador para que apunte a las nuevas imágenes actualizadas… Riesgo 1 – vulnerabilidades con imágenes
  • 44. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Se requiere de herramientas y procesos específicos para la gestión de vulnerabilidades en imágenes • Las herramientas tradicionales cuentan con ciertas asunciones, como la durabilidad del host y los mecanismos de actualización de aplicaciones, que no aplican a las tecnologías de contenedores • Estas herramientas a menudo son incapaces de detectar vulnerabilidades dentro de los contenedores, dándonos una falsa sensación de seguridad contramedida 1 – vulnerabilidades con imágenes
  • 45. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Algunos aspectos clave a tener en cuenta • Policy-driven. Las organizaciones deben ser capaces de crear quality gates en todo el ciclo de vida de la imagen que garanticen que solo las imágenes que cumplen el estándar de seguridad puedan ser utilizadas • Integración con el ciclo de vida completo de las imágenes • Visibilidad de vulnerabilidades en todas las capas de la imagen, no solo de la imagen base, también de frameworks, software de teceros y software propio contramedida 1 – vulnerabilidades con imágenes
  • 46. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud contramedida 1 – vulnerabilidades con imágenes
  • 47. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud contramedida 1 – vulnerabilidades con imágenes
  • 48. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
  • 49. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud image missconfiguration
  • 50. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Un clásico • Ejemplos • Imagen que corre todo con privilegios de administrador • Imagen que tiene instalado un SSH daemon • Imagen con credenciales por defecto • … • Lo de siempre en sistemas, pero ahora en imágenes. Not new. Riesgo 2 – image missconfiguration
  • 51. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Contramedidas recomendadas • Se deben configurar las imágenes para que corran con usuarios sin privilegios (o con los mínimos necesarios) • Añadir al proceso de build la validación de la configuración de las imágenes, incluyendo las recomendaciones del vendor • Informes continuos, constantemente actualizados, centralizados y monitorización constante de imágenes para identificar, lo más prematuramente posible, debilidades y riesgos • Policy-driven. Procesos y automatismos que permitan prohibir la ejecución de máquinas que no cumplan con el quality-gate • Uso de imágenes base solo de fuentes de confianza (oficiales) contramedida 2 – image missconfiguration
  • 52. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Contramedidas recomendadas • Actualización frecuente de las imágenes base para reducir la superficie de ataque • Usa siempre como imagen base tecnologías específicas para contenedores • No uses Ubuntu, Debian ni sistemas operativos de propósito general • En su lugar, utiliza Alpine Linux,Windows Nano Server, etc. • Es más engorroso, porque tienes que instalar dependencias básicas, pero reducen muchísimo la superficie de ataque • Nunca, amigo, nunca habilites SSH en un contenedor • Los contenedores deben correr de forma inmutable • Habilitar acceso por SSH abre la puerta a cambios, que violan este principio • Y además exponen al contenedor a un enorme riesgo de red • Si tienes que acceder a un contenedor, utiliza el API del runtime… contramedida 2 – image missconfiguration
  • 53. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Pero no añadas paquetes software, ni actualices, ni hagas nada más que consultar, recuerda la inmutabilidad de los contenedores. contramedida 2 – image missconfiguration
  • 54. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Embedded shit
  • 55. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Ojo con el malware dentro de las imágenes • Es una manera COXONUDA de expandir malware • Especialmente si estamos en entornos de alta carga y elásticos (como Kubernetes, por ejemplo) riesgo 3 – embedded shit
  • 56. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Explicar Riesgos / Contramedidas / Ejemplos
  • 57. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Riesgo 3 – embedded shit
  • 58. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud R3 – embedded shit
  • 59. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud R3 – embedded shit
  • 60. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Riesgo 3 – embedded shit
  • 61. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Riesgo 3 – embedded shit
  • 62. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Riesgo 3 – embedded shit
  • 63. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Ojo con empaquetar imágenes con secretos, claves, API Keys o whatever… en claro https://github.com/christianmetz/wildfly-mysql/blob/master/Dockerfile Riesgo 3 – embedded shit
  • 64. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud R3 – embedded shit
  • 65. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Conexiones inseguras a registros
  • 66. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Como hemos visto, las imágenes son sensibles, por que son la base de todo • Si las conexiones a los repositorios de imágenes se hacen a través de conexiones inseguras, los contenidos de las imágenes viajan en claro • Si se trata además de un repositorio privado, es más probable que me haya relajado con el tema de los secretos, claves, etc. • Además, se incrementa el riesgo de un ataque por man-in-the-middle • Docker, por defecto, no permite la inclusión de registros inseguros… pero se pueden activar… Riesgo 4 – conexiones inseguras a registros de imágenes
  • 67. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Riesgo 4 – conexiones inseguras a registros de imágenes
  • 68. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud 192.168.3.21:8081 192.168.3.21  artifactory.my-org.es DNS Server Dame IP de artifactory.my-org.es Toma: 192.168.3.21 Oye 192.168.3.21, dame la imagen jboss/wildfly:latest Toma churro de bytes Expulsa de la red Suplanta a JFrog, tomando su IP 192.168.3.21:8081 192.168.3.22:8081 Cuando el legítimo JFrog reaparece, ya no tiene la misma IP, ergo ya no sirve a Kubernetes Riesgo 4 – conexiones inseguras a registros de imágenes
  • 69. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Tráfico de red entre contenedores
  • 70. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • El tráfico entre contenedores se suele routear sobre una red virtual • Esta red está típicamente manejada por el orquestador y es, habitualmente, opaca • Además, las herramientas de monitorización, administración y seguridad de redes convencionales no sirven • Porque ese tráfico NOVA POR LA INTERFAZ DE RED ‘física’ • Va por otra parte, y somos ciegos a ella • Pero lo potencialmente crítico es mezclar tráfico ‘virtual’ (opaco) de diferentes aplicaciones sobre la misma red virtual • Especialmente si la ‘sensibilidad’ de las aplicaciones es diferente • No es lo mismo mezclar tráfico de Spotify y Facebook… • Que mezclar tráfico entre el ERP y el blog en Wordpress de mi empresa… Riesgo 5 – tráfico de red entre contenedores
  • 71. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Si aplicaciones de diferente nivel de sensibilidad usan la misma red virtual, el riesgo a un ataque de red exitoso aumenta • Si el WordPress se compromete, los atacantes tendrán visibilidad al tráfico de red del ERP Riesgo 5 – tráfico de red entre contenedores
  • 72. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Los orquestadores deben configurar las aplicaciones en redes en base a su nivel de sensibilidad (segmentación de red por sensibilidad) • Aunque también es posible dar una red a cada aplicación (segmentación de red por aplicación), para la mayoría de las organizaciones definir redes por sensibilidad es suficiente • Un pelín más de riesgo, pero muchísimo más mantenible contramedida 5 – tráfico de red entre contenedores
  • 73. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Mezcla de nodos
  • 74. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Imaginemos un orquestador cualquiera, por ejemplo Kubernetes • Nuestro Kubernetes tiene 4 nodos físicos, en los que corren los contenedores • Qué contenedores corren en qué nodos es irrelevante para Kubernetes • Sin configuración adicional, un contenedor puede caer en cualquier nodo físico • Eso significa, que mi contenedor deWordpress puede caer en el mismo nodo físico que mi contenedor del ERP riesgo 6 – mezcla de nodos
  • 75. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Aunque tenga configuradas redes virtuales diferentes para esos nodos, que físicamente estén en el mismo equipo implica ciertos riesgos • Por ejemplo, en Kubernetes se puede montar un volumen directamente en el sistema de ficheros del nodo que hostea al contenedor Load Balancer Nodo físico A Nodo físico B POD WP DockerRuntime DockerRuntime HostFS HostFS POD WP POD ERP POD ERP riesgo 6 – mezcla de nodos
  • 76. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Configurar tu orquestador para aislar despliegues en nodos por sensibilidad • Misma estrategia que para la red, pero para los nodos • Cómo implementarlo dependerá del orquestador, si tomamos el ejemplo de Kubernetes • Podemos configurar reglas de afinidad (affinity) que aseguren que la planificación de los pods/contenedores se hace por sensibilidad • Podemos tener varios clústers de Kubernetes por sensibilidad… • Aunque el orquestador que usemos haga un buen trabajo aislando contenedores de nodos físicos, asilar despliegues por sensibilidad nos da un nivel adicional de defensa muy interesante • Esta aproximación también asegura que si queda algún dato residual (cachés, volúmenes locales, etc.), este solo podrá ser comprometido por contenedores infectados de su mismo nivel de sensibilidad, dificultando así el robo de datos contramedida 6 – mezcla de nodos
  • 77. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud orchestrator trust
  • 78. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • La confianza entre el orquestador y sus nodos físicos requiere de un especial cuidado • El orquestador es el nodo más importante del sistema • Una configuración débil del orquestador puede exponer a todo el sistema a múltiples riesgos • Algunos ejemplos: • Inclusión de nodos físicos no autorizados al clúster • Si un nodo se ha comprometido se compromete todo el clúster • Ya que comparten claves de seguridad • Comunicaciones entre DevOps y el orquestador, administradores y otros hosts sin encriptar y sin autenticar riesgo 7 – orchestator node trust
  • 79. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Los orquestadores deben asegurar que los nodos físicos de los que se compone el clúster tienen una identidad persistente y deben estar siempre autenticados • También deben proveer de un inventario actualizado de nodos, que incluya su estado de conectividad • Deben ser capaces de aislar un nodo comprometido y eliminarlo del clúster sin degradar el conjunto de operaciones del clúster • Las comunicaciones entre nodos deben hacerse por HTTPs (encriptadas) contramedida 7 – orchestator node trust
  • 80. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
  • 81. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Hay muchísimas más recomendaciones de seguridad específicas para contenedores, que tienen que ver con • Imágenes • Container registries • Orquestadores • Contenedores • Sistemas operativos Host • Riesgos externos • Por no hablar de la seguridad de las propias aplicaciones, que es otro mundo… • Pero hay 4 elementos que son fundamentales en lo que a seguridad en contenedores se refiere conclusiones
  • 82. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud
  • 83. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Explicar Riesgos / Contramedidas / EjemplosExplicar Riesgos / Contramedidas / Ejemplos
  • 84. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud • Para conseguir esto tenemos que apoyarnos en nuevas tecnologías y nuevos paradigmas • Big Data • Machine Learning • Blockchain • OSINT • Counterintelligence • Deception • Seguir con el desacoplamiento de elementos críticos • ZeroTrust Architecture • Pero esto no es tan fácil como soltar 4 palabros de moda… conclusiones
  • 85. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Proyecto opossum IMDEEA/2020/64 AppSec DevSecOpsInfraSec OPOSSUM
  • 86. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Proyecto opossum IMDEEA/2020/64
  • 87. Francisco Javier Barrena Castillo - @DogDeveloper#DogSecCloud Gracias!

Notas do Editor

  1. Empezamos la charla preguntando Cuántos de vosotros trabajáis ya con contenedores, Docker por ejemplo Cuántos de vosotros desplegáis los contenedores en infraestructuras gestionadas, como por ejemplo Amazon, Azure… Cuántos de vosotros desplegáis los contenedores en infraestructuras OnPremise (OpenStack, VMWare, etc.) Cuántos de vosotros trabajáis con microservicios Cuántos de vosotros preveis que vais a trabajar con microservicios pronto Cuántos de vosotros sois desarrolladores? Cuántos de vosotros sois de sistemas? Cuántos de vosotros pensáis que la seguridad en un proveedor Cloud es cosa del proveedor Cloud? El proveedor? Vosotros? Ambos? Que sepáis que esto no está claro
  2. ¿Quién es responsable de la seguridad en el cloud?
  3. Y es que realmente es mucho peor…
  4. Y no solo me refiero a este tipo de ‘descuidos’, hay más…
  5. Y es que realmente es mucho peor…
  6. Y no solo me refiero a este tipo de ‘descuidos’, hay más…
  7. Además, una red de contenedores puede incluir comunicaciones entre contenedores DENTRO del mismo nodo, en cuyo caso las herramientas clásicas de sniffing de paquetes no se enteran. La casuística es amplia, pueden haber comunicaciones de contenedores dentro del mismo nodo, entre nodos de un mismo clúster o entre nodos de diferentes clústers
  8. Los sistemas de gestión de seguridad de sistemas tampoco valen, o no son apropiados para cloud (inmutabilidad de los contenedores, etc.)
  9. Dato: Una empresa de IaaS pequeña/mediana, con un clúster de VMWare con alrededor de 500 máquinas virtuales recibe al día unos 600 correos electrónicos con alertas (algunas de seguridad, otras de uso de recursos, alertas en general) ¿Creeis que están preparados para escalar a contenedores?
  10. Dato: Una empresa de IaaS pequeña/mediana, con un clúster de VMWare con alrededor de 500 máquinas virtuales recibe al día unos 600 correos electrónicos con alertas (algunas de seguridad, otras de uso de recursos, alertas en general) ¿Creeis que están preparados para escalar a contenedores?
  11. Contramedida? HTTPS o muerte y requerir autenticación