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.
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.
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
In-classroom instructor-led training