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-I6 Insecure Cloud Interface"

From OWASP
Jump to: navigation, search
(Created page with "<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> ...")
 
Line 4: Line 4:
 
{{Top_10:SummaryTableTemplate|exploitability=1|prevalence=2|detectability=2|impact=1|year=2013|language=en}}
 
{{Top_10:SummaryTableTemplate|exploitability=1|prevalence=2|detectability=2|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 web interface including external users, internal users, and administrators.
+
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Consider anyone who has access to the device itself, the network the device is connected to, the mobile application and the cloud connection including external and internal users.
  
 
</td>
 
</td>
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Attacker uses weak default credentials, captures plain-text credentials or enumerates accounts to access the web interface. Depending on setup, attack could come from external or internal users.
+
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Attacker uses multiple vectors such as insufficient authentication, lack of transport encryption or insecure network services to view personal data which is being properly protected or is being collected unnecessarily. Depending on setup, attack could come from external or internal users.
  
 
</td>
 
</td>
     <td colspan=2  {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>An insecure web interface is present when easy to guess or well known default credentials are used. Insecure web interfaces are prevalent as manufacturers strive to make interfaces easier for users to use and assume these interfaces will not be exposed to external users. They are often found in devices which have features that can only be accessed via the web interface. Issues with the web interface are easy to discover when examining the interface manually and frequently easy to discover via automated testing.
+
     <td colspan=2  {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Privacy concerns generated by the collection of personal data in addition to the lack proper protection of that data is prevalent. Privacy concerns are easy to discover by simply reviewing the data that is being collected as on sets up and activates these devices. Automated tools can also look for specific patterns of data that may indicate collection of personal data.
  
 
</td>
 
</td>
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Insecure web interfaces can result in data loss or corruption, lack of accountability, or denial of access and can lead to complete device takeover.
+
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Collection of personal data along with a lack of protection of that data can lead to compromise of a user's personal data.
  
 
</td>
 
</td>
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Consider the business impact of compromised devices and in turn compromised customers. All data could be stolen, modified, or deleted.  Could your users be harmed?
+
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Consider the business impact of personal data that is collected unnecessarily or isn't protected properly. Data could be stolen or modified.  Could your users be harmed by having their personal data exposed?
  
 
</td>
 
</td>
 
{{Top_10_2010:SummaryTableEndTemplate|year=2013}}
 
{{Top_10_2010:SummaryTableEndTemplate|year=2013}}
  
{{Top_10:SubsectionTableBeginTemplate|type=main}} {{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=vulnerableTo|position=firstLeft|risk=1|year=2013|language=en}}
+
{{Top_10:SubsectionTableBeginTemplate|type=main}} {{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=freetext|title=Is My Cloud Interface Secure?|position=firstLeft|year=2013|language=en}}
The simplest way to find out if you have an insecure web interface is to review the initial setup process and determine if the username, password or both can be changed and if the password is required to be long and complex.
+
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.
  
Attempting to set usernames to simple passwords such as "1234" is a fast and easy way to determine the security of the web interface. Manual testing can help a security analyst find instances where weak passwords are allowed, default credentials are not required to be changed or account enumeration is possible. Penetration testers can validate these issues by running enumerating usernames and conducting brute-force attacks against those usernames.
+
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.
  
 
Automated dynamic scanning which exercises the application will provide insight into whether these issues exist as well.
 
Automated dynamic scanning which exercises the application will provide insight into whether these issues exist as well.
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=howPrevent|position=right|risk=1|year=2013|language=en}}
+
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=freetext|title=How Do I Secure My Cloud Interface?|position=right|year=2013|language=en}}
Ensuring a secure web interface requires:
+
Ensuring sufficient authentication/authorization requires:
# Default passwords and possibly usernames to be changed during initial setup.
+
# Ensuring password recovery mechanisms are robust.
 
# Ensuring complex password construction.
 
# Ensuring complex password construction.
# Ensuring web interface is not susceptible to XSS, SQLi or CSRF.
+
# Ensuring role/discretionary based access control is in place where necessary.
# Ensuring credentials are not exposed in internal or external network traffic.
+
# 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 web interface uses easily guessable default usernames and passwords.
+
'''Scenario #1:''' The interface only requires simple passwords.
  
 
{{Top_10_2010:ExampleBeginTemplate|year=2013}}<span style="color:red;">
 
{{Top_10_2010:ExampleBeginTemplate|year=2013}}<span style="color:red;">
Username = Admin; Password = password
+
Username = Bob; Password = 1234
  
 
</span>{{Top_10_2010:ExampleEndTemplate}}
 
</span>{{Top_10_2010:ExampleEndTemplate}}
'''Scenario #2:''' Username and password in the clear 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;">
POST /login.htm HTTP/1.1
+
Authorization: Basic YWRtaW46MTIzNA==
...
 
userid=admin&pass=pass
 
  
 
</span>{{Top_10_2010:ExampleEndTemplate}}
 
</span>{{Top_10_2010:ExampleEndTemplate}}
In the cases above, the attacker is able to either easily guess the username and password or is able to capture the username and password as it crosses the network.
+
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.
  
  

Revision as of 23:44, 18 June 2014

Back To The Internet of Things Top 10
Threat Agents Attack Vectors Security Weakness Technical Impacts Business Impacts
Application Specific Exploitability
EASY
Prevalence
COMMON
Detectability
AVERAGE
Impact
SEVERE
Application / Business Specific
Consider anyone who has access to the device itself, the network the device is connected to, the mobile application and the cloud connection including external and internal users. Attacker uses multiple vectors such as insufficient authentication, lack of transport encryption or insecure network services to view personal data which is being properly protected or is being collected unnecessarily. Depending on setup, attack could come from external or internal users. Privacy concerns generated by the collection of personal data in addition to the lack proper protection of that data is prevalent. Privacy concerns are easy to discover by simply reviewing the data that is being collected as on sets up and activates these devices. Automated tools can also look for specific patterns of data that may indicate collection of personal data. Collection of personal data along with a lack of protection of that data can lead to compromise of a user's personal data. Consider the business impact of personal data that is collected unnecessarily or isn't protected properly. Data could be stolen or modified. Could your users be harmed by having their personal data exposed?
Is My Cloud Interface Secure?

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.

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.

Automated dynamic scanning which exercises the application will provide insight into whether these issues exist as well.

How Do I Secure My Cloud Interface?

Ensuring sufficient authentication/authorization requires:

  1. Ensuring password recovery mechanisms are robust.
  2. Ensuring complex password construction.
  3. Ensuring role/discretionary based access control is in place where necessary.
  4. Ensuring credentials are properly protected.
Example Attack Scenarios

Scenario #1: The interface only requires simple passwords.

Username = Bob; Password = 1234

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

Authorization: Basic YWRtaW46MTIzNA==

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.


References

OWASP

External