首页> 外文学位 >Black-, Grey-, and White-Box Side-Channel Programming for Software Integrity Checking
【24h】

Black-, Grey-, and White-Box Side-Channel Programming for Software Integrity Checking

机译:黑,灰和白盒侧通道编程,用于软件完整性检查

获取原文
获取原文并翻译 | 示例

摘要

Checking software integrity is a fundamental problem of system security. Many approaches have been proposed trying to enforce that a device runs the original code. Software-based methods such as hypervisors, separation kernels, and control flow integrity checking often rely on processors to provide some form of separation such as operation modes and memory protection. Hardware-based methods such as remote attestation, secure boot, and watchdog coprocessors rely on trusted hardware to execute attestation code such as verifying memory content and examining signatures appearing on buses. However, many embedded systems do not possess such sophisticated capabilities due to prohibitive hardware costs, unacceptably high power consumption, or the inability to update fielded components. Further, security assumption may become invalid as time goes by. For Systems-on-Chip (SoCs), in particular, internal activities cannot be observed directly, while in non-SoCs, sniffing bus traffic between constituent components may suffice for integrity checking.;A promising approach to check software integrity for resource-constrained SoCs is through side-channels. Side-channels have been used mostly for attacks, such as eavesdropping from vibration of glass or plant leaves, fingerprinting machines from traffic patterns, or extracting secret key materials of cryptographic routines using power consumption measurements. In this work, side-channels are used to enhance rather than undercut security. First, we study the relationships between the internal states of a target device and side-channel information. We use the uncovered relationships to monitor the internal state of a running device and determine whether the internal state is an expected one. An unexpected state may be a sign of incorrect execution or malicious activity.;To further explore the possibilities inherent in side-channel-based software integrity checking, we investigate various hardware platforms, representative of different degrees of knowledge of the hardware from the side-channel profiling point of view. In other words, side-channel information is extracted by black-, grey-, and white-box analysis. Each one involves unique challenges requiring different techniques to successfully derive "side-channel profiles". We can use these profiles to detect unexpected states with extremely high probability, even when an adversary knows that their code may be subject to side-channel analysis, i.e., the methodology is robust to side-channel-aware adversaries.;The research includes: (1) Constructing systematic approaches for black- and grey-box profiling of side channels (and comparing them to white-box analysis); (2) Designing custom measurement instrumentation; and (3) Developing techniques for monitoring and enforcing software integrity utilizing side-channel profiles.;We introduce the term "side-channel programming" to refer to techniques we design in which developers explicitly utilize side-channel characteristics of existing hardware to optimize run-time software integrity checking, creating executable code which is more conducive to side-channel-based monitoring. Compared with other software integrity checking techniques, our approach has numerous benefits. Among them are that the measurement process is non-invasive, non-interruptive, and backward-compatible in that it does not require any hardware modification, meaning our approach works with processors that do not include security features. Our method can even be used to augment existing protection mechanism, as it works even when all security mechanisms internal to the device fail.
机译:检查软件完整性是系统安全性的基本问题。已经提出了许多方法来试图强制设备运行原始代码。系统管理程序,分离内核和控制流完整性检查等基于软件的方法通常依赖处理器来提供某种形式的分离,例如操作模式和内存保护。诸如远程证明,安全启动和看门狗协处理器之类的基于硬件的方法依赖于受信任的硬件来执行证明代码,例如验证内存内容和检查总线上出现的签名。但是,由于难以承受的硬件成本,不可接受的高功耗或无法更新现场组件,许多嵌入式系统不具备如此复杂的功能。此外,随着时间的流逝,安全性假设可能变得无效。特别是对于片上系统(SoC),无法直接观察内部活动,而在非SoC中,嗅探组成组件之间的总线流量可能足以进行完整性检查;一种有前途的方法来检查资源有限的软件完整性SoC是通过辅助通道实现的。旁通道主要用于攻击,例如从玻璃或植物叶子的振动中窃听,从交通模式中窃取指纹,或者使用功耗测量来提取加密例程的秘密材料。在这项工作中,使用旁通道来增强而不是削弱安全性。首先,我们研究目标设备的内部状态与边信道信息之间的关系。我们使用发现的关系来监视正在运行的设备的内部状态,并确定内部状态是否为预期状态。意外状态可能是执行不正确或恶意活动的标志。为了进一步探索基于边信道的软件完整性检查所固有的可能性,我们研究了各种硬件平台,这些硬件平台从侧面代表了不同程度的硬件知识。渠道分析的观点。换句话说,通过黑盒,灰盒和白盒分析来提取辅助信道信息。每个挑战都涉及独特的挑战,需要使用不同的技术来成功导出“边信道配置文件”。我们可以使用这些配置文件以极高的概率检测意外状态,即使对手知道其代码可能需要进行旁渠道分析,即该方法对于具备旁信道意识的对手也很健壮。该研究包括: (1)构建侧通道黑盒和灰盒轮廓分析的系统方法(并将它们与白盒分析进行比较); (2)设计定制的测量仪器; (3)利用侧通道配置文件开发监视和强制软件完整性的技术。我们引入术语“侧通道编程”来指代我们设计的技术,在这些技术中,开发人员明确利用现有硬件的侧通道特性来优化运行实时软件完整性检查,创建可执行代码,更有利于基于边信道的监视。与其他软件完整性检查技术相比,我们的方法具有许多优点。其中包括测量过程是非侵入性的,不间断的并且向后兼容的,因为它不需要任何硬件修改,这意味着我们的方法适用于不包含安全功能的处理器。我们的方法甚至可以用来增强现有的保护机制,因为即使设备内部的所有安全机制都失败了,它也可以起作用。

著录项

  • 作者

    Liu, Hong.;

  • 作者单位

    Kansas State University.;

  • 授予单位 Kansas State University.;
  • 学科 Computer science.
  • 学位 Ph.D.
  • 年度 2017
  • 页码 131 p.
  • 总页数 131
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号