
Overview
iOS app development is a valuable skill set for a programmer today. An important part of that skill set is the ability to create apps that protect you, your users, and your users' organizations from attack. In this course, you will learn why it is critical to build security into your iOS apps, how to improve your programming processes to promote security, and how to provide countermeasures for the numerous threats to which an iOS app and its users are exposed.
Objectives
In this course, you will develop secure native apps for iOS mobile devices.
You will:
To ensure your success in this course, you should have experience developing native apps in iOS using Xcode and the Objective-C programming language.
A general understanding of information technology security is also helpful, but not required. We offer various courses on information technology security, including CompTIA® Security+.
Topic A: Identify the Need for Security
Topic B: Identify Security Requirements and Expectations
Topic C: Include Security in Your Development Processes
Topic D: Identify Your Approach to Risk Management
Topic A: Strengths and Weaknesses of the iOS Security Architecture
Topic B: iOS App Construction
Topic C: iOS Vulnerabilities
Topic A: Follow App Security Best Practices
Topic B: Protect Against Threats
Topic C: Software Development Life Cycle (SDLC)
Topic D: Design for Security
Topic E: Conduct Security Testing and Analysis
Topic F: Write Secure Objective-C Code
Topic A: Select Countermeasures for Local Threats
Topic B: Implement Secure Access of Local Processes and Hardware
Topic A: Select Countermeasures for Threats to Cleartext Data
Topic B: Implement Encryption
Topic A: Identify Countermeasures for Local Storage Threats
Topic B: Implement Secure Access of Local Storage
Topic A: Identify Networking Threats
Topic B: Identify Countermeasures for Networking Threats
Topic C: Implement Secure Network Communication
Topic A: Identify Countermeasures for UIWebView Component Threats
Topic B: Implement UIWebView Security
Topic A: Identify Countermeasures for Threats to Credentials
Topic B: Implement Secure User Authentication
Topic C: Implement Keychain
Topic A: Identify Countermeasures for Reverse Engineering Threats
Topic B: Harden an App
Prerequisites
Target Student:
Students taking this course are software developers who are experienced with mobile app development in iOS and want to improve the security of apps they develop. Student have experience developing iOS apps, and are familiar with the iOS SDK, development tools, and processes.
Course-specific Technical Requirements
Hardware
For this course, you will need one computer for each student and one for the instructor. Each computer will need the following minimum hardware configurations:
Software
To prepare a student or instructor system for the class, install the following software according to the instructions provided. You will need the following software for each student and instructor computer:
Course duration
3 Days
Course outline
Lesson 1: The Rationale for IOS App Security