一種基于機(jī)器學(xué)習(xí)的自動(dòng)化魚叉式網(wǎng)絡(luò)釣魚思路
2016年美國黑帽大會(huì)(BlackHat USA 2016)對與會(huì)的安全從業(yè)人員最關(guān)心的安全威脅進(jìn)行調(diào)查,發(fā)現(xiàn)黑客們最關(guān)心的是:“Phishing,social network exploits, or other forms of social engineering ”,該安全威脅占比46%,排名第一(2015年排名第二)[1]。
基于社會(huì)工程的網(wǎng)絡(luò)雖攻擊出現(xiàn)已久,一直是較為關(guān)注的一種有效攻擊手段;尤其是魚叉式網(wǎng)絡(luò)釣魚,因其成效顯著且傳統(tǒng)的安全性防御機(jī)制無法阻止這類攻擊類型,仍然是大眾關(guān)注的目標(biāo)。而且90%的APT攻擊也是通過網(wǎng)絡(luò)釣魚來完成。
圖1 2016 Black HatAttendee Survey(USA)
此外,機(jī)器學(xué)習(xí)(machine learning,以下簡稱ML)在網(wǎng)絡(luò)安全領(lǐng)域的應(yīng)用已經(jīng)有廣泛研究,目前大多用于網(wǎng)絡(luò)攻防中的“防”,包括入侵檢測、僵尸網(wǎng)絡(luò)流量識(shí)別、漏洞掃描等,但是ML也容易被黑客利用進(jìn)行惡意攻擊。
本文將介紹一種基于機(jī)器學(xué)習(xí)的社會(huì)工程模型—自動(dòng)化魚叉式網(wǎng)絡(luò)釣魚。
一、 魚叉式網(wǎng)絡(luò)釣魚
區(qū)別于普通網(wǎng)絡(luò)釣魚,魚叉式網(wǎng)絡(luò)釣魚是針對特定目標(biāo)進(jìn)行定制的網(wǎng)絡(luò)釣魚攻擊。攻擊者會(huì)花時(shí)間了解攻擊目標(biāo),包括姓名、郵箱地址、社交媒體賬號(hào)或者任何在網(wǎng)上參與過的內(nèi)容等。攻擊目標(biāo)不是一般個(gè)人,而是特定的公司或者組織的成員,竊取的資料也并非個(gè)人的資料,而是其他高度敏感性資料[2]。
圖2 普通網(wǎng)絡(luò)釣魚vs魚叉式網(wǎng)絡(luò)釣魚
采用機(jī)器學(xué)習(xí)的方法從社交媒體、新聞報(bào)道等資料中,利用重復(fù)的文本模式識(shí)別攻擊目標(biāo)感興趣的主題并構(gòu)造可能回應(yīng)的句子,極大提高了社工的有效性,使得大規(guī)模自動(dòng)化網(wǎng)絡(luò)釣魚活動(dòng)成為可能。
二、 自動(dòng)化魚叉式釣魚攻擊
Twitter、Facebook等社交媒體平臺(tái)包含大量個(gè)人隱私信息、開放平臺(tái)API接口,而且內(nèi)容多有字?jǐn)?shù)限制(短文)、語言不規(guī)范、常用短地址服務(wù)等特點(diǎn),決定了其容易被攻擊者利用并學(xué)習(xí)構(gòu)造虛假信息,讓攻擊目標(biāo)不引起懷疑而自愿上鉤。2016年8月4日,來自ZeroFOX公司的JohnSeymour & Philip Tully在美國黑帽大會(huì)上就提出了一種基于Twitter的端到端自動(dòng)化魚叉式網(wǎng)絡(luò)釣魚方法[3],下面就該釣魚方法進(jìn)行介紹。
1. 主要思想
提出SNAP_R(SocialNetwork Automated Phishing with Reconnaissance)遞歸神經(jīng)網(wǎng)絡(luò),可學(xué)習(xí)向特定用戶(即攻擊目標(biāo))發(fā)送釣魚推文。該模型采用魚叉式網(wǎng)絡(luò)釣魚滲透測試數(shù)據(jù)進(jìn)行訓(xùn)練,為提升點(diǎn)擊成功率,還動(dòng)態(tài)嵌入從目標(biāo)用戶和轉(zhuǎn)發(fā)或關(guān)注用戶處抽取的話題,并在發(fā)送推文時(shí)@攻擊目標(biāo)。
圖3 SNAP_R遞歸神經(jīng)網(wǎng)絡(luò)簡介
2. 自動(dòng)化魚叉式釣魚攻擊
圖4 基于Twitter的自動(dòng)化魚叉式釣魚
該自動(dòng)化魚叉式釣魚攻擊主要包括兩部分:
① 尋找釣魚攻擊目標(biāo)對象
首先,利用TwitterStreaming API收集用戶名,根據(jù)用戶個(gè)人信息描述和推文情況衡量釣魚成功概率,用戶個(gè)人信息包括用戶名、轉(zhuǎn)發(fā)/響應(yīng)的推文的頻率/時(shí)間、對某主題的態(tài)度、位置信息、行為模式、已參加或者將要參加的大型活動(dòng)等,也包括工作、職位頭銜、知名度等反映用戶價(jià)值大小的信息。然后,按照釣魚成功的概率大小將用戶進(jìn)行分類。
攻擊者從Firehose(Twitter用戶發(fā)送消息的輸出口)中挑選用戶,并判斷該用戶屬于剛才所說分類方法中的具體類別。如果用戶的釣魚成功的概率比較高,就選取該用戶作為攻擊目標(biāo),向其發(fā)送嵌有釣魚鏈接的虛假推文。
② 自動(dòng)化魚叉釣魚
選取攻擊目標(biāo)后,攻擊者利用SNAP_R遞歸神經(jīng)網(wǎng)絡(luò)模型抽取目標(biāo)感興趣話題以及該目標(biāo)發(fā)送推文或者回復(fù)推文的情況以便于產(chǎn)生釣魚推文內(nèi)容。除介詞等停止詞之外,最頻繁出現(xiàn)的推文內(nèi)容都可以用于構(gòu)造推文內(nèi)容,推文內(nèi)容會(huì)選擇用戶經(jīng)常發(fā)送或轉(zhuǎn)推推文的時(shí)間進(jìn)行發(fā)送。
在SNAP_R模型中,采用了馬爾可夫模型和長短期記憶LSTM(LongShort-Term Memory)遞歸神經(jīng)網(wǎng)絡(luò)構(gòu)造推文內(nèi)容。馬爾可夫模型根據(jù)文本同時(shí)出現(xiàn)的概率來推測文本的內(nèi)容,舉例說明:如果訓(xùn)練集包含短語thecat in the hat的次數(shù)比較多,當(dāng)模型出現(xiàn)the時(shí),則下一個(gè)內(nèi)容很可能是cat 或者h(yuǎn)at。但是由馬爾科夫模型產(chǎn)生的內(nèi)容通常是沒有意義的,只是出現(xiàn)頻率比較高的詞語的組合體而已。而LSTM適合于處理和預(yù)測時(shí)間序列中間隔和延遲非常長的重要事件,與馬爾可夫模型的區(qū)別在于,LSTM能結(jié)合語境判斷下一個(gè)可能出現(xiàn)的詞語。兩者結(jié)合構(gòu)造更接近于人類撰寫的推文內(nèi)容。
3. 實(shí)驗(yàn)驗(yàn)證
??
圖5 SNAP_R遞歸神經(jīng)網(wǎng)絡(luò)
為了評估該網(wǎng)絡(luò)釣魚攻擊效果,在推文中插入下載負(fù)載的網(wǎng)址鏈接并使用goo.gl短連接跳轉(zhuǎn)服務(wù),如果攻擊目標(biāo)點(diǎn)擊該鏈接時(shí),goo.gl會(huì)記錄時(shí)間戳、UA等信息(詳見圖5)。
通過對90名用戶進(jìn)行測試發(fā)現(xiàn):該自動(dòng)化魚叉式網(wǎng)絡(luò)釣魚框架的成功率為30%~60%;大規(guī)模手動(dòng)魚叉式網(wǎng)絡(luò)釣魚傳統(tǒng)上的成功率為45%,而廣撒網(wǎng)式釣魚只有5%到14%的成功率。測試結(jié)果說明該自動(dòng)化魚叉式釣魚方法極其有效,機(jī)器學(xué)習(xí)使得針對性魚叉式網(wǎng)絡(luò)釣魚更加準(zhǔn)確和規(guī)模化。但這只是ML模型社會(huì)工程應(yīng)用革命的開端,我們將在未來幾年看到該領(lǐng)域的飛速發(fā)展。[4]
圖6 SNAP_R遞歸神經(jīng)網(wǎng)絡(luò)
三、 總結(jié)
作為人們網(wǎng)絡(luò)生活的重要組成部分,Twitter、Facebook等社交網(wǎng)站成為黑客攻擊的重災(zāi)區(qū)。而且伴隨著機(jī)器學(xué)習(xí)的再度火熱,攻擊自動(dòng)化程度將進(jìn)一步提高,極大增加了黑客攻擊成功的可能性。針對社交網(wǎng)絡(luò)中的網(wǎng)絡(luò)攻擊(網(wǎng)絡(luò)釣魚等),一方面網(wǎng)站建設(shè)者應(yīng)加強(qiáng)網(wǎng)站管理和規(guī)范,不給黑客任何可乘之機(jī);一方面用戶應(yīng)該提高個(gè)人安全意識(shí),注意個(gè)人隱私信息泄露并時(shí)刻保持警惕性,不輕易打開網(wǎng)上不明鏈接。