前言

簡單來說,每次微軟發佈安全性更新後,過不久便會有惡意人士產生攻擊工具來嘗試侵入未進行安全性更新的主機。這次,便是針對上個月 Microsoft 發佈 (Microsoft Security Bulletin MS17-010 - Ctitical) 針對 SMB (Server Message Block) 通訊協定的漏洞攻擊。



台灣受害主機數量已達第 2 名

根據網路安全公司 Below0Day,所發佈的部落格文章 DoublePulsar Global Implants: On the rise? 統計結果可以看到,在 4 月 18 日的掃描結果中在網際網路上共有 5,502,460 台主機開啟 Port 445,並且在其中檢查到共有 30,626 台主機已經偵測到遭受 DoublePulsar 攻擊。可以看到台灣名列遭受 DoublePulsar 攻擊數量第 3 名,共有 2,323 台主機遭受 DoublePulsar 攻擊成功。

圖、4 月 18 日全球遭受 DoublePulsar 攻擊分佈圖

圖、全球遭受 DoublePulsar 攻擊分佈圖 (台灣名列第 3 名)

接著,他們再次於 4 月 21 日的掃描,發現在網際網路上共有 5,190,506 台主機開啟 Port 445,並且在其中檢查到共有 56,586 台主機已經偵測到遭受 DoublePulsar 攻擊 (短短 3 天受感染主機數量已提升 25,960 台主機)。可以看到台灣名列遭受 DoublePulsar 攻擊數量升高至第 2 名,共有 5,217 台主機遭受 DoublePulsar 攻擊成功 (短短 3 天受感染主機數量已提升 2,894 台主機)。

圖、4 月 21 日全球遭受 DoublePulsar 攻擊分佈圖

圖、全球遭受 DoublePulsar 攻擊分佈圖 (台灣名列第 2 名)



安裝 KB 3150513

簡單來說,請先盡速透過 Windows Update 安裝 Microsoft KB 3150513 安全性更新,或至 Microsoft Update Catalog 下載及安裝 Microsoft KB 3150513 安全性更新。

圖、至 Microsoft Update Catalog 下載 KB 3150513 安全性更新

圖、確認主機已安裝 KB 3150513 安全性更新

當然,並非安裝 KB 3150513 安全性更新便可以高枕無憂。還是老話一句,安全與便利永遠是天秤的二個拉址點,一旦主機連線至網際網路就沒有絕對的安全 (即便未連線至網際網路也沒有絕對的安全性),這場攻防之間的戰爭只要有利益可圖就沒有停止的一天。👿



參考資源


前言

日前 (2017/4/18),VMware 官方正式發佈 vSAN 第六代 VMware vSAN 6.6 Release 資訊。雖然距離上一版 vSAN 第五代 VMware vSAN 6.5 發佈才間隔短短五個月。但是,這次發佈的 vSAN 第六代總共新增 23 項特色功能!!

有關過去每一代 vSAN 版本的新增特色功能資訊,請參考站長歷來撰寫的 vSAN 專欄文章:
圖、VMware Virtual SAN版本演進及新增功能示意圖


那麼,接下來站長也將不定期針對第六代的 vSAN 6.6 深入剖析各項特色功能:

【簡介】(Introduction)




【安全性】(Security)

  • Native Encryption
  • Compliance



【管理】(Management)

  • Proactive Cloud Health Checks
  • vSAN COnfiguration Assist
  • Hardware Lifecycle Management
  • Highly Svailable COntrol Plane for Health Checks
  • Health and Performance Monitoring
  • vRealize Management Pack for vSAN
  • Stretched Cluster Witness Replacement
  • Host Evacuation
  • vSAN API and PowerCLI



【部署】(Deployment)

  • Easy Install
  • Multicast Dependency Removed
  • Extensibility


【可用性】(Availability)

  • Stretched Cluster Local Failure Protection
  • Stretched Cluster Site Affinity
  • Degraded Device Handling



【效能】(Performance)

  • Deduplication and Compression
  • Rebuild and Resynchronization Enhancements
  • Checksum
  • De-Staging
  • iSCSI

前言

日前 (2017/4/18),VMware 官方正式發佈 vSAN 第六代 VMware vSAN 6.6 Release 資訊。



雖然距離上一版 vSAN 第五代 VMware vSAN 6.5 發佈才間隔短短五個月。但是,這次發佈的 vSAN 第六代總共新增 23 項特色功能!!

圖、VMware vSAN 原生超融合安全性

圖、VMware vSAN 提供 SDDC 中深度整合的安全性機制


vSAN 6.6 新功能簡介

由於新功能太多,因此本篇將是 vSAN 6.6 總共新增 23 項特色功能的概要說明。後續,將會把每項特色功能拆解後再依續深入剖析各項機制。首先,我們可以將這些新功能區分為五大類,分別是「安全、管理、部署、可用性、效能」

【安全性】(Security)

在安全性方面有 2 項新功能分別是「Native Encryption」「Compliance」,主要在 VMware SDDC 軟體定義資料中心的願景中,VMware vSAN 擔任 SDS 軟體定義儲存的重要角色。因此,確保儲存資源的安全性機制將相形重要,在新版 vSAN 6.6 當中無須依靠加密磁碟 (SED) 就可以達成靜態資料加密解決方案,有效保護企業及組織當中的機敏資訊。

圖、啟用 vSAN 加密機制


【管理】(Management)

在新版 vSAN 6.6 當中關於管理的部分共有 9 項新功能 (如下所示)。同時,在過往的 vSAN 版本當中,整個 vSAN 運作環境仍圍繞在 vCenter Server 為主要管理平台。現在,新版 vSAN 6.6 已經可以在 vCenter Server 離線時透過 VMware ESXi Host Client 進行管理,不過在哪一台 vSAN 叢集節點都可以查看健康情況。
  • Proactive Cloud Health Checks
  • vSAN Configuration Assist
  • Hardware Lifecycle Management
  • Highly Available Control Plane for Health Checks
  • Health and Performance Monitoring
  • vRealize Management Pack for vSAN
  • Stretched Cluster Witness Replacement
  • Host Evacuation
  • vSAN API and PowerCLI

圖、透過 ESXi Host Client 管理介面查看 vSAN 健康情況



【部署】(Deployment)

在新版 vSAN 6.6 當中關於部署的部分共有 3 項新功能 (如下所示)。在過往的 vSAN 運作環境中,最令管理人員感到困擾的便是 vSAN 叢集主機之間必須透過「Multicast」進行溝通。現在,新版 vSAN 6.6 改為採用「Unicast」(當舊版升級為 vSAN 6.6 後也會自動 Multicast -> Unicast)。
  • Easy Install
  • Multicast Dependency Removed
  • Extensibility

圖、新版 vSAN 改為採用 Unicast

圖、新版 vSAN 改為採用 Unicast



【可用性】(Availability)

在新版 vSAN 6.6 當中關於可用性的部分共有 3 項新功能 (如下所示)。事實上,從第二代 vSAN 6.0 版本開始便具備 vSAN Stretched Cluster 的運作架構,然而新版的 vSAN 6.6 結合本地端故障保護機制讓站台之間的容錯更具備彈性,甚至結合親和性規則讓儲存原則的管理更具備靈活性。
  • Stretched Cluster Local Failure Protection
  • Stretched Cluster Site Affinity
  • Degraded Device Handling

圖、Stretched Cluster Local Failure Protection 運作架構示意圖


圖、Stretched Cluster Site Affinity 運作架構示意圖




【效能】(Performance)

在新版 vSAN 6.6 當中關於效能的部分共有 5 項新功能 (如下所示)。在新版 vSAN 6.6 當中,支援最新 Intel 3D XPoint NVMe 快閃儲存 (Intel Optane P4800X),並且根據 VMware 官方的效能測試結果顯示,跟舊版 vSAN  All-Flash 運作架構相較之下儲存效能將提升 50%
  • Deduplication and Compression
  • Rebuild and Resynchronization Enhancements
  • Checksum
  • De-Staging
  • iSCSI

圖、ESXi vs Bare Metal 使用 Intel Optane 效能測試

圖、VMware vSAN 使用 Intel Optane 效能測試



參考資源


前言

從新版 vSphere 6.5 開始,正式支援 RDMA (Remote Direct Memory Access) 當中的 RoCE (RDMA over Converged Ethernet),以便於達到「Kernel Bypass、Zero Copy、CPU Offloading」的目的。在目前的 RoCE 運作模式中,分別有 RoCE v1RoCE v2 等 2 種運作模式:

RoCE v1 (Layer 2)

運作在 Ehternet Link Layer (Layer 2) 所以 Ethertype 0x8915,所以正常的 Frame 大小為 1,500 bytes 而 Jumbo Frame 則是 9,000 bytes

RoCE v2 (Layer 3)

運作在 UDP / IPv4 或 UDP / IPv6 之上 (Layer 3),採用 UDP Port 4791 進行傳輸 。因為 RoCE v2 的封包是座落在 Layer 3 之上可進行路由,所以有時又會稱為「Routable RoCE」或簡稱「RRoCE」
圖、RoCE v1 及 RoCE v2 封包格式示意圖



RDMA 的功用

簡單來說,透過 RDMA 可以達到「Kernel Bypass、Zero Copy、CPU Offloading」的目的。一般來說,採用 RDMA 與一般乙太網路 TCP/IP 相較之下,效能大約可以提升 30% ~ 40% 或以上。

圖、採用一般乙太網路 TCP/IP 進行傳輸

圖、採用 RDMA 進行傳輸

現在,vSphere 6.5 支援 PVRDMA (Para-Virtual Remote Direct Memory Access) 機制,簡單來說就是讓 VM 虛擬主機可以使用 ESXi 主機所配置的 RDMA 介面卡及功能,達到 Kernel Bypass、Zero Copy、CPU Offloading 的目的 (目前 vSphere vMotionSnapshot 皆受益)。

目前,必須符合下列相關條件才能順利運作 PVRDMA 功能:


最後,我個人的疑問是 VMware vSAN 是否已經支援 RDMA 特色功能了? 就目前所得到的資訊來看,目前 vSAN 似乎仍支援 RDMA 特色功能。至於 vSphere 6.5 是否支援另一個主流 RDMA (iWARP),目前所得到的資訊來看似乎也仍支援。

參考資源


Q. 在 VMware Horizon 7 虛擬桌面運作環境中無法佈建,並出現「Customization failure: vCenter Server 無法解密儲存在自訂規格中的密碼」錯誤訊息?

Error Message:
在 VMware Horizon 7 桌面虛擬化運作環境,當嘗試佈建 VDI 虛擬桌面過一陣子之後便會出現「Customization failure: vCenter Server 無法解密儲存在自訂規格中的密碼」錯誤訊息?


Ans:
簡單來說,這個問題發生的原因在於 vCenter Server 無法存取,當初自訂 VDI 範本進行 Sysprep 內的密碼。因此,請登入 vSphere Web Client 管理畫面後,至「自訂規格管理員」管理介面找到佈建 VDI 虛擬桌面會使用到的 Sysprep 組態設定,然後至「系統管理員密碼」項目重新進行設定後,便可以順利佈建成功了。


參考資源:

前言

簡單來說,在新一代 Windows Server 2016 雲端作業系統中,倘若 IT 管理人員需要透過 S2D (Storage Spaces Direct) 技術建構 SDS 軟體定義儲存環境。在相關教學文章及影片中,你應該會不斷看到強調支援「RDMA (Remote Direct Memory Access)」技術,主要原因在於 RDMA 技術能夠有效「降低 S2D 叢集節點 CPU 工作負載」同時「降低延遲時間」

然而,大家對於 RDMA 運作環境相對陌生,因此許多 IT 管理人員一開始的困惑便是,那麼「不支援」RDMA 的環境能否運作 Windows Server 2016 的 S2D 技術? 答案是,S2D 即便在不支援 RDMA (走一般的 TCP/IP 乙太網路) 的環境下仍能正常運作。



測試環境及測試工具

微軟官方採用同一批軟硬體環境,並且進行「RDMA Enabled」以及「RDMA Disabled」的測試,同時整理出 2 種運作環境的儲存效能,以便 IT 管理人員能夠了解這 2 種運作環境之間的效能差異。

測試環境 (4 Nodes S2D Cluster)

下列為 4 Nodes S2D Cluster 測試環境中,每台 S2D 叢集節點主機的硬體配置:
  • Host: Intel S2600WT Platform
  • CPU: E5-2699 v4 2.2 GHz *2 (每顆 22 Cores / 44 執行緒)。
  • Memory: 128 GB DDR4
  • SSD: Intel P3700 NVMe *4
  • NIC: Mellanox CX3 Pro 40Gb (Dual Port, RoCE v2)
  • BIOS: Power Performance Plan、C States Disabled、Turbo Enabled、HT Enabled。
  • OS: Windows Server 2016、S2D (Storage Spaces Direct)、High Performance Power Plan。
  • S2D Volume: 3-Way Mirror。

測試工具

  • DISKSPD
  • 4K 100% Random I/O (70% Read / 30% Write)。
  • 10 Threads (Queue Depth 4 per Thread,Total is 40)。
  • 10 GB file per Thread (Total is 100 GB)。

測試結果

下列圖表便是分享整理「RDMA Enabled」「RDMA Disabled」的測試結果,歸納重點如下:
  • 倘若,你希望 S2D 有良好的儲存效能表現。那麼,你應該要讓 S2D 運作在 RDMA Enabled 環境。
  • 此次的實作環境中 RDMA Enabled,能夠提升 28% IOPS、27% CPU 效能、36% Write Latency、28% Read Latency
  • 即便是 RDMA Disabled 環境 (TCP/IP 乙太網路),仍能夠提供 145,500 IOPS 的儲存效能。



此外,也可以參考去年 Microsoft Ignite 2016 大會中 BRK3088 - Discover Storage Spaces Direct, the ultimate software-defined storage for Hyper-V 議程。


在該議程中的測試環境,也有分別測試「RDMA Enabled」「RDMA Disabled」的效能測試結果 (節省 1/3 的 CPU 工作負載、達到提升 2 倍的 IOPS 效能表現):





參考資源



網管人雜誌

本文刊載於 網管人雜誌第 135 期 - 2017 年 4 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它或透過下列圖示連結至博客來網路書店訂閱它。



文章目錄

前言
何謂 PtH 與 PtT 攻擊?
什麼是 Credential Guard?
          Credential Guard 環境需求
實戰 Credential Guard
          未啟用 Credential Guard
          啟用 Credential Guard
          確認 Credential Guard 安全性機制執行中
          測試 Credential Guard 防護機制
結語





前言

過去,雖然企業及組織在整個 IT 基礎架構中,已經部署許多增強安全性的相關運作機制或硬體設備,除了確保線上營運服務不停止之外也保護企業機敏資料不外洩,然而隨著時間的推移駭客攻擊企業及組織的方法也不斷演變及翻新,惡意攻擊的方式也從過往正面對決改採潛伏並轉而朝向最弱環節下手。簡單來說,相較於企業及組織內強調高安全性高效能的線上營運伺服器來說,惡意攻擊方式則改為朝向安全防護相對薄弱的使用者端電腦下手。

在現代化 IT 基礎架構中,為了達到統一且集中式管理的使用者身分驗證機制,在企業及組織當中便會建置目錄服務以達成「單一登入」(Single Sign On,SSO)的目的,一般來說較廣為採用的目錄服務有 Active Directory、OpenLDAP……等,以便使用者只要登入並通過使用者身分驗證機制之後(也就是通過所謂的 3A 程序),那麼就能順利存取企業及組織內部中各式各樣的服務了。
所謂 3A 程序便是指驗證(Authentication)、授權(Authorization)、稽核(Accounting)。簡單來說,「驗證」是指系統能夠正確識別登入的使用者帳號是代表誰,而「授權」則是負責確認使用者登入後能否啟用或執行某項工作任務,至於「稽核」則是追踪使用者在登入後的各項操作及使用情況並進行記錄。

圖 1、現代化 IT 運作架構中,使用者必須存取各式各樣的應用服務才能滿足需求





何謂 PtH 與 PtT 攻擊?

雖然,企業及組織透過目錄服務達到 SSO 單一登入,讓使用者只要通過使用者身分驗證程序後便能使用區網內的各項服務。然而,在資訊攻防上面「操作便利性」與「安全性」永遠處於天秤之間不同的兩端,因此針對 SSO 單一登入的惡意攻擊方式便應運而生,也就是大家耳熟能詳的「傳遞雜湊」(Pass-the-Hash,PtH)「傳遞票證」(Pass-the-Ticket,PtT)攻擊。

在本文一開始,我們曾經提到現代化的惡意攻擊方式,已經改為朝向安全防護相對薄弱的使用者端電腦下手,舉例來說,典型的 PtH / PtT 惡意攻擊方式,便是由惡意攻擊者先透過惡意電子郵件、惡意網站、使用者端已經發佈或尚未修補的漏洞……等方式,進而取得使用者端主機的管理者權限。

接著,惡意攻擊者便會利用取得的管理者權限,從使用者電腦主機硬碟內的 Windows 作業系統中,讀取 SAM Database 內容以便取得使用者密碼的雜湊值,或者透過取得的管理者權限直接讀取儲存於記憶體中的「認證」(Credentials)資訊。

圖 2、典型的傳遞雜湊及傳遞票證攻擊方式(第一階段)

可能會有讀者感到困惑,即便惡意攻擊者取得使用者端主機的管理者權限,一般來說使用者在企業及組織的 Active Directory 網域環境中,通常僅具備一般網域使用者權限而已理論上危害範圍不致過大才對。是的,取得一般使用者端電腦主機的管理者權限,通常只是惡意攻擊方式的第一階段,接下來我們將要討論惡意攻擊的第二階段。

在上述的範例情境中,惡意攻擊者已經取得企業及組織中某台使用者端主機的管理者權限,接著便會透過攻擊成功所偷來的認證資訊,嘗試假冒這位使用者的身分再去攻擊區域網路中其它使用者端主機。倘若,使用者端主機的管理者帳號(例如,本機 Administrator),在區域網路中其它使用者端主機也採用「相同」的密碼時,因為 NT 密碼雜湊是採用未加密的 MD4 雜湊演算法,所以惡意攻擊者便可以橫向的輕易侵入其它台使用者端主機。

接著,惡意攻擊者將採用上述相同的入侵手法不斷攻擊區網中其它台使用者端主機,同時嘗試取得 Active Directory 網域環境中,權限等級更高的特權帳號或服務帳號。倘若,剛好使用者端主機發生其它問題請 MIS 人員協助處理,然而 MIS 人員為求方便而使用 Active Directory 網域特權帳號登入時,那麼惡意攻擊者便能進而取得儲存於使用者端記憶體內的網域特權帳號密碼。

一旦被惡意攻擊者取得 Active Directory 網域特權帳號(例如,Domain Administrator),或其它具有相同權限等級的使用者帳號時,那麼惡意攻擊者便具有 Active Directory 網域的管理權限,並且還能更進一步危害與此網域信任的其它網域。

即便惡意攻擊者無法取得 Active Directory 網域特權帳號,仍然可以透過由一般使用者端主機所偷到的使用者權限,針對企業及組織 IT 基礎架構中相關服務進行存取,舉例來說,假冒該使用者帳號存取檔案伺服器內的檔案,導致企業及組織的機敏資料外洩等資安事件。

圖 3、典型的傳遞雜湊及傳遞票證攻擊方式(第二階段)





什麼是 Credential Guard?

為了能夠有效阻擋使用者密碼遭受未經授權的認證竊取攻擊,從 Windows 10 及 Windows Server 2016 版本開始,導入新的安全性機制稱之為「Credential Guard」,它會使用虛擬式安全性的方式來隔離使用者帳號的密碼,因此只有具備特殊權限的系統軟體才能夠存取它們,同時透過保護 NTLM 密碼雜湊以阻擋傳遞雜湊攻擊,或保護 Kerberos 票證以阻擋傳遞票證這種未經使用者授權存取的認證竊取攻擊。
請注意,在 Windows 10 版本的部分,必須採用 Windows 10「企業版、教育版」才支援 Credential Guard 安全性功能。

在過去舊版的 Windows 作業系統中,會將登入的使用者帳號密碼儲存於「本機安全性授權」(Local Security Authority,LSA),而 LSA 會將作業系統所要使用的密碼儲存於處理程序記憶體當中。因此,惡意攻擊者只要透過偷到的管理者權限,便能查看處理程序記憶體當中所儲存,所有曾經登入過此台主機的使用者帳號及密碼。

現在,Credential Guard 安全性機制透過「虛擬式安全性」(Virtualization-Based Security,VBS)方式,將 LSA 中的密碼進行隔離並使用遠端程序呼叫的方式與新的運作元件溝通,隔離的 LSA 執行程序所儲存的資料由虛擬式安全性機制所保護,無法由作業系統其它的部分進行存取。簡單來說,VBS 提供安全核心與一般作業系統隔離的功能,所以不會暴露一般作業系統中的弱點及零時差漏洞。

因此,基於安全性考量隔離的 LSA 執行程序不會載入任何裝置驅動程式,只會載入安全性所需的作業系統「二進位檔案」(Binary File)而已,並且這些二進位檔案都使用虛擬化安全性信任的憑證所簽署的,這些簽章會先經過驗證程序並通過驗證後才會保護運作環境中的檔案。

圖 4、透過 VBS 虛擬式安全性運作機制隔離 LSA 的運作示意圖



Credential Guard 環境需求

在開始部署 Credential Guard 安全性機制之前,我們先了解部署 Credential Guard 機制所需要的軟體、硬體及韌體等環境需求。舉例來說,在硬體的部分建議採用具備「信賴平台模組」(Trusted Platform Module,TPM)的安全性晶片,但事實上若主機未配置或未支援 TPM 2.0 安全性晶片的話,仍然能夠啟用 Credential Guard 安全性機制,只是 Credential Guard 用來加密的安全性金鑰無法受到 TPM 安全性晶片保護,因此安全性防護力較弱仍有被攻擊成功的可能性。

基礎安全性保護環境需求
  • 硬體: 首先,必須採用具備「64 位元」的 CPU 處理器,並支援 Intel VT-x/EPT 或 AMD-V/NPT 等硬體輔助虛擬化功能,那麼 Windows Hypervisor 才能提供 VBS 虛擬化安全性機制。同時,建議配置「TPM 2.0」安全性晶片,以便為 VBS 加密金鑰提供保護及防範惡意存取 BIOS 等攻擊行為。
  • 韌體: 具備 UEFI 安全開機及韌體更新功能的「UEFI 2.3.1.c 或後續版本」,透過 UEFI 安全開機以確保裝置只會使用已授權的程式碼開機,並配合韌體更新機制修補安全性弱點,以便充分防止主機遭受 Bootkit 及 Rootkit 攻擊行為。
  • 軟體: Windows 10 僅「企業版、教育版」支援、Windows Server 2016 及 Windows Enterprise IoT。

請注意,倘若 Windows Server 2016 運作 DC 網域控制站的話,那麼便不支援 Credential Guard 安全性機制,僅支援另一項安全性機制 Device Guard 而已。

事實上,上述僅列出 Credential Guard 安全性機制的基礎環境需求而已,倘若企業及組織需要更高等級的安全性機制時,那麼建議可以採用上述基礎環境需求搭配下列進階安全性保護環境需求,即可大幅增強 Credential Guard 可提供的安全性等級。

進階安全性保護環境需求
  • 硬體: 採用支援「Intel VT-D 或 AMD Vi IOMMU」硬體輔助虛擬化功能,以便增強系統對於記憶體攻擊的抵擋及復原能力。
  • 韌體: 採用支援「Secure Boot」、「Secure MOR」、「HSTI」、「WSMT」……等,確保只有經過驗證的平台 BIOS 系統管理員可以變更 BIOS 設定,並且防止進階記憶體攻擊、抵擋惡意程式碼、從系統韌體減少 VBS 的受攻擊面、封鎖其它針對 SMM 的安全性攻擊 ……等。





實戰 Credential Guard

了解 Credential Guard 安全性機制的運作原理及環境需求後,接下來首先為讀者展示倘若主機未啟用 Credential Guard 安全性機制,但是遭受傳遞雜湊及傳遞票證攻擊時將會發生什麼情況,接著將實際演練如何啟用 Credential Guard 安全性機制,以及啟用後該如何確認 Credential Guard 安全性機制已經正確運作。在啟用 Credential Guard 安全性機制的部分,可以採用 GPO 群組原則、修改登錄檔、Device Guard 及 Credential 硬體準備工具……等方式來進行啟用作業。



未啟用 Credential Guard

那麼,我們來嘗試模擬在未啟用 Credential Guard 安全性機制之前,當 Windows 10 及 Windows Server 2016 作業系統,遭受本文所描述的傳遞雜湊及傳遞票證攻擊時會發生什麼情況。在本文測試環境中,我們採用由法國知名駭客 Benjamin Delpy 透過 C 語言所撰寫的 Mimikatz 工具 ,模擬傳遞雜湊及傳遞票證身分竊取攻擊行為。

值得注意的是,在 Windows 10 及 Windows Server 2016 作業系統運作環境中,請在下載及執行 Mimikatz 工具之前,將預設內建的「Windows Defender」防毒防駭工具關閉,否則一旦下載 Mimikatz 工具後便會立即被 Windows Defender 移除。

圖 5、關閉 Windows 預設內建的 Windows Defender 防毒防駭工具

順利關閉內建的 Windows Defender 防毒防駭工具後,請透過「以系統管理員身分執行」的方式開啟命令提示字元,接著執行 Mimikatz 工具後首先鍵入「Privilege::Debug」指令,以便確認 Mimikatz 工具已正常啟動並能順利運作,接著鍵入「sekurlsa::msv」「sekurlsa::logonpasswords」便會列出,在這台主機中 LSA 儲存於記憶體內所有登入過的使用者帳號或服務帳號的密碼資訊。

如圖 6 所示在順利執行 Mimikatz 工具後,可以看到目前的主機名稱為 HV01,登入的管理者帳號 Administrator 以及管理者帳號的 SID,在下方便直接看到管理者帳號的 NTLM 雜湊值,也就是本文一開始提到 NT 密碼雜湊採用未加密的 MD4 雜湊演算法。
倘若採用的是 Windows 10 或 Windows Server 2016 之前的版本,那麼透過 Mimikatz 工具甚至「直接」看到密碼為「明文」而非 NTLM 雜湊值。
圖 6、透過 Mimikatz 工具查看主機記憶體內容中所有使用者帳號密碼資訊

或許有些讀者會感到困惑,透過 Mimikatz 工具看到管理者帳號的 NTLM 雜湊值會有什麼影響 ?事實上,隨著惡意攻擊種類及方式不斷增加的情況下,只要取得使用者帳號的 NTLM 雜湊值之後,惡意攻擊者只要透過「NTLM 雜湊值解密程式」(NTLM Hash Decrypter),便可以在幾小時甚至幾分鐘之內解密出使用者密碼。
原則上密碼字元在 8 字元以下普通強度的使用者密碼,只要幾分鐘之內便可以順利解密。即便密碼字元在 14 字元並採用高強度的使用者密碼,也只要幾小時之內便可以順利解密。



啟用 Credential Guard

了解惡意攻擊所造成的安全性風險後,接著我們來看看啟用 Credential Guard 安全性機制後,是否能夠有效防護傳遞雜湊及傳遞票證攻擊。在此次實作的 x86 伺服器中,硬體的部分採用 64 位元的 CPU 處理器並支援相關硬體輔助虛擬化功能,同時也配置 TPM 2.0 信賴平台模組安全性晶片。在韌體的部分,採用具備 UEFI 安全開機及韌體更新功能的 UEFI 2.4.0。在軟體的部分,則是採用 Windows Server 2016 DataCenter 版本。

圖 7、順利在裝置管理員中看到信賴平台模組 2.0

符合 Credential Guard 安全性機制的運作環境準備完畢後,在本文實作環境中我們採用 GPO 群組原則的方式啟用 Credential Guard。請依序點選「開始 > 執行 > 鍵入 gpedit.msc > 確定」,系統將會開啟本機群組原則編輯器視窗,接著請依序點選「電腦設定 > 系統管理範本 > 系統 > Device Guard」項目,然後開啟右方「開啟虛擬化型安全性」項目。

圖 8、準備透過 GPO 群組原則啟用 Credential Guard 安全性機制

在開啟虛擬化型安全性視窗中,預設值為尚未設定請點選至「已啟用」項目,接著在下方選取平台安全性層級下拉式選單中,可以看到安全開機或安全開機及 DMA 保護項目,在本文實作環境中選擇至「安全開機」項目。最後,在 Credential Guard 設定下拉式選單中,預設值為已停用另外 2 個選項為在不含鎖定情況下啟用、在包含 UEFI 鎖定的情況下啟用,在本文實作環境中選擇至「在不含鎖定情況下啟用」項目。
在選取平台安全性層級選項中,倘若選擇至「安全開機及 DMA 保護」項目的話,那麼請確保主機必須支援「Intel VT-D 或 AMD Vi IOMMU」硬體輔助虛擬化功能才行。
圖 9、透過 GPO 群組原則啟用 Credential Guard 安全性機制

組態設定完畢回到本機群組原則編輯器視窗中,將會發現開啟虛擬化型安全性項目的狀態,由先前的「尚未設定」轉換成為「已啟用」。接著,為了能夠快速讓組態設定套用生效,請開啟以系統管理員身份開啟命令提示字元後,鍵入「gpupdate /force」指令然後重新啟動主機。



確認 Credential Guard 安全性機制執行中

順利啟用 Credential Guard 安全性機制並重新啟動主機後,首先請確認 Credential Guard 安全性機制已經順利運作並執行中,請依序點選「開始 > 執行 > 鍵入 msinfo32.exe > 確定」,系統將會開啟系統資訊視窗,點選「系統摘要」項目後在右方窗格中下拉至底即可看到啟用資訊,依據本文實作環境的組態設定後,在啟用 Credential Guard 安全性機制的部分將會看到下列組態設定值:

  • Device Guard 虛擬化型安全性: 執行中
  • Device Guard 必要的安全性屬性: 基底虛擬化支援,安全開機
  • Device Guard 可用的安全性屬性: 基底虛擬化支援,安全開機,DMA 保護
  • Device Guard 安全性服務已設定: Credential Guard
  • Device Guard 安全性服務執行中: Credential Guard

圖 10、確認 Credential Guard 安全性機制是否順利啟用並執行中

倘若最後一項「Device Guard 安全性服務執行中」空白的話,可以稍等 2 ~ 3 分鐘後重新整理視窗內容,倘若仍為空白的話建議再次重新啟動主機,以確保 Credential Guard 安全性機制啟用並執行中。



測試 Credential Guard 防護機制

確認 Credential Guard 安全性機制順利運作後,在執行 Mimikatz 工具再次模擬惡意攻擊行為之前請再次確認,是否已經關閉內建的 Windows Defender 防毒防駭工具。
因為預設情況下,重新啟動 Windows 主機之後,將會自動帶起 Windows Defender 防毒防駭工具。

一切準備就緒後,請透過「以系統管理員身分執行」的方式開啟命令提示字元,接著執行 Mimikatz 工具以便再次模擬惡意攻擊行為。同樣的,請先鍵入「Privilege::Debug」指令,以便確認 Mimikatz 工具已正常啟動並能順利運作,接著鍵入「sekurlsa::msv」「sekurlsa::logonpasswords」指令,便會列出此台主機中 LSA 儲存於記憶體內的使用者帳號或服務帳號的密碼資訊。

但是,這台主機已經受到 Credential Guard 安全性機制的保護,所以可以看到 Mimikatz 工具執行後,仍然可以看到目前的主機名稱為 HV01,登入的管理者帳號 Administrator 以及管理者帳號的 SID,但是這次在下方便可以看到有一行關鍵字「LSA Isolated Data:NtlmHash」,然後原本應該顯示 NTLM 雜湊值的部份,變成「Unk-Key」「Encrypted」2 行經過加密金鑰保護的亂數,順利阻擋傳遞雜湊及傳遞票證惡意攻擊行為。

圖 11、Credential Guard 安全性機制順利運作及阻擋惡意攻擊

值得注意的是,惡意攻擊的方式及手法隨著時間的推移不斷翻新,因此管理人員並非只要啟用 Credential Guard 安全性機制就能高枕無憂,舉例來說,企業及組織的 IT 管理人員,已經為區網中的伺服器及使用者端主機啟用 Credential Guard 安全性機制,然而使用者端主機卻因為遭受社交攻擊而被植入鍵盤記錄木馬程式時,那麼即便啟用 Credential Guard 安全性機制也是無法防護的,因為惡意攻擊者將可以透過植入的鍵盤記錄木馬程式,輕鬆且直接獲得使用者所鍵入的密碼。





結語

透過本文的說明及實作演練,相信讀者已經完全了解在 Windows 10 及 Windows Server 2016 環境中,新增的 Credential Guard 安全性機制,確實能夠阻擋傳遞雜湊及傳遞票證惡意攻擊,有效提升儲存於主機記憶體內的使用者密碼防護力。

前言

在去年 Microsoft Ignite 2016 大會上,在 Meet Windows Server 2016 and System Center 2016 議程中展示 S2D (Storage Spaces Direct) 的儲存效能表現。在當時展示的運作環境中,每台 S2D 叢集節點配置的是 Chelsio T580CR 40GbE (iWARP) 網路介面卡,整個 S2D 叢集共有 16 台節點主機,最後打出高達「600 萬 IOPS」的儲存效能表現。




S2D 支援 10 / 25 / 40 / 100 GbE 網路環境

現在,Microsoft S2D 軟體定義儲存技術已經支援 10 / 25 / 40 / 100 GbE 網路環境。同時,Chelsio 也已經發行 T6 系列 100GbE 的網路介面卡。




S2D 使用 100GbE iWARP 的儲存效能輸送量

因此,Microsoft 官方也為 S2D 叢集節點主機配置 Chelsio T6 100GbE 網路介面卡,來測試在這樣的網路環境中 S2D 的儲存效能輸送量為多少。下列便是此次的 S2D 測試環境說明:

4 台 S2D 叢集節點主機 (Dell R730xd),每台硬體配置如下:

  • CPU: E5-2660 v3 2.60 GHz *2 (每顆 10 Cores / 20 執行緒)。
  • Memory: 256 GB DDR4 2133 MHz (16 GB * 16 DIMM)。
  • Storage: 3.2TB NVME Samsung PM1725 *4 (PCIe 3.0 x8)。
  • NIC: Chelsio T6 100GbE (Dual Port PCIe 3.0 x16)。
  • Cabling: QSFP28 Passive Copper Cabling。
  • BIOS Power: Performance Power Plan
  • OS: Windows Server 2016、S2D (Storage Spaces Direct)、High Performance Power Plan。
  • DCB 組態設定: 因為採用的 Chelsio T6 100GbE 為 RDMA 中的 iWARP,所以無須組態設定 DCB (PFC)。

工作負載

  • DISKSPD
  • VM Fleet
  • 80 VMs (16 GB VHDX),每台 S2D 叢集節點運作 20 Azure A1 Sized VMs (1 vCPU、1.75 GB RAM)。
  • 512 KB 100% Random Read (每台 VM 的 Queue Depth 為 3)。


IOPS 輸送量效能測試結果

下列便是採用 VMFleet 進行 IOPS 輸送量效能測試結果,從結果數據中可以看到總頻寬輸送量高達「83 GB/s」,也就是說每台 VM 虛擬主機使用超過 1GB/s 的輸送量,同時整個 Read Latency 也「< 1.5 ms」




參考資源


前言

身為 Joey 老師 主講 Scrum Training 小劇場的一員,想不敏捷都難。這裡就是記錄學習 Scrum / Agile 思維的點點滴滴。💪



Scrum / Agile 學習記錄









Lean / Kanban 學習記錄

  • Coming Soon....💨






學習短片


前言

Scrum 是敏捷軟體開發的方法學,透過快速「疊代」(Iteration) 增量式進行軟體開發流程。Scrum 的原意是橄欖球運動中爭球的意思。


下列為學習 Scrum 需要作的事前功課,以便你能大概了解 Scrum / Agile 的精神及概要:



敏捷精神 (3 大支柱)
  • 透明 (Transparency)
  • 檢驗 (Inspection)
  • 調適 (Adaptation)


Sprint (Iteration)
  • 通常 2~4 週。
  • 太短,活動 overhead 太高。
  • 太長,反應變慢,也可能造成浪費,衝刺容易無力。


Scrum 活動
  • Sprint Planning
  • Daily Meeting
  • Sprint Demo / Review Meeting
  • Retrospective Meeting



Waterfall vs Agile

過往傳統的軟體開發方法為「瀑布式開發」(Waterfall),很容易開發時間長達 1、2 年或以上除了無法達到 Time to Market 之外也有很多缺點。


所以,軟體開發採用瀑布式的話通常就會落入下列結果。


「敏捷式開發」(Agile) 便可以有效改善過往「瀑布式開發」(Waterfall) 的缺點。比較圖如下:


因為,軟體開發的方式從「早期無計畫 > 瀑布式開發 (Waterfall, CMMI …etc) > 敏捷開發 (Aglie)」。詳細資訊請參考董大偉老師最近的連載系列文章 .NET Walker: The DevOps Journey – Index




參考資源