鱼叉式网络钓鱼攻击检测方法

2018-11-17 01:25池亚平凌志婷杨建喜
计算机工程与设计 2018年11期
关键词:鱼叉黑箱电子邮件

池亚平,凌志婷+,许 萍,杨建喜

(1.北京电子科技学院 通信工程系,北京 100070;2.中国科学院信息工程研究所 中科院网络测评技术重点实验室,北京 100093)

0 引 言

近年来,随着系统防御能力和用户安全意识的提高,钓鱼攻击者的攻击方法也不断推陈出新,鱼叉式网络钓鱼成为一种新式的、有很强针对性的网络钓鱼攻击方法。统计数据显示,在大量的数据泄露事件与社会工程学事件中,涉及到鱼叉式网络钓鱼攻击的约占92%[1,2]。

美国加州大学伯克利分校和劳伦斯伯克利国家实验室(Lawrence Berkeley national laboratory,LBNL)的几位安全研究人员,提出了一种在企业环境中对有凭证的鱼叉式网络钓鱼攻击的检测方法[3],该方法分析了鱼叉式网络钓鱼攻击的特点及攻击过程中的两个关键阶段,设计了一组新的信誉特征,随后引入新的异常检测技术(directed anomaly scoring,DAS),以非参数的方式运行,不需要任何标记的训练数据,利用信誉特征来检测攻击。研究人员与LBNL的安全团队进行合作,评估了近4年(2013年至2017年)的电子邮件数据(约3.7亿个电子邮件)以及相关的HTTP日志,验证了其具有检测有凭证的鱼叉式网络钓鱼攻击的功能。

本文针对鱼叉式网络钓鱼这种攻击行为,对第26届USENIX安全会议上研究人员提出的一种检测检测方法[3],及应用该方法的检测器(本文称之为黑箱粉碎机)的结构、检测指标和应用情况进行了深入分析,并与传统的鱼叉式网络钓鱼检测方法进行对比,本文所做的总结和分析工作,将对黑箱粉碎机的研究和应用有一定的参考价值。

1 鱼叉式网络钓鱼攻击分析

网络钓鱼是“社会工程攻击”的一种形式,攻击者通过复制目标网站造成视觉混淆(网络钓鱼攻击定义参见文献[4]),再使用电子邮件作为载体向用户发送貌似来自合法企业或机构的欺骗性电子邮件。因为钓鱼网站与目标网站非常相似,用户容易受骗,在钓鱼网站上回复个人身份数据或财务账户凭证,或通过链接下载恶意软件,导致用户个人信息被泄露或者贩卖,更有甚者造成严重的经济损失,属于犯罪欺诈行为。

1.1 攻击流程

鱼叉式网络钓鱼攻击流程如图1所示,攻击分为两个阶段:第一阶段为诱导阶段(lure stage),如图1的步骤1-步骤4,攻击者建立钓鱼基础设施(如钓鱼网站),通过仿冒合法网站或者在访问量高的网站上托管钓鱼网站,使之在视觉上具有迷惑性,再基于对攻击目标喜好、工作等的调查制作诱饵,如以易受信任的身份编辑携带钓鱼网站链接或附件的电子邮件,发送诱饵给攻击目标,引诱其访问钓鱼网站;第二阶段为利用阶段(exploit stage),如图1步骤5-步骤6,攻击者获得目标用户的信任后,利用这种信任诱导收信人执行危险操作,如输入个人信息或下载恶意软件,攻击者利用用户的隐私在网上银行或者用户所在企业获得非法利益。

图1 网络钓鱼攻击流程

1.2 攻击形式

广撒网式的网络钓鱼攻击没有针对攻击目标进行个性化定制,而鱼叉式网络钓鱼与之不同,在发起攻击前的诱导阶段,攻击者会调查并收集攻击目标的资料,包括攻击目标的业务、工作、兴趣、生活等方面,在定制好个性化的诱饵后向目标发送欺骗性电子邮件,使受害者在完全没有戒备心的情况下执行危险操作。从攻击者的角度来看,鱼叉式网络钓鱼需要很少的技术复杂性,不依赖于任何特定的漏洞,躲开了技术防御,并且常常获得成功;从防守者的角度来看,由于电子邮件为受害者“量身定做”,受害者更容易受到欺骗,而攻击者有意地将他们的攻击邮件做成合法的,传统信誉和垃圾邮件过滤往往检测不出其中包含的恶意内容,所以鱼叉式网络钓鱼很难抵挡[5]。

鱼叉式网络钓鱼攻击有两种形式,第一种为恶意附件攻击,即欺骗用户下载打开电子邮件中的恶意附件进行攻击,但是实际应用中实现成功攻击的很少。第二种为凭证窃取攻击,即通过电子邮件诱导收件人点击链接,然后在生成的网页上输入个人信息凭证。其中,凭证窃取攻击为研究重点,在UNSIX会议中提出的检测方法就是针对这种攻击,因为这一攻击相对漏洞利用类攻击要容易,如果涉及恶意附件,即便目标已经中招,积极修复和其它安全机制会提供防护,而一旦用户凭证被得到,攻击者就只需诱使目标暴露出数据即可获得利益。

1.3 诱导阶段攻击者分类

一封电子邮件主要包含邮件头、正文、附件3个部分,其中邮件头由多个预先定义的格式化字段组成,如发件人(From)、收件人(To)、主题(Subject)、邮件ID(Message ID)等,其中邮件ID包括电子邮件名称和地址。

在钓鱼攻击的诱导阶段中,攻击者有4类:第一类为冒用电邮地址攻击者(address spoofer),即利用受信任个人的电子邮件地址作为攻击电子邮件的“From”字段;第二类为冒用电邮名称攻击者(name spoofer),即伪造看起来可信的电子邮件名称而不伪造电子邮件地址,这类攻击者规避了电子邮件安全机制;第三类为未知攻击者(pre-viously unseen attacker),即同时伪造电子邮件名称和地址,看起来类似于真实用户和真实地址;第四类为横向攻击者(lateral attacker),即从已经受到攻击者攻击的受信账户向其他用户发送钓鱼邮件。针对第一类攻击者,因为域名密钥识别邮件标准(domain keys identified mail,DKIM)和域名消息验证报告一致性协议(domain-based message authentication reporting and conformance,DMARC)之类的电子邮件安全机制会处理,后3类攻击者为研究重点。

2 黑箱粉碎机的检测机制分析

黑箱粉碎机是在企业环境中提出的一种缓解有凭证的鱼叉式网络钓鱼风险的新方法,利用网络流量日志和机器学习的一套系统,可以在用户点击嵌入电子邮件中的可疑URL时,实时触发警报[3]。

2.1 总体结构

黑箱粉碎机的总设计如图2所示,分为特征提取(feature extraction)、夜间评分(nightly scoring)、实时报警生成(real-time alert generation)3个部分。

图2 黑箱粉碎机总设计

第一部分特征提取,包括3个子探测器(sub-detector),利用来自公司网络的3种日志为电子邮件中的每个URL提取和保存3个特征向量(feature vectors,FV),每个子探测器有一个FV,网络流量日志包括简单邮件传输协议日志(simple mail transfer protocol logs,SMTP Logs)、网络入侵检测系统日志(network intrusion detection system logs,NIDS Logs)和轻量目录访问协议日志(lightweight directory access protocol logs,LDAP Logs),使用网络流量日志可以记录在电子邮件中的URL上的所有点击,子检测器提取的特征向量作为夜间评分部分和实时报警生成部分的输入。

第二部分为夜间评分,每天晚上,收集每个子探测器过去一个月的点击电子邮件中的URL事件,并对其特征向量FV进行异常评分(DAS),将该月份最可疑FV存储在Comparison Set集合中。

第三部分为实时报警生成,观察实时网络流量,审查点击的电子邮件URL事件,将每个子探测器的实时点击特征向量FV与Comparison Set进行比较,并根据需要为安全团队生成警报。

2.2 信誉特征

鱼叉式网络钓鱼的攻击对象不同于常规网络钓鱼的任意用户,而是专门针对拥有某种特权访问或能力的用户。根据这种选择性的目标和动机黑箱粉碎机采用一种新的分类法,在两个维度上表征鱼叉式网络钓鱼攻击,这两个维度也对应于鱼叉式网络钓鱼攻击的两个关键阶段。

黑箱粉碎机对网络钓鱼攻击的两个关键阶段制定了两类信誉特征:第一类为域名信誉特征(domain reputation features),描述了用户根据域名访问该URL的可能性,反映了域名的可信程度,可以利用该特征捕获利用阶段的特征向量;第二类为发信人信誉特征(domain reputation features),描述了该电子邮件的发送者是否属于鱼叉式网络攻击的3种方式之一,反映了发信人的可信程度,可以利用该特征捕获诱导阶段的特征向量。

2.3 标量选取及定向异常评分技术(DAS)

因为攻击者采用不同的攻击方式,发信人的信誉特征也不同,黑箱粉碎机根据3种攻击方式采用3个子探测器,每个子检测器提取包含4个标量值(两个用于域名信誉,两个用于发信人信誉)的一个特征向量,见表1。

表1 子探测器提取标量

针对域名信誉特征,如果实验环境中很少有用户信任链接域名并访问其URL,将该链接视为可疑;如果直到目前没有任何员工访问过某域名的网址,将访问该域名的URL视为有风险。

标量CURL,计算先前访问任何具有与点击的URL相同的完全限定域名(FQDN)(fully qualified domain name)的URL的数量(CURL),该标量来自NIDS日志的统计数据。

标量Td,计算包含某域名URL的电子邮件最初到达实验环境中的时间(Temail)与该实验环境中任何用户首次点击访问该域名的时间(T1stvisit)之差,如式(1)所示

Td=Temail-T1stvisit

(1)

针对发件人信誉特征,冒用电邮名称攻击者冒充受信任用户的电子邮件名称但不使用该名称下的真实电子邮件地址,所以鱼叉式网络钓鱼邮件发件人的电子邮件地址与其名称下的任何历史电子邮件地址均不匹配。攻击者冒充的名称与其他受信任用户相关联,经常用来与其他用户发送电子邮件的名称可信度会更高。

标量Dreceive,计算收到与待评分电子邮件具有相同名称和地址的电子邮件日期Dpast与当前日期Dcurrent的天数差,如式(2)所示

Dreceive=Dcurrent-Dpast

(2)

标量Cweek,计算满足以下条件的总周数:利用待评分电子邮件名称向其他用户发送电子邮件,并且在一周中的每个工作日至少发送一封电子邮件,Cweek衡量了该电子邮件名称字段的可信度。

未知攻击者选择类似已知或权威的实体电子邮件名称和地址,但该名称地址同现有实体的真实值不完全匹配,攻击者将设法避免钓鱼攻击检测。而每当攻击者使用欺骗性身份时,与他进行互动的用户很可能会意识到对方使用伪造姓名或电子邮件地址并进行报告,攻击者会承担巨大风险,因此,攻击者为避免身份暴露,很少使用欺骗性身份。

标量Dname,计算以待评分电子邮件名称发送两封电子邮件的相差的天数。

标量Daddress,计算以待评分电子邮件地址发送两封电子邮件的相差的天数。

横向攻击者利用受控制用户账户向其他用户发送钓鱼邮件(不使用任何欺骗手段),当其他用户点击电子邮件中的链接时,如果电子邮件是由受控制账户发送的,通过查看LDAP日志,可以确认该账户是否使用了以前从未使用过的IP地址登录,并发送了该电子邮件。如果是这样,子探测器计算IP地址的地理位置城市,例如城市X,然后提取城市X的两个标量。

标量Cuser,从X城市登录的不同用户的数量。

标量Ctime,该受控制用户账户以相同IP地址在城市X的先前登录次数。

黑箱粉碎机引入了定向异常评分技术(DAS),用于从未标记的数据集中自动选择最可疑的事件,DAS按照事件的可疑性来对事件进行评分,再按照评分进行排序,所有的事件排序完成后,DAS只选择N个最可疑(排名最高的)的事件,其中N是安全团队的警报预算,即能接受的预计警报数。

2.4 应用情况

鱼叉式网络钓鱼攻击比较少见,美国安全研究人员在测评黑箱粉碎机的应用时,利用收集到的企业数据集包含3.7亿电子邮件——约4年的量,但只有10例已知的鱼叉式网络钓鱼案例。通过分析LBNL的网络流量日志提取特征向量,包括LBNL的SMTP日志、NIDS日志和LDAP日志,其中,SMTP日志记录公司有关组织员工(包括两名员工之间的电子邮件)发送的所有电子邮件的信息;NIDS日志记录有关HTTP GET和POST请求的信息,包括访问的完整URL;LDAP日志记录用户在公司的电子邮件地址,登录时间以及用户进行身份验证的IP地址。研究人员配置警报预算为10个,从LBNL的3.7亿个电子邮件数据集中对其进行了评估,成功识别了19个钓鱼活动中的17个,占89%,平均假阳性率(false positive rate)为0.004%[3],验证了该方法的有效性。

3 与传统网络钓鱼检测方法的对比分析

网络钓鱼检测技术通过提取钓鱼攻击行为的某些特征,利用这些特征进行对比分析,识别钓鱼攻击,实现对该攻击行为的防范与打击。从2008年到2016年Web of science数据库检索统计的有关钓鱼检测文献的发表数目如图3所示,可见对网络钓鱼攻击的传统检测方法进行对比分析的综述类文章很少。虽然现在已经有许多关于网络钓鱼检测技术的研究和实现,但是因为钓鱼网站有高伪装性、强时效性、短存活性和广泛攻击目标等特点[6],而且攻击者不断改进攻击手段和策略,目前仍然无法从根本上对所有的网络钓鱼攻击进行有效地检测和防御。

图3 钓鱼检测相关文献发表数目

3.1 传统网络钓鱼攻击检测方法分析

对网络钓鱼攻击进行检测的方法根据检测内容可分为:基于传播途径的分析、基于网站入口的分析和基于网站内容的分析。传播途径包括电子邮件、电话、社交平台、短信等,其中电子邮件为主要检测的传播途径,例如文献[7];网站入口为URL,攻击者为增强视觉迷惑性,往往与常见标准的URL相似,在网络钓鱼攻击的检测方法中,对URL进行分析的使用率很高,但URL并不是判定钓鱼网站的唯一标准,所以很少有人在检测过程中只单纯分析URL,而经常与基于网站内容分析结合使用,例如文献[8];网站的内容包括网页图标的相似性、Favicon的相似性、CSS架构的相似性、布局的相似性和网页整体视觉的相似性,及对网页底层HTML的分析,例如文献[9]。

根据检测的技术手段可分为:基于黑名单的钓鱼检测、启发式钓鱼检测以及基于相似性的钓鱼检测。基于黑名单的钓鱼检测通过不断更新已知网络钓鱼的URL、IP地址、域名、证书或者关键词等形成的黑名单,根据黑名单进行钓鱼网站过滤,例如刘少彬等[10]探讨了基于网络蜘蛛和LD算法的钓鱼网站检测方法,该方法基于网络蜘蛛可以无限抓取链接这一功能,以真实URL链接为基准,用网络蜘蛛进行抓取相似URL作为黑名单,再用LD算法对网页内容的相似度进行分析。启发式钓鱼检测利用机器学习的方法,首先提取一部分钓鱼网站的特征作为训练集,再利用分类或者聚类机器学习算法设置阈值,训练机器对可疑网站所提取的特征进行识别,从而判断是否为网络钓鱼攻击,文献[11]提出检测URL异常特征的技术,从钓鱼网站URL中提取出关于结果和词汇的特征共12个,作为训练集,然后用SVM(support vector machine)进行训练,根据URL特征得出网站是否为钓鱼网站。基于图像相似性的钓鱼检测关注的是页面或应用在视觉上的相似度,而对底层代码与特征并不关心,例如卢康等[12]提出的基于图像相似性的钓鱼网站检测方法,该方法基于Selenium图片获取技术获取要保护的官方网站在图片,利用感知哈希算法,对该网站建立“感知哈希指纹库”,当新的网站出现时通过与库的对比来判断是否为钓鱼网站。

3.2 黑箱粉碎机与传统检测方法的对比

将网络钓鱼攻击的传统检测方法应用在对有凭证的鱼叉式网络钓鱼的检测上,有以下4种局限性:

局限一,对于鱼叉式网络钓鱼攻击的特征值的真实分布情况并不能确定,参数的选择也具有盲目性,手动设置特征阈值会导致错过攻击。基于黑名单的钓鱼检测由于钓鱼网站的短存活性,钓鱼攻击者会经常更换IP地址和URL,黑名单需要实时更新,但是实际应用中记录在黑名单有时间延迟,大约47%~83%的网络钓鱼在被发现12 h之后才能加入黑名单,但事实上,63%的网络钓鱼行为会在发生后的2 h内结束[13],这一延迟极大地影响了基于黑名单检测的准确率,无法有效防御0-hour钓鱼攻击及基于相似性的钓鱼检测。

局限二,鱼叉式网络钓鱼样本的相对稀少,很难集合成一个足够大的训练集,并且在恶意样本和良性样本的分类上高度不平衡,不利于有监督学习。启发式钓鱼检测可以有效防御0-hour钓鱼攻击,解决了基于黑名单检测的局限性,但是需要有机器学习的过程,需要有大量的特征作为训练集,鱼叉式网络钓鱼样本少,不能提供足够大的数据,应用启发式钓鱼检测会增大误判率和错判率。

局限三,在许多安全设置中,标量特征通常具有其数值的方向性,例如,一个域的访问次数越少,越是可疑,而传统的检测技术不能将不对称或方向性的概念纳入其计算。在应用启发式钓鱼检测方法时,特征的选择和阈值的设置主要来自于对网络钓鱼的统计特征和人工总结,有很强的主观性,而许多合法的内容的某些特征也符合设定的阈值导致误判。

局限四,事件即使只有一个或几个的特征是统计学异常的,传统检测技术就将该事件视为攻击,造成警报预算的浪费。基于图像相似性的钓鱼检测只设定相似度的阈值为判断标准,该方法在假设钓鱼网站与合法网站有相似性的情况下进行,具有一定的盲目性,对于只是部分复制合法网站(小于50%)的钓鱼网站,基于图像相似性的方法将无法成功检测[14],也可能存在合法网页与其它合法网页有极大的相似性,造成误判。

鱼叉式网络钓鱼黑箱粉碎机针对以上局限性具有明显的优势,在实时性上,实时警报系统可以起到实时监控的作用,在数据上并不需要形成钓鱼网站训练集,只需要网络流量日志,在特征值的选取与分析上,3个子探测器提取的4个标量有关收信人信誉和发件人信誉,并采用异常评分标准进行夜间评分,具有客观性和方向性,在警报上可以根据需求制定警报预算,减少浪费。

4 结束语

本文基于对鱼叉式网络钓鱼攻击的概述,分析了鱼叉式网络钓鱼黑箱粉碎机的总体结构及关键技术,并与网络钓鱼攻击的传统检测方法进行比较,鱼叉式网络钓鱼黑箱粉碎机提出了新的信誉特征和标量,引入了新的异常检测技术,与传统方法对比具有明显的优势,为检测凭证鱼叉式网络钓鱼攻击开拓了实践途径,但其也存在有限的可见性、有限的报警预算、攻击者逃避策略应对不力、受历史数据限制等局限性,未来的研究可以探索解决这些局限性,并进一步设计有效的预警机制,作为鱼叉式网络钓鱼攻击预防性防御的一部分。

猜你喜欢
鱼叉黑箱电子邮件
有关旅行计划的电子邮件
鱼叉
鱼叉
拒绝黑箱
失踪的黑箱
基于六西格玛设计的直升机鱼叉液压系统改进优化设计
鱼叉配配对
民事诉讼电子邮件送达制度的司法适用
小测试:你对电子邮件上瘾了吗?
这道电学黑箱题有误吗?