Compiler-based security mitigations in Android P
android-developers.googleblog.com
android-developers.googleblog.com
It's a great step but for anyone else looking to capitalize on UBSan make sure you couple it with fuzzing or some other testing strategy that will go beyond just coverage. UBSan won't find latent code that overflows if you don't give it inputs that actually cause overflows.
Afl for overall fuzzing:
http://lcamtuf.coredump.cx/afl
Klee for generating minimal test-cases automatically:
http://klee.github.io (by LLVM)
Property-based testing to specify test-cases manually:
https://github.com/silentbicycle/theft
Toolchain docs:
https://gcc.gnu.org/onlinedocs
Binutils gold (new ld) linker https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=t...
Compiler defensive best-practices source docs:
https://blog.quarkslab.com/clang-hardening-cheat-sheet.html
https://security.stackexchange.com/questions/24444/what-is-t...
https://www.phoronix.com/scan.php?page=news_item&px=GNU-Glib...
PIE and PIC https://stackoverflow.com/q/2463150/246672
https://www.netbsd.org/gallery/presentations/khorben/asiabsd...
https://edgeofus.com/information-security-2/how-to-harden-cc...
https://developers.redhat.com/blog/2018/03/21/compiler-and-l...
https://fedoraproject.org/wiki/Changes/Harden_All_Packages
https://www.owasp.org/index.php/C-Based_Toolchain_Hardening
and lots of reading man pages for latest code and DuckDuckGoing
Until security threats created by the blinkered users - and by the lack of timely updates - are made obvious to them, such 'mitigations' are weak tea indeed.
In one of IO 2018's keynotes they briefly mentioned that update processes will be part of future Play Services certification.
.. but unsigned overflow is not UB? Sure it might not be desirable always, but that is completely different type of problem