加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 安全 > 正文

软件安全知识之漏洞研究

发布时间:2023-05-16 15:43:44 所属栏目:安全 来源:
导读:漏洞讨论

与整体安全目标的更好连接需要更复杂的规范

我们已经把这个实施错误的类别划分成破坏软件元件的特定组件规范的漏洞。但是,与整个软件系统的安全目标的连接很弱。软件系统完全有可能存在一些漏洞,但
漏洞讨论

与整体安全目标的更好连接需要更复杂的规范

我们已经把这个实施错误的类别划分成破坏软件元件的特定组件规范的漏洞。但是,与整个软件系统的安全目标的连接很弱。软件系统完全有可能存在一些漏洞,但无法利用该漏洞来破坏系统的安全目标,例如,因为系统中的其他地方有多余的对策。更重要的是,如果一个软件系统没有任何我们讨论的实现漏洞,它仍然可能无法实现其安全目标。

为了更好地保证软件系统满足安全目标,可以将安全目标正式化为规范。在设计阶段,在子组件中分解系统时,应指定子组件的行为 

这样它们共同暗示了整个系统的规范。通过这样的设计,一方面是违反规范的实现漏洞与系统的整体安全目标之间的联系,另一方面,要强大得多。

但是,重要的是要注意,在这种情况下,规范将变得更加复杂和特定域。我们讨论一个额外复杂的例证。对于我们讨论的漏洞类别(内存管理、结构化输出生成、竞争条件和API漏洞),相应的规范表达了软件单次执行的属性:给定的执行满足或违反规范,一旦存在违反规范的执行,软件就会出现漏洞。规范。

但是,有些软件设定的安全设定的目标属性不能简单地表示为允许单个执行安全系统的跟踪的属性。这种安全目标的一个广泛研究的例子是信息安全。确定性顺序程序的此安全目标的基线规范如下:将程序的输入和输出标记为公共或机密,然后要求软件没有两次执行相同的公共输入(但不同的机密输入)具有不同的公共输出。查看执行对的直觉如下:程序可能不会直接泄露机密数据,而是泄露有关此数据的一些部分信息。如果通过多次运行收集,攻击者可以收集如此多的信息,以至于最终机密原始数据的相关部分实际上被泄露。上述规范有效地要求机密输入永远不会以任何方式影响公共输出,因此不能泄露甚至部分信息。以双重方式,可以通过要求低完整性输入不会影响高完整性输出来表达完整性目标。

但是,信息流规范比我们在前面部分中讨论的规范更复杂,因为需要两次执行才能显示违反规范的情况。信息泄露漏洞违反了(面向机密性的)信息流策略。它们也可以理解为违反规范,但现在这是一个谈论软件系统多次执行的规范。这对制定解决这些漏洞的对策产生了深远的影响[12]。

侧信道漏洞不同

根据定义,侧信道漏洞并不违反软件源代码抽象级别的规范:它们本质上使用源代码抽象的效果。但是,如果开发的软件执行基础结构模型足够详细,可以模拟侧信道攻击,那么侧信道漏洞可以再次被理解为违反部分规范。可以通过为执行基础结构提供规范来选择在执行基础结构中定位漏洞,该规范指出它不应引入其他通信机制。这基本上是完全抽象理论[13]所要求的。或者,可以改进源代码语言的模型,以暴露特定侧信道攻击中使用的效果,从而可以在源代码级别表达侧信道漏洞。处理一般软件侧信道漏洞尚未得到很好的理解,也没有普遍适用的现实对策。当然,可以隔离执行,即防止在同一硬件上并发执行,但这与其他目标(例如优化硬件利用率)相矛盾。 (例如优化硬件利用率)相矛盾。这些问题的解决方案包括:使用基于策略的技术,在不同设备之间分配资源,以及通过将多个设备连接到一个网络来减少数据中心的拥堵。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!