13-Introduction to security
快速链接:
.
👉👉👉 个人博客笔记导读目录(全部) 👈👈👈
相关链接: (专题:《learn-the-architecture系列》)
- 01-Introducing the Arm architecture
- 02-Armv8-A Instruction Set Architecture
- 03_Introduction_to_AMBA_AXI
- 04-TrustZone for Armv8-A
- 05-Exception model
- 06-GICv3_v4_overview
- 07-Armv8-A virtualization
- 08-Isolation using virtualization in the Secure World_Whitepaper
- 09-LearnTheArchitecture-MemoryManagement
- 10-Armv8-A memory model guide–ongoing
- 11-Memory Management Examples
- 12-Generic Timer
- 13-Introduction to security
- 14-Providing protection for complex software
- 15-Arm-Confidential-Compute-Software-Stack
- 16-Understanding the Armv8.x extensions
目录
- 1 Introduction to security
- 2 What do we mean by security?
- 3 Attacking a system
- 3.1. Types of attack
- 3.2. Different attackers
- 3.3. Threat models and putting it altogether
- 4 Different solutions for different problem
1 Introduction to security
Arm 为一系列以安全为中心的应用程序提供安全的计算平台。 本指南介绍了一些有关安全性的通用概念。
本指南是本系列中其他一些指南的入门指南,并为讨论特定安全相关技术的指南提供了上下文。
本指南仅为高级介绍。 如果您想了解更多信息,可以找到有关此主题的第三方书籍和指南。
在本指南的最后,您将能够:
- 定义机密性、完整性和真实性,并给出实际示例
- 解释攻击分为哪些类别
- 了解如何使用不同的技术来保护系统的不同方面
2 What do we mean by security?
当我们考虑安全性时,我们应该问自己一些问题:
- 我想保护什么?
- 我想保护的东西是什么?
- 我在保护谁或什么?
- 受保护事物的价值是什么?
当我们谈论安全时,我们使用术语资产来指代我们想要保护的事物。 例如,加密密钥通常被归类为资产。 让我们考虑一下我们可能想要保护的资产的属性。
(1)、Confidentiality
机密性是指谁可以查看、访问或使用资产。 我们希望控制对资产的访问并确保防止未经授权的访问。 实现机密性的最常见机制是密码学和访问控制。
智能手机的内容提供了保密保护的示例。 许多智能手机都有一个加密的文件系统,可以在您丢失手机数据时保护它。 用于解密文件系统的加密密钥仅在用户通过身份验证后才可用。 在这个例子中,密码学用于保护文件系统中数据的机密性。 访问控制用于保护读取文件系统所需的密钥的机密性。
(2)、Integrity
完整性是指保护资产的准确性和完整性。 完整性保护资产免受未经授权的修改或检测是否发生了修改。
例如,考虑一个包含更新服务器公钥的设备。 这个公钥不是秘密,所以我们可能不关心确保它的机密性。 但是,我们确实需要确保密钥不被替换或篡改。 替换密钥将允许攻击者进行看似真正更新的恶意更新。 损坏密钥可能会阻止系统安装正版更新。 这种损坏会使系统容易受到已知攻击。
(3)、Authenticity
真实性是指验证资产是它声称的那样。
让我们再次使用包含更新服务器公钥的设备示例。 当设备从更新服务器下载软件更新时,我们需要确保更新是真实的。 软件提供商使用其私钥对更新进行签名,设备可以使用其公钥副本验证签名。 通过确保存储的公钥的完整性,设备可以检查软件更新的真实性。 如果攻击者试图替换更新,我们可以检测到并阻止安装。
(4)、Availability
可用性意味着授权用户可以按预期使用的方式访问和使用资产
拒绝服务攻击是拒绝可用性的常用方法。 通常,拒绝服务攻击涉及使用虚假请求或数据淹没系统。 例如,拒绝服务攻击可能会向网站发送大量请求,希望使网站变得繁忙以致无法为真正的用户提供服务。
可用性是为了确保即使受到攻击,用户仍然可以访问和使用资产
3 Attacking a system
在本指南和相关指南中,我们使用以下术语:
- Vulnerability 系统中的潜在错误或弱点
- Exploit 利用漏洞的特定攻击
- Attacker也称为对手,试图破坏资产的人
- Threat攻击者、漏洞利用和一个或多个被攻击的资产的组合
3.1. Types of attack
我们通常将攻击分为三大类:
(1)、Software attacks
软件攻击是一种不需要对设备进行物理访问的攻击。例如,软件攻击可能包括从应用程序商店恶意下载或带有恶意附件的电子邮件。
软件攻击可以针对世界任何地方的大量设备。例如,由于发送电子邮件的成本非常低,攻击者可以向数百万收件人发送带有恶意附件的电子邮件。即使这些攻击中只有一小部分成功,攻击也是值得的。
软件攻击要么是非特权攻击,要么是特权攻击。我们在示例中描述的恶意电子邮件是一种非特权攻击。非特权攻击从用户空间发起,并试图利用操作系统中的漏洞访问它不应该访问的资产。
在特权攻击中,特权实体攻击具有类似特权的另一个实体。例如,在一个处理器上以特权身份运行的系统中的软件可能会试图危害系统的另一部分。
(2)、Basic hardware attacks
基本的硬件攻击需要对设备进行物理访问,有时只是临时访问。这种类型的攻击被称为基本攻击,因为它需要易于获取的工具,例如 JTAG 探针或逻辑分析仪。基本的硬件攻击可能涉及软件元素。软件攻击和基本硬件攻击之间的重要区别在于基本硬件攻击需要对设备进行物理访问。如果需要对设备进行物理访问或接近,则潜在目标设备的数量将大大减少。减少目标数量会显着改变威胁状况。
注意:这种类型的攻击有时被称为小屋攻击。顾名思义,对于这种类型的攻击,您
只需要您可以在 RadioShack 商店购买的工具,而不是专业工具。基本硬件攻击的一个例子是邪恶女仆攻击。想象一下,您将笔记本电脑留在了酒店房间。冒充酒店客房服务人员的人可以利用进入您房间的机会插入 USB 设备。
(3)、Advanced hardware attacks
与基本硬件攻击一样,高级硬件攻击中的攻击者需要对被攻击设备进行物理访问。基本硬件攻击和高级硬件攻击之间的区别在于执行攻击所需的设备、知识和时间的水平。高级硬件攻击的示例包括将设备置于电子显微镜下或旁道分析。旁道分析包括使用精确计时或操作的功耗来推断设备正在执行的操作等技术。
就金钱和时间而言,高级硬件攻击代价高昂。这意味着高级硬件攻击需要比其他类型的攻击更加集中,并且攻击者通常无法针对尽可能多的设备进行攻击。这些类别对于讨论攻击很有用,但不是固定类别。攻击者使用多种攻击类型的组合,或者一次攻击可能包含来自多个类别的元素。这些类别对于构建有关攻击的讨论很有用,但不是硬性规则。攻击者可能会使用攻击的组合,或者攻击可能包括来自两个类别的元素。
3.2. Different attackers
除了资产和攻击,我们还应该考虑谁在攻击系统。 很容易将攻击者想象成一个人在黑暗的房间里敲击笔记本电脑的键盘。 但是就像我们处理资产和攻击一样,我们可以对攻击者进行分类。
一些攻击者将是第三方。 一个例子是我们在软件攻击中提到的恶意电子邮件附件示例。
在其他时候,我们保护系统免受用户的侵害。 例如,数字版权管理 (DRM) 的目的是保护媒体免受包含受保护媒体的设备所有者的侵害。
3.3. Threat models and putting it altogether
威胁模型是将我们迄今为止讨论过的所有想法组合在一起的一种方式:
- 我们希望保护哪些资产?
- 攻击者是谁,他们将如何攻击系统?
我们的威胁模型还应该考虑攻击和攻击者的不同组合。 这种分析至关重要,因为它推动了我们可能采用何种防御措施的决策。
4 Different solutions for different problem
如果攻击者有足够的时间和金钱,任何安全都可能被破坏,因此我们不应将设计的安全要求描述为无法绕过。 相反,我们用价值来描述安全要求:对资产 B 的攻击 A 应该至少需要 Y 天和 Z 美元。 如果一套反制措施意味着一次成功的攻击需要的时间太长或成本太高,那么防御就是成功的。 在这种情况下,大多数攻击者会转向不同的目标。 因此,我们需要平衡几个因素,包括:
(1)、资产价值
资产对我们有什么价值,对潜在攻击者有什么价值?我们是否对资产的不同方面进行了不同的评估?例如,我们可能希望保护资产的机密性和完整性,但我们可能更重视机密性而不是完整性。
(2)、防御成本
通常有几种方法可以保护资产。我们选择哪种防御取决于威胁模型。我们会考虑受保护内容的价值、攻击的可能性以及防御成本。
(3)、实用性和易用性
密码是实用性和可用性问题的一个例子。建议用户使用长而复杂的密码,并为每个系统使用唯一的密码。尽管长、复杂且唯一的密码对安全性更好,但许多用户不会记住并且无法管理它们。这意味着解决方案必须平衡安全需求和用户需求。
此图显示了 Arm 架构中的不同安全功能。这些功能可用于保护系统中的不同资产。
图中突出显示的技术提供不同级别的保护和不同级别的成本。 系统设计人员确定哪种技术最适合保护特定资产。
总结
以上是生活随笔为你收集整理的13-Introduction to security的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 12-Generic Timer
- 下一篇: 14-Providing protect