Top 10 2014-I6 Insecure Cloud Interface

Back To The Internet of Things Top 10

Consider anyone who has access to the internet.

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.

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: 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.