Implementing and Breaking Load-Link / Store-Conditional on an ARM-Based System

07/19/2022
by   Evan Tilley, et al.
0

Manufacturers of modern electronic devices are constantly attempting to implement additional features into ever-increasingly complex and performance demanding systems. This race has been historically driven by improvements in the processor's clock speed, but as power consumption and real estate concerns in the embedded space pose an growing challenge, multithreading approaches have become more prevalent and relied upon. Synchronization is essential to multithreading systems, as it ensures that threads do not interfere with each others' operations and produce reliable and consistent outputs whilst maximizing performance and efficiency. One of the primary mechanisms guaranteeing synchronization in RISC architectures is the load-link/store conditional routine, which implements an atomic operation that allows a thread to obtain a lock. In this study, we implement, test, and manipulate an LL/SC routine in a multithreading environment using GDB. After examining the routine mechanics, we propose a concise implementation in ARMv7l, as well as demonstrate the importance of register integrity and vulnerabilities that occur when integrity is violated under a limited threat model. This work sheds light on LL/SC operations and related lock routines used for multithreading.

READ FULL TEXT

page 1

page 3

research
11/21/2019

LL/SC and Atomic Copy: Constant Time, Space Efficient Implementations using only pointer-width CAS

The Load-Link/Store-Conditional (LL/SC) primitive is considered the most...
research
12/18/2017

Pragmatic Primitives for Non-blocking Data Structures

We define a new set of primitive operations that greatly simplify the im...
research
12/28/2020

A Survey on Vulnerabilities of Ethereum Smart Contracts

Smart contract (SC) is an extension of BlockChain technology. Ethereum B...
research
03/21/2019

Rate-Flexible Fast Polar Decoders

Polar codes have gained extensive attention during the past few years an...
research
03/22/2019

Parallel Adaptive Sampling with almost no Synchronization

Approximation via sampling is a widespread technique whenever exact solu...
research
06/01/2016

It's Time: OS Mechanisms for Enforcing Asymmetric Temporal Integrity

Mixed-criticality systems combine real-time components of different leve...

Please sign up or login with your details

Forgot password? Click here to reset