引言
截止到2012年,全球數據量已經從TB(1024GB=1TB)級別躍升到PB(1024TB=1PB)、EB(1024PB=1EB)乃至ZB(1024EB=1ZB)級別。國際數據公司(IDC)的研究結果表明,2008年全球產生的數據量為0.49ZB,2009年的數據量為0.8ZB,2010年增長為1.2ZB,2011年的數量更是高達1.82ZB,相當于全球每人產生200GB以上的數據。而到2012年為止,人類生產的所有印刷材料的數據量是200PB,全人類歷史上說過的所有話的數據量大約是5EB。IBM的研究稱,整個人類文明所獲得的全部數據中,有90%是過去兩年內產生的。而到了2020年,全世界所產生的數據規模將達到今天的44倍。每一天,全世界會上傳超過5億張圖片,每分鐘就有20小時時長的視頻被分享。然而,即使是人們每天創造的全部信息——包括語音通話、電子郵件和信息在內的各種通信,以及上傳的全部圖片、視頻與音樂,其信息量也無法匹及每一天所創造出的關于人們自身的數字信息量。
這種趨勢是否會繼續下去?答案是肯定的,我們現在尚處于“物聯網”的最初級階段,智能設備還僅僅存在于家用電器等;而隨著技術成熟,我們的工業設備、交通工具和迅速發展的“可穿戴”科技將能互相連接與溝通。互聯互通的高度信息化社會產生的可用數據量當超越已有的任一個社會階段。
我們已然處于“大數據”時代,不僅僅是“數據”,而且是“大”數據。
大數據時代下的信息安全面臨著新的威脅,如云平臺下的個人隱私保護,如全方位立體的信息系統增加了受威脅攻擊的承受面積等。每一個新的數據源加入信息網絡,便會成為新的潛在受攻擊點。慶幸的是,大數據分析技術也開始滲透進入安全領域,開始與傳統安全技術相結合,誕生了數據時代的新型安全應對方法:大數據安全分析。今天,我們就從最初的網絡安全開始講起,一起來回顧大數據安全分析技術誕生的整個路程。
1、 網絡安全的主干
FreeBuf是一個關于安全的頂級盛宴,一般來說,你總是能在這里找到你關心的安全問題,比如漏洞挖掘、后門設計、智能安全等。我們今天所談當屬其中一個較大的類別,也是我們今天討論的起點——網絡安全(CyberSecurity):
網絡安全是指:網絡系統的硬件、軟件及其系統中的數據受到保護,不因偶然的或者惡意的原因而遭受到破壞、更改、泄露,系統連續可靠正常地運行,網絡服務不中斷。
僅從定義來看網絡安全定義吧,不免有些抽象,一般來說我們可以使用CIA來具體描述網絡安全內涵(目標):
機密性(Confidentiality):數據不被非法訪問;
完整性(Integrity):數據不被非法修改;
可用性(Availabitliy):網絡服務始終良好運行;
當然,除去通用的CIA安全屬性,我們也可以要求可審計性、不可否認性(數字簽名)以及可控性(信息傳播及內容受控,如次數或特定人群訪問權)等。具體可以根據自身的業務需求在CIA基礎上充實成為最適合自身企業的安全模型。
網絡安全的目標實現依賴于其實現體系,其體系可以歸結為圖1:
上圖中涉及到網絡安全四個關鍵機制,其中預防是安全的起始,通過風險評估與控制形成初級安全防御;當預防措施失效時,檢測機制將發現存在的攻擊行為,報警后由響應機制進行中斷服務、斷開連接等具體安全措施。最初的網絡安全框架中只有上述三類,隨著攻擊特征的研究逐漸增多,預測攻擊行為的可能性增大,因此預測機制專用于預測高風險用戶與高風險節點,響應的攻擊分析后可以作為新知識提供給預測模塊,實現預測的智能升級。預防、預測、檢測與相應構成了網絡安全的主干(整體框架),而百花爭艷的安全技術則像是點綴其上的美艷花朵。
2、孤掌難鳴的困境
遺憾的是,現有的安全防御機制在大數據時代的表現總是力不從心。我們先來看看預防機制。
預防機制的核心是風險管理,即識別和控制機構面臨的安全風險的過程。風險管理主要包括風險識別與風險控制,風險識別指檢查和分析機構信息系統的安全態勢與面臨的風險,形成分線評估報告;風險控制則是指用控制手段,減少機構面臨的安全風險。風險管理可以簡單理解為“先評估,后實施”。
一般來說風險管理可以分為三個層次:管理控制,主要是策略方針,如密碼安全策略(復雜性與長度要求),支付卡行業數據安全標準(PCIDSS)等;技術控制:邏輯訪問控制(基于角色的訪問控制策略)、加密協議等;物理控制:門禁、設施保護、安全視頻監控等。
圖2給出了企業風險管理的層次實例,常見的預防措施可以分為主機與網絡兩個層次,主機方面涉及安全操作系統設計,已有漏洞補丁升級;邏輯訪問控制:認證(用戶身份)與授權(文件訪問權、網絡使用權等);安全實現:代碼安全審查(strcpy/strncpy)、單元測試、最小特權實現等。網絡層面包括安全協議:SSL/TLS等加固IP/TCP;安全設備:防火墻,IDS等(基于網絡數據包的分析)。
最為常見的例子莫過于在網絡層實施SSL協議,該協議的主要功能是在原有TCP/IP框架上添加身份認證與數據加密功能,數據包結構如圖3:
一般的SSL協議通信過程可以見圖4(客戶端連接服務器):
客戶端Alice首先要驗證服務端Bob的身份,之后二者協商生成一個本次會話的臨時密鑰K,使用K加密本次會話數據包,從而實現了安全數據傳輸。
看上去從主機到網絡,我們已經根據風險評估的結果實施了全面的防御準備,看上去固若金湯,可是事實上果真如此嗎?事實上網絡安全威脅從未消失或減緩,反而變本加厲,而“安全”也成為了互聯網的熱搜詞匯,甚至國家層面都成立了“中共中央網絡安全和信息化領導小組”,因此可見網絡安全形式之嚴峻。
自身防御漏洞百出
安全形式嚴峻的第一個重要因素就是,防御體系自身就漏洞百出。首先從計算機系統與信息網絡自身角度來看脆弱性始終存在:
設計缺陷:競爭條件漏洞(race condition vulnerability)、緩沖區溢出等; 競爭漏洞:如root程序的核查文件(access)與修改文件(write)間具有時間間隔,導致攻擊者改變了文件符號鏈接,將符號鏈接到密碼文件上;
緩沖區溢出:strcpy的源字符串長度超過了目標字符串空間長度,導致覆蓋掉了RET指針;
即便設計科學的防御系統在實際部署中也會存在諸多問題,如:
某些業務應用設計時未考慮安全因素,安全模塊事后追加,存在片面性與兼容性問題;
相關人員缺乏相應安全培訓;
系統設置缺陷(防火墻使用默認密碼或開放默認端口)
實際部署成本制約無法真實實現防御系統功能,如考慮安全性與效能之間的折衷(如卡巴斯基的查殺率與系統占用率)、部署預防系統時的非技術考量:機構需求、經濟成本、上級政策等;
一般來說,企業的信息系統中一般都會存在以下漏洞:
后門:隱秘登錄端口,rootkit(隱藏后門等惡意程序,暗中收集數據)
拒絕服務:升級版DDOS
竊聽:竊聽網絡機密數據傳輸、監控硬件設備電磁信號(如測信道攻擊)
應用漏洞:主要用于獲取root權限,然后創建/維護后門、木馬等;
社工:攻擊機構中脆弱的“人性”因素(欺詐攻擊)
因此,防御系統自身的設計缺陷以及實際部署中的成本制約與管理不規范導致安全漏洞無法完全避免。
攻擊者日益精進
除去防御者自身因素之外,攻擊者日益精進,從而威脅越來越高級、復雜也是一個重要原因。我們先來看看常見的攻擊分類:
探測攻擊(Probe):端口掃描(nmap-m:n)、抓包解析(tcpdump等)
拒絕服務攻擊:TCP SYN洪流(發送多個SYN連接不響應)、PingofDeath(Ping協議組包錯誤)、DDOS(多枚炮彈同時命中)
遠程入侵攻擊(R2L):登錄密碼暴力破解/字典攻擊、緩沖區溢出、SQL注入、社工;
提權攻擊(U2R):緩沖區溢出、rootkit等;
感染傳播攻擊(Infections):木馬、Botnet等;
網絡攻擊并不容易,必須經過縝密的偵查與策劃,其核心階段有五個:
準備階段:探測目標端口、判斷系統軟件版本信息等,社工收集補充信息,評估目標防御水平,選擇攻擊突破口;
入侵階段:利用緩沖區溢出、SQL注入等方法獲得系統root權限,是R2L與U2R兩類攻擊的結合,甚至是社工方式進入(釣魚網站等);
后入侵階段:創建后門與安裝rootkit以便于長期控制目標;以目標為基礎,探測周圍網絡,貢獻其它目標主機(感染),尋找有價值目標(APT);
自我保護階段:設置rootkit/加密等多種安全保護程序,修改內核進程表避免安全軟件查殺、修改安全日志等;
總攻階段:秘密傳輸目標網絡的機密信息或崩潰目標網絡系統,取決于攻擊者的動機、目標以及技術能力和目標的安全防御水平;
每一個攻擊類型都很復雜,而且階段繁瑣,因此自然對攻擊者的技術門檻很高;然而現實中的攻擊者很多僅僅是“腳步小子”,原因就在于當前存在許多可選、高效、開放的黑客工具。由于數量眾多,我們今天僅對代表性的工具作一速覽:
信息收集工具包括網絡包捕獲工具Wireshark/Tcpdump/Net2pcap等,網絡掃描探測工具(主機IP協議版本):Nmap/Amap/Vmap/Xprobe等。
攻擊工具包括木馬類的Danger/AIMSpy/NetSpy等;拒絕服務攻擊類的Targa、HOIC/LOIC等;網絡包偽造類:Packeth/Packet Excalibur/Libnet等;應用層類:Code Red Worm/Nimda Worm/AppDDoS/Botnet等;用戶攻擊類:Ntfsdos/Yaga/Metasploit等。
值得一提的是Metasploit,現在已經更新為Kali系統,其上融合了現有的全套安全工具,從網絡掃描、DNS解析,到SQL注入、郵件偽造、POC利用等,已經成為了事實上滲透測試的標準平臺。
上圖中是Kali系統上的一次攻擊應用。隨著這些高級工具的出現,原本復雜攻擊要求的高技術門檻越來越低,呈現了反向增長的奇怪曲線,如圖6:
上圖反映了歷史攻擊復雜度與攻擊者技術要求的變化曲線,可以看出攻擊演變趨勢上,攻擊成本日益低廉,技術門檻越來越低;與此同時攻擊工具日趨復雜,攻擊復雜度越來越高,攻擊越來越難以防范。而不斷進化的攻擊也使得防御系統效果越來越差,單單BYOD的引入,就使得自用設備打破了原始的安全邊界防御,更何況大數據時代便捷多元的信息通信設備與方法,傳統安全防御技術基本形同虛設。
3、 似是而非的替代方案
原有單純基于安全邊界與單一安全設備的防御體系被現實摧垮,于是人們開始尋找安全的替代方案。當網絡中具備了防火墻/IDS等多種安全設備之后,一種自然的想法是將現有所有安全機制融合,形成層次漸進的安全防御機制,即縱深防御,也稱作深度防御。
深度防御(Defense-in-depth)指利用一系列防御機制來保護計算機網絡的理念,效果是一旦某一機制無法正常運行,會有另外一個可正常運行的機制替代它。
一個典型的深度防御模型如圖7,其中:
實時防御部分負責對實時消息流進行檢測防御:防火墻為第一道關口,負責控制內外網絡訪問;IDS對通過防火墻的數據流進一步檢查,發現其中的攻擊行為報警相應;若攻擊逃避IDS檢測,則直接由應急響應與災難恢復模塊處理。
日常防御模塊由脆弱性檢測模塊進行系統自檢,而預警子系統要綜合已有所有安全信息,對未知攻擊進行初步的預測。基礎設施主要有多種數據庫組成,分別對兩類防御提供平臺支持。
深度防御的關鍵在于檢測出攻擊,從而將攻擊損失降到最小。現有基于IDS的檢測系統是深度防御的核心模塊,因此我們重點分析下現有的檢測系統。
入侵檢測系統(IDS)由來已久,至今發展經歷了個世代,第一個世代中的IDS基于誤用檢測(特征、規則檢測),重點分析網絡包數據,從而發現可能的入侵與DOS攻擊,此時的IDS僅能檢測已知威脅;第二世代的IDS利用SIEM進行了融合,從而可以關聯多個IDS的報警數據,提高了發現攻擊的能力。
雖然IDS發展了兩個世代,但是其不足也是明顯的。一方面攻擊態勢日趨嚴峻,攻擊方式日趨復雜(工具多元化),攻擊門檻日趨降低(技術要求降低,腳本小子),攻擊動機日趨強化(腳本小子-好奇,黑產-經濟利益,國家隊-權力/政治,內部人-不滿報復);另一方面現有檢測技術能力有限,應對多態惡意代碼、APT攻擊、0-day攻擊時都束手無策。而且防御與攻擊的最大不同在于:攻擊只為成功一次,防御則要成功每一天,因此防御方責任更大,形勢更為嚴峻。
最近幾年發生的安全事件也驗證了當前安全防御脆弱無力的事實,如2010年發生的震驚全球的“極光攻擊”與“震網”兩個典型APT攻擊,其影響損失不言而喻,但是伊朗核電站所受影響已無法簡單用經濟損失來衡量;2014年韓國銀行客戶金融數據失竊,童年JP摩根銀行客戶賬戶失竊,內部人信息竊取、欺詐已經成為了企業面臨的首要威脅。具體可參加下圖:
正當人們為現有安全防御無力痛心的時候,大數據技術卻蓬勃發展,一系列核心技術與平臺架構均日趨成熟,甚至出現了成熟的市場實例(如Amazon的大數據分析平臺)。與此同時,安全日志的重要性逐漸得到大家的重視,2010年一份報告顯示86%的安全事件可以回溯到安全日志,而安全日志數據量巨大,導致實際無法有效利用。
如同發現了新的美洲大陸,安全界不約而同將目光轉向了大數據技術在安全日志中的應用。學術界普遍認為利用大數據技術是挖掘日志價值,是提升安全檢測效果的關鍵。因此第三個世代的IDS出現了,其融合了大數據分析技術,構建了安全威脅情報平臺,從長時間窗口中關聯,挖掘攻擊信息,不僅提高了檢測未知威脅的能力,也縮短了攻擊與檢測相應的時間周期。
4、 達摩克利斯之劍
大數據技術的出現使得分析蘊藏著攻擊痕跡的海量安全日志成為可能,以此為依托,國內外均開展了大量大數據安全領域研究。內部威脅因其特有的隱蔽、透明特性也成為了大數據安全分析的重要應用領域。基于企業內部特有的內部威脅風險,提取威脅特征,然后在各設備安全日志中挖掘分析,從而檢測內部威脅成為未來行之有效的內部威脅檢測方案,可以說大數據安全分析技術成為了懸在內部威脅頭上的達摩克利斯之劍。按照數據源、分析方法、時間度量、能動性與持時間周期等,我們可以將現有內部威脅中的大數據安全分析歸為幾類:
按照數據來源可以分為主機、網絡、應用分析三類。基于主機數據檢測數據來自系統調用日志與系統日志;基于網絡數據檢測數據來自基于網絡數據包頭數據與流量數據與基于無線網絡數據檢測;基于應用日志檢測數據來自數據庫日志、網站日志、IDS指示器數據等。
按照使用方法可以分為誤用檢測與異常檢測。誤用檢測又稱特征檢測,需要提取已知攻擊特征,基于簽名匹配檢測攻擊,其準確率較高,然而無法檢測未知威脅;異常檢測基于“白名單”思想,建立用戶的正常行為模型,從而檢測偏離正常模型的行為,其可以檢測未知威脅 ,但誤報率較高。
按照時間度量可以分為實時內部威脅檢測與離線檢測。實時監測將安全日志數據組我欸數據流實時分析報警;而離線檢測則在后臺進行數據挖掘分析
按照能動性可以分為被動檢測與主動檢測兩類。顧名思義,被動檢測就是傳統的IDS,檢測到內部威脅即報警,但是不采取安全措施,等待人為命令;主動檢測類似于IPS,檢測到內部威脅可以自動斷開內部攻擊者連接,剝奪其訪問權等。
按照時間周期可以分為連續監測與周期檢測。連續監測即不間斷監測,而周期檢測則是特定周期執行檢測,兩次檢測間隔可能被攻擊者利用。
5、 實例
作為本章的最后,我們介紹一個實際的大數據安全在內部威脅中的應用實例,以供大家參考。如檢測內部人團伙竊取信息行為:
1.分析文件訪問異常行為的用戶
2.分析上步異常用戶的郵件聯系人圖;
3.分析異常郵件關系圖中所有用戶的文件行為;
4.采用機器學習建立分類器,多人、多終端家呢異常;
5.關聯多類異常,檢測內部信息竊取攻擊;
內部威脅中的大數據安全分析尚未形成統一的理論,仍處于“摸著石頭過河”階段。
6、小結
本篇從最初的網絡安全講起,分析了隨著信息時代發展,網絡防御方所面臨的挑戰與對抗安全威脅的決心和努力,隨著大數據平臺技術與分析技術的成熟,終于大數據安全分析應用逐漸成為了現實。本文的基本脈絡我們以流程圖的形式總結如圖8:
大數據時代就像一把雙刃劍,一方面帶了了新的安全威脅,如大數據時代下的隱私保護問題(圖10-個人隱私泄露風險):
另一方面又為我們帶來了新的安全利器,如我們今天所介紹的大數據安全分析技術(圖11-大數據安全分析應用):
至于最終大數據時代是好是壞,我想僅僅作為看客是遠遠沒有發言權的,最終的評判還需要仰仗各位看官的共同努力,改進已有安全防御機制,提高網絡安全防御效果,使得人人都可以享有一個安全、便捷的網絡世界。