Try   HackMD

Cissp Domain 3 Security Architecture and Engineering 安全架構與工程

概述

這邊會提到不同資產類型、資訊環境 弱點,
例如資產類型有:主機型資產、端點資產

以資訊環境來說會提到 工控環境、IT或OT環境

  • 存取控制有關,主要在domain5,但少數的security model 會放在 domain 3 這裡,念書時要跟 domain 5 連起來看
  • cissp很廣但可能考完跟根本用不到,security model就類似這種
  • 密碼學

資訊安全設計原則 Secure Design Principles

會提到一些原則,例如最小權限原則,縱深防禦
什麼是最佳實踐 best practice? 某些作法被證明有效的,就被列為最佳實踐
最小權限原則就是跟存取控制有關


Basic Secure Design Principles

  • Least Privilege 最小權限原則,最好理解最難做到

例如:

  1. 小公司沒有AD,本機電腦都有 local administrator,結果 user 都用最高管理者登入,就違反了最小權限原則。問題:筆電常常中毒或惡意程式,那怎麼收回 Administrtor? 請 MIS 把Admin帳號收回 (就是改掉密碼),惡意程式會需要 kernel 權限,收回帳號後安全性就提升了
  2. 寫程式的時候,要存取DB,所以自己就是DBA,作業系統Admin也是我管,自己是開發人員,DB自己管,要 Create Table時正常怎麼做? 開一個帳號,要開什麼表就只能存什麼表,但省事就會都用sa(super admin)的帳號進去管理,惡意程式如果拿到AP存取權限,跳板進去時就等同資料庫最高管理者帳號
  3. 這個網站 altoro mutual login.jsp 有 sql injection 漏洞,就可以在帳號輸入列上攻擊,強迫把主機關機 請見影片,
  4. https://youtu.be/v8jxQ7DgPaI?si=6dVFSFrhC9_sQrhH

Separation of Duties (SoD)

也是一種最小權限的實現,當兩件工作有利益衝突時,就要做職權區隔
中文講說:不要球員兼裁判

Programer vs QA (測試人員)利益衝突
黑箱測試就是在找程式人員麻

拉高來看,對公司的大小章營運也一樣

密碼學也會提到的:金鑰分持
以前資料不能放在境外但太麻煩,現在開始放寬
假設有大量備份資料允許放境外,但是要拆分,降低風險


金鑰分持可以使用 M of N Control

金鑰如果要恢復的時候,只要有 M 個人就可以恢復,實際上總共有 N個人持有資料

https://blog.apnic.net/2021/05/28/what-is-m-of-n-in-public-private-key-signing/


Secure Defaults 預設安全

產品或系統出廠前,預設組態要以預設安全為考量
例如台灣政府推 TWGCB 政府組態基準
可能有參考美國GCB等相關規飯

以前叫做系統強化 System hardening

有些iot設備早期 wifi 設定定在 WPA1 ,現在預設應該要 WPA2

CIS benchmark 也是一個很完整的組態系統( EX:雲端,手機發展的相對完整)

中文說明可參考微軟的網際網路安全性 (CIS) 中心基準


Fail Secure/Close (故障時維護安全預設關閉)

預設斷掉,以資訊安全考量
硬體式資安設備(防火牆),預設 by pass的話,就是 Fail open
防火牆故障時不通就是Fail Secure/Close,
要考慮目的

防火牆目的是擋威脅,社區管理員休假,就把大門打開好像怪怪的,但很多企業組織為了網路暢通,就會讓他 bypass

有兩台WAF號稱 HA(高可用性互相備),但實際上是分流,有的走 waf1 有的走 waf2,當waf1掛掉時流量不會跑去 waf2,客戶說 waf1 故障是 bypass,就會有一部分訊號跑進去又不阻擋

如果會影響到人或生命,預設 fail safe/open
例如辦公室有一個門,停電預設開門還關門? 停電時從裡面打不開,人在裡面就被關著出不來,那火災燒斷電線迴路時裡面的人就GG了,自動門應該要設定預設開啟


Shared Responsibility (共享安全責任)

現在都會用第三方服務,這是指一部分責任在第三方供應商身上,必須要識別這些責任出來
一部分在Custorer(客戶)身上,一部分在Provider(提供者)身上
防火牆規則設定是使用者責任,其實雲端供應商(提供者)都很熟責任區分,但使用者(租用雲端服務的客戶)可能不太熟

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →


Keep it Simple 保持簡潔

資安的敵人越複雜的系統越有可能產生漏洞,一個漏洞要積年累月,才可能被發現

我們在設計時要盡量簡單一點,做資安待久都不敢當早鳥(例如高鐵首航),因為系統很複雜不知道有無問題,誰知道坐上這班高鐵會不會煞車異常


Trust but Verify 預設信任

Verify then Trust這樣理解比較好
implicif trust 也是預設信任的意思,只要我認定你是自己人就讓你進來
但社區住戶中也有惡意的,使用者被入侵了就可能在裡面橫向移動
遭受到挑戰,內網橫向移動:本來是自己人的內部電腦,但是被攻擊入侵成功了,這台電腦就開始在裡面去攻擊其他電腦


Zero Trust(零信任)

never trust always verify(永不信任 總是驗證)

你是內網電腦,你不該看的話,連掃描內網電腦都掃描不到任何東西
把最小權限落實到極致


Privacy by Design(隱私納入設計)

GDPR第25條將「隱私納入設計」(Privacy by Design)

參考連結 (https://www.pwc.tw/zh/services/legal/point-view/legal-clouds/legal-clouds-2005-1.html)

在一開始就有考慮到這個議題,一開始就考慮到安全性,就是 Privacy by Design ,一開始就考慮到隱私議題

一開始做需求分析,以前都是做功能性需求分析,如果有考慮到 Security Requirment,不只考慮功能還考慮安全需求

範例1:幾次登入失敗我要鎖定幾分鐘?

先前第一章節,GDPR 6 個原則裡面有提到資料最小化原則,從源頭把風險迴避掉
資料最小化原則 Data Minimization


Defense in Depth 縱深防禦

又叫 Layered defense 防禦不能靠單一防護措施,要很多層
如果一層被攻破,另外一層還可以保護,希望有一層一層的防禦

  • 實體安全一層
  • 網路周界(內外網邊界) 可能有防火牆 IPS 裡面有WEB可能還有WAF(Web 應用程式防火牆),以前傳統上只有邊界這邊有防火牆裡面通通沒有防禦。大門鎖很好,裡面爛光光(金玉其外敗絮其中)
  • Physical Perimeter
  • perimeter Network :WAF IPS
  • Lan:IDS IPS
  • Hosts:HIPS MDM AV
  • Applications (Trusted System Admin)
  • Data (Server) Trustedsoftware

會建議客戶做端點防護軟體,URL過濾),可以滿足27001要求

可參考 行政院國家資通安全會報中心主任吳啟文於資安人主辦的「2021亞太資安論壇暨展會」演講簡報



Security Models

參考書有更多 model,至少前兩個B的要看,其他有時間再看
裡面有一些數學的東西比較沒那麼要求

當我們要在一個系統設計他的 Access Control System 存取控制機制時有三個面向

  1. Access Control policies 存取控制權限
    • 高階級的需求 high level requirements ,例如 DAC 自由選定存取控制 (Discretionary access control)
    • 在Windows 內什麼叫做DAC? 例如檔案就是一個 object ,存取資源的就是 subject,我可以決定物件可以決定subject,可以進行控制
      ,ACL , DACL()
      例如這個就是 Windows 的 DAC,但 windows 稱為 ACL

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

  1. models 模型
  • 滿足這些 Mandatroy AC (MAC)美國軍方需求 U.S DoD
  1. mechanisms(Domain 5)實作機制
    -ACL就是一種實作機制

Security Models

在系統裡面有存取控制機制,要遵循什麼樣的規則,只要遵守規則就可以達到 Access Control policies 的規則
用 機密性 或 完整性 評估能不能存取

這邊是兩個 cissp 中很常出現的 Security Models

  • Bell-LaPadula model
    • 屬於 MAC (Mandatory Access Control) Model 強制存取控制
    • 屬於 hierarchical model 階層模型
    • 注重機密性
    • 中級不能讀取上級寫的資料
    • 中級寫的文件不能改成下級可以看
    • 軍方文件會放文件的密等
    • Windows/Mac 偏向General
  • Biba model
    • 屬於 MAC (Mandatory Access Control) Model 強制存取控制
    • 屬於 hierarchical model 階層模型
    • 注重完整性
    • 中級不會聽下級的命令,上級才能指揮中級
    • 中級不能覆寫(竄改)上級的命令

可參考 [PDF] Bell-LaPadula Model: A MAC Model for Achieving Multi-level Security 這邊的圖

Bell-LaPadula Confidentiality model

在軍事體系,為了避免高層洩密,我們把職位分成 上級 中級 下級
假設自己是 中級,來看以下三條規則:

  1. 中級不能讀取上級寫的資料,避免偷窺 (No Read Up)
  2. 中級寫的文件不能改成下級可以看,避免洩密給下級 (No Write Down)
  3. 中級寫的文件能不能給其他中級看? 中級可以自己決定 (Discretionary 酌情決定)

符合 MAC 強制存取控制,一開始就強制決定了規則

這是以機密性做判斷的模型,例如SELinus Security OS,就是符合美國軍方想要的 MAC 存取控制
這個需求被提出來後,美國軍方就提出研究案,Bell-LaPadula兩位學者提出這個Bell-LaPadula 模型(model),用機密性做判斷

  1. No read up - Subject不能去讀取他等級低
    • 先把所有 subject object 先把高中低設定好 (top是高,confidential 是低)
    • 依照業務需求設定機密等級
    • No Read up就是不能讀取機密等級比自己設定還高的
  2. No write Down - No write Down 不能寫入更下層的內容
  3. Discretionary - 同等級可以自己決定能不能讀寫, Object Owner 自己決定,就沒有洩密的問題

No Read up

  • Three Properties of BLP
    Simple Security
    Star
    Discretionary

Discretionary是老師找原始論文看到這個名詞,其他文章可能會用別的名詞,這部分沒有統一


Biba 要去看 p17 表格,還沒補上

目的是完整性,不希望內容被破壞,這邊分成三個等級 爸爸 國小生 幼稚園小孩,學校教小孩遵守Biba規則

  1. 不要聽幼稚園小孩的話 No Read down
  2. 不能更改爸爸說過的話 No Write Up
  3. 不能叫爸爸做事 Invocation (不能去呼叫信任等級高的功能函式)

符合 MAC 強制存取控制,一開始就強制決定了規則

把它想成信任等級,總共三條規則:

  1. No Read down:分持高中低,down是資安level
  2. NO Write up:不能把手上的資料,寫到信任等級高的資料
  3. Invocation:呼叫函式,類似2 不能去呼叫信任等級高的功能函式function

豆花例子 對於一個信任等級較低的資料,我們拒絕處理

路人:我ㄉ豆花~ 三十塊~ 陌生人給的豆花你敢吃嗎?

Biba 參考圖片,來源網址如下
https://www.sciencedirect.com/topics/computer-science/biba-model

image


實際練習 Bibatest

用 windows cmd 指令
icacls 檔案名稱 /setintegritylevel high
我還是 owner ,如果我要加一行到這個檔案,我就加不進去了
我明明是 owner,但安全等級不到也寫不進去,改回中才可以


Brewer and Nash(布魯爾-納什模型)

某一個 subject,要存取 object A (旁邊有一個 object B),但中間有利益衝突 (Conflicts of Interest,簡寫COI)

  • 例子 :國外有一些大型律師事務所,原告律師只能存取原告A的資料,但原告A 被告B 兩個資料有利益衝突,他想存取被告B資料時就會被拒絕

Clark-Wilson(克拉克-威爾遜模型)

以下縮寫

  • S=Subject
  • O=Object
  • P=Program

存取型態類似這樣
S>O>S>P>O 這個 subject要存取 Object,中間要有 P Programe 控制邏輯(俗稱防呆),把資料修改規定的商業邏輯放在裡面,就可以確保不會改錯了


以下兩個模型處理updat(更新),生命週期(Life cycle)管理

Graham-Denning(強制訪問控制)

Access rights 存取權限管理
權限大概有這些
create
modify
remove
revoke


HRU(Harrison-Ruzzo-Ullman)

(上課沒講到)


Security Enginerring(安全工程) P23

老師舉例:以前做國防部專案時,有個系統工程組,負責 System Enginerring,他要負責去找規範,台灣都抄美國,就 follow 美國國防部規範,維持品質

講義有,但老師覺得考試不太會考,知道就好

透過一些已被證實實踐的理論,讓domain品質變得更好,維持它的品質
兩大組織 ISO NIST

  • ISO/IEC/IEEE 15288
    • System Engineering(系統工程)
  • ISO/IEC/IEEE 15026
    • 怎樣做Assurance品質確保?
  • NIST SP 800-160
    • Security Engineering(安全工程)
  • INCOSE

彼此之間的關係有圖片,請看投影片 P24 補充 (或是自己畫)


NIST SP 800-160v1r12022:Enginerring TrustworthySecure Systems P25

這邊主要講系統生命週期,可以看 PDF 的 129頁 G.2. Process Relationships 圖片的架構

image

  • Technical Processes:14個活動 需求訪談
  • Technical Management Processes:8
  • Organization Project-Enabing: Processes:從組織角度管理專案 某個專案落後風險太高,可能就停掉不做了,就是屬於這類
  • Agreement Processes 2個,需要供應商提供軟體產品服務,我們是採購的角色Acquisition,要注意合約要求有沒有寫上去;反過來說,我們是供應商,該如何做到責任與義務

SP 800 有 190 幾頁,不建議全部看完,知道就好

文件其實也有明顯提到滲透測試的要求

VA-1.3 Select appropriate security validation methods and the associated success criteria for each security validation action.
Note: Adversity emulation, including penetration testing and emulating abuse and misuse, isincluded

Security Policies, Models, and Architrcture 安全的政策 模型與架構

借前面的圖來用

image

  • Policies
  • Model 怎麼設計這個系統?
  • Architecture 架構用什麼架構
    • 做權限中的控管
      • osSK
      • Drivers
        • Ring 1 Device
      • Utils
        • Ring 2
          • EX:Net User,netsh
      • Apps
        • Ring 3 User mode
  • 投影片缺一個 Implemenation
    image

Ring Architecture

  • Ring 0 OS & Kernel 應用程式不應該存取
  • Ring 1 Device Drivers
  • Ring 2 Systen utilities
  • Ring 3 權限最低是一般應用程式 User mode

沒權限就藏起來是屬於 data hiding
但直接這樣做會有問題,例如 系統時間是應用程式的kernel,你不讓我存取我怎麼寫小時鐘程式?
雖然資料藏在裡面,但我設計一個介面,這個介面其實就是一堆API,要存取 kernel只能用 API,沒有就不能存取,API遊戲規則是 kernel決定

所以介面就是有包含存取控制權限了
防火牆 或 router 也可以當作兩邊網路的存取控制要求


SCinsystem and architecture P28

安全能力 Controls,有些能力是系統本來就有的,不用自己去生或是建立。

  • Access Control 存取控制 例如Windows DAC

  • Process isolation ,作業系統本來就有Process自己空間,你要存取別人的要透過 OS,要看 OS IPC 有沒有放你過

  • Memory management

  • Data Hiding 沒開放API或介面就不能用

  • Abstration layers

  • Security Kernel > AC M 滿足一些條件

    • reference Monitor:當時有一個資安專家 1980年,James P. Anderson的《計算機安全威脅監控與監視》,提出在一個安全作業系統中,要滿足三個要求(1.Comeplefe:一定要經過存取機制,2.Complefe mod ation:強制一定要經過他 3.Smale enough:驗證方式不能太肥)
    • 我們才稱為是Security Kernel,一般商用軟體做不到就不能說是Security Kernel
  • Encryption

作業系統就有兩種加密的方式 Windows專業版作業系統,這個加密就是 EFS 功能,軟體加密,MAC也有類似功能

image

  • Code signing
    1.Vinder 釋放的軟體要做數位簽章
    2.OS
    3.Sipns

  • Audit and Monitoring

    • 要想想該去 Audit 什麼東西?
    • windows 的 gpedit 可以看
      image
  • Virtualization/Sandbox(虛擬化/沙盒)

老師: hyper-v有時候常常跟 vm 相衝造成很慢要弄什麼 vm workaround

image

​​​​* 沙盒:主要是在做isolation(隔離) 把高風險的東西所在隔離環境,實作方式很多種,建立VM,讓這些高風險的內容可以被阻擋
  • Hardware security modules 硬體安全模組

    • 如果3個字都大寫 HSM 就會變專有名詞,是用來放私鑰的設備(設備價格百萬起跳)
    • 當通用名詞就是保護機制,筆電 TP晶片就是一種安全模組、自然人憑證 smart card裡面有一區安全區域也是這一類,其他手機也有類似的
  • File system attributes


Common Risks and Controls on Different Systems Architecture P29

All Systems contain vulerabillities exposing them to:(左邊-威脅)
All System need robust risk Mitigation via Security controls:(右邊-降低風險)

攻擊者怎麼利用這些弱點去攻擊,自己玩連連看

老師試玩一組

  • Hardware failures 硬體失效怎麼降低風險 ?
    • Configuration management
    • monitor analyzerespond
    • 舉例:Raid 5顆壞1顆硬碟還 ok,壞2就死了,但平常都只用windows 共用磁碟使用,平常沒去看管理介面壞幾顆會出事。
    • 老師:我很納悶,你壞一顆不能主動發警告訊息或嗶嗶叫嗎?..

Attackers > Access Control 也是一調連線方式


Client-Based systems P30

Characteristics(特徵)

  • 桌機、筆電、thin client(沒有運算能力的設備) ,終端機,總之就是端點,後來處理程序越來越往前到user端。
  • 資安會把安全運算的東西往後丟,避免被入侵
  • 端點數量比較龐大
  • 端點狀態更新較頻繁
  • 使用者行為模式可能不一樣

Vulnerabilities(漏洞) 產生各種風險

  • 使用者的misuse :誤用,例如公司資產應該只做公司的事,拿去看色情網站;弱掃工具是檢查的,結果拿去攻擊入侵
  • May be lost/stolen :筆電帶出去被偷,在starbucks工作去上廁所,筆電手機都放在桌上還沒鎖螢幕,東西放車子裡窗戶被打破偷走
    筆電防盜鎖
  • 監控很困難
  • 100%追到最新更新有難度

Mitigations(緩解措施)

  • Awareness training
  • Endpoint management 端點防護
  • HIDS 主機入侵檢測系統(Host-based intrusion detection system,HIDS)又稱基於主機的入侵檢測系統 ,現在已經都包在端點防護了

防護舉例:

  • Windows 可以用 AD管制,可以控管端點
  • EPP 端點防護軟體,各家都是在端點裝一個 agent,管理軟體都是雲端化
  • DLP 有些 agent有防資料外洩 DLP,例如趨勢 apexOne就有
  • UEBA 使用者行為分析
  • MDM 行動裝置
  • EDR ,domain 7 會提到
  • UEM,把很多功能整合在端點裡面
  • MDR Managed Detection and Response,指的是威脅偵測與應變服務,也有類似功能

老師題外話:想找的一個同時能做資產管理的端點 Asset management,包含組態管理,security 的規則都放在上面,但好像都不同廠商,找不太到一個端點把安全功能(防毒,資料外洩,url filter都放在上面),都是不同廠商做的

端點防護軟體效果比較好,而這些軟體廠商都是用訂閱制,每年都要花錢,一個node 台幣1k~2k,100 台就10萬了


Server-Based Systems P31

Characteristics(特徵)

  • 不同類server ,web 或 ftp..
  • 集中管理 有小機房

Vulnerabilities(漏洞)常見弱點

  • 作業系統或軟體已經不支援了
  • 主機型流量較高
  • 需要透過網路
  • 技術上面有做好,但實體安全沒做好也可能造成風險

Mitigations(緩解措施)

  • 實體 邏輯或管理者存取控制需做好\
  • 可用性要有複式備援評估他是否有Single point of failure(SPof:單點故障)
  • Redundant elements
    • 客戶有Saas服務,後面要DB,只有一台的話壞了就沒了,所以一台 DB 放台灣,2台放新加坡
    • 平常台灣這1台提供 read/write,新加坡只有讀取,維持資料一致性
    • 如果台灣的掛了,就手動把新加坡的改成可讀寫
  • Configuration and Change Menagement組態管理
    • 服務硬體軟體,它的組成 baseline要先做起來,服務需要那些主機? 資源等等就是baseline configuation,定期監控組態看看有沒有變動,有變動的話要透過變更管理去控制風險
  • Strong remote access Mechanisms
    • 主機需要遠端存取,要有安全遠端存取機制,例如
    • 多因子認證
    • 不要用特權帳號遠端證據(1.Linux root 2.Windows admin)
    • session 管理,一段時間要自動斷掉,因為 session 可能被攻擊者用中間人攻擊,強迫中斷就需要重新驗證
  • Logging and Monitoring
    • 主機上面重要活動要去監控他,要把它記錄下來

Database Systems 資料庫也是一種主機,只是比較特殊

Characteristics(特徵)

  • 以安裝在特定主機,也可以是雲端服務
    分散式的DB ,例如 mongoDB
    安裝在作業系統上面,作業系統底層是hardware,這邊會常常看到 inherits繼承這個字,作業系統弱點會影響到DB就是 inherits
  • 需要高速的運算
  • 包含大量有價值的資訊
  • 對攻擊者來說是high value target

Vulnerabilities(漏洞)

  • aggregation 聚合:攻擊者收集到一些片段的資訊,片段資訊單獨看都是不重要的,合起來就重要了(例如A公司遮蔽身分證前5碼,B公司遮蔽後5碼,撿到前後公司的資料就湊出來了)
  • Inference 推理:蒐集資訊或觀察現象,跟前者聚合的差別是他是用推測,他會去 guess 猜測一個敏感的結果。
    • 舉例 一個系統有機密等級,如果有個海軍艦艇管理系統,機密等級會隨著任務調整,用BellLapuda模型來看,Day1一台艦艇靠岸只是低等級,到了Day2調成高之後,我又去存取不給存,我就可以猜出這台艦艇要去做機密任務了。怎麼防護? polyinstatiation,乾脆把這艘艦艇建立兩筆,機密等級有到就給你查真正的這筆,機密等級不到就給你看假的。
    • 但這是理論實務上很難看到真的這樣
  • Data Mining output,如果是有資料探勘的需求,也要小心沒做好造成資料外洩
  • Poor access control
  • Vulnerable applications

Mitigations(緩解措施)

  • Robust authentication/access control:安全身分驗證或存取機制
  • Output throtting 輸出流量管制:例如 match 10萬筆資料,太多要截流,常見的分頁就是這種機制 (效能類的防護)
  • De-identification 去識別化:敏感資料放進資料庫如果不需要它的特性,可以做去識別化
    • 匿名化 anonymigetion,強度較高,例如個資做完匿名化後不可回復 revert,GDPR對去識別化要求要到這個程度
    • 擬匿名化 pseudonymization ,換另一個詞但是可以 revert (例如base64)
    • Hash是哪一種呢? 正常他不能倒推,但要hash的資料短於hash時有機會被破解出來
    • image
    • 擬匿名化補充
    • GDPR有一篇文章說:hash 就是不算 anonymigetion,技術文件的關鍵字:wp 216 05/2014 anonymization,雖然這份2023年好像已經不適用了,但可以參考,搜尋 hash會看到擺在 pseudonymiation 的章節
  • Encryption 加密,可以啟用資料庫加密功能,有些稽核不是技術背景,他會問你個資存DB時有無加密,老師會把這種人當作不食人間煙火因為AP層加密很難用,要審慎考慮,可以在 DB層加密,不會影響到應用程式。要縱深防禦避免AP有重大漏洞,防止 AP權限過高解密一堆資料
  • (More on domain 8)

Virtualized Systems 這邊專指 VM 虛擬機器

Characteristics(特徵)

  • Hardware,network functions abstracted by software
    硬體、網路架構等等用軟體模擬出來

  • Many strategies for control, use,update, management of VMs

  • Usages: Cloud, sandbox,development, security test, other uses
    雲端 沙箱 開發 安全測試或其他使用者都有機會用

VM有分成(type1 type2)分成兩種架構

Type1:兩大廠商 Vmware(以前跟dell一起) 和 Nutanix

  • 底層是虛擬化功能作業系統,作業系統本身就是 Hyperisor 的 OS,更底下就直接是硬體
  • hyper-v(微軟虛擬軟體) 和 esxi 就是屬於這種

補充資料:虛擬化Type1的底層類似這樣 (2016年 什麼是超融合架構? 超融合基礎架構(Hyper-converged infrastructure,縮寫爲HCI) )

image

Type2:疊層架屋 效能較差

  • VM下面是 hyperisor 的軟體
  • 例如在 windows 裡面安裝 vm workstation、virtualbox,他提供虛擬化環境跑其他作業系統

Vulnerabilities(漏洞)

  • inherit host hardware, hypervisor and os vulnerabilities
    • 跟 DB 類似有繼承問題,硬體或作業系統弱點會影響裡面的 OS
  • Poor access control
    • VM escape 存取控制有關
    • host os(底層vm系統) guest os(vm系統裡面的OS)

    Gest oS 不能隨便跑道host OS 裡面去

  • Poor management
    • VM sprawl蔓延,
    • 如果沒有好的管理,當 vm 開一大堆,沒用到的 vm 還開在那邊就可能被攻擊
    • 或是成本問題,開一堆vm很貴

Mitigations(緩解措施)

  • Configuration/change management 組態管理/變更管理
    • 可以用 template image的樣板作為 base,當成 vm instance,開起來,我們要關注這個 template 的 OS 是安全的版本
  • Proper IAM 身分與權限管理的功能,雲端都有
  • Management plation 雲端都有,本機的例如vsphere 或是 container管理工具 k8s

Cloud-Based Systems

  • NIST Essential Characteridtices:(4大特點)
    這是美國國家標準局(NIST)於2009年4月所提出的雲端運算的標準定義

以前地端實體資源虛擬化放在雲端,所以Sever,storge,network這些現在可以虛擬化
例如軟體定義網路(英語:software-defined networking,縮寫作SDN)

  • On demand self-service:自助式的服務,用起來接到 3. Rapid elasticity

  • Broad network access:隨時隨地用任何網路裝置存取

  • Resource pooling:1. 放在一塊資源池,雲端就是 IT資源池什麼都有,怎麼使用呢? 用前面的 2. On demand self-service,

  • Rapid elasticity:雲端反應非常快,方便使用

  • Measured service:使用者可以monitor監控,供應商也可以量測來跟你收錢計費
    老師:有錢好辦事,這個資源池什麼都有,就算原生沒有,生態系的供應商大概也會有,可以使用第三方服務,只要付費就有

  • ISO 17888 addition 這個是 ISO 多加的

    • Mulititenancy 多租戶跟存取控制很有關係,共用資源
    • 這邊會有的風險 水平提權 horizonral escalation
    • 底層只有一個DB ,給A和B兩個人一起用這台 server,但不代表A和B可以互相存取資料,如果被攻擊,這個攻擊就是 水平提權。
    • 從上面名字可以猜到會有垂直提權,明明低權限一般使用者拿到高權限使用者(admin)的權限,就是垂直提權。

Service Models 雲端服務提供的模型

  • Software as a Service(SaaS)
    • 把軟體當成是一個服務(Drobox,Google Drive)
    • 人資系統做成 HR SaaS 服務
    • CRM(SaleForce)
    • SD Security-FWaaS
  • Platform as a Service(Paas)
    • PAAS 要有 Run-Time 環境
    • Google服務, Google APP(GAE):有程式沒有地方執行
    • 一樣都是跑 web runtime功能,在 google 的叫做 app engine、Azure 叫 app service、aws 叫 ec2
  • Infrastructure as Service (IaaS)
    • 提供硬體設備
    • 起一個 VM 沒有這些基礎建設,從這開始有一個主機

Deployment Models 雲端的部屬

  • Private 私有雲
    • 環境只有你的組織使用,其他組織不能用
    • 有些主管機關要求一定要地端,講義則不要求,只要是只有你的組織可使用就算
    • 只要這個資源是我專屬,不會有多租戶的問題就可以
    • 可以搜尋 vpn 關鍵字,例如 Google 虛擬私有雲 (VPC),範圍涵蓋所有區域的全球虛擬網路。整個機構只需使用一個虛擬私有雲,並可利用專案在私有雲中進行分隔
  • Public
    • Open use by general Public
    • Contracted Sevices(CSP)
  • Community
    • Provisioned for exclusive use by a Community of users
    • 例如台灣醫療雲,醫療單位都可以共享
  • Hybrid 混合雲
    • Combination of two or more deployment models
    • 通常是指地端和雲端共用
  • multi-cloud 多雲
    • 主要功能跑在GCP,Storage放在AWS S3

Cloud Vulnerabilities and Mitigations (弱點)

  • Vulnerabilities 弱點

    • 這些服務可能直接面對外部網路,例如 Shodan是一個搜索接入網際網路的設備的搜尋引擎,可能就能被人挖到東西
    • 設定出問題可能讓攻擊者可以直接看到資料
    • 例如 grayhat warfare 專門掃描公開的 storage
    • image
    • Gap Between CSP and data owner Security controls (注意!!有考過)
      • 雙方安全責任不清,會產生風險,責任區分看 Google 的圖,越往左邊雲端供應商的責任越少
      • image
  • Mitigations

    • Reputable cloud service providers 使用有信譽的供應商
    • Well-defind Sharing Security responsibilities 資源是否有可視性,能否看到資源狀況 以及 控制
    • 好的IAM身分權限管理控制
    • Robust Configuration Control 組態管理變更管理 例如 AWS基礎安全性最佳做法 (FSBP) 標準
    • 設定管理 AWS config
    • 檔案與通訊加密
    • Well-trained system adminitstrators給管理者適合充足的教育訓練,例如之前有雲端大當機,好的訓練可以避免務操作

範例:烏龍警報聲大響! 中和分局急致歉「誤觸海嘯警報」
中和分局回應,每天都會固定測試警報器是否正常運作,但值班員警不小心誤觸「海嘯警鈴」,才會響這麼久,會加強檢討,避免再次發生類似事件。


Edge and Fog Computing Systems

  • Characteristics:
    • Different Definitions
    • Edge Computing:地端邊緣離設備比較近的地方運算,需要realtime即時反應,但是不需要太多運算資源 (limited computing),例如自動駕駛車,不可能傳回雲端丟回去運算(傳輸太花時間耗成本)
    • Fog Computing ,near real-time,需要中等的運算資源,想像成區域型的資料中心
  • Vulnerabilities:
    • Network Compromise

    • Increased attack surface 越多層 受攻擊面就越大

  • Mitigations:
    • Increase network monitoring and icident response 被攻擊有無事故應變流程
    • Strengthen inventory and accountability Practices 完整的資產盤點和告訴 owner 負有責任

Smart Home 智慧家庭或Smart City 智慧城市的例子,fog層沒有標準答案

  • Enterprise Systems - Cloud
  • Gateway - Fog
  • IOT Device. - Edge

fog 層參考圖片
Towards Fault Tolerant Fog Computing for IoT-Based Smart City Applications
N. Mohamed, J. Al-Jaroodi, I. Jawhar
Published in Computing and Communication… 2019

image



Software Design Arch P41 軟體設計架構

  • Characteristics:
    開發軟體時是用 Monolith,不願意改變,也不關心個體的權力龐大的巨型機構,就彷彿整個大專案綁在一起,一整坨。
    假設這個軟體有3個function ABC,FunctionA請ProgramA寫,FunctionB請ProgramB寫,AB會互相影響,所以B有動東西不能直接更新,要等到A也幫忙測試 ,大家都測完才能上線

Microservices P42 微服務

  • Characteristics:
    • 各自獨立運作單位,透過 API 存取該方式
    • Containers 方式封裝
    • Servicerless
  • Cloudy,在雲端執行 1996年就有提出SOA(service-oriented architecture),要部署Middleware
  • minimum functiality(功能最小化) ,high cohesion 高聚合度
  • Loose coupling 降低相依性,避免牽一髮動全身,處理前面說的 Monolith 一整坨問題
  • App services用的 resource 和底層的 resource,底層有自己的管理功能,兩者是隔離開來的
  • 佈署方式方式分成 container 或是 serverless

弱點

  • Latency 地震預報如果主機架到國外雲端,訊號傳回來延遲就太慢了
  • DoS有不同Layer,這邊是第七層

Mitigations

  • SSDLC (Secure Software Development Life Cycle): 安全的軟體發展生命週期(Secure SDLC 或S-SDLC) ,domain8再講
  • DevSecOps DevSecOps是一種集成開發(Dev)、安全(Sec)和運營(Ops)的方法論
  • 限流量或短時間次數, api gaeways 會限制,例如1分鐘不得超過200次

Containerization P43 容器化,把應用程式封裝在一起

  • Characteristics
    • Shared OS Service
    • Lsolated applications
      • Reduce size of VMs 想像成小size的vm,把應用程式虛擬化,跟vm不一樣,只是類比
      • Reduce cost of operation
    • Rapid adoption 應用程式啟動和消失很快
    • Containers are portable 只要runtime環境相容,在 windows 或 linux 都可以跑
    • Multiple technologies
  • Vulnerabilities
    • Insecure base images 不安全的image,例如使用到舊的元件log4j
    • Excessive Privileges 不可以給container過多權限
    • Container sprawl, escape 從 container 裡面跳出來攻擊外面
  • Mitigations
    • Image Management 類似 vm 避免開太多管理問題(未妥善更新 浪費運算資源)
    • Limit Containers Privileges, resources 設定 container 要用什麼權限,資源的使用限制
    • Micro-segmentation,firewalls 切小小防火牆做網路區隔
    • Container Menagement

serverless 無伺服器的運算

程式運作完就關閉了,例如


High-Performance Computing System P44 高效能運算系統

其實是一種技術的通稱,講的是需要複雜運算的系統,有多種方式可以實作

  • Characteristics

    • Highly complex Computational science and mathematical resources 超級電腦就是一種
    • Significantly more Computational resources
    • Maximize the productive(Customer)use of resources
    • Supercomputers, computer clusters,cloud computing 叢集式或雲端也是高效能運算
    • 當紅炸子雞 GPU 運算也是一種高效能運算
    • 量子運算 quautum computing,但2023年的現在還沒很 成熟
  • Vulnerabilities

  • Mitigations

    • Proprt design
    • Appropriate monitoring and logging

Industrial Automation Control Systems P45 工控環境

ICS,有些會一個 IACS, A是 Automation
CII 關鍵資訊基礎設施(Critical Information Infrastructure, CII)
跟工控環計有關 (油,水,電)
OT更強調完整性,例如醫療器材設定被改影響生命安全,產線影響效率(台積電感染 wannacry)
OT服務中斷的影響不太一樣,IT就重開reboot就好,產線重開,前面作過70%的半成品都白費變沉沒成本要整個重來。

OT:完整性可用性
IT:重視安全性

控制實體設備透過 actuators 致動器,例如透過 致動器 控制機器手臂。家裡的定溫熱水器就是一個小的設備(快到90度降溫,85 度努力升溫。

工控環境風險:熱水壺被入侵,被串改,現在改成80度


工控環境參考圖片

Detecting cyberattacks in industrial control systems using online learning algorithms
Author links open overlay panelGuangxia Li a, Yulong Shen a, Peilin Zhao 1 b, Xiao Lu c, Jia Liu a, Yangyang Liu a, Steven C. H. Hoi d

image

攻擊管道

  1. HMI被入侵,去操控 Actuators
  2. Sensor 收到指令,對 PLC 下指令,PLC被攔截去操控 Actuators

震網(Stuxnet):美國對伊朗核電廠工控環境使用病毒發起攻擊的事件

SCADA系統,如行車監控中心

  • 資料採集與監視系統(英語:supervisory control and data acquisition,縮寫為SCADA)一般是有監控程式及資料收集能力的電腦控制系統。可以用在工業程式、基礎設施或是裝置中。

Industrial Control Systems P47

Characteristics(特徵):

  • Cyber Physical 一邊數位一邊實體環境的系統,出問題會造成人員傷亡
  • 控制與監控很多等級,有on-device on-site, Lan ,Internet

Vulnerabilities

  • 不安全的地點
  • 設計 程式或介面可能沒有擁有權
  • 不安全的通訊環境(但現在比較好了)
  • 更新很困難主要有兩個問題
    1. 機台EOS:產線動則數千萬,一用就二十年
    2. 封閉網路:網路隔離,無法與原廠直接做更新
      Mitigations
  • 網段隔離
    • 台商廠房做建置,四個產線在同個網段,感染勒索軟體,就都被入侵
  • Configuration conotrol 組態管理
    • 絕對嚴格禁止未經授權的變動
  • Secure protocols 安全的通訊協定
  • IEC 62443是針對「工業通信網路-網路和系統的IT安全性」(Industrial communication networks - IT security for networks and systems)的一系列的國際標準。
    • 控制四個角色 擁有者owner 製造商 SI 供應商
  • SEMI E187,188(台積電帶領制定資安規範)

Internet of Things(IOT)Reference Arc

  • Characteristics(特徵):
    Edge 永久儲存可以透過 Gateway 想像成fog層,往後就是放在雲端,最上層是UI

    消費端工業應用幾乎都有運用到

    IOT應用:雅馬遜的無人商店,掃碼掃身份,商品拿出來都會偵測,只要可以偷東西不被算,就代表送你的。
    [ 三分鐘設計報 ] - 到 Amazon Go 無人商店偷東西
    https://www.youtube.com/watch?v=Z0PTKJ11Hm8

    • 小型應用式的感測器
    • 與實體環境做溝通
    • 用一班網路做溝通(Internet,3G,4G,5G)
    • 內建Wi-Fi網卡
    • IOT設備convergence 很少單獨運用都會跟網路整合
  • Vulnerabilities(弱點):

  • Mitigations

    • 端點管理
    • Secure update

Select and determine cryptographic solution 3.6 密碼學

主要聚焦在密碼學的應用,適合的地方

在「我的密碼沒加密」部落格,站長提醒了幾個疑似存在密碼安全漏洞的網站。站長Allen(台灣駭客年會翁浩正) 將在資安展 2012/4/19(四)中午於新品發表區實際展示網站密碼問題
https://www.informationsecurity.com.tw/article/article_detail.aspx?aid=6702

對稱式 非對稱式

Why Cryptography

機密性,存取控制

Cryptography Evolution密碼學歷史

  1. 第一階段-手動加密
  2. 第二階段-機械式加密
  3. 第三階段-電子機械式加密:可參考模仿遊戲
    模仿遊戲- 維基百科,自由的百科全書

2014年電影 模仿遊戲
1939年英國向納粹德國宣戰,在丹尼斯頓司令安排下,圖靈赴布萊切利園加入解密組,試圖破解當時無人能破的德軍「恩尼格瑪密碼機」,線上玩看看 Enigma machine emulator

  1. 第四階段-Modem Era 現代數位加密 對稱式非對稱式都算這一種
  2. 第五階段- Quantum Cryptography量子加密演算 ,或稱後量子演算法,專們用來防止量子電腦運算很快把舊加密破解的新演算法

Key Encryption Concepts

  • Plaintext 明文:沒有加密的狀況
  • Cryptosystem 加密解密系統
    Chiphertext 加密後的密文
    對方收到要 Decryption
    加密解密(Encryption)有金鑰參與,編碼(encode)沒有

金鑰強度 P60

金鑰強度越長強度越高,密碼學演算法在有限時間(百萬年,千萬年才能解密),沒有辦法破解,他就是安全的


Kerckhoffs's Principle 原則

  1. 強調金鑰保存的重要性
  2. 不能以隱藏加密的原理 來做為安全保護措施

Shannon's Corollary說:請假設攻擊者知道你的所有東西 除了金鑰。

Cryptography System P62 有圖,背起來

目標:機密性,完整性,來源可信任,不可否認性

  1. 對稱式加密:分兩類
    • AESBlock Cipher:AES
    • 串流演算法
  2. 非對稱式加密:
    • Symmertric
      • Block Cipher:代表作 AES
      • Stream Cipher:代表作 RC4不安全了,新的是CHACHA20
    • Asymmetric
      • RSA, 離散對數因式分解 (怕量子電腦運算)
      • Discrete Logarithm:ECC橢圓曲線 和 DH 兩個人開發的演算法
    • Accidental
  3. Hash演算法:
    • Keyed HMAC
  4. 數位簽章(HASH,非對稱式)

Symmetric Encryption Algorithms 對稱式加密演算法特性

  • 使用相同金鑰加密與解密 Use the same key to encrypt and decrypt
  • 對稱式演算法有兩種做法
    • 置換substituation
    • 重新排列 Transposition

最大目標是達到不可預測性,明文和金鑰之間沒有特定關係,這個演算法就滿足加密的條件

  • 須具備不可預測性,算出來有隨機性 Random

Substitution Ciphers(置換)

把明文某個字元做交換

Transposition 重新排列,又叫做 permutation P65有圖

例如 Apple 重新排序

image

頻率分析法 Monoalphabetic and PolyAlphabetic Ciphers P66

因為英文有單字出現頻率的問題,所以可以用頻率分析工具,專門用來剋這種單一字元集的加密演算法
https://www.boxentriq.com/code-breaking/frequency-analysis


One-Time Pads 只是用來產生金鑰表,他不是 One Time Password

the only cipher system asserted as unbreakable

  • Truly Random,程式不好做,程式通常只作出 Pseudo 模擬的
  • 每把金鑰只用一次
  • 模擬器,產生一堆金鑰隨機產生只用一次,學理上無法破解https://www.fourmilab.ch/onetime/otpjs.html
    image

對稱式加解密優缺點 P68

  • Advantages(優點)
    • 快:比非對稱式大概1000倍 (大量式資料應該用這種)
    • 可達到機密性要求
    • 可達到完整性 例如使用 #CBC-MAC對稱式演算法)
  • Disadvantages(缺點)
    • 來源端和接收端必須使用同一把金鑰
    • 不能交換金鑰,不能安全的把金鑰給對方
    • Scalability(金鑰數量)
      • 公式:N*(N-1)/2
        • N=3, Key=3
        • n=4, Key=6
        • n=6, Key=45
    • 金鑰數量會暴增很難管理,非對稱式只要 2n 把
    • 無法提供不可否認信,也無法提供數位簽章,對稱式加密不能做數位簽章

Asymmetric Algorithms 公開金鑰加密,非對稱式加密法 ,代表作 RSA加密法 P69

非對稱加密:在做加密時會有兩個Key(一個公鑰,私鑰),一把加密,解密要用另外一把開。

注意:中文講 加密 就會想到機密性,但在非對稱式裡不成立,用公鑰和私鑰要達到的目的不同。

  • Public Key 公開的可以隨便給人家
  • Private Key 要保存好,全世界只有你有

特徵:One-way-function

  • 正向運算簡單,反向運算很難
  • 私鑰算公鑰簡單,公鑰反向推出私鑰很難

Hard Mathematical Problems P70

  • Factoring : 代表RSA
    • 因式分解,拿兩個很大的質數相乘很簡單,但要拿這個結果反向推算很難
    • 離散對數指數運算,拿到 G X,去算 G^x 次方S 很簡單,但只有G和S,要算小x 很難
  • Discrete Logarithms : EEC(橢圓曲線)DH

達到機密性怎麼做? P71

非對稱式加密要用對方的公鑰做加密,
這主做法就是RSA做法

Proof of Origin 確認訊息來源可以信任 P72

這邊是數位簽章的概念

Alice用自己的私key加密,解要用 Alice 公key解,主要目的是 verify 驗證沒有問題,就能相信來源是可信任的

現實世界簽約會做什麼? 可以這樣想
蓋私章=用私key加密=證明來源可信任=不可否認
把蓋好私章的紙放到信封,用對方的公key加密,讓接收方用自已的私key解開

加密是要證明來源可信任


非對稱式:RSA

  • RSA是發明者三個大師名字的英文縮寫

  • 為什麼名氣高? 因為技術發展的早,很早進入市場

  • 提供三個功能

    • 加密
    • 金鑰交換 (補了對稱式的弱項)
    • 數位簽章
  • 常見金鑰長度 1024 2048 4096,2023年建議至少2048以上

    • ECC加密長度相對比較短,很長不代表看起來比較安全 因為RSA有一些金鑰不是有效bit
  • RSA 會用接收方的公Key對這把對稱式金鑰加密,讓金鑰以密文狀態傳遞,對方用自己私鑰解

密碼學有提到一個特性 PFS Perfect Forward Secrecy,如果你的金鑰在未來時間被破解,他應該不能解以前的密文,RSA不具有這種特性

實際看 TLS 演算法

從 ssllabs 可以看網站傳遞訊息使用的加密演算法
https://www.ssllabs.com/ssltest/analyze.html?d=licindia.com

FS就是 Forward Secrecy
CBC_SHA 沒有 FS,所以一開始寫FS後面帶 Weak

image

RC4就很嚴重了,現在網站幾乎都關了

Diffie-hellman P75

  • 只做金鑰交換 沒有金鑰加密 沒有數位簽章
  • 兩邊 Public 交換後(私鑰沒交換)可以拿到一樣的 Shared
    image

ECC 橢圓曲線加密法

  • 效能會比較好,經常運用在運算能力受限,儲存空間不大
  • 全功能:資料加密,數位簽章,資料交換

ECC產生公私鑰過程

我其實沒有一次聽懂橢圓曲線這邊在講什麼..

image

ECC RSA
160-Bit 1024-Bit
224-Bit 2048-Bit
256-Bit 3072-Bit
384-Bit (NSA acceptable for top secret) 7680-Bit

非對稱式優缺點

優點:

  • 原生支援金鑰交換功能
  • 不管要加多少資料,金鑰數量就是2N把(公鑰,私鑰)

缺點:

  • 對大量資料加密(EX:勒索軟體會用對稱式,不然加密別人電腦很慢)

駭客勒索加密時用對稱式金鑰,然後用駭客組織的公鑰加密,公開這段加密資料,贖金付了才給你駭客組織的私鑰

混合加密 P79

對稱式+非對稱式加密混合的過程

MICs Message Integrity Controls 訊息完整性控制 P80

我們怎樣偵測資料的完整性?
MIC是特殊值,透過訊息內容,接收方收到之後來驗證MIC,主要偵測訊息有無變動的控制措施

傳輸可能的問題

  1. 傳輸錯誤
  2. 攻擊者竄改
  • Parity(沒什麼在用了):如果我傳輸 01001[],用1個bit當檢核碼,假設我有兩個字元變動,這時候就檢查不出來了
  • Checksum 身分證檢查碼的機制
  • image

故意竄改有兩個做法:

  • MAC
  • 數位簽章

Hashing P81

單向式的資料加密,不可逆
hash value Hash結果有時也稱做 message digest 訊息摘要,例如 md5 就是取 message digest 做縮寫

特色

  1. arbitarity long plaintext 可變長度的明文,但算出來是固定的長度
  2. Input 訊息微幅變動:改一個字 hash 就會差很多 , avalanche effect 雪崩效應,讓他夠隨機(random)

安全的 Hash 演算法需要具備的5個特性 P83

  1. Uniformly Distributed
    • 訊息Input進來, 每個選擇的機率必須盡量一致(不能有特定的pattern模式)
  2. Collision resistant 碰撞
  3. Difficult to invert
    • 很難反推
  4. Computed on entire message 根據整個訊息計算,而非拆開多個部分來獨立計算 Hash
  5. Deterministic (same input always producessame digest) 相同訊息應該產生相同結果

Operation of Hash Dunction P82

HASH演算法偵測意外變動


Hash Functions

  • MD2 MD4 MD5 MD6都有,最有名是 MD5,但都有被找到碰撞了
  • SHA系列
    • SHA-1(160-Bit) 被規定不能用在數位簽章
    • SHA-2 (224-512 bit) NIST 2013
    • SHA-3 (224-512 bit) NIST 2015
    • SHA3演算法其實原本名稱是 keccalc,SHA3是演算法競賽名稱,最贏的就被命名成SHA3
    • SHA3 並不是基於 SHA1 或 SHA2 的升級版

HASH演算法目前是從SHA-2起跳

TW GCB 下載佈署資源時,可以看到有 SHA256 的 Hash value 可驗證

image


HMAC:Hash Message Authentication Code,Hash訊息驗證碼 P86

key+msg丟進去算出來的Hash value = HMAC,一起傳送到接收方卻
接收方如何驗證?:用同一把金鑰拉出來,用同樣的HASU演算,跟對方的做比對,若相同,就能確保有沒無被惡意竄改

補充資料: Day25:安全性和演算法-訊息鑑別碼(Message Authentication Code)


CBC-MAC (對稱式演算法)

  • CBC Mode
    • 切成一個一個Block
    • 產生密文,金鑰,把最後的密文當作是解密,將他一起送到接收方,用同一把KEY,用CBC MAC再跑一遍,去確認並驗證
    • CCMP(WPA2/3支援),TLS

都可以做到機密性,來源性


數位簽章 P88

圖片看投影片

這邊做法不一樣單獨列出來

  • Alice送訊息給Bob:為做到不可否認
    蓋私章,用發送者私鑰會產生數位簽章
    訊息透過 HASH 產生數位簽章
  • 接收方驗證:用發送方公鑰,解密,與發送方做比較,驗證相同將達成:
    • Proof of origin(來源可信任)
    • integrity(完整性)

數位簽章可以用在哪裡? 電子商務交易 數位憑證


Digital Sianatures Uses P90

收集到的數位證據做簽章

Hybrid Cryptography Example 2:CME with POR P91

功課:找一張白紙把這張圖畫出來

要做到這幾個目標:

  1. Confidentiality(機密性)
  2. Integrity(完整性)
  3. key exchange(密鑰交換)
  4. proof of origin(來源可信任)
  5. Non-repudiation(不可否認性)
  6. 驗證receiver(接收者)

圖的流程模擬(要自己畫一次)

  1. 假設一開始左上要產生key,使用 AES-128
  2. 左中綠色 H 產生數位簽章要 Hash,使用SHA224
  3. Alice's private key 使用 RSA 2048
  4. 接收方解密需要對稱式金鑰,Bob's public key 用 RSA-1024
  5. CTK右邊,Bob用自己私鑰解開,完成了金鑰交換需求3,解開後得到明文
  6. Alice's public key,需用對方公鑰解開 RSA 2048
  7. Bob (receiver)收到訊息是加密狀態,達成了前面需求1
  8. Bob's Digest達成了前面需求的2,4,5

steganography 隱寫, 資訊隱藏 P95

看起來很普通的圖片,但裡面有藏秘密
或是藏在超音波耳朵聽不太的地方
偵測上有一定程度的難度,DLP 不一定找得到

實體的隱寫技術:隱形墨水
steganography:圖片8bit,拿最後一個 bit 藏資訊,圖片看起來沒什麼變
null ciphers 藏頭詩的概念


Distributed Ledger 分散式帳本

去中心化應用,可以達到以下目標:

  1. 公開透明
  2. 防竄改
  3. 技術:Hash演算法
  4. 技術:數位簽章
  5. block chain 區塊鍊就是應用這種技術的成果
  • block chain 會包含一堆交易內容,一個 block 有下面這三種東西
    • 前一個 block hash
    • 這一個 block 的交易
    • 我這個 block 的 hash
  • 只改自己本機的帳本沒用,因為其他分散的帳本不承認這個結果 (必須用51%算力攻擊,打破consensus共識決)

End to End Encryption 端到端加密

端到端加密,從裝置出去後,一路上加密都沒有解開過

  • Line 訊息 (Letter Sealing)
  • https也是這種技術
  • ftps也是這種技術
  • 說穿就是 tls 加密技術
  • IPSec也可以做到

OSI七層的第二層做加密,
第2層以上的資料全部加密,連第3層都加密了

缺點:封包在網路上傳送要經過 routing,經過許多 router,當第2層加密了,送到 router 的時候必須要跟 router交換金鑰才能解開幫你傳去下一個,下個 router 又交換另一把金鑰(很麻煩)

  1. 在 Router 上解密時會有空窗期風險
  2. 跨 Router 交換金鑰的金鑰管理問題

Hybrid Systems and the Public Key Infrastructure (PKI) P99

結合金鑰/數位憑證/網路協定等內容,機制有個管理流程
PKI目的:希望透過第三方證明網路上的身分,需要跟真實世界連結在一起
EX:自然人憑證-臨櫃申請叫做vetting Process(審查流程),確定身分後才幫你製卡

提醒:數位憑證不等於自然人憑證

提供那些目的?

  1. 自然人憑證那張 smartcard是我的私鑰
  2. 但發給我的數位憑證裡面也有公鑰

PKI角色

  1. 使用者
  2. 憑證註冊中心RA (Registration Authority),登記機關,戶政事務所
  3. CA(Certificate Authority)
    • 驗證數位功能叫VA,為CA功能之一
    • 要不要發由CA決定
  4. Validation Authority ,

網路報稅舉例:
假設一個財稅中心做報稅:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

報稅前:user 把 報稅資料加上數位簽章,怎麼加?
把自然人憑證插入讀卡機,用自然憑證將報稅資料 做hash 送到財稅中心
財稅中心 問 CA 這個簽章對不對
CA 的 VA 財政中心沒問題是我發的
檢查:資料內容無遭竄改 資料來源是本人正確 本人不可否認有送出過


X.509 Certificate P107

  • Subject name :表示現實世界身份,以自然人憑證來說,就是本人的名字
  • Digital Signature of CA:用在網站網域名字

以上兩個要經過審查才能發出去,憑證發放出去後需有防衛的設計,避免自己偽造他人身分,就是數位簽章

  • 數位簽章就是把整個數位憑證內容過HASH演算法,得到一個 digest,把digest 用一把鑰匙加密,
  • 用誰的 Private Key加密產生數位簽章呢? A : 用 CA 的 Private Key產生數位簽章,放在憑證後面

怎麼做到防衛呢? (確保網站的憑證未遭竄改)

  • 我們要拿到CA的公鑰來驗證
    CA的公鑰是預先載入的,可以在瀏覽器找看看信任的根憑證 Root CA
    image

Root CA 被入侵案例,if you can't trust your CA Digi Notar 2011 P108

DigiMptar CA 私鑰被偷

Certificate Revocation 憑證召回 P109

憑證什麼時候需要被召回
CRL

CR mechrist 補充資料 P110

CRL
OCSP responder URI 一次問一筆

image

可以用 windows cmd 的 certutil 指令查看看


Key (金鑰管理)

金鑰生命週期6階段
產生、使用、儲存、備份、還原、銷毀


密碼一定要定期變更 key rotarion 嗎?

nist 現在並沒有一定要求定期變更密碼,原因

  1. 一直改對使用者有困擾
  2. 定期改密碼真的有效嗎?
    以卡巴斯基密碼強度檢查為例 https://password.kaspersky.com/
    1qaz@WSX、1qaz@WSx、1qaz@WSy ,這些都是弱密碼了

建議作法:密碼變更時機是有被入侵風險或疑慮,不一定要定期變更

Key Recovery 金鑰備份以及毀損時怎麼還原?

異地備份可能還不夠,甚至需要託管第三方

Key Disposition 金鑰銷毀


Psedo Random (模擬的隨機)

程式可能不是 true random,因為種子可能還是有被算出來的可能
true random 可能是使用現實世界的機制來當作random種子

有研究提供 true random 的 api 可以用
https://qrng.anu.edu.au/random-binary/

image

可以用這個網站 check 隨機程度
https://planetcalc.com/2472/

  • 1 51%
  • 0 48%
    image

Creation of Keys

RSAS 不是所有 bit 都是有效 bit
ECC金鑰短但是強度跟 RSA 一樣


KeDistribution金鑰傳遞,Key Wrapping交換,KeyEncrypting Keys加密金鑰的金鑰 P113

  • 交換金鑰可以用 RSA ECC,但某些時候需要保護這把加金鑰
  • 加密明文的key 稱為 DEk,如果要用對稱式保護Dek,保護後的結果叫做 KEK
    金鑰交換2 種方式
  • Out ofband key exchange 傳送金鑰的 channel 走其他路徑
  • Key wrapping 金鑰交換

或是 Asymmetric 非對稱方式交換

有的書會把非對稱和對稱加密金鑰都叫 key wrapping
但 nist說只有對稱式才算 key wrapping


金鑰儲存與銷毀 P114

  • 硬體儲存模組
    • 筆電 tpm晶片
    • SecureElement
    • root CA HSM -> RCA
  • 軟體儲存 安全性稍低 Windows EFS(金鑰放在O)
  • 智慧卡
  • key wrapping the (session keys 短期密碼),然後使用 KEK 保護 session key
  • 金鑰拆解保管 splitting cipher keys ,加密貨幣交易所出金的時候常用,把出金的金鑰拆解放到不同地方,避免一台電腦被入侵就全部被竊取
    • 如果萬不得已要把密碼寫在程式內? 先拆解,這樣被扒 source code 可能不容易被發現,也算一種金鑰拆解延伸方式
  • 用密碼保護金鑰 (匯入匯出需要密碼)
  • key 更改後,要馬上銷毀舊key嗎? rotate 到新的 key前還是先保留一段時間,免得某些東西還是需要舊的解

Key Rocovery P115

dual control

  • 雙重控制(核彈兩個人才能發射)
    split knowledge
  • 重要任務或知識由兩個人執行,例如可樂沒有一個人知道這個配方,重要金鑰不能一個人持有
  • key spliting 演算法,金鑰切成5份,只要3份到場就可以復原,又稱為 m out of n 演算法
    Key Escrow 金鑰託管
  • 找信任第三方,金鑰損毀需要復原要填表單驗證身分

key spliting 演算法可以參考這個網站

shamir's secret sharing


演算法與協定治理

  • 例如 行動應用app基本資安檢測基準 有訂
  • image
  • 美國聯邦政府要求可以使用的演算法 FIPS 140-2 => 140-3
  • 如果密碼已經被破解了,有沒有轉移計劃 transition plan

這張圖就是 nist transition 計畫
https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar2.pdf
3 TDEA 2023年後不給加密

image

  • 演算法選擇的 criteria: 什麼樣的 data 用什麼樣子加密?
    基本判斷:information 分類
    內部使用 vs 極機密 都用 AES 256,有成本問題

  • 金鑰使用 託管 與銷毀的議題

  • 發生事件怎麼回報


Issues Surrounding Cryptography P118

image

  • 本地國家要求的限制(極權國家比較會要求,例如中國的 密碼法)

加密管理 P119

  • NIST SP 800-57
  • ISO 11770 KM
  • 醫療產業 HIPA
  • 金融產業 GLBA
  • 業餘人員不適合執行

Crpytnalysis Attack 破密學 P124

以攻擊者手上有什麼資訊或現象來分類
演算法應該要有不可預測性,明文 金鑰 密文,不能有特定模式,如果可以用統計方式找出來就不行,降低被暴力破解的機ccjo4

  • Ciphertext Only 只有密文就可以攻擊
    WPA,蒐集夠多密文,就可以金鑰反解回來
    在wifi密集處,大概半小時就足夠反解金鑰了
  • Known plaintext 已知明文+密文可以解
  • Chosen plaintext 攻擊者可以觀察到加解密系統的輸出 output
  • Chosen ciphertext 攻擊者可以觀察到加解密系統的輸入 input
  • 線性破密Linear
    • 統計金鑰與密文的
    • 用線性趨近法+統計分析,嘗試找出最有可能的金鑰
    • 需要 2^43 的資料
  • 差分破密Diffential
    • 加密兩個明文和兩個密文
    • 計算兩個明文和密文差分
    • 找到特定模式後猜看看金鑰可能性
    • 需要 2^47 的資料

Implementation and Algorithm Attacks P125

  • 旁路攻擊 Side channel 不是針對主要數學問題握演算法,是針對加密系統的訊號有無特定模式,例如執行時間、頻率、消耗的電力、產生的熱、機械震動等物理訊號

  • 這種攻擊通常很難實現 但可以發論文 行政院國家科學委員會 論文:針對密碼硬體具有電力分析攻擊抵抗力之設計方法與最佳化

  • Fault injection and error analysis: wiki: Zeroisation 讓系統電壓歸0,清零通常會在加密會話結束時執行,以防止密鑰意外洩露

  • 重播攻擊 Replay Attack:驗證值Credentials會有一段時間不會變,可以 pass (pass the hash or Pass the ticket)

  • 克服方式:讓Credentials動態有 random 特性、例如一次性密碼,加鹽、CSRF token

  • Mathematical attacks 解決數學難題的任務

  • 字典檔:破密工具通常有

  • 折衷方式 Rainbow table,pre computed hash,就是預先把所有結果算出來,演算法要防範可以加 salt,rainbowCrack 是有名的破解工具

  • rainbow table 通常很大 127gb 690gb

    image

  • 使用安全的random 產生方式,例如 Android SecureRandom https://developer.android.com/reference/java/security/SecureRandom

  • 暴力攻擊:目標防止暴力破解保護,估算到上百萬年才能解開

  • 勒索軟體:密碼學誤用

  • 社交工程

    • 暴力脅迫Coercion、Intimidation
    • 欺騙 從眾心理(大家都這樣做)
    • 人性喜歡幫助人
    • 服從權威
    • 賄絡、買通key man
    • 利益交換 中獎mail