Course description
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.

Syllabus
iOS memory overview
Video — 00:14:09
In this segment, we examine the structure of computer memory and how memory addresses are used by your app. We also examine iOS Automatic Reference Counting, how Swift manages memory and the problem of retain cycles and how to break them.
Swift pointers
Video — 00:08:58
In this segment, we learn what pointers are, the various pointer types in Swift and how Swift uses unsafe pointers to help you write memory-safe code.
Understanding overflows
Video — 00:13:29
In this segment, we learn about app memory structure. We examine the different types of overflows including buffer, heap, stack and integer. We see examples in Swift and how to use the range contains() method and other mechanisms to mitigate the risk.
Activity: Creating a buffer overflow
Video — 00:08:30
In this example, we call a vulnerable C function to cause a buffer overflow and crash an app.

Meet the author
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.”
Unlock 7 days of free training
- 1,400+ hands-on courses and labs
- Certification practice exams
- Skill assessments
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.
- Law Enforcement / Counterintelligence Forensics Analyst
- Cyber Defense Forensics Analyst
- Cyber Crime Investigator
You're in good company
We use Infosec Skills to provide continuous training to our technicians and to prepare them for various certifications. Infosec Skills allows us to create personalized training programs that focus on each of our technicians’ particular roles and see their progress as they take courses. We also, recommend it to clients to make their IT support teams better.
Caleb Yankus
This has been utilized to bridge the skills gap across our cyber team and to aid them as they prepare for their various certifications. It also has provided a nice learning foundation for our various cyber team members to utilize as we continue to find ways for cross-utilization with operations while minimizing the downtime needed to ensure everyone’s knowledge is the same.
Daniel Simpson
We use Infosec Skills to provide base level knowledge for employees. We also use the services to provide in depth learning for employees as they encounter new technologies. If an employee is is assigned to a new project, we can rely on Infosec Skills to provide a rapid concentrated learning environment. This rapid concentrated learning positions our employees for success.
Infosec Skills Teams client
Plans & pricing
-
Infosec Skills Personal
- 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
- 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
Award-winning training that you can trust




