When it comes to security, iOS has been in the spotlight for a variety of reasons. Although a tough system to manipulate, there are still critical security bugs that can be exploited. In response to this issue, author Kunal Relan offers a concise, deep dive into iOS Security, including all the tools and methods to master reverse engineering of iOS apps and penetration testing.
iOS Penetration Testing covers the most significant attacks threatening iOS applications in recent times. The readers will also learn methods of patching iOS applications to make payment transactions and personal data sharing more secure.
What you will learn:
• Get a deeper understanding of iOS Infrastructure and Architecture
• Obtain deep insights of iOS Security and Jailbreaking
• Learn Reverse Engineering techniques for securing your iOS Apps
• Learn the basics of Application Development for iOS
• Security Best Practices of iOS applications
Who is this book for:
The target audience of this book will be the Security Professionals, information
Security analysts, iOS Reverse Engineers , iOS Developers and readers interested in secure application development in iOS.
About the Author |
|
xiii | |
About the Technical Reviewer |
|
xv | |
Acknowledgments |
|
xvii | |
Introduction |
|
xix | |
|
Chapter 1 Introduction to iOS |
|
|
1 | (12) |
|
|
1 | (7) |
|
|
2 | (1) |
|
|
2 | (1) |
|
Data Execution Prevention (DEP) |
|
|
3 | (1) |
|
Address Space Layout Randomization (ASLR) |
|
|
3 | (1) |
|
|
3 | (1) |
|
|
4 | (1) |
|
|
5 | (1) |
|
|
6 | (1) |
|
|
7 | (1) |
|
|
8 | (3) |
|
|
9 | (1) |
|
|
9 | (1) |
|
|
10 | (1) |
|
|
10 | (1) |
|
|
10 | (1) |
|
|
10 | (1) |
|
|
10 | (1) |
|
|
10 | (1) |
|
|
10 | (1) |
|
|
11 | (1) |
|
|
11 | (1) |
|
|
11 | (1) |
|
|
11 | (1) |
|
|
11 | (1) |
|
|
11 | (1) |
|
|
11 | (1) |
|
|
11 | (1) |
|
|
12 | (1) |
|
Chapter 2 iOS App Development Basics |
|
|
13 | (18) |
|
Introduction to Objective-C and Swift |
|
|
13 | (3) |
|
|
13 | (1) |
|
Basic Terminology in Objective-C |
|
|
14 | (1) |
|
|
15 | (1) |
|
|
15 | (1) |
|
|
16 | (1) |
|
|
16 | (1) |
|
|
17 | (1) |
|
|
17 | (3) |
|
|
18 | (1) |
|
Compatibility with Objective-C |
|
|
18 | (1) |
|
|
18 | (1) |
|
|
19 | (1) |
|
|
20 | (1) |
|
|
20 | (2) |
|
Getting Started with Xcode |
|
|
21 | (1) |
|
|
22 | (1) |
|
|
22 | (1) |
|
|
23 | (6) |
|
iOS Application Architecture |
|
|
29 | (1) |
|
|
30 | (1) |
|
Chapter 3 iOS App Vulnerabilities and Jailbreaking |
|
|
31 | (16) |
|
Introduction to Security and Vulnerabilities in iOS |
|
|
31 | (4) |
|
|
31 | (1) |
|
|
32 | (2) |
|
|
34 | (1) |
|
|
35 | (5) |
|
|
35 | (1) |
|
Installing the libimobiledevice Library |
|
|
36 | (1) |
|
|
37 | (1) |
|
|
38 | (1) |
|
Installing Keychain Dumper |
|
|
38 | (2) |
|
Common iOS Vulnerabilities |
|
|
40 | (5) |
|
|
40 | (1) |
|
|
41 | (2) |
|
|
43 | (1) |
|
|
43 | (1) |
|
|
43 | (1) |
|
|
44 | (1) |
|
Weakness in Authentication and Authorization |
|
|
45 | (1) |
|
|
45 | (2) |
|
Chapter 4 Blackbox Testing iOS Apps |
|
|
47 | (26) |
|
Intercepting Network Traffic |
|
|
47 | (6) |
|
Defeating User Validation |
|
|
53 | (8) |
|
Damn Vulnerable iOS App: DVIA |
|
|
54 | (7) |
|
Performing Runtime Analysis |
|
|
61 | (11) |
|
|
72 | (1) |
|
Chapter 5 iOS Security Toolkit |
|
|
73 | (24) |
|
Advance Reverse Engineering |
|
|
73 | (6) |
|
A Day in the Life of a Debugger |
|
|
79 | (12) |
|
|
80 | (11) |
|
Bypassing Jailbreak Detection |
|
|
91 | (4) |
|
|
95 | (2) |
|
Chapter 6 Automating App Testing |
|
|
97 | (22) |
|
idb: Simplify Penetration Test |
|
|
97 | (6) |
|
iRET: iOS Reverse Engineering Toolkit |
|
|
103 | (7) |
|
|
110 | (8) |
|
|
118 | (1) |
|
Chapter 7 iOS App Security Practices |
|
|
119 | (12) |
|
|
119 | (1) |
|
|
120 | (2) |
|
|
122 | (3) |
|
|
123 | (2) |
|
Anti-Debugging Protections |
|
|
125 | (1) |
|
Secure Development Guidelines |
|
|
126 | (3) |
|
|
126 | (1) |
|
|
127 | (1) |
|
|
127 | (1) |
|
|
127 | (1) |
|
|
127 | (1) |
|
|
128 | (1) |
|
|
129 | (2) |
Index |
|
131 | |
A Security Researcher and Penetration Tester, Kunal Relan is a Cisco Certified Network Associate in Security. He is also a founder of Pentest Ninja, an Automated SQLi and XSS tool for Mozilla Firefox. Kunal has published Research Papers in ACM , Indias biggest Technology Journal. He regularly speaks on Security at Indias leading Institutes such as IIT. Kunal currently works as an Information Security Analyst and Mobile Application Penetration Tester for Aarvee Idealabs, India.