用仿生學算法檢測網絡釣魚攻擊
網絡釣魚是一種“歷久彌新”,“長盛不衰”的網絡攻擊技術,雖然不斷有新的網絡釣魚檢測方法和產品問世,但網絡釣魚卻變得更加流行,在2021年12月創下歷史新高,2022年迄今的攻擊次數更是去年同期的兩倍。
形勢正在不斷惡化,因為網絡釣魚攻擊正變得越來越復雜,越來越多的黑客開始使用復雜的代碼和流程提高成功率。
俗話說“遇事不決,量子力學”,現在,網絡安全公司們不得不跳出傳統網絡安全技術方法的“知識繭房”,尋找顛覆性的創新解決方案,其中一個頗具吸引力和潛力的方法就是:仿生學/生物信息學。
網絡釣魚攻擊的背景知識
在典型的網絡釣魚電子郵件攻擊中,攻擊者經常會冒充受害者的同事或客戶,并使用與其冒充的個人或機構非常相似的電子郵件地址(域名)。但有一個底線是,無論攻擊者使用的簽名或者電子郵件地址與真實信息看上去多么相似,二者總是存在差異,也就是攻擊者無法使用其冒充對象的真實電子郵件地址。
為了繞過通常可以識別VIP人員和一些知名品牌名稱的防欺詐網絡安全系統,攻擊者會使用一些在視覺上與目標域名非常相似的域名。例如,用rnicrosoft.com(用“r”和“n”混淆”m”)冒充microsoft.com,人眼很容易忽略這種細微的差異。攻擊者還可以改變域名單詞的排列順序來魚目混珠——例如把microsoft-support改成support-microsoft。
受害者很容易將這些動了手腳的釣魚電子郵件地址誤認為是真實的合法的電子郵件域名,回復電子郵件或點擊郵件中的惡意鏈接,成為網絡釣魚詐騙的受害者。
那么,如何在個人和組織層面堵上這個漏洞?
一種檢測網絡釣魚攻擊的新方法
識別欺騙性域名的常規方法是將它們與已知域名數據庫進行比對,尋找差異。
當電子郵件到達時,網絡安全解決方案會比對攻擊者簽名與已知域名數據庫中每個實例之間的差異(更改)。如果存在一些更改,則該域名被視為可疑。這種測量兩個序列之間差異的傳統方法被稱為“萊文斯坦距離”(Levenshtein Distance)。
這種方法在某些情況下有效,例如能檢測到像m1crosoft這樣的欺騙性域名,但它很難識別更具欺騙性的混淆,例如MlCR0S0FT(用“L”代替“I”,用零代替字母“O”),也很難區分microsoft-support與微軟合法域名。
由于傳統網絡釣魚檢測方法存在很多盲區和短板,研究人員開始“道法自然”,求助一種仿生學方法。
在生物信息學中,當研究人員想要比較不同來源的DNA時,會使用DNA序列比對。事實上,序列比對是現代生物學的基本研究方法,最常見的序列比對是尋找不同蛋白質序列(基因)之間的相似性,以推斷其功能或確立進化關系。事實上,強大的生物信息學算法是專門為此目的而開發的:其中最突出的算法是BLAST,在它之前還有一個鮮為人知的變體,稱為“SLAGAN”。
SLAGAN的原理與BLAST類似,但其方法更加精細,是適合用來作為防范網絡釣魚欺詐的參考方法。
SLAGAN的基本原理
我們有必要初步了解一下SLAGAN的全局和局部對齊(alignment)之間的區別,這有助于我們了解探索如何在網絡釣魚防御安全技術中利用這種生物信息學對齊技術。
以下面這兩個序列為例:
“blablabla”和“bla”
局部對齊算法會認定“blablabla”中的一個“bla”就是我們試圖對齊的“bla”,而序列的其余部分是垃圾或插入\刪除突變,稱為“indels”:
bla——
blablabla
而全局對齊算法會認定“blablabla”類似于“bla”,因為其以”bl”開頭,以”a”結尾,但中間部分信息是垃圾:
Bl——a
blablabla
這個問題對人腦來說有時模棱兩可,但有時卻有重大區別。
例如:Cocacola和Cola
很明顯“cola”(可樂)是長序列cocacola中的一個單獨的詞:
——cola
cocacola
而不是長序列的開始和結束部分:
co——la
cocacola
再來看下面這個局部對齊案例:
microsoft-center
Microsoft–service–center
顯然,局部對齊不太適合,因為您會認為“ce”是“中center”一詞的一部分,而實際上,它是“服務”一詞的一部分。
相反,全局對齊效果更好:
microsoft-center
Microsoft-service-center
生物信息學應用并不止于此。SLAGAN在比較DNA序列以判斷比對質量時,使用稱為BLOSUM的評分矩陣。該工具考慮到某些DNA子序列不太可能被特定子序列替換。在視覺相似性無處不在的網絡安全世界中,同樣的概念可以用于相似的挑戰。例如,攻擊者通常會選擇用視覺上相似的字母替換真實地址中的字母。例如,用“rn”替換“m”顯然比用“i”替換“z”更具欺騙性。
此外,一些序列比對算法會考慮到生物學中的易位問題:一種將序列的一部分轉移到相同或不同序列上的不同位置的現象。在網絡釣魚攻擊場景中,攻擊者將microsoft-support更改為support-microsoft就可以看作是一種“易位”。
用于域名相似性檢測的S-GLocal算法
這種仿生學應用催生了一種稱為S-GLocal的新型序列比對方法,即Shuffle、Global、Local算法。該算法結合了啟發式生物算法,例如SLAGAN、局部對齊、全局對齊和易位,專門用于檢測網絡釣魚攻擊中的視覺欺騙性域名。
隨著時間的推移,網絡釣魚攻擊正變得越來越復雜,其威脅性相比20年前不降反增,這表明傳統的網絡安全方法并沒有起到應有的作用。現在,網絡專家需要跳出傳統IT方法思考,并從其他學科領域和大自然中汲取靈感,本文介紹的仿生學方法就是一個很好的嘗試。正如愛因斯坦所言,如果你“深入了解自然,你會更好地理解一切”。
參考鏈接:
https://www.helpnetsecurity.com/2022/04/05/bioinformatics-phishing/
(來源:@GoUpSec)