This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

Difference between revisions of "Projects/OWASP Mobile Security Project/Roadmap"

From OWASP
Jump to: navigation, search
Line 1: Line 1:
 
__NOTOC__  
 
__NOTOC__  
  
== Overview ==
+
== Overview ==
  
The OWASP Mobile Security Project is a centralized resource intended to give developers and security teams the resources they need to build and maintain secure mobile applications. Through the project, our goal is to classify mobile security risks and provide developmental controls to reduce their impact or likelihood of exploitation.
+
The OWASP Mobile Security Project is a centralized resource intended to give developers and security teams the resources they need to build and maintain secure mobile applications. Through the project, our goal is to classify mobile security risks and provide developmental controls to reduce their impact or likelihood of exploitation.  
  
Our primary focus is at the application layer. While we take into consideration the underlying mobile platform and carrier inherent risks when threat modeling and building controls, we are targeting the areas that the average developer can make a difference. Additionally, we focus not only on the mobile applications deployed to end user devices, but also on the broader server-side infrastructure which the mobile apps communicate with. We focus heavily on the integration between the mobile application, remote authentication services, and cloud platform-specific features.
+
Our primary focus is at the application layer. While we take into consideration the underlying mobile platform and carrier inherent risks when threat modeling and building controls, we are targeting the areas that the average developer can make a difference. Additionally, we focus not only on the mobile applications deployed to end user devices, but also on the broader server-side infrastructure which the mobile apps communicate with. We focus heavily on the integration between the mobile application, remote authentication services, and cloud platform-specific features.  
  
== Project Components ==
+
== Project Components ==
  
'''In Progress'''  
+
<u>'''In Progress'''</u>
  
"'Threat Model'"
+
'''''Threat Model'''''
* Should be considered in the context of mobile computing platforms;
 
* Individual devices shouldn't be considered, but instead devices intended for mobile use and the mobile style of data consumption (leverage web services and cloud services, minimal processing on client, etc);
 
* Threat model will shape the Top 10.
 
  
== Generic Top 10 ==
+
*Platform-agnostic mobile threat model
 +
*Platform-/technology specific elements
 +
*Threats (e.g. App-store Curators or Carriers)
 +
*Attack Surface (e.g. Android IPC or Apple iCloud)
 +
*Define and trace ''who'' attacks ''what'', ''where'' and ''how''<br>
 +
'''''Top 10 Mobile Risks'''''
  
'''Timeline - 3 months for initial release'''
+
*Intended to raise awareness and help prioritize security efforts''
* Using threat model as a base;
+
*Presented in a platform-agnostic format
* Perform an assessment of the standard top 10 to determine which threats are applicable, not applicable, or applicable in a modified context;
+
*Focuses on areas of risk instead of specific vulnerabilities
* Perform gap analysis of both standard and mobile top 10 lists to demonstrate differentiation, and provide this document to the community;
 
* Create the Top 10.
 
  
== Fork Into Each Platform ==
+
'''''Top 10 Mobile Controls'''''
  
* iOS Project
+
*10 controls that solve many problems
* Android Project
+
*Platform-agnostic where possible
* webOS Project
+
*Can be used as a checklist
* Windows Mobile Project
 
* Blackberry Project
 
  
== Alternate Development Environments For Mobile (Besides Java and Objective-C)==
+
'''''Platform-Specific Guidance'''''
  
* Flash
+
*Build around the Top 10 Risks and Controls''
* AIR
+
*Explains how an issue pertains to a specific platform
* MonoDroid
+
*Provides good and bad code examples
* MonoTouch
 
* MacRuby
 
* Perl
 
  
== What each platform project could contain ==
+
'''''Training'''''
  
* Description of the security model
+
*GoatDroid- A fully self-contained training environment for performing security testing against Android applications. &nbsp;Includes several Android apps, embedded RESTful web services, databases, and a GUI featuring several tools for automating common testing tasks.''
* Assessment checklist
+
*iGoat- A modular training platform for iOS applications. &nbsp;iGoat includes an XCode project that can be loaded into the iOS simulator for live testing of apps. &nbsp;Developers can apply code fixes and instantly observe the results to demonstrate their effectiveness.
* Wikis on individual vulnerabilities relevant to the platform
 
* Defensive coding techniques
 
* API security features
 
* References to related OWASP projects and resources
 
* Attacks and historic vulnerability information for each platform in "lessons learned" format
 
  
== Mobile Development Guide ==
+
'''''Cheat Sheets'''''
Using the threat model, Mobile Top 10, and other major areas identified through each other sub project, create a mobile development guide. The guide could follow the same general format as the regular development guide, or deviate slightly due to the vast differences between platforms.
+
 
 +
*Easy to consume, straight-to-the-point tutorials''
 +
*Practical guidance for a variety of issues and mobile platforms
 +
 
 +
'''''Security Testing Methodologies'''''
 +
 
 +
*Approaches for static and dynamic security analysis''
 +
*Covers what to look for and how to look for it
 +
 
 +
 
 +
 
 +
<u>'''Future Initiatives'''</u>
 +
 
 +
*<u</u>Formal Secure Development Guide
 +
*Secure Libraries (ESAPI for Android, ESAPI for iOS, etc.)
 +
 
 +
<br>

Revision as of 15:15, 30 September 2011


Overview

The OWASP Mobile Security Project is a centralized resource intended to give developers and security teams the resources they need to build and maintain secure mobile applications. Through the project, our goal is to classify mobile security risks and provide developmental controls to reduce their impact or likelihood of exploitation.

Our primary focus is at the application layer. While we take into consideration the underlying mobile platform and carrier inherent risks when threat modeling and building controls, we are targeting the areas that the average developer can make a difference. Additionally, we focus not only on the mobile applications deployed to end user devices, but also on the broader server-side infrastructure which the mobile apps communicate with. We focus heavily on the integration between the mobile application, remote authentication services, and cloud platform-specific features.

Project Components

In Progress

Threat Model

  • Platform-agnostic mobile threat model
  • Platform-/technology specific elements
  • Threats (e.g. App-store Curators or Carriers)
  • Attack Surface (e.g. Android IPC or Apple iCloud)
  • Define and trace who attacks what, where and how

Top 10 Mobile Risks

  • Intended to raise awareness and help prioritize security efforts
  • Presented in a platform-agnostic format
  • Focuses on areas of risk instead of specific vulnerabilities

Top 10 Mobile Controls

  • 10 controls that solve many problems
  • Platform-agnostic where possible
  • Can be used as a checklist

Platform-Specific Guidance

  • Build around the Top 10 Risks and Controls
  • Explains how an issue pertains to a specific platform
  • Provides good and bad code examples

Training

  • GoatDroid- A fully self-contained training environment for performing security testing against Android applications.  Includes several Android apps, embedded RESTful web services, databases, and a GUI featuring several tools for automating common testing tasks.
  • iGoat- A modular training platform for iOS applications.  iGoat includes an XCode project that can be loaded into the iOS simulator for live testing of apps.  Developers can apply code fixes and instantly observe the results to demonstrate their effectiveness.

Cheat Sheets

  • Easy to consume, straight-to-the-point tutorials
  • Practical guidance for a variety of issues and mobile platforms

Security Testing Methodologies

  • Approaches for static and dynamic security analysis
  • Covers what to look for and how to look for it


Future Initiatives

  • <u</u>Formal Secure Development Guide
  • Secure Libraries (ESAPI for Android, ESAPI for iOS, etc.)