iT邦幫忙

2022 iThome 鐵人賽

DAY 5
1
Security

建構安全軟體開發系列 第 5

建構安全軟體開發 EP 05

  • 分享至 

  • xImage
  •  

Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~

本篇是 建構安全軟體開發 系列文的 EP05。


延續前一篇的 EP04 從資訊/開發人員可以理解的領域來繼續舉例討論。

聊聊 Windows 10/11 的核心隔離設計

隨著作業系統的升級或發展過程,更在當前安全威脅日益高張的時刻,當然作業系統的相關安全性與設計也會隨之強化。

外部裝置硬體會透過其驅動程式跟作業系統 (OS) 進行作動後,再讓應用程式可以使用該外部硬體裝置。

應用程式與裝置互動的簡化示意圖

所以從安全性的角度來看,隨著時間的推進而造成一些外部硬體裝置的驅動程式過於老舊,卻沒有跟著作業系統的新式安全性設計而改版的話,那發生與新版作業系統發生不相容問題,也只是剛好而已。

當要使用 "網路 ATM"、"自然人憑證"、"工商憑證"、"健保 IC 卡"…等身份驗證的時候,就會需要使用到 "讀卡機" 這東西。結果在 Windows 11 的時候,此 EZ-100PU 讀卡機永遠出現下面的畫面:
讀卡機驅動程式載入錯誤

WTF

詳細的這問題該是如何,又該怎麼解,可參考先前發表在個人部落格的文章: "在 Windows 11 上遇到的怪事: EZ100 PU 讀卡機無法使用..." ,在此就不贅述。

但實際來了解一下微軟提及 Windows 10/11 的 核心隔離 功能:

是 Microsoft Windows 的一項安全性功能,透過在受到保護隔離的記憶體區域中來執行 Windows 的重要核心程式,進而與惡意軟體危害隔絕。也就是說這將透過在一個隔絕的虛擬環境中去執行這些 Windows 的重要核心程式。

其中兩個作法來共同達成 核心隔離 的功能:

  • 記憶體完整性
  • 記憶體存取保護 (又稱 "核心 DMA 保護")

Windows 核心隔離

詳情請參閱 "微軟 "Windows 核心隔離" 官方介紹文件"。

在官方文件對於 "記憶體完整性" 的介紹中有提到一個例子,有興趣的人可以從原文來讀一下這個例子(因為官方文件在繁體中文翻譯這敘述的並不太好)。

所以,當外部硬體裝置的驅動程式若配合 Windows 10/11 所設計的 核心隔離 運作時,就能確保應用程式在操作外部硬體裝置的過程,在透過隔離區域進行其控制的過程,並驗證其操控過程的記憶體完整性。
VBS secure memory enclaves
上圖取自 Virtualization-based security (VBS) memory enclaves: Data protection through isolation 文章的 Figure 1。

那說到這邊,各位是否能想想看,在 Windows 10/11 的核心隔離設計功能,當中有達成 "C.I.A Triad" 或 "3A. 原則" 當中的那些概念?

對了,所以本 EP05 的最後也想問一下大家,這 EZ100 PU 的晶片讀卡機驅動程式不相容問題是 Microsoft 的錯?
裝置廠商 CASTLES TECHNOLOGY (虹堡科技) 的錯?
亦或是消費者的錯?

就看各位要從哪個角度切入去討論了。

如果就 "晶片讀卡機" 本身被拿來在電腦上使用時,帶有其特殊意義 (Authentication) 的存在,那 "安全" 應該就是要放在較高位階的存在;如果就 "晶片讀卡機" 本身能被消費者接受,並購買來使用的價格來看,那 "安全" 就是被放在較低位階的存在。

不過,現實總是殘酷的,老師音樂請下:
Yes



上一篇
建構安全軟體開發 EP 04
下一篇
建構安全軟體開發 EP 06
系列文
建構安全軟體開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言