Methodology
Explanation
Why we need to classify IoT devices?
IoT attacks started as early as 2016. Attacks were possible through IoT botnet, where malware gathered thousands of IoT devices to perpetuate the denial of services.
How can we classify an IoT device?
To classify an IoT device, we will create the IoT Device Dangerousness Rating System (IDRS) Index based on the North American Academic grading system (A, B, C, D, F). Given a calculated score, the GRAding Score (GRAS), we can assess the IoT Dangerousness by assigning it a grade. To evaluate the Dangerousness, we will use criteria scattered in different categories.
- Each criterion will have a CRIterion Score (CRIS) ranging from 1 to 3, where a lower value means less harmful.
- Each category will have a CATegory Score (CATS) that will equal the average of all CRIS. If our CATS is not a whole number, we round the score to the ceil (1.667 -> 2).
- The GRAS will equal the sum of all CATS.
We will have a number C of categories and V the number of values possible for CRIS. We can also use variations for the grading (+, neutral, -) if necessary. The GRAS will range from an interval I = [C; C * V] and a number of possibles values of N = C * (V - 1) + 1.
In our case, we have
- C = 3 categories
- V = 3 values possibles
- I = [C; C * V] = [3; 9]
- N = C * (V - 1) + 1 = 3 * (3 - 1) + 1 = 7 possibles values
Since we are using the North American Academic grading system, we have 5 possibles values, so we will need to add 2. For our 7 values, we will use A+, A, A-, B, C, D, and F.
Grade | + | - | |
---|---|---|---|
A | 3 | 4 | 5 |
B | 6 | ||
C | 7 | ||
D | 8 | ||
F | 9 |
Example
Let's have an example
Category 1 | 1 | 2 | 3 |
---|---|---|---|
Criterion 1 | Absent | Rare | Very common |
Criterion 2 | Absent | Rare | Very common |
Criterion 3 | Absent | Rare | Very common |
We will have a CATS for Category 1 of (1 + 2 + 3)/3 = 2
We then proceed in repeating the same operation for the remaining categories to be able to calculate the GRAS with the sum of all CATS.
CATS | |
---|---|
Category 1 | 1 |
Category 2 | 2 |
Category 3 | 3 |
We will have a GRAS of 1 + 2 + 3 = 6. Furthermore, we can conclude that we have a grade of B.
Grade Calculator
To access the Grade Calculator
Categories
Device
Criterion | 1 | 2 | 3 |
---|---|---|---|
Known hardware tampering | None | Rare | Very common |
Known vulnerabilities | None | Rare | Very common |
Prior attacks | None | Rare | Very common |
Updatability | Very common | Rare | None |
Known hardware tampering
Known hardware tampering defines the resistance to physical modification of its hardware (ports, parts, power). It defines the resistance to the physical modification that modifies its responsibilities. It includes anything from connecting to exposed ports to interrupting the device’s power, device theft, removing parts, etc. (Elizalde, s.d.)
Known vulnerabilities
Known vulnerabilities defines if there are known vulnerabilities linked to the device type. The existence of vulnerabilities can be a major risk as they can give remote access to the device.
Prior attacks
Prior attacks defines the frequency that the device has been used in previous IoT attacks. When a device has been previously used in a botnet, it will become easy to hack the device in the future. The malware source code used on the device could also have been released on the internet. It can be accessed, reused, or modified by hackers for future attacks such as the Mirai malware and all of its variants. (Infosec, 2018)
Updatability
Updatability defines the frequency of software updates on an IoT device. The software can contain bugs and vulnerabilities that can affect its integrity and can be a risk if it is not updatable. (Internet Society, 2019)
System
Criterion | 1 | 2 | 3 |
---|---|---|---|
Authentication with other systems | Full authentication | Partial authentication | No authentication |
Communications | Encrypted with up-to-date encryption | Encrypted with obsolete encryption | Not encrypted |
Storage | Encrypted with up-to-date encryption | Encrypted with obsolete encryption | Not encrypted |
Authentication with other systems
Authentication with other systems doesn’t allow communication with another system without prior authentication. Mutual authentication with other systems
Communications
Communications defines the level of encryption of the communications. Unencrypted communication can be intercepted through a packet analyzer. Plain-text HTTP protocol data can be intercepted by MitM (Man in the middle). This can be avoided by using HTTPS with SSL or TLS as 90% of data transactions by IoT devices are unencrypted, 41% no TLS, 41% TLS some connection, 18% TLS all traffic. (Constantin, 2019)(Desai, 2019)
Storage
Storage defines the level of encryption of the element stored in the device’s flash. To avoid unauthorized access to elements stored in the device’s flash.
User Authentication
Criterion | 1 | 2 | 3 |
---|---|---|---|
Account management | Full | Basic | Absent |
Authentication | Secure | Basic | Absent |
Brute-force protection | Exist | Basic | Absent |
Event logging | Access event logged | Partial logging | Absent |
Passwords | Require change after setup with complexity requirements | Require change after setup | Default, common, easy to guess |
Account management
Account management defines the ability to create an account with less privilege, delete an account, modify a password.
Authentication
Authentication defines the level of authentication of a device. It can be defined by the presence of hard-coded usernames and passwords used by engineers for remote testing purposes (Sammonds, 2019). It can be defined by the security checks in the recovery procedure, otherwise, it allows the upload and installation of unsigned firmware images or reset the user accounts to factory settings without authentication.
Brute-force protection
Brute-force protection defines the level of brute-force protection against password dictionary access. It defines if a system can set a limit of failed authentication or not to reduce unauthorized access.
Event logging
Event logging defines a system that can log events, such as access events.
Passwords
Password defines the behavior of the systems towards pre-install passwords on the first setup. Default or common passwords are easy to guess, and one of many reasons how botnets can access and infect a lot of IoT devices. (Grau, s.d.)(Harner, 2018) They are susceptible to brute-force, as they can appear in password dictionaries. Pre-install and non-updatable passwords represent a risk. Systems can require users to change passwords, with complexity requirements, after setup or use a unique pre-install password.