Top 10 2014-I6 Insecure Cloud Interface

Back To The Internet of Things Top 10

Consider anyone who has access to the internet or has compromised a device locally.

Attacker uses multiple vectors such as insufficient authentication, lack of transport encryption and account enumeration to access data or controls via the cloud website. Attack will most likely come from the internet, however attack could come from a locally compromised device attacking the cloud service it is connecting to.

An insecure cloud interface is present when easy to guess credentials are used or account enumeration is possible. Insecure cloud interfaces are easy to discover by simply reviewing the connection to 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.

An insecure cloud interface could lead to compromise of user data and control over the device.

Consider the business impact of an insecure cloud interface. Data could be stolen or modified and devices taken control of. Could your users be harmed? Could your brand be harmed?

The easiest way to determine if your cloud interface is secure is by reviewing areas such as account enumeration, account lockout and whether credentials are exposed while connected to the cloud interface.

Ensuring sufficient authentication/authorization requires:
 * 1) Ensuring user accounts can not be enumerated using functionality such as password reset mechanisms.
 * 2) Ensuring account lockout after an appropriate number of tries.
 * 3) Ensuring credentials are not exposed while connected to wireless networks.

Scenario #1: The interface only requires simple passwords.

Example

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

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.