Top 10 2014-I3 Insecure Network Services

Back To The Internet of Things Top 10

Consider anyone who has access to the device via a network connection, including external and internal users.

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.

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.

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.

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?

The simplest way to determine if insecure network services exist is to review your device for open ports using a port scanner such as Nmap. As open ports are identified, each can be tested using any number of automated tools that look for DoS vulnerabilities, vulnerabilities related to UDP services and vulnerabilities related to buffer overflow and fuzzing attacks. Discovered ports should also be reviewed to ensure they are absolutely necessary and if there are any ports being exposed to the internet using UPnP.

Ensuring network services are secure requires:
 * 1) Ensuring only necessary ports are exposed and available.
 * 2) Ensuring services are not vulnerable to buffer overflow and fuzzing attacks.
 * 3) Ensuring services are not vulnerable to DoS attacks which can affect the device itself or other devices and/or users on the network.

Scenario #1: Fuzzing attack causes network service and device to crash.

GET %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s HTTP/1.0

Scenario #2: Ports open to the internet possibly without the users knowledge via UPnP. Port 80 and 443 exposed to the internet via a home router.

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.