Everyone knows security is a big issue for the Internet of Things, but what specifically should we be most afraid of? OWASP identifies the top 10 vulnerabilities.
That’s where OWASP—the Open Web Application Security Project—comes in. In its own words, “The OWASP Internet of Things Project is designed to help manufacturers, developers, and consumers better understand the security issues associated with the Internet of Things, and to enable users in any context to make better security decisions when building, deploying, or assessing IoT technologies.”
OWASP’s top 10 IoT vulnerabilities
To that end, on Christmas Day, OWASP released its top 10 IoT vulnerabilities for 2018, complete with an infographic (see below). Let’s take a look at the list, with some commentary:
1. Weak, guessable, or hardcoded passwords
“Use of easily brute-forced, publicly available, or unchangeable credentials, including backdoors in firmware or client software that grants unauthorized access to deployed systems.”
Frankly, this issue is so obvious that I can hardly believe it’s still something we have to think about. I don’t care how cheap or innocuous an IoT device or application may be, there’s never an excuse for this kind of laziness.
2. Insecure network services
“Unneeded or insecure network services running on the device itself, especially those exposed to the internet, that compromise the confidentiality, integrity/authenticity, or availability of information or allow unauthorized remote control.”
This makes sense, but it’s a bit more of a gray area, as it’s not always clear whether those network services are “unneeded or insecure.”
3. Insecure ecosystem interfaces
“Insecure web, backend API, cloud, or mobile interfaces in the ecosystem outside of the device that allows compromise of the device or its related components. Common issues include a lack of authentication/authorization, lacking or weak encryption, and a lack of input and output filtering.”
Again, it’s not always obvious whether the interfaces are actually allowing compromise, but authentication, encryption, and filtering are always good ideas.
4. Lack of secure update mechanisms
“Lack of ability to securely update the device. This includes lack of firmware validation on device, lack of secure delivery (un-encrypted in transit), lack of anti-rollback mechanisms, and lack of notifications of security changes due to updates.”
This is an ongoing issue for IoT applications, as many vendors and enterprises don’t bother to think through the future of their devices and implementations. In addition, it’s not always a technology issue. In some cases, the physical location of IoT devices makes updating—and repair/replacement—a significant challenge.
5. Use of insecure or outdated components
“Use of deprecated or insecure software components/libraries that could allow the device to be compromised. This includes insecure customization of operating system platforms, and the use of third-party software or hardware components from a compromised supply chain.”
Come on, folks, there’s no excuse for this kind of problem. Stop being cheap and do things right.