IoT Fundamental Chapter 3 - The IoT Device Layer Attack Surface

Lakukan tugas rumah & ujian kamu dengan baik sekarang menggunakan Quizwiz!

Non-Discretionary access control

Access decisions are based on an individual's roles and responsibilities within the organization, also known as role-based access control (RBAC).

Attribute-based access control (ABAC)

Allows access based on attributes of the object (resource) be to accessed, the subject (user) accessing the resource, and environmental factors regarding how the object is to be accessed, such as time of day.

CISC

Processors have the ability to perform several operations with a single instruction. More transistors are necessary to store the more complex instructions. The additional transistors create more heat, require more power, and add to the cost of the processor. However, the use of complex instructions reduces the size of the program code.

Serial Peripheral Interface (SPI)

SPI is also used for communicating with devices on the same board. It may be used for communicating with EEPROM, flash, or other devices located as much as a few feet away. Extracting sensitive information is a very real possibility.

debug/boot mode

Sometimes this can be accessed using a keystroke combination. This is also possible in the case where attackers have access to the device board.

Compiled Code

Source code is written in a format that is readable with a text editor and then converted into machine code that is read and executed by the processor. Examples of compiled code languages include C, C++, Rust and Visual Basic.

Zigbee - 10-100 meters; low-power; low-data rate; offers basic encryption

10-100 meters; low-power; low-data rate; offers basic encryption

Embedded Devices

A product that contains a computing system designed for a special purpose. It's operating system is typically designed to run a single application. ATM machines, point-of sale terminals, smart appliances, such as dishwashers and refrigerators, may contain these.

RFC 7228

A sample of the full document (see image)

Embedded MultiMedia Card (eMMC)

A type of non-volatile memory that is often soldered directly to a system board (embedded), although removable versions are available. It is fast, low-power, and relatively inexpensive. Embedded types resist tampering and theft better than removable SD Card memory.

Two main provides of RISC processors.

ARM and MIPS

Smart Sensors

Able to communicate with devices using specialized protocols and interfaces. Devices that take information from a physical environment and use embedded microprocessors and wireless communication to monito.

big.LITTLE Computing

An ARM architecture that uses processors (cores) with differing processing capabilities and power requirements. The LITTLE processor uses less power when the task at hand does not require as much processing capability. The big processor provides the most compute performance, with the trade off being higher power requirements. Using this type of heterogeneous architecture can extend battery life in devices that are in remote locations.

Mandatory access control (MAC)

Applies the strictest access control and is typically used in military or mission critical applications. It assigns security level labels to information and provides users with access based on their security level clearance.

Non-Volatile Memory (EPROM and EEPROM)

Are considered non-volatile memory because they retain the information stored even when power is off. This type of memory is often used to store firmware, the bootloader, and other critical information required for the IoT device to operate. An attacker may be able to read the communication between the memory and the microcontroller.

Volatile Memory SRAM (Static Random Access Memory) and DRAM (Dynamic Random Access Memory)

Are used to hold the operating code and provide temporary storage while the device is running. After the device is powered down, all data in memory is lost.

Contain known hardware-based vulnerabilities:

Blu-Ray players Cameras Home automation devices Media players Music players NAS devices Printers Televisions VoIP hardware Medical devices Networking devices Android TV devices

Known Firmware Vulnerabilities:

Default Login Credentials Distributed Denial of Service (DDoS) attacks Out-of-Date Firmware Buffer Overflow Attacks Backdoor Installation

Interpreted Code

Each instruction is executed one after another. The interpreter translates the instruction into a form of machine code that can be performed by the processor. Python may currently be the most popular interpreted code language for IoT devices. Other interpreted languages that may be used include JavaScript, Perl, and PHP.

OWASP (Open Web Application Security Project)

Has compiled a list of vulnerabilities that should be addressed for each attack surface within the IoT system.

Constrained Devices

Have very limited power, memory, and processing cycles. The Internet Engineering Task Force (IETF) defined the classes for ____________________. (see image)

Heterogeneous Computing

Involves using more than one kind of processor with different capabilities. A common approach used by several manufactures employs the Graphics Processing Unit (GPU) to perform complex mathematical calculations or to handle encryption and decryption tasks.

Android Embedded

Is a lightweight Linux version primarily used in mobile devices, but it can also be used for IoT devices. It is designed to reduce power consumption and works with all of the common processors used in IoT devices.

OAuth 2.0 Authorization Framework

Is a standardized protocol for internet-based authentication and authorization specified in IETF RFC 6749. This protocol can be used for access control of IoT devices to make them more secure by having an authorization server handle the authorization of resources.

Joint Test Action Group (JTAG)

Is not a communication protocol, but rather a protocol to be used for testing and debugging. Providing access to the JTAG port could allow an attacker to reverse engineer the logic for the microcontroller.

Discretionary access control (DAC)

It allows users to control access to their data as owners of that data. DAC may use ACLs or other methods to specify which users or groups of users have access to the information.

LTE-M (Long Term Evolution for Machines)

Long range; uses cellular; most secure; offers NSA AES 256-bit security

SD Card

Often used to store data necessary for IoT operation or to store collected data. They could even include the entire operating system and configuration files necessary for operation. It must be protected from removal in order to keep an attacker from modifying the contents in any way, as well as protecting potentially sensitive data.

Busybox

Open source compiled executable that contains many of the core utilities that are usually found in Linux distributions.

Prototyping

The process of building a model that demonstrates the features of a proposed product, service, or system. RaspberryPi and Arduino are exampled of this.

Physical Vulnerabilities of Constrained Devices

Theft of the device Physical damage to the device Disabling the device, removing power source Disabling communication, disconnecting cables or other means of disruption

MIPS (Microprocessor without Interlocked Pipeline Stages)

This architecture is used for many processors in embedded systems as well as networking, mobile, and IoT devices. Are available in 32-bit and 64-bit implementations.

Universal Asynchronous Receiver-Transmitter (UART)

This interface could be used to communicate with other hardware peripheral devices. This attack surface may provide read/write access to the device using serial communication.

Inter-Integrated Circuit (I2C)

This is a serial data protocol used for short distance communication, often between chips on the same board. An attacker could potentially corrupt data or extract data that is being transferred.

ARM (Advanced RISC Machine)

This is an architecture generally licensed to other companies to design their own processor. These processors are available in both 32-bit and 64-bit architectures. The main CPU for the Raspberry Pi uses this architecture.

RISC

Typically have fewer transistors than CISC processors. Fewer transistors translate to lower cost, less power consumed, and less heat produced. These make for a good candidate for both mobile and IoT devices.

LoRa

Up to 10 kilometers; low-power; offers better encryption than Zigbee 64-128 bit

White-Fi (IEEE 802.11af)

Up to 100 meters; low power; WPA security

Public Key Cryptography

Was introduced in 1976 by Whitfield Diffie and Martin Hellman in order to solve the secure key management problem. In their concept, each person gets a pair of keys: one called the public key and the other called the private key. These two keys are mathematically related to each other.

Public Key Infrastructure (PKI)

With its Certificate Authority (CA) is needed to support large-scale distribution and identification of public encryption keys. The PKI framework facilitates a highly scalable trust relationship. PKI is used to prove the identity of the IoT device.


Set pelajaran terkait

Chapter 4: States of Consciousness

View Set

Basic Fundamentals of Insurance (Quiz)

View Set