用仿生学算法检测网络钓鱼攻击

网络钓鱼是一种“历久弥新”,“长盛不衰”的网络攻击技术,虽然不断有新的网络钓鱼检测方法和产品问世,但网络钓鱼却变得更加流行,在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/

前一篇过劳的不仅仅是大白:54%的安全人士想辞职!
后一篇周刊 | 网安大事回顾(2022.4.4—2022.4.10)