You are a cyber threat analyst at a mobile applications company. One morning, your supervisor, Dan, tells you about a mobile application security project that is already under way, but needs more guidance. Because of your success on previous projects, he wants your help.
Your expertise and oversight will enable the mobile app team to meet its approaching deadline. "Mobile applications and their security are on the technology roadmap for our organization. Of course, this means we need to be well-informed of mobile application security management," Dan says.
"Without the proper threat modeling, leadership can't be sure of the issues that lie ahead. I want you to oversee the project and manage the team," Dan says. "We'd also like you to contribute to this project by preparing a report for senior management." The report should include threat models to this technology as well as remediation for management to consider. The report should give senior management a greater understanding of mobile application security and its implementation.
Your report should consist of the following sections: mobile application architecture, mobile data, threat agent identification, methods of attack, and possible controls. The goal is to convince senior managers that your proposals will benefit the company. If you succeed, leadership will move forward with its plan for mobile applications. The report is due in two weeks.
In this project, you will create a c. There are seven steps that will lead you through this project, beginning with the scenario as it might occur in the workplace, and continuing with Step 1: “Describe Your Mobile Application Architecture.” Most steps in this project should take no more than two hours to complete, and the project as a whole should take no more than two weeks to complete.
In your role as a cyber threat analyst, senior management has entrusted you to identify how a particular mobile application of your choosing conforms to mobile architecture standards. You are asked to:
1.Describe device-specific features used by the application, wireless transmission protocols, data transmission media, interaction with hardware components, and other applications.
2.Identify the needs and requirements for application security, computing security, and device management and security.
3.Describe the operational environment and use cases.
4.Identify the operating system security and enclave/computing environment security concerns, if there are any.
Include an overview of these topics in your report.
Use Mobile Application and Architecture Considerations to review the architectural considerations for mobile applications and architecture. Then, include those that are relevant to your mobile application in your report to senior management. Address the following questions:
1.What is the design of the architecture (network infrastructure, web services, trust boundaries, third-party APIs, etc.)?
2.What are the common hardware components?
3.What are the authentication specifics?
4.What should or shouldn't the app do?
In the previous step, you described your app’s architecture. In Step 2, you will define what purpose the mobile app serves from a business perspective and what data the app will store, transmit, and receive. Include a data flow diagram to showing exactly how data are handled and managed by the application. You can use fictional information or model it after a real-world application. Here are some questions to consider as you define your requirements:
1.What is the business function of the app?
2.What data does the application store/process? (provide data flow diagram)
a.This diagram should outline network, device file system, and application data flows
b.How are data transmitted between third-party APIs and app(s)?
c.Will there be remote access and connectivity? Read this resource about mobile VPN security, and include any of these security issues in your report.
d.Are there different data-handling requirements between different mobile platforms? (iOS/Android/Windows/J2ME)
e.Does the app use cloud storage APIs (e.g., Dropbox, Google Drive, iCloud, Lookout) for device data backups?
f.Does personal data intermingle with corporate data?
g.Is there specific business logic built into the app to process data?
3.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.
a.Do stored credentials provide authentication?
b.Do stored keys allow attackers to break crypto functions (data integrity)?
4.Are third-party data being stored and/or transmitted?
a.What are the privacy requirements of user data? Consider, for example, a unique device identifier (UDID) or geolocation being transmitted to a third party.
b.Are there user privacy-specific regulatory requirements to meet?
5.How do other data on the device affect the app? Consider, for example, authentication credentials shared between apps.
6.Compare between jailbroken (i.e., a device with hacked or bypassed digital rights software) and non-jailbroken devices.
a.How do the differences affect app data? This can also relate to threat agent identification.
In this step, you defined the app’s requirements. Move to the next step, where you will identify any threats to the app’s operation.
Now that you have identified the mobile app’s requirements, you will define its threats.
In Section 3 of the report, you will:
1.Identify possible threats to the mobile application
a.Identify the threat agents
2.Outline the process for defining what threats apply to your mobile application
In the previous step, you identified threat agents. In this step and in Section 4 of the report, you will identify different methods an attacker can use to reach the data. These data can be sensitive information to the device or something sensitive to the app itself.
Read these resources on cyberattacks.
Provide senior management an understanding of the possible methods of attack of your app.
When you have identified the attack methods, move to the next step, where you will analyze threats to your app.
You just learned to identify threats and methods of attacks on mobile applications. Now, apply what you have learned by analyzing sample threats using tools in the lab. Identify threat agents and ways they may try to attack your mobile application. Review any previous resource that might help you.
You have identified the methods of attack, and now you will discuss the controls to prevent attacks. Consider the following questions:
Note: Not all of the following may apply. You will address only the areas that apply to the application you have chosen.
1. What are the controls to prevent an attack? Conduct independent research and then define these controls by platform (e.g., Apple iOS, Android, Windows Mobile).
2. What are the controls to detect an attack? Define these controls by platform.
3. What are the controls to mitigate/minimize impact of an attack? Define these controls by platform.
4. 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.
5. Create a mapping of controls to each specific method of attack (defined in the previous step)
Create a level of assurance framework based on controls implemented. This would be subjective to a certain point, but it would be useful in guiding organizations that want to achieve a certain level of risk management based on the threats and vulnerabilities.