学习记录:CS161(一)

了解威胁模型

威胁模型是关于攻击者是谁以及他们拥有什么资源的模型。

考虑人为因素

安全系统必须可供普通人使用,因此在设计时必须考虑到人类将扮演的角色。

Security is economics

安全性通常是一种成本效益分析,需要有人决定安全性的价值。应该将精力集中在保护最薄弱的环节上。

Detect if you can’t prevent

如果你无法阻止攻击发生,那么至少应该知道攻击已经发生了,并作出反应。

在处理响应时,应始终假设会发生不好的事情,因此为最坏的情况做好准备;应该以一种能够恢复到某种工作状态的方式来规划安全性。

纵深防御

深度防御的关键思想是多种类型的防御应该分层在一起,这样攻击者就必须突破所有防御才能成功攻击系统。

最小特权

为程序提供执行其工作所需的一组访问权限,尽量减少给予每个程序和系统组件的权限。这意味着用户或程序只能访问其工作所需的资源,而不是拥有系统中的所有权限。

责任分离

在系统设计中应该将不同的职责和权限分开。这意味着不同的功能应该由不同的实体来执行,以减少滥用权限的可能性。例如,一个系统管理员可能有权利配置系统设置,但不应该有权利访问用户的私人数据。这种责任分离有助于确保系统中的每个实体都只能访问其所需的资源,并且可以更容易地跟踪和限制权限的滥用。

确保完整的调解

实施访问控制策略时,请确保检查每个对每个对象的访问。这种思维有助于检测漏洞可能存在的位置。因此,必须确保所有访问都受到监控和保护。实现此目的的一种方法是通过参考监视器,它是所有访问都必须通过的单点。

香农的格言

即使攻击者知道系统的所有秘密密钥应该是唯一必须保密的东西,系统的设计应该能够轻松地更改泄露(或怀疑泄露)的密钥)。内部细节,加密系统也应该保持安全。

使用故障安全默认值

系统设计中选择默认设置,以确保系统在发生故障或崩溃时能够采取安全的行为。这意味着系统在出现问题时会默认进入一种安全模式或状态,而不是暴露系统的漏洞或导致不安全的行为。

从一开始就设计安全性

受信任的计算基础 (TCB)

在计算机系统中,TCB是指必须正常运行以确保系统安全目标的部分

TCB包括系统中必须正确运行以确保系统安全的所有组件和过程

通常情况下,TCB被设计为尽可能小,因为规模较小、结构简单的TCB更容易编写和审计。设计系统时,尽可能多的将代码可以移到 TCB 之外。

TCB的设计原则包括不可绕过性(或完整性: 不能通过绕过 TCB 来破坏系统安全)、防篡改性(应保护 TCB 免遭其他任何人篡改。例如,TCB 之外的系统其他部分不应该能够修改 TCB 的代码或状态。必须保持 TCB 的完整性。)和可验证性(应该可以验证TCB的正确性。这通常意味着 TCB 应尽可能简单,因为一般情况下,验证具有任何可感知复杂程度的子系统的正确性都超出了现有技术的水平。)。

通过识别和保护TCB,系统能够更好地确保安全性。

TCB 的优点:TCB 的概念非常强大且实用,因为它允许一种原始但有效的模块化形式。它让我们将系统分为两部分:安全关键部分(TCB)和其他所有部分。这种分离对于安全来说是一个巨大的胜利。安全很难。构建安全且正确的系统确实很困难。系统包含的部分越多,确保其安全性就越困难。如果我们能够识别一个明确的 TCB,那么我们就会知道,只有 TCB 中的部分必须正确,系统才能安全。因此,在考虑安全性时,我们可以将精力集中在真正重要的地方。而且,如果 TCB 只是系统的一小部分,那么我们最终获得安全系统的可能性就会大得多:我们必须依赖的系统越少,它令人失望的可能性就越小。

检查时间到使用时间漏洞(TOCTTOU 漏洞)

指的是“Time of Check to Time of Use”漏洞,通常发生在需要检查某个状态后立即使用该状态的情况下。这种漏洞通常出现在需要执行访问控制策略时,但在检查和使用之间存在时间差,导致系统容易受到攻击。

典型的TOCTTOU漏洞示例是在并发执行的情况下,攻击者可能会在检查某个状态后立即改变该状态,然后再使用该状态,从而绕过了原始的访问控制检查。这种漏洞可能导致系统安全性受到威胁,因为它允许攻击者在检查和使用之间改变状态,从而绕过访问控制。

为了防止TOCTTOU漏洞,需要采取适当的措施来确保在检查状态和使用状态之间不存在时间差,或者在执行访问控制策略时采取其他安全措施来防止这种类型的攻击。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值