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
































