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-I4 Lack of Transport Encryption"

From OWASP
Jump to: navigation, search
 
(19 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 device via a network connection, including external and internal users.
+
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Consider anyone who has access to the network the device is connected to, including external and internal users.
  
 
</td>
 
</td>
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Attacker uses vulnerable network services to attack the device itself or bounce attacks off the device. Depending on setup, attack could come from external or internal users.
+
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Attacker uses the lack of transport encryption to view data being passed over the network. Attack could come from external or internal users.
  
 
</td>
 
</td>
     <td colspan=2  {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Insecure network services may be susceptible to buffer overflow attacks or attacks that created a denial of service condition leaving the device inaccessible to the user. Denial of service attacks against other users may also be facilitated when insecure network services are available. Insufficient authentication/authorization is prevalent as manufacturers strive to make interfaces easier for users to use and assume these interfaces will not be exposed to external users. Deficiencies are often found to be present across all interfaces as vendors strive to make credentials match across varying interfaces. Many Issues with authentication/authorization 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}}>Lack of transport encryption allows data to be viewed as it travels over local networks or the internet. Lack of transport encryption is prevalent on local networks as it is easy to assume that local network traffic will not be widely visible, however in the case of a local wireless network, misconfiguration of that wireless network can make traffic visible to anyone within range of that wireless network. Many Issues with transport encryption are easy to discover simply by viewing network traffic and searching for readable data. Automated tools can also look for proper implementation of common transport encryption such as SSL and TLS.
  
 
</td>
 
</td>
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Insufficient authentication/authorization can result in data loss or corruption, lack of accountability, or denial of access and can lead to complete compromise of the device or user accounts.
+
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Lack of transport encryption can result in data loss and depending on the data exposed, could lead to complete compromise of the device or user accounts.
  
 
</td>
 
</td>
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate|year=2013}}>Consider the business impact of compromised devices and accounts 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 exposed data as it travels across various networks. Data could be stolen or modified.  Could your users be harmed by having their 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=freetext|title=Do I use Transport Encryption?|position=firstLeft|year=2013|language=en}}
+
{{Top_10:SubsectionTableBeginTemplate|type=main}} {{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=freetext|title=Do I Use Transport Encryption?|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 Lack of Transport Encryption includes:
 +
* Reviewing network traffic of the device, its mobile application and any cloud connections to determine if any information is passed in clear text
 +
* Reviewing the use of SSL or TLS to ensure it is up to date and properly implemented
 +
* Reviewing the use of any encryption protocols to ensure they are recommended and accepted
  
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 Use Transport Encryption?|position=right|year=2013|language=en}}
 +
Sufficient transport encryption requires:
 +
# Ensuring data is encrypted using protocols such as SSL and TLS while transiting networks.
 +
# Ensuring other industry standard encryption techniques are utilized to protect data during transport if SSL or TLS are not available.
 +
# Ensuring only accepted encryption standards are used and avoid using proprietary encryption protocols
 +
# Ensuring the message payload encryption
 +
# Ensuring the secure encryption key handshaking
 +
# Ensuring received data integrity verification
  
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 Use Transport Encryption?|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:''' The cloud interface uses only HTTP.
  
 
{{Top_10_2010:ExampleBeginTemplate|year=2013}}<span style="color:red;">
 
{{Top_10_2010:ExampleBeginTemplate|year=2013}}<span style="color:red;">
Username = Bob; Password = 1234
+
<nowiki>http://www.xyzcloudsite.com</nowiki>
  
 
</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 transmitted in the clear over the network.
 
{{Top_10_2010:ExampleBeginTemplate|year=2013}}<span style="color:red;">
 
{{Top_10_2010:ExampleBeginTemplate|year=2013}}<span style="color:red;">
Authorization: Basic YWRtaW46MTIzNA==
+
<nowiki>http://www.xyzcloud.com/login.php?userid=3&password=1234</nowiki>
  
 
</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 has the ability to view sensitive data in the clear due to lack of transport encryption.
  
  
Line 51: Line 55:
 
{{Top_10_2010:SubSubsectionOWASPReferencesTemplate}}
 
{{Top_10_2010:SubSubsectionOWASPReferencesTemplate}}
  
 +
[https://www.owasp.org/index.php/Top_10_2013-A6-Sensitive_Data_Exposure Top 10 2013-A6-Sensitive Data Exposure]
 
{{Top_10_2010:SubSubsectionExternalReferencesTemplate}}
 
{{Top_10_2010:SubSubsectionExternalReferencesTemplate}}

Latest revision as of 06:08, 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 network the device is connected to, including external and internal users. Attacker uses the lack of transport encryption to view data being passed over the network. Attack could come from external or internal users. Lack of transport encryption allows data to be viewed as it travels over local networks or the internet. Lack of transport encryption is prevalent on local networks as it is easy to assume that local network traffic will not be widely visible, however in the case of a local wireless network, misconfiguration of that wireless network can make traffic visible to anyone within range of that wireless network. Many Issues with transport encryption are easy to discover simply by viewing network traffic and searching for readable data. Automated tools can also look for proper implementation of common transport encryption such as SSL and TLS. Lack of transport encryption can result in data loss and depending on the data exposed, could lead to complete compromise of the device or user accounts. Consider the business impact of exposed data as it travels across various networks. Data could be stolen or modified. Could your users be harmed by having their data exposed?
Do I Use Transport Encryption?

Checking for Lack of Transport Encryption includes:

  • Reviewing network traffic of the device, its mobile application and any cloud connections to determine if any information is passed in clear text
  • Reviewing the use of SSL or TLS to ensure it is up to date and properly implemented
  • Reviewing the use of any encryption protocols to ensure they are recommended and accepted
How Do I Use Transport Encryption?

Sufficient transport encryption requires:

  1. Ensuring data is encrypted using protocols such as SSL and TLS while transiting networks.
  2. Ensuring other industry standard encryption techniques are utilized to protect data during transport if SSL or TLS are not available.
  3. Ensuring only accepted encryption standards are used and avoid using proprietary encryption protocols
  4. Ensuring the message payload encryption
  5. Ensuring the secure encryption key handshaking
  6. Ensuring received data integrity verification

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

Example Attack Scenarios

Scenario #1: The cloud interface uses only HTTP.

http://www.xyzcloudsite.com

Scenario #2: Username and password are transmitted in the clear over the network.

http://www.xyzcloud.com/login.php?userid=3&password=1234

In the cases above, the attacker has the ability to view sensitive data in the clear due to lack of transport encryption.


References

OWASP

Top 10 2013-A6-Sensitive Data Exposure

External