NewsCurrently, no news are available
About the course
This advanced lecture deals with different, fundamental aspects of mobile operating systems and application security, with a strong focus on the popular, open-source Android OS and its ecosystem. In general, the awareness and understanding of the students for security and privacy problems in this area are increased. The students learn to tackle current security and privacy issues on smartphones from the perspectives of different security principals in the smartphone ecosystem: end-users, app developers, market operators, system vendors, third parties (like companies).
Central questions of this course are:
- What is the threat model from the different principals' perspectives?
- How are the fundamental design patterns of secure systems and security best practices realized in the design of smartphone operating systems? And how does the multi-layered software stack (i.e., middleware on top of the OS) influence this design?
- How are hardware security primitives, such as Trusted Execution Environments, and trusted computing concepts integrated into those designs?
- What are the techniques and solutions market operators have at hand to improve the overall ecosystem's hygiene?
- Which problems and solutions did security research in this area identify in the past half-decade?
- Which techniques have been developed to empower the end-users to protect their privacy?
The lectures are accompanied by exercises to re-enforce the theoretical concepts and to provide an environment for hands-on experience for mobile security on the Android platform. Additionally, a short course project should give hands-on experience in extending Android's security architecture with a simple custom mechanism for access control enforcement.
Where and when
The lectures will take place every Friday at 10:00 – 12:00 in building E9 1 (CISPA), room 0.05 (lecture hall ground floor).
There are no formal requirements for participation. Students who want to participate in the course should
- have worked with a smartphone before (e.g., own an Android-based phone, iPhone, etc.)
- be familiar with programming in Java (and C/C++)
- should be comfortable with working with Linux
Actual programming experience on Android or at OS-level is not a prerequisite, but definitively an advantage.
Background in security is also an advantage (e.g., prior participation in the Foundations of Cybersecurity lecture or Security core lecture). However, the necessary knowledge on system design, access control, and network security will be provided in this lecture to put Android's design choices into context better.
Requirements for obtaining credit points (Scheinvergabe)
For passing the course, you need the following minimum amount of points:
- 50% of the points from the final exam.
For admission to the exam, you need:
- at least 50% of the points from the exercises.
The final grade is based purely on your exam results.
The end-term exam will take place TBA
The backup exam will take place TBA
Register for the course here in the CISPA CMS. Registration opens Oct 07 at 12:00 (noon). Once you are registered here, don't forget to register in the LSF.
In this course, you will do exercises that have a theoretical part and involve Android application and system programming. Thus, you must have a working development environment. You can set one up by going through Exercise 0 (not graded) (TO BE PUBLISHED SOON), in which you create a set of apps, which we will use in later exercises. If you are already familiar with Android programming, you can skip the IDE setup of this exercise; however, you should still create the explained apps.