Writing Secure Code in iOS Learning Path

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

18 hours, 26 minutes

Quick facts

About this learning path

  • courses

    100% online

  • Duration

    18 hours, 26 minutes

  • Assessment

    questions

About Writing Secure Code in iOS

Each course explores a major iOS security category. You will work with many examples, directly seeing the impact of missing or poor security in the code snippet. You will then apply what you have learned to improve the security of those apps. You will then test the app to ensure that the security risk has been mitigated.

 

Syllabus

Writing Secure Code in iOS Skill Assessment

Assessment - 41 questions

Introduction to Secure Coding

Course - 03:48: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 iOS security architecture, and learn what controls Apple implements at the hardware and software level to protect its platforms. You will also be introduced to Swift, Apple's new programming language. You will be introduced to the new security features Swift brings to iOS development. You will then wind up this course with an overview of iOS development security best practices.
Input Validation

Course - 05:23: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 a number of input sanitization and techniques including regular expressions and Swift functions. You'll defend against SQL injection, understand the larger scope of cross-site scripting and cross-site request forgeries, and validate the identity of a website API whose content your app consumes. You will also learn how to defend against unexpected attack vectors such as QR codes and deserialized JSON objects.
Memory Corruption

Course - 00:45: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 mobile app memory is structured and used. You will learn about the most common overflow types, the errors that cause them, and how to avoid them. You will explore what pointers are, the various types of pointers, and how Swift provides special pointer types to help your code integrate more safely with Objective-C. You will also deliberately create a buffer overflow to observe the effect it has on your code.
Encryption

Course - 03:03: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 iOS 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. You will then learn how to leverage built-in iOS functionality to safely store and retrieve credentials. You will learn how to validate user credentials in your app, ensuring that at an app level they are difficult to compromise.
Protecting Data

Course - 02:21: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, how to protect files, how ensure that data is transmitted over a network securely, and how to protect data from inadvertent leakage. You will also learn how to authenticate your app to an online data source, and how to use good design, code, and iOS features to ensure that processes do not interfere with each other, causing unexpected results.
Access Control

Course - 01:06: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 Apple's strongest built-in authentication mechanisms including two-factor, biometric, and one time code logins. You will also learn about the different authorization types, and implement the most common of these in your app.
Protecting software and system integrity

Course - 01:50:00

No study of secure application development would be complete without also understanding how to monitor 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 jailbroken device, and how your app can detect if it has been installed on such a device. You will also 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