Monitoring Surveillance Vendors: A Deep Dive into In-the-Wild Android Full Chains in 2021

Presented at Black Hat USA 2022, Aug. 10, 2022, 3:20 p.m. (40 minutes)

Over the past 12 months, Google's TAG (Threat Analysis Group) and Android Security teams have discovered and analyzed several in-the-wild 1day/0day exploits by surveillance vendors. We will present in-the-wild browser and kernel LPE exploits found in 2021 such as CVE-2021-28663 (Mali GPU), CVE-2020-16040/CVE-2021-38000 (Browser), CVE-2021-1048 (Linux kernel) and CVE-2021-0920 (Linux kernel). CVE-2021-0920 is an in-the-wild 0day Linux kernel garbage collection vulnerability; not publicly well-known, it's much more sophisticated and arcane in contrast with the other aforementioned exploits. We will do a deep dive into the CVE-2021-0920 exploit and its attribution. Furthermore, we will present a novel and previously unseen in-the-wild kernel exploitation technique for fully bypassing a hardware level mitigation.

Among the commercial exploit vendors who built the above in-the-wild exploits, one, the developer of CVE-2021-0920, has particularly attracted our attention. We have attributed a number of Android 0day/1day exploit samples to this vendor, including attempts at submitting a malicious app to the Google Play store and early use of the Bad Binder exploit. By analyzing the vendor's exploits, we found a full chain in-the-wild targeting Android devices. The exploit chain uses 1day/nday browser exploits CVE-2020-16040/CVE-2021-38000 and 0day CVE-2021-0920 to remotely root Android devices. After our report to the Linux kernel community, the 0day was fixed in September 2021 as CVE-2021-0920. Further research shows that the vulnerability was found at least once before in 2016 and reported on the Linux Kernel Mailing List, but the patch was rejected by the Linux kernel community.

For devices enabling the hardware level CONFIG_ARM64_UAO mitigation, the vendor develops a novel method (not ret2bpf) to carefully circumvent the mitigation after the addr_limit is tampered. Besides this, the rich functionality of the post-pwn Rootkits has made the exploit more evasive.


Presenters:

  • Clement Lecigne - Staff Security Engineer, Google
    Clement Lecigne comes from a vuln-dev background and now researches government-backed hacking threats for the Google Threat Analysis Group. He is especially looking at the groups using exploits to achieve their goals. In 2020 the Threat Analysis Group reported 10 0-days affecting a wide range of products and used by government-backed actors.
  • Christian Resell - Security Engineer, Google
    Christian Resell has a background in vulnerability research and malware analysis and currently works in Google's Threat Analysis Group. He is a professional hummus enthusiast and loves CTFs.
  • Richard Neal - Staff Security Engineer, Google
    Richard Neal has been a lead on the Android Malware Research team at Google for the last 5 years, managing a group of security and software engineers working to solve problems around Android malware, and trying to do as much technical work as possible. He has 23 years of professional experience in computer security, starting in development of secure systems and then moving into vulnerability and malware analysis, as reverse engineering is fun.
  • Xingyu Jin - Security Engineer, Google
    Xingyu Jin has been a security engineer on the Google Android Security team, focusing on Android exploits and reverse engineering. He has more than 3 years of professional experience in computer security and has reported/discovered 40+ Android, Apple and Linux kernel CVEs.

Links:

Similar Presentations: