授人以魚不如授人以漁——CPU漏洞的Symantec解決之道

授人以魚不如授人以漁
——CPU漏洞的Symantec解決之道
編程

  1. 前言
    1月4日,國外安全研究機構公佈了兩組CPU漏洞,因爲漏洞嚴重並且影響範圍普遍,引發了全球的關注,成爲2018開年以來第一個信息安全焦點。本文從漏洞背景和原理分析入手,給出Symanec針對這兩個漏洞的解決方案,但願可以幫助讀者不只僅是理解這兩個漏洞,更從黑白名單兩種最經典的信息安全防禦技術角度瞭解symantec的解決方案,避免相似威脅再次發生。
  2. 漏洞背景和原理
    Meltdown(熔斷),應對漏洞CVE-2017-5754;
    Specter(幽靈),對應漏洞CVE-2017-5753/CVE-2017-5715。
    利用Meltdown漏洞,低權限用戶能夠訪問內核的內容,獲取本地操做系統底層的信息。
    當用戶經過瀏覽器訪問了包含Spectre惡意利用程序的網站時, 用戶的如賬號,密碼,郵箱等我的隱私信息可能會被泄漏;在雲服務場景中,利用Spectre能夠突破租(用)戶間的隔離,竊取其餘租(用)戶的數據。
    Meltdown漏洞影響幾乎全部的Intel CPU和部分ARM CPU,而Spectre則影響全部的Intel CPU和AMD CPU,以及主流的ARM CPU。從我的電腦、服務器、雲計算機服務器到移動端的智能手機,都受到這兩組硬件漏洞的影響。雲環境下的影響更爲突出,不過該漏洞能夠致使VM1的用戶訪問到VM2的數據,可是不能訪問到宿主的內存數據。
    相關漏洞利用了芯片硬件層面執行加速機制的實現缺陷實現側信道***,能夠間接經過CPU緩存讀取系統內存數據。在此過程當中,英特爾沒有很好地將低權限的應用程序與訪問內核內存分開,這意味着***者可使用惡意應用程序來獲取應該被隔離的私有數據。
    若是要在CPU層面徹底彌補這一漏洞,CPU的性能將會退回2000年之前的水平。
    相關漏洞主要藉助於CPU用來加速的『分支預測』和『亂序執行』兩種流水線設計。先來簡述這兩個機制:
    2.1. 分支預測
    分支預測(Branch Prediction):從P5時×××始的一種先進的解決處理分支指令(if-then-else)致使流水線失敗的數據處理方法,由CPU來判斷程序分支的進行方向,可以加快運算速度。是一種CPU優化技術,CPU會執行一些可能在未來會執行的任務。當分支指令發出以後,無相關優化技術的處理器,在未收到正確的反饋信息以前,是不會作任何處理;而具備優化技術能力的新型處理器,能夠預測即將執行的指令,會預先處理一些指令所需的數據,例如將下一條指令所需 要訪問的內存提早加載到CPU緩存中,這就避免了執行具體指令時再去讀內存,從而加快了CPU的執行速度
    流程圖以下
    授人以魚不如授人以漁——CPU漏洞的Symantec解決之道
    1, CPU要執行進程1,將該數據從內存調入緩存
    2, 進程1的數據從緩存進入寄存器
    3, 計算器進行運算
    4, 基於分支預測的設計,雖然進程2和3暫時還執行不到,可是爲了加快流水線處理速度控制器會把進程2和3的數據加載到緩存
    5, 此時根據進程1的執行過程判斷,結果爲『YES』,進程2調入寄存器進而執行
    6, 根據判斷結果進程3將不會獲得執行,可是已經調入到緩存,CPU也不會把它清除致使該段內存是無權限執行的
    2.2. 亂序執行
    亂序執行(out-of-order execution):是指CPU容許將多條指令不按程序規定的順序分開發送給各相應電路單元處理的技術。這樣將根據各電路單元的狀態和各指令可否提早執行的具體狀況分析後,將能提早執行的指令當即發送給相應電路
    授人以魚不如授人以漁——CPU漏洞的Symantec解決之道
    爲了加速CPU的處理效果,在設計執行流程時能夠不按照程序的先進先出的順序來執行,這樣將根據個電路單元的狀態和各指令可否提早執行的具體狀況分析後,將能 提早執行的指令當即發送給相應電路單元執行,在這期間不按規定順序執行指令,而後由從新排列單元將各執行單元結果按指令順序從新排列。採用亂序執行技術的 目的是爲了使CPU內部電路滿負荷運轉並相應提升了CPU的運行程序的速度。
    一個類比來形象理解漏洞是如何泄漏信息的:
    1.KFC裏賣的有薯條、雞塊、漢堡、可樂。
    2.A去KFC點了個漢堡,吃完走了。
    3.B排在A後面的後面,和點餐服務員說:我要點和A同樣的。
    4.點餐服務員說,很差意思您前面還有一位,稍等下,可是後廚聽到了,麻溜的作了個漢堡。
    5.輪到B點餐了,點餐服務員說。不能這樣點哦,侵犯別人隱私了!
    6.C排在B後面,跟服務員說:我薯條、雞塊、漢堡、可樂各點一份,餓死了餓死了,哪一個快先把哪一個給我!
    7.C先拿到了「漢堡」!
    8.C知道了A今天在KFC買了個漢堡!
    CPU漏洞原理圖
    授人以魚不如授人以漁——CPU漏洞的Symantec解決之道
    對於具備預測執行能力的新型處理器,在實際CPU執行過程當中,後續指令所需的內存加載環節不依賴於前序指令是否可以正常執行,並且從內存到緩存加載這個環節不會驗證訪問的內存是否合法有效。即便指令3出現異常,指令4沒法執行,但指令4所需的內存數據已加載到CPU緩存中,這一結果致使指令4即便加載的是無權限訪問的內存數據,該內存數據也會加載到CPU緩存中。由於CPU是在緩存到寄存器這個環節纔去檢測地址是否合法,而CPU分支預測僅僅是完成內存到CPU 緩存的加載,實際指令4並無被真正的執行,因此他的非法訪問是不會觸發異常的。
    CPU漏洞的利用首先須要目標機中病毒或經過瀏覽器執行惡意的JS代碼,不管是服務器側仍是終端側,防禦解決方案必須從非可信程序管理或者惡意代碼防禦視角入手。
  3. Symantec的安全白名單技術解決方案-DCS/SA
    3.1. 對於虛擬化環境
    Data Center Security(DCS)是Symantec針對數據中心安全所提供的新一代安全解決方案,用戶能夠經過DCS解決虛擬化環境、物理環境中所面臨的安全威脅。DCS架構參考下圖:
    授人以魚不如授人以漁——CPU漏洞的Symantec解決之道
    在虛擬化環境中DCS經過SVA(Security Virtual Appliance)交付主機惡意代碼安全防禦服務,並在vSphere環境中提供基礎架構保護,包括vCenter平臺加固與ESXi主機監控服務。
     無代理的惡意代碼防禦能力
    DCS安全解決方案提供面向SDDC(software define data center)的惡意代碼防禦能力。DCS有效的與VMware vSphere和VMware NSX融合,向客戶提供無安全代理的病毒及惡意代碼防禦能力。惡意代碼防禦服務及能力的交付跟隨虛擬資源組的變化而變化,業務的上線時間將不在受到複雜的安全措施及策略配置所影響。Symantec DCS提供了業界領先的惡意代碼防禦技術,可做爲軟件定義數據中心的基礎安全服務交付給全部的系統使用,做爲一種永不下線的安全服務無縫保護全部數據中心的主機。
    3.2. 對於物理服務器和IaaS環境
    開始介紹DCS:SA防護原理以前先簡要回顧一下操做系統的架構
    操做系統的架構圖
    授人以魚不如授人以漁——CPU漏洞的Symantec解決之道
    在操做系統的架構設計中內核負責管理全部硬件設備並將其抽象化,有系統庫提供API來供應用程序使用。通常狀況下一個程序運行的大體流程以下:當應用態程序提出執行請求時,CPU發出中斷並由內核態進程負責分配內存空間,操做磁盤DMA把該程序的數據調入已分配的內存空間;同時把內存的物理地址翻譯爲邏輯地址進而將數據調入緩存、寄存器,下一步由運算器負責計算。得出運算結果後再把內存的頁面文件翻譯爲物理地址寫入內存,由內核進程再回寫到硬盤或是網絡棧、外設等。
    DCS:SA防護體系以下
    授人以魚不如授人以漁——CPU漏洞的Symantec解決之道
    它的特色是對於安全需求較高的主機(不管是虛擬主機仍是物理主機)提供基於本地代理Advanced Agent的主機安全加固能力,區別對待不一樣重要性的虛擬主機
     基於主機代理的安全加固與主動防護能力
    DCS在基於代理的系統上提供的防禦能力是系統安全鎖定防禦,這種防禦措施基於操做系統代理部署,建議部署於關鍵業務的虛擬或物理服務器,提供主動的安全防禦措施。DCS安全防禦基於白名單機制,不一樣於防病毒等黑名單機制,更加適用於功能任務相對單1、維護變動較少的服務器環境。DCS可有效抵禦零日漏洞的***,減小補丁管理的成本。
    DCS是基於代理的沙盒技術進行安全防禦;應用只須要有限的資源以完成相關工做,但大多數程序擁有遠遠超出其自身要求的資源,惡意的******經常利用這些空隙逐步完成系統的***。以下圖所示,用戶、程序、參數、行爲、資源,只有從左到右是一個「通路」這樣的資源訪問纔是容許的。至關於將系統每個容許的行爲限制在一個沙盒中,超出沙盒的資源或行爲是明確禁止的。沒必要去窮舉全部的惡意行爲,只須要將明確容許的行爲便可保證系統安全穩定運行。DCS系統自帶了大量的沙盒,用戶只須要勾選本身須要的沙盒便可完成策略配置。
    授人以魚不如授人以漁——CPU漏洞的Symantec解決之道
    對於運行核心業務或專用業務的服務器,其運行任務單一,須要業務長期、穩定、不間斷的運行。因傳統的基於特徵庫升級、打補丁等技術已經不能知足客戶的業務需求。
    未知的威脅不斷變化,基於特徵庫的防禦沒法有效防護0-Day威脅。但在這些業務單一的服務器上面,咱們明確知道什麼業務是運行運行的,這就是白名單技術。
    將系統每個容許的程序放入一個沙箱,只容許指定的應用訪問指定的系統資源,其餘訪問定位爲非法訪問。
    在實際環境中經常會發現某個應用程序存在漏洞,但因爲應用可用性要求或者應用只能在該版本下運行致使沒法對該漏洞進行補丁更新,這時DCS就可提供基於自定義應用的保護策略,實現對該應用的最小化資源權限保護,相對於補丁安全成本更低風險更小,由於DCS的策略能夠回退,而補丁安裝失敗通常是不可回退的。這一點對系統的可用性相當重要。
    Symantec DCS提供了一套按需的數據中心安全防禦套件,交付VMware SDDC環境中的安全服務集成與基礎架構保護。這只是Symantec面向數據中心安全整合的一部分,Symantec將不斷提供更多類型的安全服務能力幫助用戶搭建面向快速應用交付、彈性化、智能化的軟件定義數據中心。
    受DCS:SA保護下的系統架構圖
    安裝DCS:SA後會在內核基礎上添加一層保護,任何在白名單內的用戶態進程發起內存申請/訪問、文件讀取/寫入、外設訪問、用戶提權/變動等操做在CPU切換到內核態進程前都會過DCS:SA HIPS的沙箱進行控制和約束及HIDS的審計,從根本上保護了系統的安全。
    授人以魚不如授人以漁——CPU漏洞的Symantec解決之道
    對比剛纔通常程序執行的流程,當應用態程序提出執行請求時,CPU發出中斷並由內核態進程負責分配內存空間(此時DCS:SA會根據應用白名單來判斷該程序是否容許運行),操做磁盤DMA(DCS:SA會檢查該程序的目錄及數據是否有讀寫權限)把該程序的數據調入已分配的內存空間;同時把內存的物理地址翻譯爲邏輯地址進而將數據調入緩存、寄存器,下一步由運算器負責計算(DCS:SA會約束進程在沙盒內以最小的權限運行)。得出運算結果後再把內存的頁面文件翻譯爲物理地址寫入內存(若是出現內存溢出、泄漏等危險DCS:SA會保護各個程序的內存空間不會被非法訪問),由內核進程再回寫到硬盤或是網絡棧、外設等(DCS:SA會判斷對應的目錄、文件、設備是否有寫權限,防止篡改被保護的內容)。整個程序的加載、運算、回寫會在DCS:SA的嚴密約束、監控和保護下進行,即使是出現零日***也會由於其沒有響應的權限而沒法實現。
    回到CPU漏洞的場景,實現***的前提是有病毒先進入主機,同時與漏洞進行配合。那麼分爲如下兩種可能進行分析:
    A. 不可信的程序
    病毒也是一種程序,假設配合CPU漏洞的病毒已經躲過殺毒軟件的防禦,可是若是它想在有DCS:SA保護的服務器上運行就得先可以被調入內存。DCS:SA會以白名單的形式來容許可信的程序運行,顯然病毒不在這個列表,那麼它就根本沒法運行,何談形成***。
    B. 可信的程序
    若是病毒感染了可信的程序,根據『分支預測』和『亂序執行』的原理實現無條件執行指令的內存數據滯留在緩存中,形成有可能被惡意竊取的可能。可是DCS:SA是會嚴格控制每一個程序可訪問的內存空間而且給予最小的權限,即使出現相似內存泄露、溢出的狀況也不容許其餘進程超範圍訪問。
    基於以上的分析,DCS:SA基於流程和方法的防禦理念天生就具備防禦零日***的基因,不須要管理員頻繁更新特徵碼,達到一勞永逸的目的。
    對於CPU漏洞的防護Symantec官方連接和解釋
    熔燬和幽靈本地權限提高漏洞這意味着必須首先在目標系統上安裝惡意軟件才能利用這些漏洞。賽門鐵克數據中心安全:服務器高級(DCS:SA)經過確保只有受權軟件是容許執行的。
    對於Windows更新修補程序,不須要對安全代理進行更改。做爲對內核級更改的額外預防措施,咱們分析了Microsoft的修補程序信息,並在發佈補丁時對其進行測試。Windows 201六、2012R二、2008 R2已得到全面認證,迄今未發現任何其餘問題。對於Linux平臺,咱們在發佈補丁時進行測試。到目前爲止,全部平臺都已成功測試。只有Amazon Linux須要一個驅動程序更新。
    授人以魚不如授人以漁——CPU漏洞的Symantec解決之道
    原文:https://www.symantec.com/connect/articles/data-center-security-meltdown-and-spectre-situation-update
  4. Symantec 動態威脅解決方案-SEP
    SEP(Symantec Endpoint Protection) 專爲解決當今威脅態勢而設計,在整個***鏈中實行全面保護並提供深層防護。運用全球最大脅情報網絡的力量,SEP藉助多維機器學習、信譽分析和實時行爲監控等新一代技術,有效攔截高級威脅。它可結合一樣舉足輕重的基本防禦技術,爲企業提供全面保護。 Symantec Endpoint Protection 是一款單一管理控制檯的輕量型代理,可與安全基礎架構中的其餘產品集成,從而快速響應威脅,實現最佳的端點防禦,以徹徹底底的實力傲視同類產品。
    授人以魚不如授人以漁——CPU漏洞的Symantec解決之道
    ***防護
    • 網絡***防禦、URL和防火牆策略:賽門鐵克的網絡威脅防禦技術可分析傳入和傳出數據,及時阻止威脅經過網絡***端點。這個防禦技術同時還包含基於規則的防火牆以及瀏覽器保護功能,可有效抵禦網絡***。整體而言,藉助強大的網絡防禦技術,一半以上的威脅都會在到達端點前被查殺和攔截。
    • 應用程序行爲控制:控制文件和註冊表訪問權限,以及設置容許進程運行的方式。
    • 設備控制:限制對選定硬件的訪問,並控制哪些類型的設備能夠上傳或下載信息。外設控制能夠結合應用程序控制,提供更靈活的控制策略。
    • 漏洞利用防禦:根除供應商還沒有發佈修補程序的流行軟件中的零日漏洞利用,包括 Heap Spray、SEHOP Overwrite 和Java 漏洞利用。這種無特徵技術效果顯著,有效防止惡意軟件利用任何缺陷、錯誤或漏洞發起***。
    感染防護
    • 信譽分析:賽門鐵克獨有的信譽分析技術利用咱們的情報網絡關聯用戶、文件和網站之間存在的數百億種關係,可主動攔截更多威脅並快速抵禦惡意軟件變體。經過分析關鍵文件屬性(例如文件下載的頻率、文件存在的時長和下載的源位置),咱們能夠在文件傳到端點以前,精準斷定文件是否安全並指定一個信譽分數。利用文件信譽分析後,用戶只需僅掃描有風險的文件,從而顯著減小掃描工做量。
    • 機器學習:端點上的多維機器學習技術運用學習到的內容攔截新型威脅和未知威脅,從而極度減小咱們在辨別威脅時對特徵的依賴程度。機器還通過全球威脅情報網絡中數萬億安全文件和惡意文件示例的反覆訓練,確保將誤報率降至最低。
    • 模擬:高速模擬器可檢測利用多態自定義封裝程序隱藏的惡意軟件。靜態數據掃描程序在輕量型虛擬機中運行每一個文件僅需幾毫秒,從而讓威脅瞬間原形畢露,不只提升檢測率,並且改善了工做性能。
    • 防病毒文件保護:基於特徵的防病毒功能和高級文件啓發式技術可發現並根除系統上的惡意軟件,從而抵禦病毒、蠕蟲、特洛伊***、間諜軟件、殭屍程序、廣告軟件和 Rootkit 等。
    • 行爲監控:Symantec Endpoint Protection 中的行爲監控功能展示出了極高效率,儘管有極少數的威脅悄無聲息地抵達了端點。它利用機器學習提供零日防禦,可監控將近 1400 種應用程序而且實時肯定文件風險,從而有效阻止最新和未知威脅。
    泄漏防禦
    授人以魚不如授人以漁——CPU漏洞的Symantec解決之道
    • 強力清除器:這款主動清理工具可遠程觸發,從而可以找到高級持續性威脅並刪除難以清除的惡意軟件。
    • 主機完整性檢查和策略實施:經過強制實施策略、檢測未經受權的更改、開展損害評估以及隔離不合規端點等功能,確保端點獲得妥善保護且合規。結合威脅檢測產品使用,可協調響應以隔離受感染端點,從而快速遏制感染傳播,便於您修復端點或重建端點映像。
    • 系統鎖定:容許運行列入白名單的應用程序(已知爲安全)或阻止運行列入黑名單的應用程序(已知爲不安全)。Symantec Advanced Threat Protection (ATP) 和 Secure Web Gateway 可利用可編程 API 與 SEP Management (SEPM) Console進行通訊,協調響應措施以經過應用程序控制功能將新發現的惡意應用程序列入黑名單。它可跨 Windows®、Mac®、Linux®、虛擬機和嵌入式系統運行。
    • Secure Web Gateway集成:全新可編程 REST API 支持 SEP 與 Secure Web Gateway 等第三方產品集成,協調端點響應措施,快速遏制感染傳播。
    賽門鐵克的SEP解決方案,不只適用於常見的Windows類終端的防禦,也能夠爲MAC OS乃至移動終端(手機)用戶提供動態的安全防禦。
  5. 總結
    DCS:SA解決方案從根本上解決了服務器的防護問題,由於它是基於方法和流程的防護並非基於簽名來進行的,可謂是一勞永逸,白名單技術配置簡單,運行資源佔用少,可以大幅度減輕運維人員和安全人員對服務器的維護工做。
    SEP(Symantec Endpoint Protection)強大的機器學習、應用信譽、漏洞防護體系可以在不過多增長終端負載的前提下實現更加完善的防護,及時動態調整防禦測量,將病毒和威脅拒之門外。
    本文只是從服務器和端點保護的角度來介紹Symantec給您帶來的解決方案,臨淵慕魚不如退而結網,被動應對不如主動防護,Symantec爲企業和我的用戶提供完整的信息安全防禦平臺和服務,從雲、大數據、網絡安全、郵件、移動應用和終端、認證和單點登陸、數據加密、ATP和廣域網加速等方面提供全方位的信息安全防禦平臺。其餘產品和方案詳見以下連接:http://www.symantec.com/
相關文章
相關標籤/搜索