Top 10 2014-I5 Privacy Concerns

Back To The Internet of Things Top 10

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. Depending on setup, 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 make its way out to the internet, 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 implementation of common transport encryption such as SSL and TLS.

Lack of transport encryption can result in data loss or corruption and and can 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?

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.

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.

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.