In this post I'll walk you through IOS application security issues.
iOS Application Security Issues
- Privacy Issue
- Every iPhone has a unique device identifier called UDID. Mobile Apps may collect the device UDID. With the help of UDID it is possible to observer the user browsing patterns. And also it’s become feasible to locate user’s GEO location with UDID. UDID can be finding out by observation of the network traffic transmission.
- One such application is
- Openfient: mobile social gaming network: http://corte.si/posts/security/openfeint-udid-deanonymization/
- Application Data Storage
- Applications that are installed on mobile devices will use phone memory to store the data. 76 percent of mobile Apps store user data on phone. And 10 percent Apps store passwords in clear text. Source: viaforensics.com/appwatchdog
- Applications store information on phone for mainly two purposes. One is application performance will be improved and second is user can still access some data while he/she is offline.
- Application mainly store data on the below locations
- Plist files
- Keychain
- Logs
- Screenshots
- Home directory
- Application run in sandbox (seatbelt) with ‘mobile’ privileges Each application gets a private area of the file system Example App Home directory: /var/mobile/Applications/[GUID]
Sub Directory
Description
Appname.app
Contains the application code
and static data
Documents
Data that may be shared with
desktop through iTuens
Library
Application support files
Library/Preferences/
App specific preferences
Library/Caches/
Data that should persist across
successive launches of the application but not needed to be backed up.
Tmp
Temporary files that do not
need to persist across successive launches of the application.
- Plist files
- Plist files known as Property list files which is primarily used to store user’s properties of an application. Example: /var/mobile/Applications/[appid]/Documents/Preferences
- Key value pairs are stored in binary format and can be easily extracted and modified with property list editor, plutil.
- During pen testing look for usernames, passwords, cookies. As Apps may take Authentication/Autherization decisions Example: admin=1, timeout=10
- It is recommended do not store clear text data in plist files.
- Every iPhone has a unique device identifier called UDID. Mobile Apps may collect the device UDID. With the help of UDID it is possible to observer the user browsing patterns. And also it’s become feasible to locate user’s GEO location with UDID. UDID can be finding out by observation of the network traffic transmission.
- One such application is
- Openfient: mobile social gaming network: http://corte.si/posts/security/openfeint-udid-deanonymization/
- Applications that are installed on mobile devices will use phone memory to store the data. 76 percent of mobile Apps store user data on phone. And 10 percent Apps store passwords in clear text. Source: viaforensics.com/appwatchdog
- Applications store information on phone for mainly two purposes. One is application performance will be improved and second is user can still access some data while he/she is offline.
- Application mainly store data on the below locations
- Plist files
- Keychain
- Logs
- Screenshots
- Home directory
- Application run in sandbox (seatbelt) with ‘mobile’ privileges Each application gets a private area of the file system Example App Home directory: /var/mobile/Applications/[GUID]Sub DirectoryDescriptionAppname.appContains the application code and static dataDocumentsData that may be shared with desktop through iTuensLibraryApplication support filesLibrary/Preferences/App specific preferencesLibrary/Caches/Data that should persist across successive launches of the application but not needed to be backed up.TmpTemporary files that do not need to persist across successive launches of the application.
- Plist files known as Property list files which is primarily used to store user’s properties of an application. Example: /var/mobile/Applications/[appid]/Documents/Preferences
- Key value pairs are stored in binary format and can be easily extracted and modified with property list editor, plutil.
- During pen testing look for usernames, passwords, cookies. As Apps may take Authentication/Autherization decisions Example: admin=1, timeout=10
- It is recommended do not store clear text data in plist files.