Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
This specializations teaches you to incorporate security in Android application development for mobile devices. Focused mostly on Kotlin, JetBrains' open source programming language, which Google adopted for Android, you will learn best practices for addressing the most common security mistakes Android app developers make. You will also learn the limits of Kotlin as a secure language and how to compensate for those limits. Each course explores a major Android security category. You will work with many examples, directly seeing the impact of missing or poor security in the code. You will also learn where to conduct mobile app and Android-specific vulnerability research online to continue improving your craft.
Syllabus
- Course 1: Intro to Secure Coding and Input Validation in Android
- Course 2: Memory, Encryption, and Protecting Data in Android
- Course 3: Access Control, Software Protection, System Integrity
Courses
-
This course focuses on the essential security practices in Android app development. Learners will implement and evaluate various authentication mechanisms, including two-factor authentication and biometrics, to enhance user security. The course also explores different authorization types, such as OAuth, and teaches how to identify and manage risks associated with IDOR and uncontrolled sessions. In addition to authentication and authorization, participants will learn to ensure application and device integrity through effective security practices. The course covers skills for handling and logging errors effectively in Android apps, as well as understanding and mitigating risks associated with third-party code, tamper protection, root detection, and social engineering. By the end of the course, learners will be equipped with the knowledge to develop secure Android applications.
-
This course on Secure Coding in Android Mobile App Development is designed for mobile app developers at a beginner to intermediate level. Participants will understand the necessity of secure coding practices in mobile app development and identify common vulnerabilities and defenses. The course will explore the Android security architecture and controls, as well as Kotlin's security features specifically for Android development. Additionally, learners will gain insights into best practices for Android development security, analyze a vulnerable Kotlin Android app to identify security flaws, and implement effective input validation and sanitization techniques to protect their applications from attacks such as SQL injection and cross-site scripting. By the end of the course, participants will be equipped with the knowledge to validate input forms and evaluate the effectiveness of various input validation techniques in real-world scenarios.
-
This course is designed for intermediate-level learners who want to enhance their security skills in Android development. Participants will analyze the structure of Android memory and evaluate its defenses against exploitation, including understanding pointers and their role in buffer overflow exploits. The course covers various types of overflows, mitigation techniques, and specific vulnerabilities such as the Stagefright buffer overflow. In addition to exploitation techniques, learners will explore secure data storage practices within the Android file system, implement cryptography concepts, and securely manage credentials using the Android Keystore. The course also addresses password security through hashing and salting techniques, common data risks, and secure storage practices to protect data at rest. Finally, participants will gain insights into network security, data protection in transit, and securing inter-process communications and webviews in Android applications.
Taught by
Chrystine D Thorsen