Theoretical Analysis of Gate Level Information Flow Tracking.2010

本文深入探讨了门级信息流跟踪(GLIFT)技术,特别是其shadow逻辑的理论与实践。GLIFT通过在门级精确跟踪信息流来提升硬件安全。文章定义了污点概念,分析了基本布尔函数的shadow逻辑表示,包括AND、OR、NAND、NOR、XOR门及MUX,并展示了shadow函数的最小项数量随输入数量指数增长的特性。实验结果证实了这一理论,并指出GLIFT在处理大量输入时的复杂性挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文信息:
Jason Oberg, Wei Hu, Ali Irturk, Mohit Tiwari, Timothy Sherwood, and Ryan Kastner. Theoretical Analysis of Gate Level Information Flow Tracking, ACM/EDAC/IEEE Design Automation Conference (DAC), 244-247, Jun. 2010.

MY REVIEW

本文介绍了实现门级信息流跟踪(GLIFT)系统的shadow逻辑理论(shadow逻辑定义输出结果是否被污染)。
本文首先正式定义了污点(taint)及其属性。之后主要对ADDn、NADDn、ORn、NORn、MUXn、XORn的shadow逻辑函数生成进行分析,并提出理解shadow逻辑函数的不同方法。紧接着本文提出shadow函数的最小项的数量对应一个函数通过输入传到输出的污点数量,并对shadow函数最小项的数量进行理论与实验分析,最终的实验结果表明,shadow逻辑函数的最小项数随输入数呈指数增长(2的2N次方)。

梳理

1.INTRODUCTION

Information flow tracking (IFT) 信息流跟踪技术可用来识别安全漏洞,IFT将一个tag与一段数据关联起来,tag用来描述该段信息的特定属性。

该领域的初步研究集中在监控信息流的软件机制。而在硬件方面,大多数现有的用于IFT标记信息的硬件技术都是在指令或寄存器级别,这会导致IFT过分保守不够精确。为了更精确的进行信息流跟踪,提出了门级信息流跟踪,即GLIFT(gate level information flow tracking)。

GLIFT, as proposed by Tiwari et al. [6], is a form of IFT that tracks bits precisely at the gate level. They define a method to generate shadow logic that monitors the flow of information through Boolean gates. They use GLIFT to design a more secure computing system, e.g., a processor that ensures strict noninterference.

GLIFT使一种在门级精确跟踪bit位的IFT技术。定义了一种生成用来监控布尔门信息流的shadow逻辑的方法。们使用GLIFT来设计一个更安全的计算系统,例如,保证严格不干扰的处理器。

主要贡献

  • 1)定义和证明了GLIFT的基本性质:精确定义了污染(taint)标签,并证明了GLIFT逻辑的基本性质。
  • 2) 为基本布尔函数提供了GLIFT逻辑的精确符号表示:推导了shadow逻辑的符号表示,并形式化地分析了包括门原语和多路复用器在内的常见逻辑结构的性质。
  • 3) GLIFT逻辑的分析与定量分析:提出并分析了GLIFT逻辑在基本布尔函数和一些ISCAS基准测试中的性质。

接下来,第二节提供shadow逻辑生成的详细信息,包括阴影逻辑函数的符号表示。第三节提供了使用ISCAS基准测试的shadow逻辑实现的实验结果。

2.THEORY

  • 定义taint–一个和bit位联系用来决定是否跟踪该位的标记,如果输出由被污染输入决定,那么就认为污染从输入传到输出。

比如:对与门O=A·B来说,如果A是污染输入同时B为0,那么输出O恒为0,因此污染无法从A传到O,但如果A是污染输入同时B为1,那么输出O则由被污染的A决定,此时污染从A传到O。

2.1 Fundamental Properties of GLIFT

  • A1,A2,…An:逻辑变量
  • a1,a2,…,an:对应taint,0表示无污染,1表示被污染
  • f,g,h:逻辑函数
  • sh(f),sh(g),sh(h):对应shadow逻辑函数

  • 定义–原始逻辑函数的污点:当切换函数的污染输入导致输出发生变化时,称原始逻辑函数被污染。
  • 定义–shadow逻辑函数:shadow逻辑函数是原始逻辑函数变量、它们的非及其taint值的逻辑函数,即sh(f)=sh(A1,A2,…,An,/A1,/A2,…/An,a1,a2,…,an)。

  • 定理1:逻辑变量A和它的标记a不能同时出现在一个简化的shadow逻辑函数中
  • 引论1.1:单变量的shadow函数就是该逻辑变量

  • 定理2:shadow函数的非等于本身:g=A,g’=/A,则sh(g)=sh(g’)
  • 引论2.1:逻辑变量的值变化并不会影响污染位
  • 引论2.2:逻辑函数值改变并不会影响shadow函数

接下来的小结讲述shadow逻辑函数的生成方法,包括暴力和符号化(Symbolic)两种途径

2.2 Deriving a Shadow Logic Function

暴力方法:更改逻辑函数的输入,并观察哪些组合会导致输出的更改。将发生更改的最小项添加到导致此更改的输入组合的阴影逻辑函数中。


符号化AND/OR方法:以符号方式获得和/或门的shadow逻辑,将问题划分为多个子部分,并为这些部分生成shadow逻辑。

为此做出如下假设:

  1. f是两个逻辑子项AND运算的结果:f=a·ab,那么g,h不能包含相同变量,g=ab·/b不符
  2. f是两个逻辑子项OR运算的结果:f=a+ab,那么g,h不能包含相同变量,g=ab+c/b不符

表示AND表达式: f=g·h
sh(f)=g·sh(h)+h·sh(g)+sh(g)·sh(h),前两项可理解为g/h未受污染且逻辑为真时,sh(h)/sh(g)将决定输出是否被污染,第三项表示两输入均被污染时,输出为受污染。

或者sh(f)=(g+sh(g))·(h+sh(h))-g·h,g+sh(g)可理解为存在两种情况导致污染输出:g为真且未被污染或这g被污染,g·h=1不影响输出,要移除。

推广到ADDn项:sh(f1·f2,…,fn)=(累乘i=1,…n(fi+sh(fi)))-f。

NANDn与前式相同。


表示OR表达式: f=g+h,g,h独立
sh(f)=/g·sh(h)+/h·sh(g)+sh(g)·sh(h)或者sh(f)=(/g+sh(g))·(/h+sh(h))-/g·/h

推广到ADDn项:sh(f1+f2+…+fn)=(累乘i=1,…n(/fi+sh(fi)))-/f。

NORn与前式相同。


表示XOR表达式:其shadow函数可从概念上理解,任何输入的更改都会使输出反转,也就是说只有当所有输入都未受污染使,XORN的输出才是不受污染的。

XORN的shadow逻辑函数:sh(f)=a1+a2+…+an


表示2-to-1 MUX多选器表达式:f=g·s+h·/s,g,h,s相互独立。
因为f含有依赖项gs·h/s=0,所以前面的OR2不适用,MUX需要被视为一个新的基本单元,并对其shadow函数进行分析。

sh(f)=s·sh(g)+/s·sh(h)+((gXORh)+sh(g)+sh(h))·sh(s)
第一项可以理解为当s为未污染的真时,g决定了输出是否被污染;第二项可以理解为当s为受污染的假时h决定了输出是否被污染;第三项可以理解为当s受污染使,当且仅当g和h均未被污染且二者相等时,输出才未被污染。因此如果s被污染且g与h不等,那么输出一定会被污染。


接下来讨论shadow逻辑函数的复杂性是如何随着逻辑函数输入的数量而增长的,即讨论最小项的个数。

2.3 Counting Minterms of Logic Primitives

AND、OR、NAND、NOR和XOR门的最小项数可以按如下所述进行定量计算。

ANDn最小项数目:全部最小项减去未污染的最小项。
在这里插入图片描述第一项中的2N对应Ai与ai,后面两项分别对应Ai均为1、至少存在一项Ai=0且ai=0。


ORnNANDnNORn最小项数目:与ANDn相同。


XORn最小项数目:在这里插入图片描述
第一项中的2N对应Ai与ai,第二项中的N对应情况为:全部未被污染,即ai=0。

3 EXPERIMENTALRESULTS

最小项数量这个衡量标准可以让我们准确的看到随着原始逻辑函数输入数量的增加问题的复杂度变化。

3.1 Number of Minterms for Gates Primitives

最小项的数目对应与一个函数通过输入传到输出的污点数量。如下图
在这里插入图片描述该图以对数刻度显示。XOR最小项的数目接近N个输入shadow函数最小项总数,这是因为XOR必须每个输入都是未污染的,结果才是未污染的。

3.2 Number of Minterms for ISCAS Benchmarks

测试了1、2、3、4个输入的加法器、乘法器和比较器以及2、4和8位移位器和多选器。与门原语类似,对于更复杂的逻辑块,最小项的数量也随着输入的数量呈指数级增加。
在这里插入图片描述
这些数据表明,由于最小项数的大量增加,门级的跟踪数据变得很难管理。

4 CONCLUSION

本文介绍了实现门级信息流跟踪(GLIFT)系统的shadow逻辑理论。它通过正式定义污点(taint)及其属性来提供分析。它还提出了理解shadow逻辑的不同方法。实验结果表明,逻辑函数的shadow逻辑的最小项数随输入数呈指数增长。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值