MARVIN el androide paranoide

  MARVIN   el  androide  paranoide           Presentada  por:     Iván  Arce   Programa  Seguridad  en  TIC   Agenda   •  Presentación   •  Qui...
9 downloads 0 Views 1MB Size
 

MARVIN  

el  androide  paranoide           Presentada  por:    

Iván  Arce  

Programa  Seguridad  en  TIC  

Agenda   •  Presentación   •  Quién  es  Marvin  y  por  qué  existe?   •  Cómo  es  el  ecosistema  de  seguridad  en   Android   •  Que  hace  Marvin  y  cómo  lo  hace?    

Que  es  la  Fundación  Sadosky  ?   • 

La  Fundación  Dr.  Manuel  Sadosky  es  una  insKtución  público-­‐privada  cuyo   objeKvo  es  promover  la  arKculación  entre  el  sistema  cienPfico  -­‐  tecnológico  y   la  estructura  producKva  en  todo  lo  referido  a  las  Tecnologías  de  la  Información   y  la  Comunicación  (TIC)  

• 

Formalmente  creada  por  Decreto  del  Poder  EjecuKvo  Nacional  en  Junio  de   2009,  comenzó  a  funcionar  a  fines  de  2011  

• 

Lleva  el  nombre  de  quien  fuera  un  pionero  y  visionario     de  la  informáKca  tanto  en  el  país  como  en  la  región  

Dr.  Manuel  Sadosky   (1914-­‐2005)  

A  qué  se  dedica  la  Fundación  Sadosky  ?  

Gobierno  

TIC Estructura   ProducKva  

Infraestructura   CienPfico-­‐Técnica  

Qué  es  el  Programa  Seguridad  en  TIC?  

Visión:    

Las  TIC  como  factor  transformador  para  una   sociedad  con  un  cultura  emprendedora    que   promueve  e  impulsa  la  creación  de  conocimiento,   la    innovación  produc:va  y  sustentable,  la   compe::vidad  de  la  economía  y  la  mejora  de  la   calidad  de  vida  de  la  población  sin  que  ello   redunde  en  un  aumento  de  la    dependencia   tecnológica    o  de  la  vulnerabilidad  de  la   infraestructura  crí:ca  

Qué  es  el  Programa  Seguridad  en  TIC?  

Visión:    

Las  TIC  como  factor  transformador  para  una   sociedad  con  un  cultura  emprendedora    que   promueve  e  impulsa  la  creación  de  conocimiento,   la    innovación  produc:va  y  sustentable,  la   compe::vidad  de  la  economía  y  la  mejora  de  la   calidad  de  vida  de  la  población  sin  que  ello   redunde  en  un  aumento  de  la    dependencia   tecnológica    o  de  la  vulnerabilidad  de  la   infraestructura  crí:ca  

Quién  es  Marvin  ?   •  Soaware  gratuito  y  de  código  abierto   •  Desarrollado  integramente  por  Programa  STIC   •  Joaquín  Rinaudo   •  Juan  Heguiabehere  

•  Licencia  BSD    

–  Todo  Kpo  de  uso,  incluso  comercial  

•  IdenKfica  vulnerabilidades  en  Apps  para  Android   –  –  –  – 

35+  Kpos  de  vulnerabilidades   Clasifica  malware/no  malware   Extensible   No  requiere  código  fuente  de  la  app  

•  Version  1  (protoKpo  funcional)  lanzado  17-­‐Feb-­‐2015   hips://github.com/programa-­‐sKc/marvin-­‐django/    

Pero…  en  serio,  qué  hace  Marvin  ?  

Por  qué  hace  falta  un  Marvin?  

TELEFONIA   CELULAR  

74%   SMARTPHONES   43%  

CUANTOS  ANDROID?  

79%  

Cuál  es  la  escala  de  nuestro  problema?   •  Teléfonos  corriendo  Android  en  ArgenKna:   –  9.500.000  (conservador)   –  15.000.000  (osado)  

•  •  •  •  •  •   

Tablets   Smart  TVs   Relojes   Estéreos  (auto)   Lavarropas   Microondas  

Problemas  de  seguridad  y  privacidad  en  Android  

•  •  •  •  • 

Vulnerabilidades  en  el  firmware  de  radio   Vulnerabilidades  en  el  Sistema  OperaKvo   Aplicaciones  maliciosas  (malware)   Aplicaciones  “pícaras”  (malware  bueno)   Vulnerabilidades  en  aplicaciones   –  Pre-­‐instaladas   –  Descargadas  de  mercado  oficial  (Play)   –  Descargadas  de  otro  mercado   –  Desarrolladas  para  uso  propio  

Seguridad  en  el  ecosistema  de  Android  (firmware  &  SO)  

Google  

Fabricantes   de   DisposiKvos  

Operadores   Telefónicos  

Seguridad  en  el  ecosistema  de  Android  (Apps)   Aplicación   Servicios  en   la  Nube  

Framework  

Bibliotecas  

Componentes  

Actualización  

Mercado  

Cuál  es  la  escala  de  nuestro  problema?  

AppBrain  stats,  marzo  2016.  hip://www.appbrain.com/stats/number-­‐of-­‐android-­‐apps    

Análisis  de  aplicaciones  (semi)  automáYco.    Cómo  funciona?   APK     Google  Play  

Marvin-­‐ django   Marvin-­‐ staKc-­‐ analyzer   Marvin-­‐ dynamic-­‐ analyzer  

Vulns  

Marvin-­‐django   •  •  •  •  • 

Aplicación  web  para  el  usuario  de  Marvin   Búsqueda  y  descarga  de  apps  desde  Google  Play   Carga  manual  de  un  APK   Análisis  y  visualización  de  resultados   Qué  hace?   1.  Descomprime  &  desempaqueta  APK   2.  Clasifica  malware/no  malware   3.  Descompila  a  Java  (DEX-­‐>Smali)   4.  Almacena  en  DB,  ElasKcsearch  &  Gitlab   5.  Lanza  procesos  de  análisis   6.  Muestra  resultados     hips://github.com/programa-­‐sKc/marvin-­‐django      

Marvin-­‐django:  Panel  principal  

Marvin-­‐django:  Permisos  

Marvin-­‐django:  AcYviYes,  services  ,  providers,  receivers  

Marvin-­‐staYc-­‐analizer   •  Decompila  bytecode  DEX  a  código  Smali  (Java)   Androguard   hips://github.com/androguard/androguard   •  Análisis  estáKco  de  código  Smali   program  slicing  con  SAAF   hips://github.com/SAAF-­‐Developers/saaf   •  Corre  de  modulos  de  análisis  (Python)   •  IdenKfica  vulnerabilidades   •  Marca  vulnerabilidades  para  análisis  dinámico     hips://github.com/programa-­‐sKc/Marvin-­‐staKc-­‐Analyzer  

Marvin-­‐staYc-­‐analizer   •  Decompila  bytecode  DEX  a  código  Smali  (Java)   Androguard   hips://github.com/androguard/androguard   •  Análisis  estáKco  de  código  Smali   program  slicing  con  SAAF   hips://github.com/SAAF-­‐Developers/saaf   •  Corre  de  modulos  de  análisis  (Python)   •  IdenKfica  vulnerabilidades   •  Marca  vulnerabilidades  para  análisis  dinámico     hips://github.com/programa-­‐sKc/Marvin-­‐staKc-­‐Analyzer  

Marvin-­‐staYc-­‐analizer:  Tipos  de  vulnerabilidades  

Marvin-­‐staYc-­‐analyzer:  SSL_WEBVIEW_ERROR  

Marvin-­‐staYc-­‐analyzer:  Microsoc  Live  SDK  for  Android  

Marvin-­‐dynamic-­‐analyzer   •  Corre  la  aplicación  en  emuladores  de  teléfono  Android  (Android   x86)   •  Los  emuladores  corren  en  máquinas  virtuales  (Open  Nebula)   •  Instrumenta  la  aplicación  (Cydia  Substrate)   •  Intercepta  comunicaciones  HTTPS  (mitm-­‐proxy)    

• 

Qué  hace?  

1.    Busca  (APK,  Kpo  de  vulnerabilidad,  Emulador)  para  analizar   2.    Instala  APK  en  3  emuladores,  configura  MITM   3.    Instrumenta  APK  en  1  emular  para  desacKvar  chequeo  de  SSL   4.    Corre  la  app  con  Marvin-­‐toqueton   5.  Detecta  y  reporta  vulnerabilidades     hips://github.com/programa-­‐sKc/Marvin-­‐dynamic-­‐Analyzer    

Marvin-­‐dynamic-­‐analyzer:  Arquitectura  

Marvin-­‐dynamic-­‐analyzer:  Vulnerabilidades  

Marvin-­‐toqueton   •  •  •  •  • 

Aplicación  comand-­‐line  para  Android   Instrumenta    Views  de  otra  aplicación  (Cydia  Substrate)   Intercepta  acceso  a  datos  y  servicios  del  teléfono   WiFi,  MAC  address,  IMEI/IMSI,  GPS,  credenciales,  etc   Simula  input  del  usuario    

•  Qué  hace?  

1.    Instrumenta  Views  de  la  app.   2.    Arranca  la  app  y  manda  input  aleatorio  (heurísKca)   3.  Aleatoriamente  arranca  alguna  AcKvity  de  al  app   4.  Intercepta  acceso  a  datos  y  “manda  fruta”     hips://github.com/programa-­‐sKc/Marvin-­‐toqueton      

Marvin,  el  Androide  Paranoide    Cómo  funciona  el  sistema  completo?   APK     Google  Play  

Marvin-­‐ django   Marvin-­‐ staKc-­‐ analyzer   Marvin-­‐ dynamic-­‐ analyzer  

Vulns  

Marvin,  el  Androide  Paranoide    Vulnerabilidades  

Marvin,  el  Androide  Paranoide    Vulnerabilidades  

Conclusiones   •  •  •  •  • 

Es  necesario  auditar  aplicaciones  Android   ConKnuamente  y  a  gran  escala   Con  tecnología  abierta  y  extensible   EsKmación  de  riesgo:  Seguridad,  Protección  de  datos   AutomáKco  vs.  Semi-­‐automáKco   –  Falsos  posiKvos   –  Resolución  de  conflictos  (p.e.  diff,  de-­‐ofuscación,  etc.)   –  Comentarios  y  anotaciones   –  Exploración  de  resultados,  metadatos.   –  Soporte  para  estudio  longitudinal,  métricas  

Para  mayor  información:   Iván Arce [email protected]