Seguridad y protección de datos en aplicaciones Android

Dr. Juan Martin Heguiabehere y Lic. Joaquín Rinaudo, Programa STIC - Fundación Sadosky.


En el curso se presenta la problemática de la seguridad y privacidad en Android, desde el punto de vista del desarrollo y análisis de aplicaciones, con un enfoque de taller. Inicialmente se describe la arquitectura y componentes de la plataforma Android, y las herramientas de desarrollo. A continuación se ve el problema del malware, las formas en que se presenta y las maneras en que se lo combate y mitiga. El tercer día pasamos a la problemática de desarrollo seguro de aplicaciones, con ejemplos de programas conocidos con problemas reales. Los días cuatro y cinco veremos herramientas de análisis estático y dinámico, y cómo se emplean para encontrar vulnerabilidades en el software.


Programa tentativo:

1 - Android como Plataforma de desarrollo
      - Java - Dalvik VM
      - Bibliotecas nativas
      - Android SDK - Clases nativas
    Android - Esquema de seguridad
      - Kernel de Linux
          - Vulnerabilidades
          - Falta de actualización
          - Sandbox
          - Permisos
      - IPC: Broadcasts, Intents
          - Esquema de permisos
              - Abuso de confianza
      - Implementación

2 - Malware en Android
      - Caracterización de malware
      - Riesgos de las plataformas móviles
      - Tipos de malware
          - Abuso de confianza
          - Vulnerabilidades del sistema
      - Detección de malware
          - Análisis estático
              - Firmas
              - Análisis estadístico de permisos
          - Análisis dinámico (obs. comportamiento)
              - System calls
              - Taint analysis
      - Defensa de la privacidad (ASA)
      - Técnicas de evasión de la detección (opcional)
          - Ofuscación del código
          - Detección de sandboxes
              - Canales secundarios / cooperación entre aplicaciones

3 - Diseño seguro de aplicaciones
      - Prácticas seguras de desarrollo de software móvil
      - Ejemplos de la vida real
          - Facebook
          - Instagram
          - Snapchat
          - MercadoLibre

4 - Búsqueda de vulnerabilidades - Análisis estático
       - Esquema de permisos - Manifest en gral
       - Desensamblado - Búsqueda de llamadas al sistema
       - Androguard
       - Búsqueda de vulnerabilidades

5 - Búsqueda de vulnerabilidades - Análisis dinámico
      - Drozer
      - Cydia Substrate
      - MitMProxy
          - HTTP
          - HTTPS
          - HTTPS con Certificate Pinning
      - Sandboxes, taint analysis