首页> 外文OA文献 >Static Transformation of Power Consumption for Program Tracing and Software Attestation
【2h】

Static Transformation of Power Consumption for Program Tracing and Software Attestation

机译:用于程序跟踪和软件验证的功耗静态转换

摘要

This thesis presents methods to statically modify programs at compile-time to improve the effectiveness of power consumption based program analyses. Two related applications are considered, and algorithms are introduced for both. The first is power consumption based program tracing, and the second is software attestation with power consumption as a side-effect.We propose a framework for increasing the effectiveness of power-based program tracing techniques. These systems determine the most likely block of source code that produced an observed power trace. Our framework maximizes distinguishability between power traces for different code sections. To this end, we introduce a static transformation to reduce the probability of misclassification by reordering intermediate representation (IR) to find the ordering that produces power traces with the highest distances between them. Experimental results confirm the effectiveness of our technique.We also consider improvements to the algorithm, replacing the naïve, exhaustive permutation algorithm used in the original solution with Monte Carlo permutations. Due to the complexity of the naïve solution, its search space is constrained, making it unlikely to find a good solution when the number of instructions in a program section is too large. Variations on a basic stochastic implementation are described, and their expected results are compared. The Monte Carlo algorithms consistently found better solutions than their exhaustive counterpart while showing improved scalability.We then introduce a related technique to statically transform programs to use power consumption as the side-effect for software attestation. We show how to circumvent the undecidable nature of program execution for this purpose and present a static compiler transformation which implements the algorithm. Our approach is less intrusive than traditional software attestation because the system does not require interruption to compute a cryptographic checksum. It is particularly well suited to real-time systems where consistent timing is more important than speed.
机译:本文提出了在编译时静态修改程序的方法,以提高基于功耗的程序分析的有效性。考虑了两个相关的应用程序,并为两者介绍了算法。第一个是基于功耗的程序跟踪,第二个是以功耗为副作用的软件认证。我们提出了一个框架,以提高基于功耗的程序跟踪技术的有效性。这些系统确定产生观察到的功率跟踪的最可能的源代码块。我们的框架最大程度地提高了不同代码段的电源迹线之间的可区分性。为此,我们引入了一种静态变换,以通过对中间表示(IR)重新排序以找到产生功率迹线且它们之间距离最大的次序来减少错误分类的可能性。实验结果证实了我们技术的有效性。我们还考虑了算法的改进,将原始解决方案中使用的简单,详尽的置换算法替换为蒙特卡洛置换。由于天真的解决方案的复杂性,它的搜索空间受到限制,当程序段中的指令数量太大时,很难找到一个好的解决方案。描述了基本随机实现的变体,并对它们的预期结果进行了比较。蒙特卡罗算法始终能够找到比穷举算法更好的解决方案,同时显示出更好的可扩展性,然后我们引入了一种相关技术来静态转换程序,以将功耗作为软件证明的副作用。我们将展示如何为此目的规避程序执行的不确定性,并介绍实现该算法的静态编译器转换。我们的方法比传统的软件认证更具侵入性,因为该系统不需要中断就可以计算密码校验和。它特别适合实时系统,在这些系统中,一致的时序比速度更重要。

著录项

  • 作者

    Kauffman Sean;

  • 作者单位
  • 年度 2016
  • 总页数
  • 原文格式 PDF
  • 正文语种 en
  • 中图分类

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号