Está en la página 1de 57

Desarrollo seguro sobre aplicaciones

móviles
Enrique G. Dutra
[10-2021]
✔ Auditor Líder ISO/IEC 27001
✔ Socio Gerente de Punto Net Soluciones – 20 años
✔ Consultor en Seguridad de la Información
✔ PREMIOS obtenidos
✔ Microsoft MVP Cloud and Datacenter
Management 2021 - 16 años
ininterrumpidos
✔ Cybersecurity Professional of the Year -
South America – 2018
✔ Coordinador del área de IT/Ciberseguridad en
PNET
✔ Disertante en LATAM y EUROPA de eventos de
Seguridad de la Información / Ciberseguridad.
Enrique Dutra ✔ Miembro de ISACA – IRCA – IRAM – CIIECCA –
OWASP - ISOC
✔ Perito Informático.
✔ Miembro de la Comisión Directiva de CIIECCA
✔ Certificaciones Azure – Google – Sophos – AWS –
✔ TW : @egdutra Scrum Master
✔ Linkedin:
https://www.linkedin.com/in/enriquedutra/
✔ www.puntonetsoluciones.com.ar

Punto Net Soluciones SRL © 2016


 Problemática actual
 OWASP Top Ten 2021
 Metodología.
 Análisis estático vs dinámico.
 Herramientas y soluciones.
 Arquitectura Android
 Metodología de evaluación de software
 Infraestructura al rescate.

Agenda

Punto Net Soluciones SRL © 2016


Situación actual
Exposición de los servicios y datos a Internet.

Punto Net Soluciones SRL © 2016


Adaptación al mercado

Punto Net Soluciones SRL © 2016


Hiperconectados…

Punto Net Soluciones SRL © 2016


Plataformas inseguras

Punto Net Soluciones SRL © 2016


Aplicaciones infectadas

Punto Net Soluciones SRL © 2016


✓ Framework desarrollo instalado en producciónón.
✓ Ausencia de ambientes desarrollo / testing.
✓ Ausencia de validaciones en formularios Web.
✓ Fallas en validación/autenticación.
✓ Software con ”hardcode”.
✓ Ausencia de conexión cifradas.
✓ Configuración Web permite SQL Injection.
✓ Usuarios de prueba en producción.
✓ Base de datos sin protección o semilla.
✓ Datos sensibles en base de datos :
✓ Ley 25326 Rep. Arg.,
✓ HIPAA - La Ley de Transferencia y Responsabilidad de Seguro Médico
(Health Insurance Portability and Accountability Act, HIPAA),
✓ PCI-DSS,
✓ Otros.

Problemáticas…

Punto Net Soluciones SRL © 2016


Aplicaciones bajadas

Punto Net Soluciones SRL © 2016


Introducción a OWASP
Open Web Application Security Project

Punto Net Soluciones SRL © 2016


✓ Promueve el desarrollo de software seguro
✓ Orientada a la prestación de servicios
orientados a la Web.
✓ Se centra principalmente en el "back-end"
mas que en cuestiones de diseño web.
✓ Un foro abierto para el debate.
✓ Un recurso gratuito para cualquier equipo
de desarrollo de software.

https://www.owasp.org

OWASP

Punto Net Soluciones SRL © 2016


✓ OWASP Top 10 es un documento de los
diez riesgos de seguridad más
importantes en aplicaciones WEB según la
organización OWASP.
✓ El objetivo de este proyecto es crear
conciencia acerca de la seguridad en
aplicaciones mediante la identificación de
algunos de los riesgos más críticos que
enfrentan las organizaciones.

OWASP Top 10

Punto Net Soluciones SRL © 2016


Maduración desde el 2004

Punto Net Soluciones SRL © 2016


Novedades… 2021

Punto Net Soluciones SRL © 2016


OWASP Top Ten 2021
Open Web Application Security Project

Punto Net Soluciones SRL © 2016


Broken Access Control
Perdida de control de acceso

A01:2021

Punto Net Soluciones SRL © 2016


 Sube de la quinta posición a la categoría con el
riesgo de seguridad de aplicaciones web más
grave;
 Las fallas generalmente conducen a la
divulgación de información no autorizada, la
modificación o la destrucción de todos los datos
o la realización de una función comercial fuera de
los límites del usuario.

A01: 2021-Broken Access Control

Punto Net Soluciones SRL © 2016


Cryptographic Failures
Fallos criptográficos

A02:2021

Punto Net Soluciones SRL © 2016


 Conocido como Exposición de datos
confidenciales, que es más un síntoma
amplio que una causa raíz, la atención se
centra en las fallas relacionadas con la
criptografía (o la falta de ella).
 Sube un lugar y se le cambia el nombre.

A02:2021 – Cryptographic Failures

Punto Net Soluciones SRL © 2016


 Lo primero es determinar las necesidades de
protección de los datos en tránsito y en reposo.
Ejemplos:
1) las contraseñas,
2) los números de tarjetas de crédito,
3) los registros médicos,
4) la información personal,
5) los secretos comerciales requieren protección adicional
6) Otros…

 Cumplir con regulaciones como el Reglamento


general de protección de datos (GDPR), PCI Data
Security Standard (PCI DSS), etc.

A02:2021 – Cryptographic Failures

Punto Net Soluciones SRL © 2016


Injection
Inyección

A03:2021

Punto Net Soluciones SRL © 2016


 Baja al tercer lugar.
 Incluyte XSS – Cross Site Scripting
 Una aplicación es vulnerable a ataques:
◦ La aplicación no valida, filtra ni desinfecta los
datos proporcionados por el usuario.
◦ Las consultas dinámicas o las llamadas no
parametrizadas sin escape sensible al contexto
se utilizan directamente en el intérprete.
◦ El SQL o comando contiene la estructura y los
datos maliciosos en consultas dinámicas,
comandos o procedimientos almacenados.

A03:2021 – Injection

Punto Net Soluciones SRL © 2016


Demo:

 Acceder sitio http://demo.testfire.net/


 Ingresar usuario admin o jsmith
 Password ' or '1'='1
 Ingresar usuario ' or '1'='1
 Password ' or '1'='1

A03:2021 – Injection

Punto Net Soluciones SRL © 2016


Insecure Design
Diseño Inseguro

A04:2021

Punto Net Soluciones SRL © 2016


Nueva categoría
Se centra en los riesgos relacionados con el
diseño y las fallas arquitectónicas, con un
llamado a un mayor uso del modelado de
amenazas, patrones de diseño seguros y
arquitecturas de referencia.

A04:2021 – Insecure Design

Punto Net Soluciones SRL © 2016


 El diseño inseguro es una categoría
amplia que representa diferentes
debilidades, expresadas como "diseño de
control faltante o ineficaz“.
 Existe una diferencia entre un diseño
inseguro y una implementación insegura,
tienen diferentes causas y soluciones.

A04:2021 – Insecure Design

Punto Net Soluciones SRL © 2016


Security Misconfiguration
Configuración incorrecta de seguridad

A05:2021

Punto Net Soluciones SRL © 2016


 Avanzando desde el puesto 6 de la edición
anterior.
 Aquí se engloba todo tipo de fallos
relacionados con la configuración de todo
tipo de sistemas de seguridad, desde las
conexiones HTTPS hasta las aplicaciones
de seguridad de cualquier sistema o
servidor.

A05:2021 – Security Misconfiguration

Punto Net Soluciones SRL © 2016


 La aplicación puede ser vulnerable si :
◦ Las funciones innecesarias están habilitadas o instaladas
(por ejemplo, puertos, servicios, páginas, cuentas o
privilegios innecesarios).
◦ Las cuentas predeterminadas y sus contraseñas aún
están habilitadas y sin cambios.
◦ El manejo de errores revela a los usuarios rastros de pila
u otros mensajes de error demasiado informativos.
◦ Para los sistemas actualizados, las últimas funciones de
seguridad están deshabilitadas o no configuradas de
forma segura.
◦ Las configuraciones de seguridad en los servidores de
aplicaciones, marcos de aplicaciones (por ejemplo,
Struts, Spring, ASP.NET), bibliotecas, bases de datos,
etc., no están configuradas para valores seguros.
A05:2021 – Security Misconfiguration

Punto Net Soluciones SRL © 2016


Vulnerable and Outdated Components
Componentes vulnerables y obsoletos

A06:2021

Punto Net Soluciones SRL © 2016


 Los componentes vulnerables son un problema
conocido que nos cuesta probar y evaluar el
riesgo y es la única categoría que no tiene
enumeraciones de debilidades comunes (CWE)
asignadas a las CWE.
 Esta categoría avanza desde el puesto 9 en
2017.
 Es la única categoría que no tiene ninguna
vulnerabilidad y exposición común (CVE)
asignada a las CWE incluidas.

A06:2021 – Vulnerable and Outdated


Components

Punto Net Soluciones SRL © 2016


Ejemplo:

https://httpd.apache.org/security/vulnerabilities_24.html
A06:2021 – Vulnerable and Outdated
Components

Punto Net Soluciones SRL © 2016


Identification and Authentication Failures
Fallos de identificación y autenticación

A07:2021

Punto Net Soluciones SRL © 2016


 Anteriormente conocida como autenticación rota,
esta categoría se deslizó hacia abajo desde la
segunda posición y ahora incluye enumeraciones
de debilidades comunes (CWE) relacionadas con
fallas de identificación.
 La confirmación de la identidad, la autenticación
y la administración de sesiones del usuario es
fundamental para proteger contra los ataques
relacionados con la autenticación.

A07:2021 – Identification and


Authentication Failures

Punto Net Soluciones SRL © 2016


 Puede haber debilidades de autenticación si:
◦ Permite ataques automatizados como el relleno de
credenciales, donde el atacante tiene una lista de
nombres de usuario y contraseñas válidos.
◦ Permite la fuerza bruta u otros ataques automatizados.
◦ Permite contraseñas predeterminadas, débiles o
conocidas, como "Password1" o "admin / admin".
◦ Utiliza procesos de recuperación de credenciales débiles
o ineficaces y de olvido de contraseñas, como
"respuestas basadas en el conocimiento", que no pueden
protegerse.
◦ Utiliza almacenes de datos de contraseñas de texto sin
formato, cifradas o con un hash débil (consulte A02:
2021-Fallos criptográficos).
A07:2021 – Identification and
Authentication Failures

Punto Net Soluciones SRL © 2016


Software and Data Integrity Failures
Fallos de integridad de datos y software

A08:2021

Punto Net Soluciones SRL © 2016


Nueva categoría

Las fallas en la integridad del software y los datos se


relacionan con el código y la infraestructura que no protegen
contra las violaciones de la integridad.

A08:2021 – Software and Data


Integrity Failures

Punto Net Soluciones SRL © 2016


 Un ejemplo de esto es cuando una aplicación se basa en
complementos, bibliotecas o módulos de fuentes,
repositorios y redes de entrega de contenido (CDN) que no
son de confianza.
 Por último, muchas aplicaciones ahora incluyen la
funcionalidad de actualización automática, donde las
actualizaciones se descargan sin una verificación de
integridad suficiente y se aplican a la aplicación de
confianza anterior.
 Esta incluye lo relacionado a Deserialización insegura.
 Ejemplo de APK con función de geolocalización.

A08:2021 – Software and Data


Integrity Failures

Punto Net Soluciones SRL © 2016


Security Logging and Monitoring Failures
Fallos de seguimiento y registro de
seguridad

A09:2021

Punto Net Soluciones SRL © 2016


 El registro y el monitoreo de seguridad provienen de la
décima posición en el OWASP Top 10 2017.
 Debido a la falta de monitorización, la mayoría de las veces
se tarda hasta 200 días en detectar una vulnerabilidad en
un software o una plataforma web, tiempo que se podría
reducir notablemente tan solo configurando mayores
controles, mejorando la monitorización y con más registros
a estas plataformas.
 Sin embargo, las fallas en esta categoría pueden afectar
directamente la visibilidad, las alertas de incidentes y los
análisis forenses.

A09:2021 – Security Logging and


Monitoring Failures

Punto Net Soluciones SRL © 2016


Server-Side Request Forgery (SSRF)
Falsificación de solicitudes del lado del
servidor (SSRF)

A10:2021

Punto Net Soluciones SRL © 2016


Nueva categoría
Las fallas de SSRF ocurren cuando una aplicación web está
obteniendo un recurso remoto sin validar la URL
proporcionada por el usuario.
Permite que un atacante coaccione a la aplicación para que
envíe una solicitud diseñada a un destino inesperado, incluso
cuando está protegido por un firewall, VPN u otro tipo de lista
de control de acceso a la red (ACL).

A10:2021 – Server-Side Request


Forgery (SSRF)

Punto Net Soluciones SRL © 2016


 Dado que las aplicaciones web modernas brindan a los
usuarios finales funciones convenientes, la búsqueda de
una URL se convierte en un escenario común.
 Como resultado, la incidencia de SSRF está aumentando.
Además, la gravedad de SSRF es cada vez mayor debido a
los servicios en la nube y la complejidad de las
arquitecturas.

Demo: https://code.jquery-ul.com/jquery-ui.js

 Ejemplo: Exposición de datos confidenciales: los atacantes


pueden acceder a archivos locales como servicios internos
para obtener información confidencial como file: ///etc/
passwd </span> y http://localhost: 28017/
A10:2021 – Server-Side Request
Forgery (SSRF)

Punto Net Soluciones SRL © 2016


Arquitectura Android
¿Cómo es Android?
https://gs.statcounter.com/os-market-share/mobile/worldwide

Distribución Android vs IOS.

Punto Net Soluciones SRL © 2016


Arquitectura Android

Punto Net Soluciones SRL © 2016


Más Vulnerable
Publicando servicios con aplicaciones móviles

Punto Net Soluciones SRL © 2016


✓Análisis estático.
✓Análisis dinámico.
✓Análisis tráfico de red.
AMBITO DE APLICACION
Desarrollo Area Seguridad
Analizar aplicaciones Analizar aplicaciones
desarrolladas adquiridas por la
internamente o por compañía
terceros

Análisis aplicaciones móviles

Punto Net Soluciones SRL © 2016


Análisis estático

Punto Net Soluciones SRL © 2016


Análisis dinámico

Punto Net Soluciones SRL © 2016


 No hay presupuesto no es una excusa.
 OWASP provee metodología de
evaluación. VER PLANILLA.
 Uso de herramientas Open-Source:
◦ MobSF
◦ Qark
◦ Mara
◦ Drozer

¿Cómo testear?

Punto Net Soluciones SRL © 2016


 MobSF es un entorno completo de
análisis que permite hacer pruebas
estáticas y dinámicas en ejecutables de
Android (APK), iOS (IPA) y Windows
Mobile (APPX).
✓ Información del archivo
✓ Información de la aplicación
✓ Posibles elementos vulnerables
✓ Naturaleza del código
✓ Análisis del código decompilado
✓ Información del certificado
✓ Listado de permisos
✓ Extras de seguridad

MobSF - DEMO

Punto Net Soluciones SRL © 2016


Código Fuente no puede modificarse
Resolver con Infraestructura

Punto Net Soluciones SRL © 2016


✓ SQL injection
OWASP core rule sets
✓ Cross site scripting
✓ Common attacks such as
command injection, HTTP
request smuggling, HTTP
response splitting, and
remote file inclusion
attack
✓ HTTP protocol violations
✓ HTTP protocol anomalies
✓ Bots, crawlers, and Azure Web Application Firewall (WAF)
scanners OWASP ModSecurity Core Rule Set (CRS)
✓ Common application
misconfigurations (e.g.
Apache, IIS, etc.)
✓ HTTP Denial of Service

WAF (Web App. Firewall)

Punto Net Soluciones SRL © 2016


WAF

Punto Net Soluciones SRL © 2016


¡Muchas Gracias!
Enrique G. Dutra
Blog https://seguridadit.blogspot.com/
Linkedin /in/enriquedutra/
Twitter.com /egdutra
Mail edutra@puntonetsoluciones.com.ar

[ info@argentesting.com | www.argentesting.com ] [ info@puntonetsoluciones.com.ar | www.puntonetsoluciones.com.ar ]

También podría gustarte