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 "Top 10 2014-I7 Insecure Mobile Interface"

From OWASP
Jump to: navigation, search
 
(16 intermediate revisions by one other user not shown)
Line 1: Line 1:
<center>[https://www.owasp.org/index.php/OWASP_Internet_of_Things_Top_Ten_Project#tab=OWASP_Internet_of_Things_Top_10_for_2014 Back To The Internet of Things Top 10]</center>
+
<center>[https://www.owasp.org/index.php/OWASP_Internet_of_Things_Project#tab=Top_10_IoT_Vulnerabilities__282014_29 Back To The Internet of Things Top 10]</center>
  
 
{{Top_10_2010:SummaryTableHeaderBeginTemplate|year=2013|language=en}}
 
{{Top_10_2010:SummaryTableHeaderBeginTemplate|year=2013|language=en}}
{{Top_10:SummaryTableTemplate|exploitability=1|prevalence=2|detectability=2|impact=1|year=2013|language=en}}
+
{{Top_10:SummaryTableTemplate|exploitability=2|prevalence=2|detectability=1|impact=1|year=2013|language=en}}
 
{{Top_10_2010:SummaryTableHeaderEndTemplate|year=2013}}
 
{{Top_10_2010:SummaryTableHeaderEndTemplate|year=2013}}
 
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Consider anyone who has access to the mobile application.
 
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Consider anyone who has access to the mobile application.
  
 
</td>
 
</td>
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Attacker uses multiple vectors such as insufficient authentication, lack of transport encryption and account enumeration to access data or controls via the mobile interface. Attack will most likely come from a stolen mobile device.
+
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Attacker uses multiple vectors such as insufficient authentication, lack of transport encryption and account enumeration to access data or controls via the mobile interface.
  
 
</td>
 
</td>
     <td colspan=2  {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>An insecure mobile interface is present when easy to guess credentials are used or account enumeration is possible. Insecure mobile interfaces are easy to discover by simply reviewing the connection to the device itself or the cloud interface and identifying if SSL is in use or by attempting to login with random credentials and identifying what errors are returned. Automated tools can also look for issues such as lack of transport encryption and account enumeration.
+
     <td colspan=2  {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>An insecure mobile interface is present when easy to guess credentials are used or account enumeration is possible. Insecure mobile interfaces are easy to discover by simply reviewing the connection to the wireless networks and identifying if SSL is in use or by using the password reset mechanism to identify valid accounts which can lead to account enumeration.
  
 
</td>
 
</td>
Line 16: Line 16:
  
 
</td>
 
</td>
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Consider the business impact of an insecure mobile interface. Data could be stolen or modified and devices taken control of. Could your users be harmed? Could your brand be harmed?
+
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Consider the business impact of an insecure mobile interface. Data could be stolen or modified and control over devices assumed. Could your customers be harmed? Could your brand be harmed?
  
 
</td>
 
</td>
Line 22: Line 22:
  
 
{{Top_10:SubsectionTableBeginTemplate|type=main}} {{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=freetext|title=Is My Mobile Interface Secure?|position=firstLeft|year=2013|language=en}}
 
{{Top_10:SubsectionTableBeginTemplate|type=main}} {{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=freetext|title=Is My Mobile Interface Secure?|position=firstLeft|year=2013|language=en}}
The simplest way to find out if you have insufficient authorization/authentication is to review the password policy for the various interfaces and to review whether the interfaces allow for separation of roles. For example, all features will be accessible to administrators, but users will have a more limited set of features available.
+
Checking for an Insecure Mobile Interface includes:
 +
* Determining if the default username and password can be changed during initial product setup
 +
* Determining if a specific user account is locked out after 3 - 5 failed login attempts
 +
* Determining if valid accounts can be identified using password recovery mechanisms or new user pages
 +
* Reviewing whether credentials are exposed while connected to wireless networks
 +
* Reviewing whether two factor authentication options are available
  
Attempting to set usernames to simple passwords such as "1234" is a fast and easy way to determine if authentication/authorization is sufficient. Manual testing can help a security analyst find instances where weak passwords are allowed, access control is not limited by roles or credentials are poorly protected. Penetration testers can validate these issues by conducting brute-force attacks against usernames, reviewing access controls and testing for privilege escalation.
+
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=freetext|title=How Do I Secure My Mobile Interface?|position=right|year=2013|language=en}}
 +
A secure mobile interface requires:
 +
# Default passwords and ideally default usernames to be changed during initial setup
 +
# Ensuring user accounts can not be enumerated using functionality such as password reset mechanisms
 +
# Ensuring account lockout after an 3 - 5 failed login attempts
 +
# Ensuring credentials are not exposed while connected to wireless networks
 +
# Implementing two factor authentication if possible
 +
# Apply mobile app obfuscation techinque
 +
# Implement mbile app anti-tempering mechanism
 +
# Ensuring the mobile app's memory hacking is possible
 +
# Restric the mobile app's execution on tempered OS environment
  
Automated dynamic scanning which exercises the application will provide insight into whether these issues exist as well.
+
Please review the following tabs for more detail based on whether you are a [https://www.owasp.org/index.php/OWASP_Internet_of_Things_Top_Ten_Project#tab=Manufacturers Manufacturer], [https://www.owasp.org/index.php/OWASP_Internet_of_Things_Top_Ten_Project#tab=Developers Developer] or [https://www.owasp.org/index.php/OWASP_Internet_of_Things_Top_Ten_Project#tab=Consumers Consumer]
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=freetext|title=How Do I Secure My Mobile Interface?|position=right|year=2013|language=en}}
 
Ensuring sufficient authentication/authorization requires:
 
# Ensuring password recovery mechanisms are robust.
 
# Ensuring complex password construction.
 
# Ensuring role/discretionary based access control is in place where necessary.
 
# Ensuring credentials are properly protected.
 
 
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=example|position=left|risk=1|year=2013|language=en}}
 
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=example|position=left|risk=1|year=2013|language=en}}
'''Scenario #1:''' The interface only requires simple passwords.
+
'''Scenario #1:''' Password reset indicates whether account exist or not.
  
 
{{Top_10_2010:ExampleBeginTemplate|year=2013}}<span style="color:red;">
 
{{Top_10_2010:ExampleBeginTemplate|year=2013}}<span style="color:red;">
Example
+
Password Reset
 +
"That account does not exist."
  
 
</span>{{Top_10_2010:ExampleEndTemplate}}
 
</span>{{Top_10_2010:ExampleEndTemplate}}
 
'''Scenario #2:''' Username and password are poorly protected when transmitted over the network.
 
'''Scenario #2:''' Username and password are poorly protected when transmitted over the network.
 
{{Top_10_2010:ExampleBeginTemplate|year=2013}}<span style="color:red;">
 
{{Top_10_2010:ExampleBeginTemplate|year=2013}}<span style="color:red;">
Example
+
Authorization: Basic S2ZjSDFzYkF4ZzoxMjM0NTY3
  
 
</span>{{Top_10_2010:ExampleEndTemplate}}
 
</span>{{Top_10_2010:ExampleEndTemplate}}
In the cases above, the attacker is able to either easily guess the password or is able to capture the credentials as they cross the network and decode it since the credentials are only protected using Base64 Encoding.
+
In the cases above, the attacker is able to either determine a valid user account or is able to capture the credentials as they cross the network and decode them since the credentials are only protected using Base64 Encoding.
  
  
Line 51: Line 61:
 
{{Top_10_2010:SubSubsectionOWASPReferencesTemplate}}
 
{{Top_10_2010:SubSubsectionOWASPReferencesTemplate}}
  
 +
[https://www.owasp.org/index.php/Projects/OWASP_Mobile_Security_Project_-_Top_Ten_Mobile_Risks OWASP Top Ten Mobile Risks]
 
{{Top_10_2010:SubSubsectionExternalReferencesTemplate}}
 
{{Top_10_2010:SubSubsectionExternalReferencesTemplate}}

Latest revision as of 06:53, 5 February 2016

Back To The Internet of Things Top 10
Threat Agents Attack Vectors Security Weakness Technical Impacts Business Impacts
Application Specific Exploitability
AVERAGE
Prevalence
COMMON
Detectability
EASY
Impact
SEVERE
Application / Business Specific
Consider anyone who has access to the mobile application. Attacker uses multiple vectors such as insufficient authentication, lack of transport encryption and account enumeration to access data or controls via the mobile interface. An insecure mobile interface is present when easy to guess credentials are used or account enumeration is possible. Insecure mobile interfaces are easy to discover by simply reviewing the connection to the wireless networks and identifying if SSL is in use or by using the password reset mechanism to identify valid accounts which can lead to account enumeration. An insecure mobile interface could lead to compromise of user data and control over the device. Consider the business impact of an insecure mobile interface. Data could be stolen or modified and control over devices assumed. Could your customers be harmed? Could your brand be harmed?
Is My Mobile Interface Secure?

Checking for an Insecure Mobile Interface includes:

  • Determining if the default username and password can be changed during initial product setup
  • Determining if a specific user account is locked out after 3 - 5 failed login attempts
  • Determining if valid accounts can be identified using password recovery mechanisms or new user pages
  • Reviewing whether credentials are exposed while connected to wireless networks
  • Reviewing whether two factor authentication options are available
How Do I Secure My Mobile Interface?

A secure mobile interface requires:

  1. Default passwords and ideally default usernames to be changed during initial setup
  2. Ensuring user accounts can not be enumerated using functionality such as password reset mechanisms
  3. Ensuring account lockout after an 3 - 5 failed login attempts
  4. Ensuring credentials are not exposed while connected to wireless networks
  5. Implementing two factor authentication if possible
  6. Apply mobile app obfuscation techinque
  7. Implement mbile app anti-tempering mechanism
  8. Ensuring the mobile app's memory hacking is possible
  9. Restric the mobile app's execution on tempered OS environment

Please review the following tabs for more detail based on whether you are a Manufacturer, Developer or Consumer

Example Attack Scenarios

Scenario #1: Password reset indicates whether account exist or not.

Password Reset "That account does not exist."

Scenario #2: Username and password are poorly protected when transmitted over the network.

Authorization: Basic S2ZjSDFzYkF4ZzoxMjM0NTY3

In the cases above, the attacker is able to either determine a valid user account or is able to capture the credentials as they cross the network and decode them since the credentials are only protected using Base64 Encoding.


References

OWASP

OWASP Top Ten Mobile Risks

External