一、背景
网络钓鱼(phishing)是指攻击者达到一些恶意目的,如内网入侵、获取敏感信息数据等,伪装为可信实体,向受害者抛出诱饵的一种网络欺诈犯罪行为。近年来,钓鱼网站的数量一直呈高速增长,攻击对象也越来越有针对性,电商、运营商、银行保险等成为钓鱼攻击的高发行业,根据对2016年全球中文钓鱼网站统计数据,钓鱼网站的主要仿冒对象为淘宝、中移动、各大银行[1]。2017年第二季度,银行业是网络钓鱼攻击的第一大目标,占比23.49%[2]。 钓鱼攻击的手段多样,并且一直在变迁。网络钓鱼攻击、鱼叉式钓鱼攻击、域欺骗、语音钓鱼、短信钓鱼和社交工程欺诈是攻击者使用的几个常用的手法。钓鱼过程中,攻击者首先会搜集相关信息,制作仿冒的钓鱼网站,注册与仿冒实体相混淆的域名,如抢注域名和误植域名。抢注域名是指注册和实际公司域名非常类似的域名,然后再模仿真实公司网站伪造另一个网站;误植域名的过程大同小异,但利用的是输入公司域名时常见的打字错误,这两种方法依赖的都是正确拼写的URL的变体[3]。 钓鱼攻击一般都具有社交工程欺骗性,鱼钩是贴近受害者关心的诱惑性内容,所以受害者不会将其视为网络钓鱼诈骗,等意识到自己中招时为时已晚,危害已经发生。一些钓鱼URL点击之后,会泄露个人敏感信息或造成直接金钱损失;另一些钓鱼URL一旦点击,计算机中就开始下载恶意软件,或者用户被定向至病毒或链接到一个可秘密下载恶意软件到他们计算机上的网站,恶意软件乘机植入到计算机中。多数钓鱼攻击类似于肇事逃逸,持续时间相对较短,但钓鱼APT一旦得手,会长期潜伏,持续很长时间[4]。钓鱼攻击发生后,受害者个人信息、财产会有不同程度的损害,更有甚者造成企业内网被入侵、核心数据泄露,声誉受损,甚至导致拒绝服务[5]。美国联邦调查局(FBI)于2016年年中时发布警告,称2016年上半年网络钓鱼攻击造成的经济损失高达31亿美元。二、钓鱼检测技术
钓鱼手段多样,名目繁多,如何辨别钓鱼攻击一直是各企业面临的难题。为了有效应对钓鱼攻击,识别尽可能多的钓鱼URL,绿盟科技提供了一种多维度多层次的钓鱼检测方案。该钓鱼检测技术方案由情报检测部分和模型检测两部分构成。图1 情报匹配过程
情报匹配流程如图1所示。NTI情报匹配包含三个情报资源库,其中,绿盟威胁情报云是不断更新的情报库;私有情报是客户自有的情报数据,具有个性化的特点;企业侧情报由绿盟威胁情报云下发的情报和私有情报共同组成,随着平台运行而不断更新并且缓存在本地。这种本地情报生成方式在匹配过程中,能减少网络通信,提高匹配效率。NTI情报匹配过程以BSA平台为中心,进行数据处理。BSA从客户侧接入待检测数据可以是直接的http访问数据,也可以原始流量类数据,如绿盟uts探针数据、netflow流量数据。这种流量数据可以通过BSA平台解析出其中的通信实体,从而进行情报匹配。
情报匹配过程首先将待检URL交由包含客户私有情报资源的本地情报进行匹配,无法判断的URL再提交NTI云端检测,有检测结果时,将检测结果返回客户侧,同时更新本地情报资源。情报匹配命中有三种情形,分别为URL的完全匹配、部分匹配和间接匹配。部分匹配又分为域名部分匹配和相对路径部分匹配,即整个URL中只有域名部分或者相对路径部分匹配上情报。当域名命中白名单时则放过,命中黑名单时则检测结果为网络钓鱼,而当域名黑白名单均为命中,可以根据相对路径是否为钓鱼黑名单再做判断。间接匹配则是利用了域名与IP之间的对应关系进行的匹配,取到域名对应的IP或者IP对应的域名与情报库中黑白名单进行匹配。http://www.0515renliu.com/rlsq/rlcs/207.html 对于NTI云端检测无法判断的URL则存入模型待检库中,交由下一部分钓鱼检测模型进行检测。- 模型检测
图2 模型检测过程
- 基于URL特征检测,是根据提取URL长度、包含字符等特征进行判断。较长的URL有利于攻击隐藏可疑的URL片段,而超短的域名更可能是为了逃避检测,经过短URL服务商处理的钓鱼站点。同时,钓鱼站点更可能包含一些IP,而合法站点往往不包含IP字段。此外,URL中包含的其他特殊字符,敏感字段等特点也对识别是否为钓鱼有一定的帮助。由于URL特征相对直观,使用URL特征检测是最常用的检测手段,也容易被攻击者规避,因此检测效率有限。
- 基于DNS特征检测,是根据URL对应的whois信息以及域名与行业库域名相似情况等特征判断。whois信息对探测钓鱼网站有一定作用,通常注册时间较短的域名更可能是钓鱼站点,同一注册者其他关联的域名有钓鱼的也更可能是钓鱼站点。根据统计,2016年147211的例钓鱼网站,其域名为8055位注册者持有,平均每个注册者持有18例[1]。另外,与行业库域名相似却不同的域名也更可能是钓鱼站点,很可能是攻击者事先特意抢注的域名和误植域名。但是,这种检测需要提取whois服务器的数据,但当数据量过大时,将会更耗费网络IO资源和时间。
- 基于HTML源码特征检测,通过抓取URL页面源码信息分析,根据源码包含的特征如外链比例、链接的域名、ICP备案等特征进行判断。在URL和DNS特征模型都无法对URL进行判断时,根据URL源码或许是一种不错的判断手段。通常,网页没有ICP备案信息、页面链接多个不同域名等更可能是钓鱼,此外源码中外链的也能帮助区分钓鱼站点。因为使用基于HTML源码特征检测需要抓取网页源码分析,耗费网络IO较大,费时较长,但检测效果通常更准确。
- 基于页面图像检测,根据截取的网页截图与合法网站图像相似度对比情况,或者logo包含情况判断是否为钓鱼站点。在URL和DNS特征模型都无法对URL进行判断时,也可以根据直观的网页呈现的视图与行业库网站的像素差异判断是否为钓鱼站点。但攻击仿冒方式的改变,很多仿冒钓鱼站点直接复制使用被仿冒实体的logo,因此可疑站点中若包含行业实体logo,那么也很可能是钓鱼站点。由于这种站点不仅要截取网站图像,网络IO耗费大,图像计算量也比较大,检测结果更理想,也更耗时。