论文标题

在基于ARM的系统上实施和破坏负载链接 /商店条件

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

论文作者

Tilley, Evan, Liebeskind, Alexander, Asensio, Rafael

论文摘要

现代电子设备的制造商不断地试图将其他功能实施到越来越复杂且性能苛刻的系统中。这场比赛历史上是由处理器的时钟速度的改善所驱动的,但是随着嵌入式空间中的功耗和房地产问题构成了日益严重的挑战,多线程的方法变得更加普遍和依赖。同步对于多线程系统至关重要,因为它可以确保线程不会干扰彼此的操作并产生可靠,一致的输出,同时最大程度地提高性能和效率。保证RISC架构同步的主要机制之一是负载链接/存储条件例程,该例程实现了允许螺纹获得锁定的原子操作。在这项研究中,我们使用GDB在多线程环境中实施,测试和操纵LL/SC例程。在检查了常规机制后,我们提出了在ARMV7L中进行简洁的实施,并证明了在有限的威胁模型中违反诚信时发生的寄存器完整性和脆弱性的重要性。这项工作阐明了用于多线程的LL/SC操作和相关的锁定程序。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源