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?
Learn IoT Security
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
- Skynet
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.
Communication Flow -
- All components (Mobile, IoT device henceforth Fan, cloud service) should be connected to each other for sharing and exchanging the data.
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.
Learn IoT Security
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.
Sources
- /getting-started-with-iot-security-mapping-the-attack-surface/
- /beginners-guide-to-pentesting-iot-architecture-network-and-setting-up-iot-pentesting-lab-part-2/
- https://www.zdnet.com/article/what-is-the-internet-of-things-everything-you-need-to-know-about-the-iot-right-now/
- https://www.newgenapps.com/blog/iot-ecosystem-components-the-complete-connectivity-layer/