AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf ·...

48
AdDroid Privilege Separa,on for Applica,ons and Adver,sers in Android Paul Pearce 1 , Adrienne Porter Felt 1 , Gabriel Nunez 2 , David Wagner 1 1 University of California, Berkeley 2 Sandia Na,onal Laboratory May 4, 2012

Transcript of AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf ·...

Page 1: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

AdDroid    Privilege  Separa,on  for  Applica,ons  

and  Adver,sers  in  Android  Paul  Pearce1,  Adrienne  Porter  Felt1,  Gabriel  Nunez2,    

David  Wagner1  1  University  of  California,  Berkeley  

2  Sandia  Na,onal  Laboratory      May  4,  2012  

Page 2: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

SCARY  CAMPFIRE  STORY  

Page 3: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Android  Market  

Page 4: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Android  Market   Android  Market  Search  

Page 5: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Market  Search  Results  

Page 6: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Market  Search  Results   App  Install  Dialog  

Page 7: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Market  Search  Results   App  Install  Dialog   App  Permissions  Dialog  

Page 8: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Market  Search  Results   App  Install  Dialog   App  Permissions  Dialog  

Page 9: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Market  Search  Results  

Page 10: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Market  Search  Results  

Page 11: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Market  Search  Results   App  Install  Dialog  

Page 12: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Market  Search  Results   App  Install  Dialog   App  Permissions  Dialog  

Page 13: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Market  Search  Results   App  Install  Dialog   App  Permissions  Dialog  

Page 14: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Market  Search  Results  

Page 15: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Market  Search  Results  

Page 16: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Market  Search  Results  

Page 17: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Market  Search  Results  

Page 18: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Market  Search  Results   App  Install  Dialog  

Page 19: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Market  Search  Results   App  Install  Dialog   App  Permissions  Dialog  

Page 20: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

What’s  happening  here?  

Adver;sements  • App  developers  use  ads  for  revenue    

 

• Ad  networks  overprivilege  apps  – Ads  are  part  of  apps  – Ads  require  permissions  that  apps  may  not  

Page 21: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Key  Points  

•  Adver,sing  overprivileges  49%  of  ad-­‐supported  applica,ons  (28%  of  all  applica,ons)  on  Android  

• We  present  AdDroid,  a  privilege  separated  adver,sing  framework  to  solve  this  problem    

Page 22: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

ANDROID  AND  ADVERTISING  BACKGROUND  

Page 23: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Ads  in  Applica,ons  Market  Search  Results  

Page 24: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Ads  in  Applica,ons  Market  Search  Results  

Page 25: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Ads  in  Applica,ons  Market  Search  Results   Brightest  Flashlight  App  

Page 26: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Ads  in  Applica,ons  Market  Search  Results   Brightest  Flashlight  App  

Page 27: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Android  Browser  

Ads  in  Applica,ons  Market  Search  Results   Brightest  Flashlight  App  

Page 28: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Android  Permissions  

•  A  permission  gives  an  app  the  ability  to  perform  a  privacy-­‐  or  security-­‐  relevant  ac,on  –  E.g.  INTERNET  controls  network  access,  ACCESS_FINE_LOCATION  control  GPS  access  

 

•  Permissions  are  requested  by  apps  at  install-­‐;me.    – Once  granted,  users  are  not  asked  again  

 •  Permissions  are  enforced  by  the  Android  Pla[orm  

Page 29: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Adver,sing  Libraries  

•  Adver,sing  networks  distribute  adver,sing  libraries  for  app  developers  to  use    

•  Developers  integrate  these  libraries  into  their  applica,ons  – Permissions  are  enforced  at  the  granularity  of  applica,ons  – Adver;sing  libraries  and  host  applica;ons  share  permissions  

 

Page 30: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Current  Android  System  Design  

API Permission Checks

Application

Host Applicaton

http

Android Platform

AdvertisingLibrary

Phone Web

API CallsAdvertisingNetwork

http

Page 31: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

WHAT  CAN  GO  WRONG  

Page 32: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

What  Can  Go  Wrong  •  Users  can’t  determine  if  an  app  uses  ads    •  Users  can’t  differen,ate  permissions  used  by  an  app  from  those  used  by  ads  – What  if  I  trust  one  principal  more  than  the  other?    

•  Ad  libraries  can  introduce  vulnerabili,es  to  apps  –  Some  ad  libraries  download  code  over  HTTP  

•  Ad  libraries  may  not  be  trustworthy  –  Some  ad  libraries  opportunis,cally  use  host  app  permissions  

Page 33: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

MEASURING  THE  PROBLEM  

Page 34: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Methodology  •  Analyze  a  set  of  964  applica,ons  collected  from  the  Android  Market    –  764  most  popular  free  –  100  most  popular  paid  –  100  most  recent  free    

 •  Disassemble  each  applica,on  into  the  host  applica,on  and  the  adver,sing  library  components    

•  Use  sta,c  analysis  to  determine  which  component  used  each  permission  

Page 35: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Measurement  Results:  Ad  Usage  

Percent  of  apps  using  at  least  1  ad  library  

Total  apps  

Top  Free  Apps   50.4%   764  Top  Paid  Apps   16.0%   100  

Recent  Free  Apps   72.0%   100  

•  49%  of  applica,ons  in  our  dataset  contain  1  or  more  adver,sing  library  

Page 36: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Measurement  Results:  Overprivilege  

Permission  to  access  Percent  of  apps  

reques;ng  permission  only  for  ads  

Total  apps  reques;ng  

The  Internet  (INTERNET) 16.2%   809  

Loca,on  (LOCATION) 33.5%   361  

IMEI  iden,fier(READ_PHONE_STATE) 12.8%   312  

Network  informa,on(ACCESS_NETWORK_STATE) 9.1%   395  

•  Adver,sing  libraries  overprivilege:    –  46%  of  applica,ons  with  adver,sements    –  28%  of  all  apps  

 •  Breakdown  of  applica,ons  that  use  loca,on  only  for  adver,sing  –  56%  of  ad-­‐supported  applica,ons    –  34%  of  all  applica,ons  

Page 37: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

ADDROID:  A  SOLUTION  TO  OVERPRIVILEGING  

Page 38: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Design  Overview  •  Key  idea:  Separate  privacy-­‐sensi;ve  ad  func;onality  from  applica;ons  

 •  AdDroid  is  an  extension  to  Android  that  provides  special  support  for  ads    

•  Applica,ons  that  want  adver,sements  now  request  new  ADS  permissions,  not  INTERNET  or  LOCATION – Gives  apps  the  ability  to  have  ads  without  INTERNET  or  LOCATION  

 

Page 39: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

AdDroid  Design  

API Permission Checks

Application

Host Applicaton

Android Platform

Phone Web

API CallsAdvertisingNetwork

httphttp

AdvertisingLibrary

Android Platform

Page 40: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

AdDroid  Design  

API Permission Checks

Application

Host Applicaton

Android Platform

Phone Web

API CallsAdvertisingNetwork

AdvertisingLibrary

Android Platform

Page 41: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

AdDroid  Design  

API Permission Checks

Application

Host Applicaton

Android Platform

Phone Web

API CallsAdvertisingNetwork

Android Platform

Page 42: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

AdDroid  Design  

API Permission Checks

Application

Host Applicaton

Android Platform

Phone Web

API CallsAdvertisingNetwork

AdvertisingService

Android Platform

Page 43: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

AdDroid  Design  

API Permission Checks

Application

Host Applicaton

Android Platform

Phone Web

API CallsAdvertisingNetwork

https

https

AdvertisingService

Android Platform

Page 44: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

New  Permissions  Adver,sing   Loca,on  based  Adver,sing  

Page 45: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

What  Can  Go  Wrong  Right  •  Users  can  determine  if  an  app  uses  ads    •  Users  can  differen,ate  permissions  used  by  an  app  from  those  used  by  ads  – Apps  don’t  request  addi,onal  permissions  for  ads,  besides  the  ads  permissions  themselves  

 

•  Ad  libraries  can’t  introduce  vulnerabili,es  or  abuse  app  permissions    – Ad  libraries  replaced  with  standard  Android  library  code  

Page 46: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Compa,bility  and  Prac,cality  •  Compa,ble  with  exis,ng  applica,ons  and  libraries  – If  you  don’t  want  to  use  the  AdDroid  API,  you  just  don’t  get  the  benefits  

•  Easy  for  app  developers  to  adopt  – API  based  on  exis,ng  adver,sing  libraries  

•  Incremental  system  change  – Adver,sing  Service  model  similar  to  exis,ng  services  

Page 47: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

CONCLUSION  

Page 48: AdDroid!! Privilege!Separaon!for!Applicaons! …pearce/talks/addroid_asiaccs_2012.pdf · MeasurementResults:!Overprivilege! Permissiontoaccess Percentofapps requesngpermission+ onlyfor+ads

Conclusion  •  Adver,sing  related  overprivilege  impacts  much  of  the  Android  ecosystem  –  49%  of  all  ad-­‐supported  apps  (28%  of  all  apps)  are  overprivileged  by  adver,sing  libraries  

 –  This  poses  a  variety  of  problems  for  users  and  developers    

•  AdDroid  solves  these  problems  by  isola,ng  privileged  privacy-­‐sensi,ve  ad  func,onality  from  applica,ons  

•  Ques;ons?