Writing Secure Code for Android Learning Path

Learn to incorporate security in Android application development for mobile devices.

24+ hours

Quick facts

About this learning path

  • courses

    100% online

  • Duration

    24+ hours

  • Assessment

    questions

About Writing Secure Code for Android

Explore the art of incorporating security into Android app development. You will learn the pros and cons of Kotlin, JetBrains' new open-source programming language which Google adopted for Android. 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 work with Android Studio and Kotlin online playgrounds to implement security in your code, testing the security mechanism for effectiveness and functionality. You will also learn where to conduct mobile app and Android-specific vulnerability research online to continue improving your craft.

 

Syllabus

Writing Secure Code for Android

Assessment - 44 questions

Introduction to secure coding in Android

Course - 03:07:00

Before you begin to write code, you need to understand why security is so essential in today's modern mobile app. In this course, you will learn about the most common security mistakes developers make when creating apps. You will learn which mobile app vulnerabilities are considered the most dangerous and what can be done to defend against those dangers. You will explore Android security architecture and be introduced to Kotlin, a new open-source programming language developed by JetBrains (with some help from Google). We will wind up this course by examining a deliberately vulnerable Kotlin Android app that we will use in our activities throughout this path.
Input validation

Course - 08:11:00

Lack of input validation is the single most commonly cited mistake that mobile app developers make. Corrupt or manipulated input lies at the root of most malicious hacking exploits. As a mobile app developer, you need to know how to defend your app and the user's data from attack. In this course, you will learn which characters can be misinterpreted as commands and how to render those characters harmless. You will practice using input sanitization techniques including regular expressions. You'll defend against SQL injection, understand the larger scope of cross-site scripting, cross-site request forgeries and cross-app scripting. You will also learn how to defend against unexpected attack vectors such as QR codes and deserialized JSON objects. Finally, you will learn about validating input in forms.
Memory corruption

Course - 00:46:00

Managing memory usage has long been a requirement for application development. Unfortunately, most developers don't do it very well. This can lead to leaks, overflows and crashes in your app. Hackers can exploit these vulnerabilities with denial-of-service and remote code execution attacks. In this course, you will learn how Android mobile app memory is structured and used. You will learn about the most common overflow types and the errors that cause them, and how to avoid them. You will explore what pointers are, the various types of pointers and when and how Android uses pointers. You will also exploit a notorious buffer overflow vulnerability in Stagefright, Android's media player.
Encryption in Android

Course - 02:32:00

When considering a multilayer strategy for protecting user data, you should always start with the data itself. Encryption protects data whether it is at rest, in transit or in use. In this course, you will learn about the Android file system, how and where data can be saved and how to protect that data wherever it is found. You will examine a common mistake developers make when handling user credentials and other secrets. You will learn how to encrypt and validate user credentials in your app, ensuring that at an app level they are difficult to compromise. You will then learn how to leverage Android Keystore to safely store and retrieve credentials.
Protecting data

Course - 05:13:00

In addition to encryption, there are a number of other mechanisms you can employ to protect data. In this course, you will learn about common risks to data. You will also learn about how to protect files, how ensure that data is transmitted over a network securely and how to protect data shared and transmitted between processes within an Android app. You will learn about the risks of data leakage and how to mitigate those risks. Finally, you will learn how to protect data that is viewed online by a user.
Access Control in Android

Course - 03:13:00

Access control is one of the most basic security mechanisms you can implement on a device or in the app itself. Good access control reduces the initial risk of attack or accident. In this course, you will learn about authentication and authorization. You will utilize Android's strongest authentication mechanisms, including two-factor, biometric and one-time password logins. You will also learn about the different authorization types and implement the most common of these in your app. You will then learn to manage risks associated with IDOR and uncontrolled sessions.
Protecting software and system integrity

Course - 02:32:00

No study of secure application development would be complete without also understanding how to protect your code and the platform it runs on. In this final course, you will consider the risks of integrating code you did not write into your app. You will learn how to handle and log errors generated within your app. You will also learn about the many types of tests your app should go through before it is released to users. You will see the risks of running your app on a rooted device, and how your app can detect if it has been installed on such a device. You will learn about the risks of reverse engineering and how to protect your app from tampering. You will also learn a little more about the risks social engineering poses to your users. Finally, you will learn where to go to continue your security education and finish up with a review of key points from this path.

Meet the author

Chrys Thorsen

Chrys Thorsen is a technology and education consultant with 25 years of experience. Her work has taken her around the U.S. and overseas, including as a contractor for the CDC using technology to help fight HIV/AIDS in Africa.

During her career, she has acquired 40 IT certifications, authored over 25 textbooks on a wide range of IT subjects, including secure iOS and Android coding, and created an equal number of IT-related video courses. When not working, Chrys enjoys reading scientific articles and experimenting with Internet-of-Things devices. She currently lives in Virginia with her sister, her cat and her dog which, as she describes it, "have the worst sibling rivalry imaginable."

The details

Learning path insights

How to claim CPEs

Should you complete this learning path, you’ll be able to download a certificate of completion. Use this to claim your CPEs or CPUs.

Associated NICE Work Roles

All Infosec training maps directly to the NICE Workforce Framework for Cybersecurity to guide you from beginner to expert across 52 Work Roles.

  • All-Source Analyst
  • Mission Assessment Specialist
  • Exploitation Analyst

No software. No set up. Unlimited access.

Skip the server racks and spin up a realistic environment with one click. Infosec Skills cyber ranges require no additional software, hardware or server space so your team can spend less time configuring environments and more time learning. Unlimited cyber range access is included in every Infosec Skills subscription so your team can skill up however they learn best.

Unlock 7 days of free training

  • 1,400+ hands-on courses and labs
  • Certification practice exams
  • Skill assessments

Plans & pricing

Infosec Skills Personal

$299 / year

  • 190+ role-guided learning paths (e.g., Ethical Hacking, Threat Hunting)
  • 100s of hands-on labs in cloud-hosted cyber ranges
  • Custom certification practice exams (e.g., CISSP, Security+)
  • Skill assessments
  • Infosec peer community support

Infosec Skills Teams

$799 per license / year

  • Team administration and reporting
  • Dedicated client success manager
  • Single sign-on (SSO)
    Easily authenticate and manage your learners by connecting to any identity provider that supports the SAML 2.0 standard.
  • Integrations via API
    Retrieve training performance and engagement metrics and integrate learner data into your existing LMS or HRS.
  • 190+ role-guided learning paths and assessments (e.g., Incident Response)
  • 100s of hands-on labs in cloud-hosted cyber ranges
  • Create and assign custom learning paths
  • Custom certification practice exams (e.g., CISSP, CISA)
  • Optional upgrade: Guarantee team certification with live boot camps

Learn about scholarships and financing with

Affirm logo