SlideShare una empresa de Scribd logo
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

PDF
Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framewo...
PPTX
SSRS modelo IaaS en la Nube | SolidQ Summit 2014
PPTX
24HOP Espanol - Funcionalidades de Nube Hibrida en SQL Server 2014
PPTX
The azure platform TechDay2010
PPTX
24 HOP edición Español - Funcionalidades de nube híbrida en sql server 2014 -...
PPTX
Windows Azure, Lo mejor del PDC
PPTX
SQL Azure Administración, Desempeño y Mantenimiento
PPTX
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framewo...
SSRS modelo IaaS en la Nube | SolidQ Summit 2014
24HOP Espanol - Funcionalidades de Nube Hibrida en SQL Server 2014
The azure platform TechDay2010
24 HOP edición Español - Funcionalidades de nube híbrida en sql server 2014 -...
Windows Azure, Lo mejor del PDC
SQL Azure Administración, Desempeño y Mantenimiento
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...

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

PDF
Cbs aws-fundamentals-1
PPTX
Los Anillos de Seguridad - AWS Security Day Chile - 2023
PPTX
AWS Fundamentals.pptx
PPTX
Introducción a la plataforma sql azure
PPTX
Sobrevolando AWS
PDF
ajkgjgjsftfhfjghjhgjfhjfgkfghjfgghjfghjghj
PPTX
392354189-SGBD.pptx
PDF
Azure Training Day Guatemala - Migración de Aplicaciones Web a Azure
PDF
Comenzando con aplicaciones serverless en AWS
PPTX
Servicios de datos en la nube
ODP
Servidores web: cloud
PDF
Introduccion a AWS
PPTX
Escalando para sus primeros 10 millones de usuarios
PDF
Mejores prácticas y las difíciles lecciones aprendidas con las aplicaciones S...
PPTX
20190812_Modernizing-your-application-with-containers-and-serverless-SPA_ok.pptx
PPTX
Azure sql database escalabilidad
PPTX
Microsoft azure presentacion
PDF
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...
PPTX
Escalabilidad en azure sql database con elastic scale
PDF
AWS Summits América Latina 2015- SAP en AWS
Cbs aws-fundamentals-1
Los Anillos de Seguridad - AWS Security Day Chile - 2023
AWS Fundamentals.pptx
Introducción a la plataforma sql azure
Sobrevolando AWS
ajkgjgjsftfhfjghjhgjfhjfgkfghjfgghjfghjghj
392354189-SGBD.pptx
Azure Training Day Guatemala - Migración de Aplicaciones Web a Azure
Comenzando con aplicaciones serverless en AWS
Servicios de datos en la nube
Servidores web: cloud
Introduccion a AWS
Escalando para sus primeros 10 millones de usuarios
Mejores prácticas y las difíciles lecciones aprendidas con las aplicaciones S...
20190812_Modernizing-your-application-with-containers-and-serverless-SPA_ok.pptx
Azure sql database escalabilidad
Microsoft azure presentacion
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...
Escalabilidad en azure sql database con elastic scale
AWS Summits América Latina 2015- SAP en AWS
Publicidad

Más de Jose Manuel Ortega Candel (20)

PDF
Seguridad y auditorías en Modelos grandes del lenguaje (LLM)
PDF
Seguridad y auditorías en Modelos grandes del lenguaje (LLM).pdf
PDF
Beyond the hype: The reality of AI security.pdf
PDF
Seguridad de APIs en Drupal_ herramientas, mejores prácticas y estrategias pa...
PDF
Security and auditing tools in Large Language Models (LLM).pdf
PDF
Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaci...
PDF
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
PDF
PyGoat Analizando la seguridad en aplicaciones Django.pdf
PDF
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
PDF
Evolution of security strategies in K8s environments- All day devops
PDF
Evolution of security strategies in K8s environments.pdf
PDF
Implementing Observability for Kubernetes.pdf
PDF
Computación distribuida usando Python
PDF
Construyendo arquitecturas zero trust sobre entornos cloud
PDF
Tips and tricks for data science projects with Python
PDF
Sharing secret keys in Docker containers and K8s
PDF
Implementing cert-manager in K8s
PDF
Python para equipos de ciberseguridad(pycones)
PDF
Python para equipos de ciberseguridad
PDF
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Seguridad y auditorías en Modelos grandes del lenguaje (LLM)
Seguridad y auditorías en Modelos grandes del lenguaje (LLM).pdf
Beyond the hype: The reality of AI security.pdf
Seguridad de APIs en Drupal_ herramientas, mejores prácticas y estrategias pa...
Security and auditing tools in Large Language Models (LLM).pdf
Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaci...
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdf
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.pdf
Implementing Observability for Kubernetes.pdf
Computación distribuida usando Python
Construyendo arquitecturas zero trust sobre entornos cloud
Tips and tricks for data science projects with Python
Sharing secret keys in Docker containers and K8s
Implementing cert-manager in K8s
Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Publicidad

Último (20)

PDF
La electricidad y la electrónica .pdf n
PPTX
Descubre los Dispositivos de Salida Como Usarlo
PDF
diagrama de pareto.pdf valerie giraldo diaz
PDF
clase 9 PIN DE CARGA.pdf curso de reparacion de celulares
PDF
Temas y subtemas de las fichas 1 y 2.pdf
PDF
Conceptos básicos de programación tecnología.pdf
PDF
Bulon ([Principal]).pdf kjihlkgjkjgjgghjgj
PPTX
Introduccion a servidores de Aplicaciones (1).pptx
PDF
Diseño de Sistema de VideoVigilancia en la Plataforma de Telecom-USC-ar.pdf
PDF
Manual Videovigilancia IP y Seguridad Electronica-Parte 1-Book-cl.pdf
PDF
La electricidad y la electrónica Tecno-Informática
DOCX
Las nuevas tecnologías en la salud - enfermería técnica.
PPTX
Customer Events - DeepRacer L200_ES.pptx
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
DOCX
#USOLASTICPARA Proyecto integrador M1S4PI JuarezGonzalez _Maria_M1S4PI.doc...
DOCX
Trabajo colaborativo Grupo #2.docxmmuhhlk
PDF
ACTIVIDAD 2.pdf j
PPTX
ExcelTablasDinamicas02nivelintermedio.pptx
PDF
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
PPTX
Descubre los Dispositivos de Salida y Como usar
La electricidad y la electrónica .pdf n
Descubre los Dispositivos de Salida Como Usarlo
diagrama de pareto.pdf valerie giraldo diaz
clase 9 PIN DE CARGA.pdf curso de reparacion de celulares
Temas y subtemas de las fichas 1 y 2.pdf
Conceptos básicos de programación tecnología.pdf
Bulon ([Principal]).pdf kjihlkgjkjgjgghjgj
Introduccion a servidores de Aplicaciones (1).pptx
Diseño de Sistema de VideoVigilancia en la Plataforma de Telecom-USC-ar.pdf
Manual Videovigilancia IP y Seguridad Electronica-Parte 1-Book-cl.pdf
La electricidad y la electrónica Tecno-Informática
Las nuevas tecnologías en la salud - enfermería técnica.
Customer Events - DeepRacer L200_ES.pptx
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
#USOLASTICPARA Proyecto integrador M1S4PI JuarezGonzalez _Maria_M1S4PI.doc...
Trabajo colaborativo Grupo #2.docxmmuhhlk
ACTIVIDAD 2.pdf j
ExcelTablasDinamicas02nivelintermedio.pptx
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
Descubre los Dispositivos de Salida y Como usar

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.