◆徐留杰 翟江濤 楊 康 丁晨鵬
?
一種多源網(wǎng)絡(luò)安全威脅情報采集與封裝技術(shù)
◆徐留杰 翟江濤 楊 康 丁晨鵬
(江蘇科技大學電子信息學院 江蘇 212003)
以高級持續(xù)性威脅為代表的新型威脅已成為網(wǎng)絡(luò)空間安全對抗的主要形式。為快速響應(yīng)這種有組織的威脅活動,近年來威脅情報生成和共享技術(shù)研究成為熱點問題。現(xiàn)有的威脅情報研究在數(shù)據(jù)采集形式及來源上往往存在不足,共享效率也不能滿足系統(tǒng)需求,本文首先搜集整理公開的網(wǎng)絡(luò)威脅情報源,通過網(wǎng)絡(luò)爬蟲獲取相關(guān)數(shù)據(jù),接著,針對不同來源綜合采用網(wǎng)絡(luò)爬蟲技術(shù)及基于郵件自動解析的威脅情報搜集與獲取技術(shù),最后設(shè)計實現(xiàn)以JSON格式封裝的威脅情報庫。本文工作可有效提高威脅情報的全面性和分享的快速性,為網(wǎng)絡(luò)空間防御提供情報支持。
威脅情報;情報共享;python爬蟲;郵件解析
威脅情報的概念最初是在2012年在美國政府發(fā)布的《大數(shù)據(jù)研究和發(fā)展倡議》中提出來的。威脅情報是將孤立的、雜亂無章的威脅信息轉(zhuǎn)化為具有固定格式的威脅情報,從而能夠?qū)ν{信息有一個規(guī)范化的整理,便于之后對威脅數(shù)據(jù)的深度分析。
目前,越來越多的網(wǎng)絡(luò)安全公司參與到威脅情報系統(tǒng)的構(gòu)建中來,最先一步開始的有美國的Fireeye、IBM、AlienVault等公司,經(jīng)過多年的研究,現(xiàn)已步入正軌,形成了比較完備威脅情報體系。2015年隨著國家安全法的頒布,國內(nèi)也有相當一批安全公司加入到威脅情報系統(tǒng)的構(gòu)建中來,其中比較成熟的有360威脅情報整合中心、天際友盟、Threatbook(微步在線)等。
在學術(shù)界,對于網(wǎng)絡(luò)安全威脅情報系統(tǒng)的研究也越來越深入,Kuo-Chan Lee等人針對社交網(wǎng)站中關(guān)于網(wǎng)絡(luò)安全方面的博客,通過社會網(wǎng)絡(luò)挖掘算法、自然語言算法等方式對網(wǎng)絡(luò)中安全方面的專家對于網(wǎng)絡(luò)安全的一些討論進行深度挖掘,從中發(fā)現(xiàn)威脅情報。文章通過對專家論壇的搜集挖掘,可以更早地發(fā)現(xiàn)安全問題,以及解決方法。Qiang Li等人提出了一種基于威脅情報的網(wǎng)絡(luò)攻擊屬性關(guān)聯(lián)分析方法,該關(guān)聯(lián)分析方法主要應(yīng)用于目標攻擊的實際應(yīng)急響應(yīng)案例中,從中獲得更多有用的信息。該關(guān)聯(lián)分析方法旨在將網(wǎng)絡(luò)中采集到的惡意站點、域名、IP地址等進行關(guān)聯(lián),找到不同網(wǎng)絡(luò)攻擊的攻擊模式。Jon C. Haass等人通過對美國威脅情報共享技術(shù)和框架進行研究,研究了三個主流的標準:STIX、TAXII、OpenIOC,介紹了三個標準的內(nèi)容和作用。當前的應(yīng)用是通過TAXII來傳遞共享數(shù)據(jù),用STIX來對威脅情報進行描述,OpenIOC是通過XML語言來實現(xiàn)的安全威脅情報共享框架,是一種情報共享的規(guī)范,用來對網(wǎng)絡(luò)攻擊行為進行詳細的描述。Kathleen M.Moriarty等人通過對威脅情報共享傳輸方式的研究,旨在得到一種快速、穩(wěn)定并且能夠保證傳輸過程中結(jié)構(gòu)不發(fā)生改變的傳輸方式。由于高級可持續(xù)性網(wǎng)絡(luò)攻擊事件的出現(xiàn),網(wǎng)站反爬蟲技術(shù)的發(fā)展,傳統(tǒng)的情報獲取方法難以獲得全面的數(shù)據(jù),很難應(yīng)對復(fù)雜的攻擊事件,而且隨著情報結(jié)構(gòu)越來越復(fù)雜,原始的結(jié)構(gòu)化語言在封裝和解析速度方面仍顯不足。
因此,為了進一步提高威脅情報的全面性和共享效率,本文首先調(diào)研了公開的網(wǎng)絡(luò)安全情報源,然后針對不同的源設(shè)計實現(xiàn)了一套基于網(wǎng)絡(luò)爬蟲與郵件自動解析的數(shù)據(jù)獲取方法,接著,研究了標準化威脅情報的生成和共享技術(shù),最后提出以JSON格式對威脅情報進行封裝。
互聯(lián)網(wǎng)中有許多公開的威脅情報源,搜集方可采用網(wǎng)絡(luò)爬蟲技術(shù)來獲取相關(guān)數(shù)據(jù)。據(jù)不完全統(tǒng)計,國內(nèi)外的主要威脅情報提供商信息如表1所示。
表1 主要威脅情報提供商
對于一些開源網(wǎng)站,比如Freebuf、Securelist等開放性安全資訊平臺,由于未設(shè)置反爬蟲機制,可以很順利地通過爬蟲獲取數(shù)據(jù),然而大多數(shù)網(wǎng)站都會設(shè)置反爬機制,這就需要在實現(xiàn)爬蟲時對爬蟲進行偽裝,使得反爬機制認為是人在瀏覽,而不是機器。常見的反爬蟲機制和處理方法如表2所示。
表2 常見的反爬蟲機制和處理方法
有的網(wǎng)站會結(jié)合多種反爬蟲手段,下面介紹針對某威脅情報網(wǎng)站的數(shù)據(jù)爬取。
首先在進入之前會有個賬號密碼登錄,如下圖1所示。這就需要在配置爬蟲的時候,添加Cookie用來偽裝身份ID。Cookie可以在網(wǎng)頁的Request Headers中獲取。
圖1 登錄界面
接著進入到情報頁面,首先該網(wǎng)站的請求方法是POST,所以使用靜態(tài)網(wǎng)頁爬蟲的方法只能爬取該網(wǎng)頁的外部框架,而沒有數(shù)據(jù)信息。該網(wǎng)站的數(shù)據(jù)是通過ajax請求調(diào)用到前端的。ajax請求的內(nèi)容如下圖2所示。
圖2 ajax請求內(nèi)容截圖
這就相當于查詢條件,需要發(fā)送給數(shù)據(jù)庫系統(tǒng),這個條件包含了關(guān)鍵字、開始時間、結(jié)束時間、頁數(shù)、每頁呈現(xiàn)數(shù)據(jù)的數(shù)量等。將其轉(zhuǎn)化成json格式發(fā)送給數(shù)據(jù)庫。
然后用Beautifulsoup解析網(wǎng)頁,設(shè)置篩選條件,去除網(wǎng)頁模板,篩選出所需數(shù)據(jù),最終獲取到的數(shù)據(jù)如下圖3所示。
圖3 爬蟲獲取數(shù)據(jù)截圖
現(xiàn)在有許多網(wǎng)絡(luò)安全組織機構(gòu)為了分享獲取到的情報,接受郵件訂閱的方式,首先需要注冊一個郵箱并訂閱此郵件,接著就會收到該機構(gòu)推送的每日威脅情報信息,包括網(wǎng)絡(luò)攻擊事件新聞報道、網(wǎng)絡(luò)攻擊的目標機構(gòu)、惡意軟件、安全漏洞、攻擊手段、可疑IP地址等,郵箱內(nèi)容如下圖4所示。
圖4 郵件內(nèi)容截圖
要實現(xiàn)對郵件內(nèi)容的獲取,需要用到Python的內(nèi)置模塊poplib,由于使用的是python來獲取郵件,所以要打開相應(yīng)的協(xié)議。這里以163郵箱為例,需要開啟pop/smtp/imap協(xié)議,如下圖5所示。
圖5 163郵箱開啟POP協(xié)議截圖
然后通過python里面piplib模塊的POP3進程去連接該郵箱的POP3服務(wù)器,發(fā)送用戶名和密碼,獲取郵件內(nèi)容,并下載到本地。解碼后的郵件內(nèi)容如下圖6所示。
圖6 python獲取的解碼后的郵件內(nèi)容截圖
此時的郵件內(nèi)容包含了很多無用的數(shù)據(jù),而且還帶有html模板,需要通過正則表達式對數(shù)據(jù)進行清理,篩選出所需數(shù)據(jù)。
類似于用于漏洞描述的CVE(Common Vulnerabilities & Exposures)規(guī)范格式,威脅情報也有其固定的格式,目前主流的有三種:CybOX、STIX、TAXII。
CybOX(Cyber Observable eXpression)主要提供一套標準且支持擴展的語法,用來描述判斷威脅的指標;STIX(Structured Threat Information eXpression)提供了描述威脅情報內(nèi)容的方法,比如利用手段、攻擊目標、攻擊目的、身份等多項特征,詳細地描述威脅攻擊事件的細節(jié);TAXII(Trusted Automated eXchange of Indicator Information)旨在提供安全的傳輸和威脅情報信息的自動化交換。當前的應(yīng)用是通過TAXII來傳遞共享數(shù)據(jù),用STIX來對威脅情報進行描述,用CybOX來提供威脅情報詞匯。
STIX的7要素如下圖7所示。
圖7 STIX標準7要素
2.2.1數(shù)據(jù)預(yù)處理
前文獲取的情報又可以分為三種:第一種是已經(jīng)形成了標準化的威脅情報格式或者說具備生成STIX格式的內(nèi)容,比如天際友盟,相似的站點還有微步在線、思睿嘉得等。第二種是像Freebuf在報告中嵌入了惡意IP地址、惡意軟件樣本、惡意域名以及關(guān)于該惡意軟件的TTP情報(戰(zhàn)術(shù)、技術(shù)、攻擊過程)。第三種是一些釣魚網(wǎng)站共享平臺,或針對某一惡意軟件的惡意地址共享平臺。
對于第一種威脅情報數(shù)據(jù),首先通過網(wǎng)絡(luò)爬蟲對該網(wǎng)站的數(shù)據(jù)進行爬取,通過數(shù)據(jù)清洗拆除網(wǎng)站html模板,獲取所需數(shù)據(jù)。而對于第二種數(shù)據(jù),由于關(guān)鍵數(shù)據(jù)都嵌在報告里,需要先從網(wǎng)頁中移除模板,只保留文章內(nèi)容部分,再通過正則表達式、自然語言算法、人工定位等方式獲取STIX標準化格式描述所需要的數(shù)據(jù)。對于第三種數(shù)據(jù),只有惡意的IP地址、域名、哈希值等,并不能描述成標準化格式,所以需要利用第三方分析軟件對其進行深入的挖掘分析。整個標準化格式生成的流程如下圖8所示。
圖8 STIX格式生成流程圖
2.2.2封裝技術(shù)研究
以前大多數(shù)威脅情報規(guī)范格式都是通過XML(可擴展標記語言)編譯的,XML最初的設(shè)計目的是為了彌補HTML的不足,后來逐漸用于網(wǎng)絡(luò)數(shù)據(jù)的傳輸和描述,所以本身保留了HTML的一些特征,會帶有標記符號,處理的效率就成為很大問題。而且客戶端不同瀏覽器之間解析XML的方式不一致,需要重復(fù)編寫很多代碼。本文所要介紹的是一種新的更為輕量級的數(shù)據(jù)交換格式:JSON(JavaScript對象標記)。
下面通過實驗對比兩種封裝技術(shù),實驗環(huán)境如下:
硬件:一臺筆記本電腦,其配置為:處理器:Intel Core i5;內(nèi)存:4G;硬盤:1T。
軟件:瀏覽器:IE11;實驗服務(wù)器為:Tomcat7.0;實驗開發(fā)工具:MyEclipse2016。
數(shù)據(jù)來源:多源情報采集得到的數(shù)據(jù)經(jīng)過預(yù)處理保存到數(shù)據(jù)庫,數(shù)據(jù)庫中字段為:惡意軟件、TTP描述、利用手段、IOC指示器、攻擊目標、應(yīng)對措施、威脅來源。
服務(wù)器端取出數(shù)據(jù),通過JSON和XML對數(shù)據(jù)進行封裝,下面是對其中一個名叫Bladabindi的惡意軟件的封裝結(jié)果,對比圖如圖9所示。
通過瀏覽器分別解析JSON和XML格式的數(shù)據(jù),根據(jù)數(shù)據(jù)的增多,瀏覽器解析數(shù)據(jù)所用的時間如表3所示。
圖9 標準化格式封裝對比圖
表3 瀏覽器解析時間對比表
從上面可以看出,相比于傳統(tǒng)的XML,JSON主要優(yōu)點如下:
(1)描述語言簡單;采用JSON鍵值對來保存數(shù)據(jù),類似于Python語言中的字典描述方式,例如:{"Threatname":"C&C"}。
(2)傳輸效率高;相比于XML存在很多html標記字符,JSON數(shù)據(jù)并沒有很多無關(guān)的字符,占用帶寬小,所以調(diào)用效率也就比較高。
(3)易于解析;客戶端JavaScript可以簡單通過eval()讀取JSON數(shù)據(jù)。
(4)支持多種語言;JSON支持C、JavaScript、python、Ruby、Java等語言,從而方便了服務(wù)器端的解析。
(5)易于維護;由于JSON支持多種語言,能夠直接為服務(wù)器端代碼使用,從而降低了維護的時間和精力。
本文通過對威脅情報生成和共享技術(shù)的研究,探索威脅情報信息的搜集方法,提出以JSON代替XML來構(gòu)建威脅情報標準化格式,創(chuàng)建新型威脅情報共享協(xié)議。目前,隨著網(wǎng)絡(luò)攻擊手段的日益復(fù)雜,威脅情報的重要性得以體現(xiàn),為了提高情報的準確性,在提高情報挖掘技術(shù)的同時更需要對情報共享技術(shù)進行更加深入的研究。
[1]李瑜,何建波,李俊華,余彥峰,譚輝.美國網(wǎng)絡(luò)威脅情報共享技術(shù)框架與標準淺析[J].保密科學技術(shù),2016.
[2]Barnum S. Standardizing cyber threat intelligence information with the Structured Threat Information eXpression (STIX?)[J]. MITRE Corporation, 2012.
[3]Haass J C, Ahn G J, Grimmelmann F. ACTRA: A case study for threat information sharing[C]//Proceedings of the 2nd ACM Workshop on Information Sharing and Collaborative Security. ACM,2015.
[4]Ring T. Threat intelligence: why people don't share[J]. Computer Fraud & Security, 2014.
[5]C Cheng,J Li,Y Wang An Energy-Saving Task Scheduling Strategy Based on Vacation.Queuing Theory in Cloud Computing《Tsinghua Science & Technology》, 2015.
[6]Liao X, Yuan K, Wang X F, et al. Acing the IOC game: Toward automatic discovery and analysis of open-source cyber threat intelligence[C]//Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM,2016.
[7]鐘友兵.基于多維數(shù)據(jù)的威脅情報分析研究[D].中國民航大學,2017.
[8]S, Swathi ,A, Thushara,S Kamal Parallel Job Scheduling in Cloud with Lookahead and Workload Consolidation International Journal of Computer Applications,2014.
[9]譚智.基于大數(shù)據(jù)技術(shù)的網(wǎng)絡(luò)異常行為檢測系統(tǒng)設(shè)計與實現(xiàn)[D].江西財經(jīng)大學,2016.
[10]賀斌,楊元瑾.大數(shù)據(jù)安全分析管理平臺研究綜述.網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2016.
[11]Bahman Keshanchi,Nima Jafari Navimipour Priority- Based Task Scheduling in the Cloud Systems Using a Memetic Algorithm《world scientific》,2016.
[12]趙陽.大數(shù)據(jù)時代對國家安全的挑戰(zhàn)及對策研究.山東師范大學,2015.
[13]湯淼淼.大數(shù)據(jù)背景下的企業(yè)信息安全評價及對策研究.大連海事大學,2015.
[14]J Liu,XG Luo,XM Zhang,F Zhang A new mult i-objec tive bi-level programming model for energy and locality aware multi-job scheduling in cloud computing 《Future Generation Computer Systems》, 2014.
[15]徐文韜,王軼駿,薛質(zhì).面向威脅情報的攻擊指示器自動生成[J].通信技術(shù),2017.
[16]Wagner C, Dulaunoy A, Wagener G, et al. MISP: The Design and Implementation of a Collaborative Threat Intelligence Sharing Platform[C]//Proceedings of the 2016 ACM on Workshop on Information Sharing and Collaborative Security. ACM,2016.
[17]李建華.網(wǎng)絡(luò)空間威脅情報感知、共享與分析技術(shù)綜述[J].網(wǎng)絡(luò)與信息安全學報,2016.
[18]閆智.基于行為監(jiān)控的大數(shù)據(jù)安全及隱私保護機制研究.北京工業(yè)大學,2014.
[19]LI Wu Jun,ZHOU Zhi Hua.大數(shù)據(jù)哈希學習:現(xiàn)狀與趨勢.Science Bulletin,2015.
[20]Zhimao,Chen,ZHANG,Massinanke,Sambourou.Super Large Data Sets Clustering by Means Radial Compression. Chinese Journal of Electronics,2013.
本文受到國家自然科學基金(No.61702235,61472188,61602247,U1636117),江蘇省自然科學基金(No.BK20150472,BK20160840)的支持。