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