Dynamic Memory Layout Randomization for IoT Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

IoT devices are vulnerable to memory-related attacks, such as buffer overflow attacks, due to predictable memory layouts, which can be exploited across multiple devices with the same firmware, and it takes time to deploy fixes, leaving many devices exposed.

Innovation Solution

Implementing a method to dynamically reorder memory resources at startup or runtime, using a supervisor module and remote monitoring server to change the layout of objects within resources, generating device-specific seed values for reordering, and tracking reordered layouts to prevent attackers from guessing object locations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If the same memory layout is used across all devices with the same firmware, then device manufacturing and firmware deployment are simplified, but devices become vulnerable to scalable memory-related attacks

Engineering Contradiction:
Improvefirmware deployment simplicityVSAvoidmemory attack vulnerability
Core Design Contradiction:
Ease of manufactureVSObject-affected harmful factors

Solution Approach 1:

The patent applies dynamics by transitioning from a static, fixed memory layout to a dynamic, randomized memory layout. Each device randomly assigns memory addresses to firmware sections during the boot process, so that while the firmware structure remains the same, the actual memory addresses change for each device. This resolves the contradiction by maintaining manufacturing simplicity while eliminating attack vulnerability through runtime randomization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of memory address assignment from deterministic to random. Instead of assigning fixed addresses to firmware sections, the system uses random address allocation at boot time. This parameter change maintains the simplicity of firmware deployment while fundamentally altering the memory layout to prevent predictable attack patterns.

Inventive Principle:
Principle #35Parameter changes

2Object-affected harmful factors

If memory layout is randomized to prevent attacks, then security against memory-related attacks is improved, but device complexity increases due to additional reordering mechanisms

Engineering Contradiction:
Improvememory attack resistanceVSAvoidmemory management complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing memory layout randomization during the boot process before the firmware executes its normal operations. The random address assignment is established in advance, and the firmware then operates with this pre-determined layout. This approach avoids the need for complex runtime reordering mechanisms while still achieving security benefits.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of a random number generator and address assignment module that mediates between the firmware structure and the physical memory layout. This intermediary layer handles the complexity of randomization centrally, allowing the rest of the system to operate with simplified memory management assumptions.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If fixes for memory attacks are deployed to all devices simultaneously, then consistent security updates are achieved, but devices remain exposed during the update deployment period

Engineering Contradiction:
Improvesecurity update consistencyVSAvoidvulnerability exposure window
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by implementing random memory layout assignment at boot time as a preventive measure before any attack can occur. This preliminary security mechanism is already in place when devices are manufactured and activated, so no additional exposure time is needed for security updates to take effect.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent ensures continuity of security protection by maintaining the random memory layout mechanism continuously from boot to boot. The security feature operates continuously without interruption, eliminating gaps in protection that would occur during update deployment periods.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10956577B2Methods and apparatus for defending against memory-related attacks on devices
Publication Date: 2021.03.23 ARM IP
  • US10956577B2 patent drawing
  • US10956577B2 patent drawing
  • US10956577B2 patent drawing

AI summary

An apparatus and methods are provided to defending device against attacks. When it is determined that a device is under attack, a determination is made as to whether a layout of objects within said at least one resource at said device is protecting said device against said attack. The determination is then transferred to a remote server together with a layout of the resource at the device. When it is determined that the layout of objects within the at least one resource at the device is not protecting the device against the attack, then the layout of the at least one resource is changed. Either the remote server or the device may determine whether to change the layout in response to the attack.