General information

Course type AMUPIE
Module title Mobile Systems Security
Language English
Module lecturer dr inż. Michał Ren
Lecturer's email
Lecturer position adiunkt
Faculty Faculty of Mathematics and Computer Science
Semester 2023/2024 (winter)
Duration 60
USOS code 06-DBSMLI0-E


Module aim (aims)

The course teaches the principles of programming secure applications on mobile platforms. Students will be expected to write several very simple applications, where focus will be on secure design, and learning the security mechanisms in the mobile platform chosen by them. The overall aim is to teach the security mindset in design, programming and deployment of mobile applications, giving an overview of the most popular platforms, but without imposing any one of them.

Pre-requisites in terms of knowledge, skills and social competences (where relevant)

Prior experience in programming on any mobile platforms (particularly on Android/iOS) is helpful, however the course is structured in such a way that it is not required, and the majority of students attending it do not possess any. The course is typically taught to computer science students in their third or fourth year, but many ambitious second-year students have been very successful in it.


Basic security principles and the AIC/CIA triad.

Basic cryptography, historical ciphers, modern symmetric ciphers, cipher modes of operation - from ECB to CTR.

Password storage, hashing, key stretching, rainbow tables, common attacks.

Multi-factor authentication - S/KEY, HOTP, TOTP, FIDO U2F.

Biometrics - test design, ROC curves, fingerprint scanning, iris scanning, face recognition common attacks.

GSM structure and security features - SS7 vulnerabilities, man-in-the-middle IMSI catching, A5/1 cipher.

Hardware fault analysis and exploitation - Drammer attack, side channel attacks.

Elements of wireless security - TEMPEST attack and countermeasures, optical TEMPEST.

Android platform security design and features.

Mobile platform security feature comparison.

Hardware security features on modern mobile terminals - TEE/REE, secure/authenticated booting, KeyStore, Global Platform, TPM.

Reading list

Most of the reading list is extracurricular, and meant to provide broader context. Developer documentation regarding one's chosen mobile platform will be the most helpful.

Mobile Platform Security

Synthesis Lectures on Information Security, Privacy, and Trust

N. Asokan, Lucas Davi, Alexandra Dmitrienko, Stephan Heuser, Kari

Kostiainen, Elena Reshetova, Ahmad-Reza Sadeghi

Wireless and Mobile Device Security

Jim Doherty

Security Engineering

Ross Anderson

Android Security Cookbook

Keith Makan, Scott Alexander-Bown

Android Developer Documentation

Apple Developer Documentation