IoT Security Fundamentals: Hardware, Software and Radio Security
What is IoT – IoT stands for Internet of Things. The Internet of Things (IoT) is the interconnection and network of various devices formed by connecting any physical device (Vehicle, Tube Light, Thermostat etc) to the internet for sharing and exchanging the data.
How does any physical device become capable of getting connected to the Internet?
To make this happen, we simply use prototyping board such as Arduino, Raspberry Pi, Beaglebone etc or embed a chip into the device which makes the device capable of connecting to the internet for sharing and exchanging data.
Hope the definition and the concept behind IoT is clear.
Other names for IoT – IoT has other names as well. Few of them are –
- M2M (Machine to Machine)
- Internet of Everything
- World Size Web
Components of IoT – IoT is not just a network of physical device connected via Ethernet cable or wirelessly to the internet. It involves following components –
- Physical Object – The device which will be connected to the internet. Example – If you want to connect a fan to the internet, a fan is a physical object.
- Sensors – A device which detects or measures a physical property and records, indicates, or otherwise responds to it. Example – Temperature sensor for sensing the temperature.
- Actuators – A component that is responsible for moving or controlling a mechanism or system. Example – If you want to turn off the fan, you will issue a command to turn off the fan. The physical device which turns off the fan is termed as actuator.
- Cloud Service Provider – Cloud service for connecting to the cloud. Example – AWS, Azure, IBM Watson etc.
IoT Communication Flow – Let’s have a look at the picture below for understanding the communication flow between various components involved in a typical IoT network –
As shown in the above diagram, 4 components are involved. They are:
- IoT Device – Can be seen in the diagram termed DEVICES. It can be anything.
Example – Smart Fan.
- Mobile – It has a mobile application installed on it for controlling the device and sending commands to the cloud.
- Cloud/Web Dashboard – Cloud service for configuring remote access to IoT devices.
- IoT gateway – It can be anything. In this case, it’s simply a router which supplies internet connection to IoT devices and Mobile.
Communication Flow –
- All components (Mobile, IoT device henceforth Fan, cloud service) should be connected to each other for sharing and exchanging the data.
- Fans should be connected to mobile and cloud. In this case, we have a router termed IoT Gateway which will provide net connection to Fan for connecting it to the cloud service.
- Fan uses protocols such as ZigBee, zWave, 6LowPan etc. for connecting to the router and connection between mobile app and fan can be done using protocols such as Bluetooth as shown.
- Mobile apps should be connected to cloud and Fan. Mobile app can use Cellular data for connecting to the cloud or via Wi-Fi connection provided by IoT Gateway and the communication between mobile app and fan is done using Bluetooth as seen.
- The last component i.e. cloud needs to be connected to mobile app and Fan and the connection between them happens as described in point 2 and 3.
Security of various components involved in IoT Network –
As seen above major components involved are an IoT Device, Firmware running on the device, Radio Communication between devices, Web Interface.
Following security measures should be taken for protecting each of the components –
1) IoT Device Security – This involves dealing with various interfaces like UART, JTAG, SPI, and I2C etc. Description of these interfaces is out of scope. Various hardware tools are required for analyzing the communication between these interfaces. They are – Multimeter, Arduino, USB to Serial adapters – Shikra, USB-TO-TTL, FT232 FTDI, BusPirate, ChipWhisperer, Jumper Wires, Breadboard, Salea Logic Analyzer, Jtagulator, etc. Also, Minicom, OpenOCD, Spiflash, baud rate.py, flash ROM, etc. are few of the software’s used in analyzing communication between the devices.
2) Software Security – This involves the security of firmware – Firmware Extraction and Reversing. For firmware security, widely – Binwalk, FAT, Firmadyne, Firmwalker, GDB, Radare2, IDA, Qemu is used.
3) Radio Communication – Certain IoT devices like Smart Bell, Car key fob involves Radio Communication and various attacks on Radio communication can be carried out. Following tools are used – GQRX, SDR#, Audacity, URH, RTL-SDR, HackRF, and RFCat.
4) Web/Cloud Interface – This typically involves pentesting the Web/Cloud Interface. It is the same as Web Application or Cloud Application Penetration Testing and involves the same set of tools used for Web/Cloud Penetration Testing.
We've encountered a new and totally unexpected error.
Get instant boot camp pricing
A new tab for your requested boot camp pricing will open in 5 seconds. If it doesn't open, click here.