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