25 Aug Describe device-specific features used by the application, wireless transmission protocols, data transmission media, interaction with hardware components, and other applications.
Threat Model Report: (8 to 10 pages)
Describe Your Mobile Application Architecture
a) Describe device-specific features used by the application, wireless transmission protocols, data transmission media, interaction with hardware components, and other applications.
b) Identify the needs and requirements for application security, computing security, and device management and security.
c) Describe the operational environment and use cases.
d) Identify the operating system security and enclave/computing environment security concerns, if there are any.
Include an overview of topics such as mobile platform security, mobile protocols and security, mobile security vulnerabilities, and related technologies and their security, in your report.
Include the Mobile Application considerations that are relevant to your mobile application.
What is the design of the architecture (network infrastructure, web services, trust boundaries, third-party APIs, etc.)?
What are the common hardware components?
What are the authentication specifics?
What should or shouldn’t the app do?
Define the Requirements for Your Mobile Application
What is the business function of the app?
What data does the application store/process (provide data flow diagram)?
The diagram outlines network, device file system, and application data flows
How are data transmitted between third-party APIs and app(s)?
Will there be remote access and connectivity? Read this resource about mobile VPN security, and include any of these security issues in your report.
Are there different data-handling requirements between different mobile platforms? (iOS/Android/Blackberry/Windows/J2ME)
Does the app use cloud storage APIs (e.g., Dropbox, Google Drive, iCloud, Lookout) for device data backups Is there specific business logic built into the app to process data?
What does the data give you (or an attacker) access to? Think about data at rest and data in motion as they relate to your app.
Do stored credentials provide authentication?
Do stored keys allow attackers to break crypto functions (data integrity)?
Are third-party data being stored and/or transmitted?
What are the privacy requirements of user data? Consider, for example, a unique device identifier (UDID) or geolocation being transmitted to a third party.
Are there user privacy-specific regulatory requirements to meet?
How do other data on the device affect the app? Consider, for example, authentication credentials shared between apps.
Compare between jailbroken (i.e., a device with hacked or bypassed digital rights software) and non-jailbroken devices.
How do the differences affect app data? This can also relate to threat agent identification.
Identify Threats and Threat Agents
Identify possible threats to the mobile application and Threat agents
Outline the process for defining what threats apply to your mobile application
Does personal data intermingle with corporate data?
Identify Methods of Attack
Provide senior management an understanding of the possible methods of attack of your app.
Controls
What are the controls to prevent an attack? Conduct independent research, then define these controls by platform (e.g., Apple iOS, Android, Windows Mobile, BlackBerry).
What are the controls to detect an attack? Define these controls by platform.
What are the controls to mitigate/minimize impact of an attack? Define these controls by platform.
What are the privacy controls (i.e., controls to protect users’ private information)? An example of this would be a security prompt for users to access an address book or geolocation.