Mobile devices such as smart phones, tablet, or smart watches are increasingly important for connecting to digital services: live and message communication, producing and consuming media, web access, etc. However, securing these devices is hard not only because of the complexity of their hard- and software stack, but also because of usability concerns that are different to standard desktop/laptop type systems: screens and (on-screen) keyboards are smaller, the individual interactions with those device are both much shorter and far more frequent, and users are often multi-tasking during their interactions. Therefore, new approaches to security are required for mobile devices.
This course looks at Android security concepts in terms of those already established in the standard platform as well as new concepts and techniques appearing in the Android ecosystem.
In this seminar, current research results will be discussed with a focus on the open Android platform. In addition to lecture-style blocks at the beginning of the course, students will be given research papers and independent research/reading exercises to independently work through. Grading will be based on seminar papers and presentations at the end of the seminar block.
UPDATE: Slides have been uploaded to KUSSS.
Topics for seminar papers:
- [1-2] Android (+OEM) vulnerabilities, 2016 edition
- [2-3] Recent security enhancements in upstream Linux kernels and their relation to Android
- OR [1-4] Exploit mitigation techniques: ASLR, XN, DEP, etc. (history of mitigation techniques by Android versions, can use e.g. Chapter 12 of Android Hacker's Handbook as starting point until Android 4.4)
- [1-2] Samsung Knox in detail - https://kp-cdn.samsungknox.com/df4184593021d7b8fabfdfeff5c318ba.pdf, https://www2.samsungknox.com/en/system/files/whitepaper/files/Samsung%20..., https://media.wix.com/ugd/4e84e6_668d564cc447434a9a8fda3c13a63f6a.pdf
- [1-2] File-based vs. device encryption on Android 7 - https://source.android.com/security/encryption/file-based.html
- [2-3] Android keymaster + keystore in Android >= 6 - see also https://bits-please.blogspot.co.at/2016/06/extracting-qualcomms-keymaste...
- [2-4] Android M runtime permissions vs. Xprivacy
- [2-3] SEAndroid
- [2-3] Certificate pinning on Android OS and apps
- [3-4] Stagefright and Integer overflows as a problem class
- [2-3] TrustAgent API and Google SmartLock implementation
- [2-4] Xposed and Cydia Substrate frameworks and modules
- [2-3] Finding vulnerabilities with Fuzz testing (cf. Chapter 6 of Android Hacker's Handbook)
For the seminar papers, use the ACM "SIG alternate" proceedings double-column template, preferrably in the LaTeX version.
Seminar papers + presentations
Schedule available in KUSSS