SlideShare una empresa de Scribd logo
1 de 61
Descargar para leer sin conexión
Seguridad en
arquitecturas serverless y
entornos cloud
José Manuel Ortega
Agenda
● Introducción a las arquitecturas serverless
● Seguridad en arquitecturas serverless
● OWASP Serverless Top 10
● Pentesting sobre aplicaciones cloud
● Mejores prácticas de seguridad al trabajar en
entornos cloud
Introducción a las arquitecturas serverless
● AWS: AWS Lambda
a. https://aws.amazon.com/lambda
● Microsoft Azure: Azure Functions
a. https://azure.microsoft.com/en-us/services/functions
● Google Cloud: Cloud Functions
a. https://cloud.google.com/functions
Introducción a las arquitecturas serverless
https://aws.amazon.com/es/compliance/shared-responsibility-model
Introducción a las arquitecturas serverless
● Flexibilidad, administración y escalado de los recursos necesarios
por parte del proveedor.
● Suministro ágil de los recursos en tiempo real, incluso en caso de
picos de carga imprevisibles o un crecimiento desproporcionado.
● Solo se cobran los gastos por recursos que realmente se han usado.
● Tolerancia a fallos gracias a la infraestructura flexible de hardware en
los centros de cálculo del proveedor.
Introducción a las arquitecturas serverless
Ventajas Inconvenientes
Escalado y administración de los recursos necesarios
por parte del proveedor
Se restringe el acceso a máquinas virtuales y sistemas
operativos.
Suministro ágil de los recursos en tiempo real, incluso en
caso de picos de carga imprevisibles o un crecimiento
desproporcionado
Gran dependencia del proveedor (“efecto Lock-in”):
en caso de cambiar de operador, por ejemplo, suele ser
necesario escribir nuevamente todas las funciones
basadas en eventos.
Solo se cobran gastos por recursos que realmente se
han usado
Procesos de monitorización y depuración de errores
relativamente complejos, ya que, por norma general, no
es posible realizar análisis profundos de errores y
rendimiento.
Gran tolerancia a errores gracias a la infraestructura
flexible de hardware en los centros de cálculo del
proveedor.
Introducción a las arquitecturas serverless
● FaaS (Function as a Service)
● Arquitectura basadas en eventos (EDA)
● Funciones sin estado
● Los flujos de trabajo y la ejecución de funciones se
activan mediante eventos
● Los desencadenantes pueden iniciarse por acciones
como entradas de usuario o cambios en una base de
datos.
Introducción a las arquitecturas serverless
Introducción a las arquitecturas serverless
● Composición de varias funciones sin estado
● Gráfico acíclico dirigido (DAG)
Introducción a las arquitecturas serverless
Introducción a las arquitecturas serverless
Disparadores/Eventos
Dependiendo del proveedor:
▸ Cambios en bases de datos (Firebase, Dynamo)
▸ Cambios en un almacenamiento (S3, GS, FireStore)
▸ Cambios en la infraestructura
▸ Eventos en colas (SQS, PubSub)
▸ Acciones en Alexa, Google Home
Introducción a las arquitecturas serverless
Introducción a las arquitecturas serverless
https://docs.aws.amazon.com/lambda/latest/dg/lambda-services.html
Introducción a las arquitecturas serverless
Seguridad en arquitecturas serverless
● Inyección de datos de eventos
● Mayor superficie de ataque
● Manipulación de la ejecución del
flujo de funciones serverless
● Denegación de servicio y
agotamiento de recursos
financieros
● Manejo inadecuado de
excepciones y mensajes de error
Ataques De Inyección
● SQL
● Cross site scripting(XSS)
● De comandos
Ataques que se minimizan
● Fuerza bruta
● Ataques DDoS
Ataques DDoS
● En Serverless, una función no puede recibir más de una invocación
concurrente, por lo que nuevas llamadas levantarán nuevas instancias
de funciones.
● En esta situación un ataque DDoS podría provocar que se levantaran miles
de instancias de una función agotando así todos los recursos de la
infraestructura, pudiendo afectar incluso a otras funciones que no se puedan
levantar debido a esto.
● Es necesario por tanto que nuestro proveedor serverless nos permita
definir el número máximo de peticiones concurrentes (o instancias en
este caso) tanto de toda la plataforma como de cada una de las funciones.
Ataques DDoS
● Concurrencia
● Número de transacciones por segundo
Ataques DDoS
Ataques DDoS
Ataques DoW(Denial of Wallet)
● Agotamiento de los recursos contratados
● Funciones con alto nivel de concurrencia
● Escalado automático en el uso de memoria y
CPU
Ataques DoW(Denial of Wallet)
● Limitar el número de llamadas a funciones
● Limitar el acceso a los recursos
● Definir límite de presupuesto
● Usar herramientas como AWS Shield
a. https://aws.amazon.com/es/shield
Ataques DoW(Denial of Wallet)
https://aws.amazon.com/es/blogs/mt/introducing-service-quotas-view-and-manage-your-quotas-for-aws-ser
vices-from-one-central-location
Ataques DoW(Denial of Wallet)
OWASP Serverless Top 10
● SAS-1: Function Event Data Injection
● SAS-2: Broken Authentication
● SAS-3: Insecure Serverless Deployment Configuration
● SAS-4: Over-Privileged Function Permissions and Roles
● SAS-5: Inadequate Function Monitoring and Logging
● SAS-6: Insecure 3rd Party Dependencies
● SAS-7: Insecure Application Secrets Storage
● SAS-8: Denial of Service and Financial Resource Exhaustion
● SAS-9: Serverless Function Execution Flow Manipulation
● SAS-10: Improper Exception Handling and Verbose Error Messages
https://owasp.org/www-pdf-archive/OWASP-Top-10-Serverless-Interpretation-en.pdf
Seguridad en arquitecturas serverless
Risk/Attack vector Cloud applications
(IaaS, PaaS)
Serverless Applications (FaaS)
Data Injection Impact level:3 Impact:4, increases the level of
impact as it increases the attack
surface.
Broken Authentication
and Access Control
Impact:4 Impact:3, it is more difficult for an
attacker to exploit a serverless
function in isolation.
Security
Misconfiguration and
insecure Serverless
Deployment
Configuration
Impact:3 Impact:3, same impact level
Seguridad en arquitecturas serverless
Risk/Attack vector Cloud
applications
(IaaS, PaaS)
Serverless Applications (FaaS)
Security
Misconfiguration and
Over-Privileged
Function Permissions
and Roles
Impact level:3 Impact:3, same impact level
Security Logging and
Monitoring Failures
Impact:2 Impact:3, higher impact level
Vulnerable and
Outdated Components
Impact:3 Impact:3, same impact level
Seguridad en arquitecturas serverless
Risk/Attack vector Cloud applications
(IaaS, PaaS)
Serverless Applications (FaaS)
Software and Data
Integrity Failures. 3rd
Party Dependencies
Impact level:4 Impact:3, the impact is reduced
since the functions have finite
execution time.
Denial of Service &
Financial Resource
Exhaustion
Impact:3 Impact:4, higher impact level due to
the presence of the Denial of
Wallet
Serverless Functions
Execution Flow
Manipulation
Impact:1 Impact:3, greater impact level since
it is a new problem in serverless
architectures
OWASP Serverless Top 10
● SAS-1: Function Event Data Injection
a. Inyección de código en funciones
b. Inyección de comandos del sistema operativo
c. Manipulación de mensajes en sistemas
Publish/Subscribe
d. Inyección NoSQL
OWASP Serverless Top 10
OWASP Serverless Top 10
● SAS-4: Over-Privileged Function Permissions and Roles
OWASP Serverless Top 10
● SAS-4: Over-Privileged Function Permissions and Roles
dynamodb_client.put_item(TableName=TABLE_NAME,
Item={"email": {"S": parser['From']},
"subject": {"S": parser['Subject']},
"received": {"S": str(datetime.utcnow()).split('.')[0]},
"filename": {"S": file_name},
"requestid": {'S': context.aws_request_id},
"content": {'S': pdf_content.decode("utf-8")}})
- Effect: Allow
Action:
- 'dynamodb:*'
Resource:
- 'arn:aws:dynamodb:us-east-1:****************:table/TABLE_NAME'
OWASP Serverless Top 10
● SAS-4: Over-Privileged Function Permissions and Roles
https://github.com/functionalone/serverless-iam-roles-per-function
functions:
func1:
handler: handler.get
iamRoleStatementsName: my-custom-role-name #optional custom role name
setting instead of the default generated one
iamRoleStatements:
- Effect: "Allow"
Action:
- dynamodb:GetItem
Resource: "arn:aws:dynamodb:${self:provider.region}:*:table/mytable"
OWASP Serverless Top 10
● SAS-9: Functions Execution Flow Manipulation
Mitigaciones/contramedidas
● Tener un mayor control de los recursos
● Controlar el número de eventos que pueden
desencadenar la ejecución de una función
● Desarrollar pequeñas funciones que realicen una tarea
específica con una lógica de negocio mínima
● Uso de patrones de diseño para aplicaciones serverless
Serverless framework
● Especificar múltiples tiempos de ejecución (nodejs, go, python, etc) y
proveedores (aws, azure).
● Desplegar desde línea de comandos en diferentes entornos (staging,
producción).
● Controlar los recursos que se crearán, como tablas de DynamoDB,
buckets de S3.
● Crear nuestra API con endpoints y funciones que se ejecutarán para
cada método HTTP.
● Cambiar los parámetros de las funciones, el uso de memoria o el tiempo
de ejecución de las funciones.
https://www.serverless.com
Serverless vulnerable app
https://github.com/ine-labs/AWSGoat
https://github.com/OWASP/DVSA
Serverless vulnerable app
Serverless vulnerable app
Serverless vulnerable app
Serverless vulnerable app
Serverless vulnerable app
Serverless vulnerable app
Serverless vulnerable app
https://github.com/OWASP/DVSA/blob/master/backend/src/functions/processing/send_receipt_email.py
Serverless vulnerable app
https://github.com/OWASP/DVSA/blob/master/template.yml
Serverless vulnerable app
https://github.com/OWASP/DVSA/blob/master/template.yml
Estrategias de seguridad entornos cloud
Pentesting sobre aplicaciones cloud
https://cloudcustodian.io
Pentesting sobre aplicaciones cloud
https://cloudcustodian.io
Pentesting sobre aplicaciones cloud
https://github.com/prowler-cloud/prowler
● Prowler es una herramienta de
seguridad de código abierto para
realizar evaluaciones de las mejores
prácticas de seguridad de AWS y Azure
● Permite realizar auditorías, respuesta
a incidentes, monitorización continua,
hardening y gestionar la revocación de
secretos.
Pentesting sobre aplicaciones cloud
Pentesting sobre aplicaciones cloud
aws configure
export AWS_ACCESS_KEY_ID="ASXXXXXXX"
export AWS_SECRET_ACCESS_KEY="XXXXXXXXX"
export AWS_SESSION_TOKEN="XXXXXXXXX"
arn:aws:iam::aws:policy/SecurityAudit
arn:aws:iam::aws:policy/job-function/ViewOnlyAccess
Pentesting sobre aplicaciones cloud
Pentesting sobre aplicaciones cloud
Principales servicios de seguridad en AWS
Principales servicios de seguridad en AWS
Principales servicios de seguridad en AWS
https://maturitymodel.security.aws.dev/es
Conclusiones
● https://github.com/puresec/sas-top-10
● La mayoría de los riesgos de seguridad siguen presentes
en serverless, presentados de forma diferente.
● Las aplicaciones sin servidor podrían aumentar en
complejidad.
● Se reduce el impacto de los ataques de denegación de
servicio (DoS), pero aparecen nuevos riesgos como la
denegación de cartera (Denial of Wallet).
Conclusiones
● DoW adquiere mayor relevancia al conectar
aplicaciones serverless con dispositivos IoT.
● Ataque DOW debido a la pérdida de control de la
generación de eventos por peticiones realizadas desde
dispositivos IoT.
● Control de la generación de eventos en aplicaciones.
● Sigue las mejores prácticas de diseño
https://12factor.net/es/ y desarrollo de software seguro.
¡Gracias!
@jmortegac
https://www.linkedin.com
/in/jmortega1
https://jmortega.github.io
¿Preguntas?

Más contenido relacionado

Similar a Seguridad en arquitecturas serverless y entornos cloud

Los Anillos de Seguridad - AWS Security Day Chile - 2023
Los Anillos de Seguridad - AWS Security Day Chile - 2023Los Anillos de Seguridad - AWS Security Day Chile - 2023
Los Anillos de Seguridad - AWS Security Day Chile - 2023Alvaro Garcia
 
AWS Fundamentals.pptx
AWS Fundamentals.pptxAWS Fundamentals.pptx
AWS Fundamentals.pptxEnrique
 
Introducción a la plataforma sql azure
Introducción a la plataforma sql azureIntroducción a la plataforma sql azure
Introducción a la plataforma sql azureJoseph Lopez
 
Azure Training Day Guatemala - Migración de Aplicaciones Web a Azure
Azure Training Day Guatemala - Migración de Aplicaciones Web a AzureAzure Training Day Guatemala - Migración de Aplicaciones Web a Azure
Azure Training Day Guatemala - Migración de Aplicaciones Web a AzureGuillermo Zepeda Selman
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSAmazon Web Services LATAM
 
Servicios de datos en la nube
Servicios de datos en la nubeServicios de datos en la nube
Servicios de datos en la nubeJuan Pablo
 
Introduccion a AWS
Introduccion a AWSIntroduccion a AWS
Introduccion a AWSHermann Pais
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosAmazon Web Services LATAM
 
Mejores prácticas y las difíciles lecciones aprendidas con las aplicaciones S...
Mejores prácticas y las difíciles lecciones aprendidas con las aplicaciones S...Mejores prácticas y las difíciles lecciones aprendidas con las aplicaciones S...
Mejores prácticas y las difíciles lecciones aprendidas con las aplicaciones S...Amazon Web Services LATAM
 
Azure sql database escalabilidad
Azure sql database escalabilidadAzure sql database escalabilidad
Azure sql database escalabilidadEduardo Castro
 
Microsoft azure presentacion
Microsoft azure presentacionMicrosoft azure presentacion
Microsoft azure presentacionJuan Paucar
 
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...SolidQ
 
Escalabilidad en azure sql database con elastic scale
Escalabilidad en azure sql database con elastic scaleEscalabilidad en azure sql database con elastic scale
Escalabilidad en azure sql database con elastic scaleEduardo Castro
 
AWS Webcast - Viaje a través de la nube : la mejor manera de iniciarse en la ...
AWS Webcast - Viaje a través de la nube : la mejor manera de iniciarse en la ...AWS Webcast - Viaje a través de la nube : la mejor manera de iniciarse en la ...
AWS Webcast - Viaje a través de la nube : la mejor manera de iniciarse en la ...Amazon Web Services
 
AWS Summits América Latina 2015- SAP en AWS
AWS Summits América Latina 2015- SAP en AWSAWS Summits América Latina 2015- SAP en AWS
AWS Summits América Latina 2015- SAP en AWSAmazon Web Services LATAM
 
microsoft azure presentacion
microsoft azure presentacionmicrosoft azure presentacion
microsoft azure presentacionLuisGaribay20
 

Similar a Seguridad en arquitecturas serverless y entornos cloud (20)

Cbs aws-fundamentals-1
Cbs aws-fundamentals-1Cbs aws-fundamentals-1
Cbs aws-fundamentals-1
 
Los Anillos de Seguridad - AWS Security Day Chile - 2023
Los Anillos de Seguridad - AWS Security Day Chile - 2023Los Anillos de Seguridad - AWS Security Day Chile - 2023
Los Anillos de Seguridad - AWS Security Day Chile - 2023
 
AWS Fundamentals.pptx
AWS Fundamentals.pptxAWS Fundamentals.pptx
AWS Fundamentals.pptx
 
Introducción a la plataforma sql azure
Introducción a la plataforma sql azureIntroducción a la plataforma sql azure
Introducción a la plataforma sql azure
 
Sobrevolando AWS
Sobrevolando AWSSobrevolando AWS
Sobrevolando AWS
 
392354189-SGBD.pptx
392354189-SGBD.pptx392354189-SGBD.pptx
392354189-SGBD.pptx
 
Azure Training Day Guatemala - Migración de Aplicaciones Web a Azure
Azure Training Day Guatemala - Migración de Aplicaciones Web a AzureAzure Training Day Guatemala - Migración de Aplicaciones Web a Azure
Azure Training Day Guatemala - Migración de Aplicaciones Web a Azure
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWS
 
Servicios de datos en la nube
Servicios de datos en la nubeServicios de datos en la nube
Servicios de datos en la nube
 
Servidores web: cloud
Servidores web: cloudServidores web: cloud
Servidores web: cloud
 
Introduccion a AWS
Introduccion a AWSIntroduccion a AWS
Introduccion a AWS
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
 
Mejores prácticas y las difíciles lecciones aprendidas con las aplicaciones S...
Mejores prácticas y las difíciles lecciones aprendidas con las aplicaciones S...Mejores prácticas y las difíciles lecciones aprendidas con las aplicaciones S...
Mejores prácticas y las difíciles lecciones aprendidas con las aplicaciones S...
 
Azure sql database escalabilidad
Azure sql database escalabilidadAzure sql database escalabilidad
Azure sql database escalabilidad
 
Microsoft azure presentacion
Microsoft azure presentacionMicrosoft azure presentacion
Microsoft azure presentacion
 
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...
 
Escalabilidad en azure sql database con elastic scale
Escalabilidad en azure sql database con elastic scaleEscalabilidad en azure sql database con elastic scale
Escalabilidad en azure sql database con elastic scale
 
AWS Webcast - Viaje a través de la nube : la mejor manera de iniciarse en la ...
AWS Webcast - Viaje a través de la nube : la mejor manera de iniciarse en la ...AWS Webcast - Viaje a través de la nube : la mejor manera de iniciarse en la ...
AWS Webcast - Viaje a través de la nube : la mejor manera de iniciarse en la ...
 
AWS Summits América Latina 2015- SAP en AWS
AWS Summits América Latina 2015- SAP en AWSAWS Summits América Latina 2015- SAP en AWS
AWS Summits América Latina 2015- SAP en AWS
 
microsoft azure presentacion
microsoft azure presentacionmicrosoft azure presentacion
microsoft azure presentacion
 

Más de Jose Manuel Ortega Candel

Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdfAsegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdfJose Manuel Ortega Candel
 
PyGoat Analizando la seguridad en aplicaciones Django.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdfPyGoat Analizando la seguridad en aplicaciones Django.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdfJose Manuel Ortega Candel
 
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...Jose Manuel Ortega Candel
 
Evolution of security strategies in K8s environments- All day devops
Evolution of security strategies in K8s environments- All day devops Evolution of security strategies in K8s environments- All day devops
Evolution of security strategies in K8s environments- All day devops Jose Manuel Ortega Candel
 
Evolution of security strategies in K8s environments.pdf
Evolution of security strategies in K8s environments.pdfEvolution of security strategies in K8s environments.pdf
Evolution of security strategies in K8s environments.pdfJose Manuel Ortega Candel
 
Implementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdfImplementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdfJose Manuel Ortega Candel
 
Construyendo arquitecturas zero trust sobre entornos cloud
Construyendo arquitecturas zero trust sobre entornos cloud Construyendo arquitecturas zero trust sobre entornos cloud
Construyendo arquitecturas zero trust sobre entornos cloud Jose Manuel Ortega Candel
 
Tips and tricks for data science projects with Python
Tips and tricks for data science projects with Python Tips and tricks for data science projects with Python
Tips and tricks for data science projects with Python Jose Manuel Ortega Candel
 
Sharing secret keys in Docker containers and K8s
Sharing secret keys in Docker containers and K8sSharing secret keys in Docker containers and K8s
Sharing secret keys in Docker containers and K8sJose Manuel Ortega Candel
 
Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad(pycones)Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad(pycones)Jose Manuel Ortega Candel
 
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodanShodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodanJose Manuel Ortega Candel
 
ELK para analistas de seguridad y equipos Blue Team
ELK para analistas de seguridad y equipos Blue TeamELK para analistas de seguridad y equipos Blue Team
ELK para analistas de seguridad y equipos Blue TeamJose Manuel Ortega Candel
 
Monitoring and managing Containers using Open Source tools
Monitoring and managing Containers using Open Source toolsMonitoring and managing Containers using Open Source tools
Monitoring and managing Containers using Open Source toolsJose Manuel Ortega Candel
 
Python memory managment. Deeping in Garbage collector
Python memory managment. Deeping in Garbage collectorPython memory managment. Deeping in Garbage collector
Python memory managment. Deeping in Garbage collectorJose Manuel Ortega Candel
 
Machine Learning para proyectos de seguridad(Pycon)
Machine Learning para proyectos de seguridad(Pycon)Machine Learning para proyectos de seguridad(Pycon)
Machine Learning para proyectos de seguridad(Pycon)Jose Manuel Ortega Candel
 

Más de Jose Manuel Ortega Candel (20)

Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdfAsegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
 
PyGoat Analizando la seguridad en aplicaciones Django.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdfPyGoat Analizando la seguridad en aplicaciones Django.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdf
 
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
 
Evolution of security strategies in K8s environments- All day devops
Evolution of security strategies in K8s environments- All day devops Evolution of security strategies in K8s environments- All day devops
Evolution of security strategies in K8s environments- All day devops
 
Evolution of security strategies in K8s environments.pdf
Evolution of security strategies in K8s environments.pdfEvolution of security strategies in K8s environments.pdf
Evolution of security strategies in K8s environments.pdf
 
Implementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdfImplementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdf
 
Computación distribuida usando Python
Computación distribuida usando PythonComputación distribuida usando Python
Computación distribuida usando Python
 
Construyendo arquitecturas zero trust sobre entornos cloud
Construyendo arquitecturas zero trust sobre entornos cloud Construyendo arquitecturas zero trust sobre entornos cloud
Construyendo arquitecturas zero trust sobre entornos cloud
 
Tips and tricks for data science projects with Python
Tips and tricks for data science projects with Python Tips and tricks for data science projects with Python
Tips and tricks for data science projects with Python
 
Sharing secret keys in Docker containers and K8s
Sharing secret keys in Docker containers and K8sSharing secret keys in Docker containers and K8s
Sharing secret keys in Docker containers and K8s
 
Implementing cert-manager in K8s
Implementing cert-manager in K8sImplementing cert-manager in K8s
Implementing cert-manager in K8s
 
Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad(pycones)Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad(pycones)
 
Python para equipos de ciberseguridad
Python para equipos de ciberseguridad Python para equipos de ciberseguridad
Python para equipos de ciberseguridad
 
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodanShodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
 
ELK para analistas de seguridad y equipos Blue Team
ELK para analistas de seguridad y equipos Blue TeamELK para analistas de seguridad y equipos Blue Team
ELK para analistas de seguridad y equipos Blue Team
 
Monitoring and managing Containers using Open Source tools
Monitoring and managing Containers using Open Source toolsMonitoring and managing Containers using Open Source tools
Monitoring and managing Containers using Open Source tools
 
Python Memory Management 101(Europython)
Python Memory Management 101(Europython)Python Memory Management 101(Europython)
Python Memory Management 101(Europython)
 
SecDevOps containers
SecDevOps containersSecDevOps containers
SecDevOps containers
 
Python memory managment. Deeping in Garbage collector
Python memory managment. Deeping in Garbage collectorPython memory managment. Deeping in Garbage collector
Python memory managment. Deeping in Garbage collector
 
Machine Learning para proyectos de seguridad(Pycon)
Machine Learning para proyectos de seguridad(Pycon)Machine Learning para proyectos de seguridad(Pycon)
Machine Learning para proyectos de seguridad(Pycon)
 

Último

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 

Último (10)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 

Seguridad en arquitecturas serverless y entornos cloud

  • 1. Seguridad en arquitecturas serverless y entornos cloud José Manuel Ortega
  • 2. Agenda ● Introducción a las arquitecturas serverless ● Seguridad en arquitecturas serverless ● OWASP Serverless Top 10 ● Pentesting sobre aplicaciones cloud ● Mejores prácticas de seguridad al trabajar en entornos cloud
  • 3. Introducción a las arquitecturas serverless ● AWS: AWS Lambda a. https://aws.amazon.com/lambda ● Microsoft Azure: Azure Functions a. https://azure.microsoft.com/en-us/services/functions ● Google Cloud: Cloud Functions a. https://cloud.google.com/functions
  • 4. Introducción a las arquitecturas serverless https://aws.amazon.com/es/compliance/shared-responsibility-model
  • 5. Introducción a las arquitecturas serverless ● Flexibilidad, administración y escalado de los recursos necesarios por parte del proveedor. ● Suministro ágil de los recursos en tiempo real, incluso en caso de picos de carga imprevisibles o un crecimiento desproporcionado. ● Solo se cobran los gastos por recursos que realmente se han usado. ● Tolerancia a fallos gracias a la infraestructura flexible de hardware en los centros de cálculo del proveedor.
  • 6. Introducción a las arquitecturas serverless Ventajas Inconvenientes Escalado y administración de los recursos necesarios por parte del proveedor Se restringe el acceso a máquinas virtuales y sistemas operativos. Suministro ágil de los recursos en tiempo real, incluso en caso de picos de carga imprevisibles o un crecimiento desproporcionado Gran dependencia del proveedor (“efecto Lock-in”): en caso de cambiar de operador, por ejemplo, suele ser necesario escribir nuevamente todas las funciones basadas en eventos. Solo se cobran gastos por recursos que realmente se han usado Procesos de monitorización y depuración de errores relativamente complejos, ya que, por norma general, no es posible realizar análisis profundos de errores y rendimiento. Gran tolerancia a errores gracias a la infraestructura flexible de hardware en los centros de cálculo del proveedor.
  • 7. Introducción a las arquitecturas serverless ● FaaS (Function as a Service) ● Arquitectura basadas en eventos (EDA) ● Funciones sin estado ● Los flujos de trabajo y la ejecución de funciones se activan mediante eventos ● Los desencadenantes pueden iniciarse por acciones como entradas de usuario o cambios en una base de datos.
  • 8. Introducción a las arquitecturas serverless
  • 9. Introducción a las arquitecturas serverless ● Composición de varias funciones sin estado ● Gráfico acíclico dirigido (DAG)
  • 10. Introducción a las arquitecturas serverless
  • 11. Introducción a las arquitecturas serverless Disparadores/Eventos Dependiendo del proveedor: ▸ Cambios en bases de datos (Firebase, Dynamo) ▸ Cambios en un almacenamiento (S3, GS, FireStore) ▸ Cambios en la infraestructura ▸ Eventos en colas (SQS, PubSub) ▸ Acciones en Alexa, Google Home
  • 12. Introducción a las arquitecturas serverless
  • 13. Introducción a las arquitecturas serverless https://docs.aws.amazon.com/lambda/latest/dg/lambda-services.html
  • 14. Introducción a las arquitecturas serverless
  • 15. Seguridad en arquitecturas serverless ● Inyección de datos de eventos ● Mayor superficie de ataque ● Manipulación de la ejecución del flujo de funciones serverless ● Denegación de servicio y agotamiento de recursos financieros ● Manejo inadecuado de excepciones y mensajes de error
  • 16. Ataques De Inyección ● SQL ● Cross site scripting(XSS) ● De comandos
  • 17. Ataques que se minimizan ● Fuerza bruta ● Ataques DDoS
  • 18. Ataques DDoS ● En Serverless, una función no puede recibir más de una invocación concurrente, por lo que nuevas llamadas levantarán nuevas instancias de funciones. ● En esta situación un ataque DDoS podría provocar que se levantaran miles de instancias de una función agotando así todos los recursos de la infraestructura, pudiendo afectar incluso a otras funciones que no se puedan levantar debido a esto. ● Es necesario por tanto que nuestro proveedor serverless nos permita definir el número máximo de peticiones concurrentes (o instancias en este caso) tanto de toda la plataforma como de cada una de las funciones.
  • 19. Ataques DDoS ● Concurrencia ● Número de transacciones por segundo
  • 22. Ataques DoW(Denial of Wallet) ● Agotamiento de los recursos contratados ● Funciones con alto nivel de concurrencia ● Escalado automático en el uso de memoria y CPU
  • 23. Ataques DoW(Denial of Wallet) ● Limitar el número de llamadas a funciones ● Limitar el acceso a los recursos ● Definir límite de presupuesto ● Usar herramientas como AWS Shield a. https://aws.amazon.com/es/shield
  • 24. Ataques DoW(Denial of Wallet) https://aws.amazon.com/es/blogs/mt/introducing-service-quotas-view-and-manage-your-quotas-for-aws-ser vices-from-one-central-location
  • 26. OWASP Serverless Top 10 ● SAS-1: Function Event Data Injection ● SAS-2: Broken Authentication ● SAS-3: Insecure Serverless Deployment Configuration ● SAS-4: Over-Privileged Function Permissions and Roles ● SAS-5: Inadequate Function Monitoring and Logging ● SAS-6: Insecure 3rd Party Dependencies ● SAS-7: Insecure Application Secrets Storage ● SAS-8: Denial of Service and Financial Resource Exhaustion ● SAS-9: Serverless Function Execution Flow Manipulation ● SAS-10: Improper Exception Handling and Verbose Error Messages https://owasp.org/www-pdf-archive/OWASP-Top-10-Serverless-Interpretation-en.pdf
  • 27. Seguridad en arquitecturas serverless Risk/Attack vector Cloud applications (IaaS, PaaS) Serverless Applications (FaaS) Data Injection Impact level:3 Impact:4, increases the level of impact as it increases the attack surface. Broken Authentication and Access Control Impact:4 Impact:3, it is more difficult for an attacker to exploit a serverless function in isolation. Security Misconfiguration and insecure Serverless Deployment Configuration Impact:3 Impact:3, same impact level
  • 28. Seguridad en arquitecturas serverless Risk/Attack vector Cloud applications (IaaS, PaaS) Serverless Applications (FaaS) Security Misconfiguration and Over-Privileged Function Permissions and Roles Impact level:3 Impact:3, same impact level Security Logging and Monitoring Failures Impact:2 Impact:3, higher impact level Vulnerable and Outdated Components Impact:3 Impact:3, same impact level
  • 29. Seguridad en arquitecturas serverless Risk/Attack vector Cloud applications (IaaS, PaaS) Serverless Applications (FaaS) Software and Data Integrity Failures. 3rd Party Dependencies Impact level:4 Impact:3, the impact is reduced since the functions have finite execution time. Denial of Service & Financial Resource Exhaustion Impact:3 Impact:4, higher impact level due to the presence of the Denial of Wallet Serverless Functions Execution Flow Manipulation Impact:1 Impact:3, greater impact level since it is a new problem in serverless architectures
  • 30. OWASP Serverless Top 10 ● SAS-1: Function Event Data Injection a. Inyección de código en funciones b. Inyección de comandos del sistema operativo c. Manipulación de mensajes en sistemas Publish/Subscribe d. Inyección NoSQL
  • 32. OWASP Serverless Top 10 ● SAS-4: Over-Privileged Function Permissions and Roles
  • 33. OWASP Serverless Top 10 ● SAS-4: Over-Privileged Function Permissions and Roles dynamodb_client.put_item(TableName=TABLE_NAME, Item={"email": {"S": parser['From']}, "subject": {"S": parser['Subject']}, "received": {"S": str(datetime.utcnow()).split('.')[0]}, "filename": {"S": file_name}, "requestid": {'S': context.aws_request_id}, "content": {'S': pdf_content.decode("utf-8")}}) - Effect: Allow Action: - 'dynamodb:*' Resource: - 'arn:aws:dynamodb:us-east-1:****************:table/TABLE_NAME'
  • 34. OWASP Serverless Top 10 ● SAS-4: Over-Privileged Function Permissions and Roles https://github.com/functionalone/serverless-iam-roles-per-function functions: func1: handler: handler.get iamRoleStatementsName: my-custom-role-name #optional custom role name setting instead of the default generated one iamRoleStatements: - Effect: "Allow" Action: - dynamodb:GetItem Resource: "arn:aws:dynamodb:${self:provider.region}:*:table/mytable"
  • 35. OWASP Serverless Top 10 ● SAS-9: Functions Execution Flow Manipulation
  • 36. Mitigaciones/contramedidas ● Tener un mayor control de los recursos ● Controlar el número de eventos que pueden desencadenar la ejecución de una función ● Desarrollar pequeñas funciones que realicen una tarea específica con una lógica de negocio mínima ● Uso de patrones de diseño para aplicaciones serverless
  • 37. Serverless framework ● Especificar múltiples tiempos de ejecución (nodejs, go, python, etc) y proveedores (aws, azure). ● Desplegar desde línea de comandos en diferentes entornos (staging, producción). ● Controlar los recursos que se crearán, como tablas de DynamoDB, buckets de S3. ● Crear nuestra API con endpoints y funciones que se ejecutarán para cada método HTTP. ● Cambiar los parámetros de las funciones, el uso de memoria o el tiempo de ejecución de las funciones. https://www.serverless.com
  • 48. Estrategias de seguridad entornos cloud
  • 49. Pentesting sobre aplicaciones cloud https://cloudcustodian.io
  • 50. Pentesting sobre aplicaciones cloud https://cloudcustodian.io
  • 51. Pentesting sobre aplicaciones cloud https://github.com/prowler-cloud/prowler ● Prowler es una herramienta de seguridad de código abierto para realizar evaluaciones de las mejores prácticas de seguridad de AWS y Azure ● Permite realizar auditorías, respuesta a incidentes, monitorización continua, hardening y gestionar la revocación de secretos.
  • 53. Pentesting sobre aplicaciones cloud aws configure export AWS_ACCESS_KEY_ID="ASXXXXXXX" export AWS_SECRET_ACCESS_KEY="XXXXXXXXX" export AWS_SESSION_TOKEN="XXXXXXXXX" arn:aws:iam::aws:policy/SecurityAudit arn:aws:iam::aws:policy/job-function/ViewOnlyAccess
  • 56. Principales servicios de seguridad en AWS
  • 57. Principales servicios de seguridad en AWS
  • 58. Principales servicios de seguridad en AWS https://maturitymodel.security.aws.dev/es
  • 59. Conclusiones ● https://github.com/puresec/sas-top-10 ● La mayoría de los riesgos de seguridad siguen presentes en serverless, presentados de forma diferente. ● Las aplicaciones sin servidor podrían aumentar en complejidad. ● Se reduce el impacto de los ataques de denegación de servicio (DoS), pero aparecen nuevos riesgos como la denegación de cartera (Denial of Wallet).
  • 60. Conclusiones ● DoW adquiere mayor relevancia al conectar aplicaciones serverless con dispositivos IoT. ● Ataque DOW debido a la pérdida de control de la generación de eventos por peticiones realizadas desde dispositivos IoT. ● Control de la generación de eventos en aplicaciones. ● Sigue las mejores prácticas de diseño https://12factor.net/es/ y desarrollo de software seguro.