nomoads
play

NoMoAds: Effective and Efficient Cross-App Mobile Ad-Blocking - PowerPoint PPT Presentation

NoMoAds: Effective and Efficient Cross-App Mobile Ad-Blocking Anastasia Shuba Athina Markopoulou Zubair Shafiq UC Irvine UC Irvine University of Iowa Motivation Issues with Mobile Ads: 1. Intrusive 2. Overhead 3. Tracking 4. Malware


  1. NoMoAds: Effective and Efficient Cross-App Mobile Ad-Blocking Anastasia Shuba Athina Markopoulou Zubair Shafiq UC Irvine UC Irvine University of Iowa

  2. Motivation Issues with Mobile Ads: 1. Intrusive 2. Overhead 3. Tracking 4. Malware NoMoAds. Shuba et al. 2

  3. Background: Ads & Ad-Blocking Get ad! EasyList (~64K rules) NoMoAds. Shuba et al. 3

  4. Background: Related Work Fine- Mobile- Runs on Detects Ads Automated Cross-App Grained Specific Device DNS66, Disconnect, × ×     etc. 86% of Ad-Blocking × × ×    Apps × ×     AdblockPlus [Razaghpanah et al. ×      NDSS ‘18] ReCon [Ren et al. × ×     MobiSys ‘16]       NoMoAds NoMoAds. Shuba et al. 4

  5. NoMoAds Design Fine- Mobile- Runs on Detects Ads Automated Cross-App Grained Specific Device Trained on Trained on VPN-based VPN app, no NoMoAds Uses ML Per-packet mobile ads mobile data solution server Effectiveness Efficiency  Built on top of AntMonitor  Avoid Java parsing Ad Request Classifier No Ad Request AntMonitor [Shuba et al. ‘16] NoMoAds. Shuba et al. 5

  6. System Overview NoMoAds. Shuba et al. 6

  7. Data Collection • Tested 50 most popular apps that serve ads • Used EasyList as a starting point Interact with the app for 5 min Save packet Create and add traces + labels new rule Different ad shown Interact with the app for 5 min Same ad shown Delete rule NoMoAds. Shuba et al. 7

  8. Available on our website! The NoMoAds Dataset http://athinagroup.eng.uci.edu/projects/nomoads/ • Apps: 50 • Packets: >15k • Packets with ads: >4.5k • Ad libraries: 41 • Good coverage: all libraries that account for at least 2% of installs • First mobile ads dataset • Using EasyList (and/or other lists) is not enough: • EasyList fails to detect >37% of ad requests • Detects ads generated by two of the most popular ad libraries (AdMob and MoPub) • Have desktop counterparts: Google owns AdMob, and Twitter owns MoPub • Fails to detect ads generated by libraries such as UnityAds and AppsFlyer NoMoAds. Shuba et al. 8

  9. System Overview NoMoAds. Shuba et al. 9

  10. Training: Feature Selection Number of Approaches Under F1 score Initial Training Tree Comparison (%) Features Time (ms) Size EasyList: URL + Content blocking Type + HTTP Referer 77.1 63,977 N/A N/A lists Ad- hpHosts: Host 61.7 47,557 N/A N/A AdAwayHosts: Host 58.1 409 N/A N/A Destination IP + Port 87.6 2 298 304 Domain 86.3 1 26 1 Different Sets of NoMoAds with Path Component of URL 92.7 3,557 424,986 188 Features URL 93.7 4,133 483,224 196 URL+Headers 96.3 5,320 755,202 274 … URL+Headers+PII 96.9 5,326 770,015 277 URL+Headers+Apps+PII 97.7 5,327 555,126 223 URL+Headers+Apps 97.8 5,321 635,400 247 NoMoAds. Shuba et al. 10

  11. Training • Built on ReCon – a system for detecting privacy leaks in mobile packets Ad Request Classifier Packet 1) /m/ No Ad Request 2) /ad? 3) ?v= 4) &id= GET /m/ad?v =6&id=…&bundle= com.BeresnevGames.Knife … 5) &w= &o=p&w=1440&h=2560&sc_a=3.5&ct=2&av=1.5&udid=ifa 6) &h= …&dnt=0&mr=1&android_perms_ext_storage=0 7) &dnt= 8) ads.mopub.com\r\n Host: ads.mopub.com\r\n NoMoAds. Shuba et al. 11

  12. Training • Built on ReCon – a system for detecting privacy leaks in mobile packets Ad Request Classifier 1) /m/ No Ad Request 2) /ad? 3) ?v= 4) &id= GET /m/ad?v =6&id=…&bundle= com.BeresnevGames.Knife … 5) &w= &o=p&w=1440&h=2560&sc_a=3.5&ct=2&av=1.5&udid=ifa 6) &h= …&dnt=0&mr=1&android_perms_ext_storage=0 7) &dnt= 8) ads.mopub.com\r\n Host: ads.mopub.com\r\n 9) /network_ads_common 10) www.facebook.com\r\n NoMoAds. Shuba et al. 12

  13. Training: Feature Selection Number of Approaches Under F1 score Initial Training Tree Comparison (%) Features Time (ms) Size EasyList: URL + Content blocking Type + HTTP Referer 77.1 63,977 N/A N/A lists Ad- hpHosts: Host 61.7 47,557 N/A N/A AdAwayHosts: Host 58.1 409 N/A N/A Destination IP + Port 87.6 2 298 304 Different Sets of NoMoAds with Domain 86.3 1 26 1 URL 93.7 4,133 483,224 196 Features … NoMoAds. Shuba et al. 13

  14. Training: Feature Selection Number of Approaches Under F1 score Initial Training Tree Comparison (%) Features Time (ms) Size EasyList: URL + Content blocking Type + HTTP Referer 77.1 63,977 N/A N/A lists Ad- hpHosts: Host 61.7 47,557 N/A N/A AdAwayHosts: Host 58.1 409 N/A N/A Destination IP + Port 87.6 2 298 304 Different Sets of NoMoAds with Domain 86.3 1 26 1 URL 93.7 4,133 483,224 196 Features URL+Headers 96.3 5,320 755,202 274 NoMoAds. Shuba et al. 14

  15. Training: Feature Selection Number of Approaches Under F1 score Initial Training Tree Comparison (%) Features Time (ms) Size EasyList: URL + Content blocking Type + HTTP Referer 77.1 63,977 N/A N/A lists Ad- hpHosts: Host 61.7 47,557 N/A N/A AdAwayHosts: Host 58.1 409 N/A N/A Destination IP + Port 87.6 2 298 304 Different Sets of NoMoAds with Domain 86.3 1 26 1 URL 93.7 4,133 483,224 196 Features URL+Headers 96.3 5,320 755,202 274 URL+Headers+PII 96.9 5,326 770,015 277 NoMoAds. Shuba et al. 15

  16. Training: Feature Selection Number of Approaches Under F1 score Initial Training Tree Comparison (%) Features Time (ms) Size EasyList: URL + Content blocking Type + HTTP Referer 77.1 63,977 N/A N/A lists Ad- hpHosts: Host 61.7 47,557 N/A N/A AdAwayHosts: Host 58.1 409 N/A N/A Destination IP + Port 87.6 2 298 304 Different Sets of NoMoAds with Domain 86.3 1 26 1 URL 93.7 4,133 483,224 196 Features URL+Headers 96.3 5,320 755,202 274 URL+Headers+PII 96.9 5,326 770,015 277 URL+Headers+Apps+PII 97.7 5,327 555,126 223 NoMoAds. Shuba et al. 16

  17. Training: Feature Selection Number of Approaches Under F1 score Initial Training Tree Comparison (%) Features Time (ms) Size EasyList: URL + Content blocking Type + HTTP Referer 77.1 63,977 N/A N/A lists Ad- hpHosts: Host 61.7 47,557 N/A N/A AdAwayHosts: Host 58.1 409 N/A N/A Destination IP + Port 87.6 2 298 304 Different Sets of NoMoAds with Domain 86.3 1 26 1 URL 93.7 4,133 483,224 196 Features URL+Headers 96.3 5,320 755,202 274 URL+Headers+PII 96.9 5,326 770,015 277 URL+Headers+Apps+PII 97.7 5,327 555,126 223 URL+Headers+Apps 97.8 5,321 635,400 247 NoMoAds. Shuba et al. 17

  18. Training: The Decision Tree NoMoAds. Shuba et al. 18

  19. Training: The Decision Tree NoMoAds. Shuba et al. 19

  20. Training: Summary • The more information we use, the better the F1 score • Classifier trained on URL+Headers+PII perform well • Split test and training sets: • Based on packets: 96.9% F1 score • Based on apps: 70% of apps have an F1 score ≥ 80% • Based on ad libraries: 100% F1 score, even with library overlap below 100% Code available on our website! http://athinagroup.eng.uci.edu/projects/nomoads/ NoMoAds. Shuba et al. 20

  21. System Overview NoMoAds. Shuba et al. 21

  22. Applying Classifiers to Packets How to avoid this parsing step? 1) GET 2) /m/ GET /m/ad?v =6&id=…&bundle= com.BeresnevGames.Knife … 3) /ad? &o=p&w=1440&h=2560&sc_a=3.5&ct=2&av=1.5&udid=ifa 4) ?v= …&dnt=0&mr=1&android_perms_ext_storage=0 5) =6& 6) &id= Host: ads.mopub.com\r\n 7) &w= 8) &h= 9) &dnt= 10) ads.mopub.com\r\n NoMoAds. Shuba et al. 22

  23. Applying Classifiers to Packets 1) &dnt= 2) ads.mopub.com\r\n 3) &model= 4) &ifa= 5) /api/ 6) /native/ 7) cdn.outfit7.com\r\n 8) /soft/ 9) okhttp/ 10) &device_id= 11) com.smule.singandroid/ 12) helpgrid1.ksmobile.com\r\n 13) boundary= 14) …. NoMoAds. Shuba et al. 23

  24. Applying Classifiers to Packets GET /m/ad?v =6&id=…&bundle= com.BeresnevGames.Knife … 1) &dnt= &o=p&w=1440&h=2560&sc_a=3.5&ct=2&av=1.5&udid=ifa 2) ads.mopub.com\r\n …&dnt=0&mr=1&android_perms_ext_storage=0 3) &model= 4) &ifa= Host: ads.mopub.com\r\n 5) /api/ 6) /native/ 7) cdn.outfit7.com\r\n 8) /soft/ 1) &dnt= 9) okhttp/ 2) ads.mopub.com\r\n 10) &device_id= 11) com.smule.singandroid/ 12) helpgrid1.ksmobile.com\r\n 13) boundary= 14) …. NoMoAds. Shuba et al. 24

  25. Applying Classifiers to Packets: Evaluation • First time on-device per-packet classification in real-time • Setup • Timed how long prediction takes on a Nexus 6 • Fed 10 HTTP packets of varying sizes (between 300-2000B), repeated 100 times • Results: • Extracting features and applying the DT classifier: 2.96 ± 2.07 ms • Most of the delay from applying the classifier • Recent improvement: 1.87 ± 0.77 ms NoMoAds. Shuba et al. 25

  26. Conclusion & Future Directions • NoMoAds: cross-app mobile ad-blocker • Effective and efficient machine learning on the mobile device Future Directions • Larger dataset • Detect app breakage • Extend to trackers Photo by Jimmy Nelson NoMoAds. Shuba et al. 26

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend