Here is the first part of a two-part blog that covers the security problems in the Internet of Things (IoT) in more technical terms than our previous series .
Imagine that you are on your way back home in a self-driven car, browsing the internet on your mobile. As you come within a 2-mile radius of your house, the air-conditioner switches itself on at the temperature of your choice. You enter your garage, the doors opening automatically, and walk into your room. The lighting dynamically adjusts according to the weather outside, and the lasagna that was in the oven is now all warmed up.
Twenty years ago, if somebody told me such a tale, I’d have laughed and said “you watch too much science fiction”. But today, this scenario is within the scope of modern reality. The IoT revolution is finally here, and it is supposedly bringing joy and comfort to people. But there’s a downside to IoT: it is increasingly becoming an attractive target for cybercriminals. The increase in the sheer number and variety of connected devices has opened up possibilities for coming up with new and more diverse attack techniques.
Security flaws in IoT products have been brought to light by hackers and security researchers. Some of the hacks which made security news were: Smart home, Surveillance cameras, Jeep car (accessed remotely and its engine killed remotely). In addition an airplane’s cockpit controls were accessed via the in-flight entertainment system. As if these weren’t enough, even pacemakers and insulin pumps were demonstrated as being hackable.
If one were to take a closer look into these hacks, a bunch of recurrent fundamental security problems with the IoT ecosystem come forth. Let’s take a look at some of those problems.
IoT devices mostly communicate wirelessly using protocols like LTE Advanced, Cellular 4G/LTE, 3G GPS/GPRS, 2G/GSM/EDGE, CDMA, EVDO, WIMAX, Weightless, Wifi, Bluetooth, UWB, Z-Wave, Zigbee, 6L0wpan, NFC and RFID. There are known security flaws associated with these protocols, and yet they continue to be widely used. This leaves us with two non-trivial choices:
- Fix the issues with these protocols
- Come up with better and more secure protocols
Both of the above choices are non-trivial to execute.
Authentication and Authorization
Credentials/tokens are essential in the traditional authentication and authorization approach. However, IoT has added new modes: biometrics, sensors, NFC, RFID, and sometimes, surprise surprise: no authentication at all! All these years industry has been struggling with securely storing credentials in one way or another. But now we have a whole new array of authentication and authorization approaches to take care of.
Mobile apps, messaging apps in particular, first encrypt the user’s data on the device using state-of-the-art industry-standard encryption algorithms. Then anti-snooping, end-to-end encryption techniques are deployed. However, the same approach can’t be taken with IoT devices as the modes of communication are fundamentally different. Here, the communication is not one-to-one but, one-to-many or many-to-many. Data travels through many communication channels and nodes. Also, the security protocols used by devices might vary.
Minor faults in end-to-end encryption may lead to exposure of credentials, tokens, and other sensitive informations. Imagine that you have a router using a state-of-the-art encryption algorithm. This router then communicates with a thermometer, which stores the network password in plaintext. Now, to break into the network, all one would need to do is target the thermometer, thereby bypassing the entire robust network security framework.
Insecure Web/App Interface
Web/App interfaces are infamous for being targets of choice for hackers. This can be attributed to the bugs/defects present in the underlying frameworks that these interfaces run on. A vulnerable interface could provide a hacker with access to the server or to the cloud itself. The common problems associated with this are:
- A lack of robust password recovery mechanisms
- No protection against cross-site scripting (XSS), code/SQL injections, etc.,
Preoccupied with creating a sleek and minimalistic design, some manufacturers tend to neglect hardware bugs. These bugs, in turn, can allow attackers to reboot the device(s) and their corresponding hotspots. It is not possible to deliver hardware patches over the air.
Unprotected Client Devices
IoT users’ use of desktops, laptops, tablets, mobiles, etc to operate IoT devices, in turn, opens a remote door to devices. All these devices have a long and notorious history of severe vulnerabilities. Consider a scenario of a company building a smart bulb with all these fancy remote control features. They have a highly compatible, secured mobile app, web interface and embedded hardware. But what if customers have a weak wireless setup, outdated mobile operating system, vulnerable desktop applications? On whom are we going to pin the blame for a breach??!
Priyal Viroja, Vulnerability Researcher, K7TCL
If you wish to subscribe to our blog, please add the URL provided below to your blog reader: https://labs.k7computing.com/feed/