Today’s mobile apps employ third-party advertising and tracking (A&T) libraries, which may pose a threat to privacy. Traditional approaches detect and block outgoing A&T requests by using manually curated filter lists, such as EasyList. Unfortunately, such lists are manually maintained by the community and are slow to respond to the rapidly changing mobile ecosystem. In this project, we explore the possibility of using machine learning for detecting A&T requests on mobile devices in real-time. To that end, we have built two tools:
- NoMoAds: a machine learning framework for training classifiers to detect ads in mobile traffic. To evaluate NoMoAds, we collected and labeled a new dataset using both EasyList and manually created rules. We showed that NoMoAds is effective: it achieves an F-score of up to 97.8% and performs well when deployed in the wild. Furthermore, NoMoAds is able to detect mobile ads that are missed by EasyList (more than one-third of ads in our dataset). We also show that NoMoAds is efficient: it performs ad classification on a per-packet basis in real-time. To the best of our knowledge, NoMoAds is the first mobile ad-blocker to effectively and efficiently block ads served across all apps using a machine learning approach.
- NoMoATS: a system for automatically collecting and labeling mobile network requests as A&T. Unlike NoMoAds alone, NoMoATS does not require manually creating rules for blocking traffic and can create labels for tracking requests, not just ads. The data collected with NoMoATS can then be used by the NoMoAds framework to train classifiers, which achieve an average F-score of 93% and can be applied in real-time on the mobile device. Our automatic labeling and our classifiers discover thousands of requests destined to hundreds of different hosts, previously undetected by popular filter lists.
- Anastasia Shuba (UC Irvine, currently with Broadcom Inc.)
- Athina Markopoulou (UC Irvine)
- Zubair Shafiq (University of Iowa)