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