Book Image

Learning iOS Penetration Testing

By : Swaroop Yermalkar
Book Image

Learning iOS Penetration Testing

By: Swaroop Yermalkar

Overview of this book

iOS has become one of the most popular mobile operating systems with more than 1.4 million apps available in the iOS App Store. Some security weaknesses in any of these applications or on the system could mean that an attacker can get access to the device and retrieve sensitive information. This book will show you how to conduct a wide range of penetration tests on iOS devices to uncover vulnerabilities and strengthen the system from attacks. Learning iOS Penetration Testing discusses the common vulnerabilities and security-related shortcomings in an iOS application and operating system, and will teach you to conduct static and dynamic analysis of iOS applications. This practical guide will help you uncover vulnerabilities in iOS phones and applications. We begin with basics of iOS security and dig deep to learn about traffic analysis, code analysis, and various other techniques. Later, we discuss the various utilities, and the process of reversing and auditing.
Table of Contents (17 chapters)
Learning iOS Penetration Testing
Credits
Foreword – Why Mobile Security Matters
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Introduction to insecure data storage


If we take a look at OWASP Top 10 Mobile Risks, one of the top risks is insecure data storage. The iOS application interacts with the local system in order to store temporary as well as persistent data.

What if your credit card details are stored temporarily in WebKit cache? What if your login credentials are stored locally in plain text? What if the developers store OAuth token insecurely?

The major risk arises when an application stores sensitive information insecurely in both persistent as well as temporary formats.

In iOS, there are different formats to store the data locally, as follows:

  • XML and plist

  • SQLite files

  • Keychain data

  • Core Data

  • The NSUserDefaults class

  • Temporary file—data cache

  • Log files

Each of this local storage has its own pros and cons. If the developers have not taken care of securing sensitive data, an attacker is more likely to access sensitive data on a device. An attacker having access to the rooted device can easily download application...