Hero
MANDIANT ACADEMY™

Practical Mobile Application Security

Instructor-led training course

Please contact us if you have any questions.

Course Description

Smartphones have become an integral component of peoples’ lives, both personally and in the business world—but application security is suspect.

This four-day course is designed to teach students the fundamentals of mobile application security for Google Android and Apple iOS mobile operating systems. It provides learners with the methodology, tools, and experience to assess the security of mobile applications.

Learning Objectives

After completing this course, learners should be able to:

  • Describe device and application security models for the Android and iOS operating systems and their security features
  • Build and configure a testing environment for both Android and iOS platforms with an awareness of jailbreaking, rooting, and other concepts
  • Perform static analysis on APK and IPA files in a hands-on lab environment that covers Android Dalvik Bytecode, and Applecompiled Swift and Objective-C assembly
  • Understand what and where data should be stored, how it should be accessed, and what pitfalls are associated with improper data storage
  • Analyze inter-process communication by interfacing with and fuzzing exposed components across both platforms
  • Reliably intercept and modify network communications to bypass security features such as certificate pinning, taking into account the overlap and differences in mobile application API testing and traditional web application assessment
  • Use common dynamic binary instrumentation (DBI) tools for application testing and data and code analyses in scenarios such as bypassing jailbreak/root detection or certificate pinning
  • Compromise a test application, enumerate as many vulnerabilities as possible and consider recommendations for improving application security

Who should attend

Security engineers, application developers, and penetration testers.

Prerequisites

Background in security fundamentals, threat modeling, Linux CLI, object-oriented programming, and web application testing. Recommended, but not required:

  • ARM/AARCH64 assembly familiarity
  • Java, Kotlin, Swift, or Objective-C programming experience
  • Experience testing thick-client applications
  • Web services (REST, SOAP, JSON) testing experience

Delivery Method

In-classroom instructor-led training

Duration

  • 4 days