IE7浏览器开始加入反钓鱼功能,这个功能成为浏览器安全功能的一个选项 – 仿冒网站筛选器。各类IM软件,如QQ等开始出现提示用户防止被网络钓鱼的安全信息。电子商务、门户、SNS、BLOG等大部分Web2.0热门网站,也开始公告用户防止被网络钓鱼的安全信息。

在传统的利用系统漏洞和软件漏洞进行入侵攻击的可能性越来越小的前提下,网络钓鱼已经逐渐成为黑客们趋之若鹜的攻击手段。同时无论网络相关的客户端软件还是大型的Web网站都开始发觉网络钓鱼已经成为了一个严峻的问题,并积极防御。

0×01 网络钓鱼原理分析

网络钓鱼属于社会工程学攻击的一种,简单的描叙就是通过伪造信息获得受害者的信任并且响应,由于网络信息是呈爆炸性增长的,人们面对各种各样的信息往往难以辨认真伪,依托网络环境进行钓鱼攻击是一种非常可行的攻击手段。

网络钓鱼从攻击角度上分为两种形式,一种是通过伪造具有“概率可信度”的信息来欺骗受害者,这里提到了“概率可信度”这个名词,从逻辑上说就是有一定的概率使人信任并且响应,从原理上说,攻击者使用“概率可信度”的信息进行攻击,这类信息在概率内正好吻合了受害者的信任度,受害者就可能直接信任这类信息并且响应。而另外一种则是通过“身份欺骗”信息来进行攻击,攻击者必须掌握一定的信息,利用人与人之间的信任关系,通过伪造身份,使用这类信任关系伪造信息,最终使受害者信任并且响应。

相信大家也经常遇到第一种形式的网络钓鱼攻击,比如形形色色的虚假中奖信息等。在今天这个Web2.0大行其道的网络上,使用Google、百度来查询姓名都有可能得到真实的信息,大型的SNS网络社区一个名字就能查询出和你所有相关的人的敏感信息,个人隐私几乎都已经不复存在,如果这类敏感信息被用作第二种形式的钓鱼攻击,后果将不堪设想。同时这两种形式的攻击原理也被常用作web蠕虫的传播手段,比如利用web应用的消息功能传播蠕虫链接和恶意代码等,当你收到朋友的信息可能就会直接打开、浏览,蠕虫得以进一步的传播。这里因为网络钓鱼的敏感性,我就不再列举其他实例,下面介绍一些可以被用作网络钓鱼的Web攻击技术。

0×02 URL编码结合钓鱼技术

首先我们要明晰一个概念,浏览器除了支持ASCII码字符的URL,还支持ASCII码以外的字符,同时支持对所有的字符进行编码。URL编码就是是将字符转换成16进制并在前面加上“%”前缀, 比如我们将GOOGLE的域名后缀.cn进行URL编码:

http://www.google%2E%63%6E

“.cn”这三个字符就是以每个字符的16进制形式加上“%”前缀,浏览器和服务端都能够正常支持。原理分析到这,一个攻击者是怎么通过URL编码进行钓鱼攻击呢?我们知道钓鱼攻击者常用的攻击伎俩就是混淆URL,通过利用相似的域名和内容来骗取受害者的信任,这里就存在一个相似度的值,通过URL编码就能提高URL的相似度,假如我们拥有任意一个y19ml1.cn这样的垃圾域名,使用子域名配合URL编码就能提高相似度,比如先制造一个http://www.google.cn.y19ml1.cn的子域名,通过URL编码我们将得到如下URL:

http://www.google.cn%2E%79%31%39%6D%6C%31%2E%63%6E

可以想象,一个普通用户在浏览信任度极高的网站时,被攻击者使用“概率可信度”信息和“身份欺骗”信息配合相似度极高的URL,在惯性思维下很难分辨一个URL的真伪。

0×03 Web漏洞结合钓鱼技术

近两年来,XSS漏洞开始成为Web漏洞中的一个大热门,XSS漏洞的特性就是能够在网页中插入javascript运行,javascript几乎能做任何事情,传统的XSS漏洞攻击可能是直接获取客户端和服务端的会话,可能是制作Web蠕虫攻击整个Web服务业务,撇开利用XSS漏洞针对Web服务进行直接攻击的风险,XSS漏洞还能被用作钓鱼攻击!为了更深入了解XSS钓鱼的危害,我这里举一个简单的例子,网页中被插入任意的javascript运行,是能够做到直接篡改页面的,将如下的javascript代码放入任何一个已有内容的网页,将清空原有内容被写入任意内容。

window.οnlοad=function Phish(){

document.open();

document.clear();

document.write(‘Phshing Attack By 80sec’);

document.close();

}

当钓鱼攻击者利用网站的Web漏洞进行钓鱼,网站管理员到这里应该意识到问题的严重性,这类钓鱼攻击并不是针对网站的Web服务业务进行攻击,而是利用网站的信任度对网站所有的用户进行攻击!当用户进入自己信任的网站而浏览的却是钓鱼网页,我想对网站的打击是无法评估的。

0×04 伪造Email地址结合钓鱼技术

伪造Email地址乍看起来很困难,但是经常接触邮件服务器的技术人员应该知道,我们是可以通过邮件代理服务器发送匿名邮件的,在没有邮件代理服务器的情况下可以在本地架设服务器发送匿名邮件,甚至可以直接利用WEB脚本程序使用虚拟主机、WEB服务器的邮件服务发送匿名邮件。通过邮件代理服务器可以直接修改邮件原始信息中MIME头的FROM字段,也就是发件人地址,利用这种匿名邮件可以伪造任何人的身份发送邮件。如下面的部分原始邮件头信息:

Received: from localhost (unknown [210.191.163.131])

by 192,168.1.1 (Postfix) with ESMTP id 8D20F606002

for <rayh4c@80sec.com>; Tue, 23 Dec 2008 10:03:08 +0800 (CST)

Subject: 中奖了!

MIME-Version: 1.0

From: “admin” <admin@gmail.com>

To: rayh4c@80sec.com

MIME头中的FROM字段是可以控制的,我们这里伪造成了admin@gmail.com的地址,而现在所有的邮件服务商对这类匿名邮件并没有提供防护措施,造成的后果是一个钓鱼攻击者能够伪造任何人、任何官方的身份发送钓鱼邮件,而一个普通用户是完全无法辨认信息真伪的。

0×05 浏览器漏洞结合钓鱼技术

浏览器的地址栏欺骗漏洞和跨域脚本漏洞可以实现完美的钓鱼攻击,地址栏欺骗漏洞实现的效果就是攻击者可以在真实的URL地址下伪造任意的网页内容,跨域脚本漏洞实现的效果是可以跨域名跨页面修改网站的任意内容,当我们访问一个URL返回给却是攻击者可以控制的内容,如果这里伪造是一个钓鱼网页内容,普通用户将无从分辨真伪。浏览器的相关漏洞,具体可以参考liudieyu发现的Chrome浏览器地址栏欺骗漏洞、80sec发现的ms08-058和第三方浏览器的部分漏洞。

这种钓鱼攻击是最严重的,因为这类攻击利用的是客户端软件漏洞,完全不受服务端程序和网络环境的限制,是网站管理员无法控制的,大家只能在知道漏洞的情况下积极打上软件补丁,或使用安全软件修补客户端软件的漏洞。

0×06 如何防范网络钓鱼攻击

网络钓鱼攻击从防范的角度来说也可以分为两个方面,一个方面是对钓鱼攻击利用的资源进行限制,一般钓鱼攻击所利用的资源是可控的,比如WEB漏洞是Web服务提供商可以直接修补的,比如邮件服务商可以使用域名反向解析邮件发送服务器提醒用户是否收到匿名邮件,比如利用IM软件传播的钓鱼URL链接是IM服务提供商可以封杀的。另外一个方面是不可控制的行为,比如浏览器漏洞,大家就必须打上补丁防御攻击者直接使用客户端软件漏洞发起的钓鱼攻击,各个安全软件厂商也可以提供修补客户端软件漏洞的功能。同时各大网站有义务保护所有用户的隐私,有义务提醒所有的用户防止钓鱼,提高用户的安全意识,从两个方面积极防御钓鱼攻击。

0×07 内容关键字匹配URL主动检测钓鱼攻击

现在的网络钓鱼攻击并未做到主动防御,不过欣慰的是可以看到国内如QQ等IM软件,开始提醒用户不要打开未知的不可信的链接,防止用户被欺骗。网络钓鱼攻击还可以通过内容关键字匹配URL进行主动检测,我们知道现在网络上的网页木马等恶意代码横行,杀毒软件提供了查杀网页恶意代码的功能,这类查杀方式最初是使用恶意代码关键字特征进行查杀,而网络钓鱼也是拥有钓鱼关键字,这些关键字大都具有趋利性质,充满了大量的虚假信息,这类信息也是具有特征的,比如中奖、各类银行账号、虚假电话号码等,我们可以按照杀毒软件的模式建立起一个钓鱼的关键字特征库配合URL特征进行匹配分析,在一定程序上主动检测或防御钓鱼攻击。

0×08 后记

除开使用Web攻击技术进行钓鱼,攻击者还可以使用网络协议漏洞进行钓鱼,比如大家已知的ARP攻击、DNS劫持、DHCP劫持漏洞等,总之网络攻击技术是层出不穷的,但防御手段也会随着攻击技术不断更新,只有保持积极防御的态度才能做到最大化的防御。另外补充一点,我国对于网络钓鱼诈骗的立法还不够完善,一些网络钓鱼诈骗在定罪量刑时仍沿用了传统的对定罪量刑标准,不能体现网络犯罪等新型犯罪的特点,比如诈骗金额在2000元以下的罪案并没有在刑法中量刑,这对于网络钓鱼诈骗金额的小额多量的分布式特性是无法很好的取证的,希望国家能进一步完善相关法律。

分析网络钓鱼的原理及防御措施相关推荐

  1. html的页面中嵌入额外的内容,通过Wireshark分析网络钓鱼

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 实验目的通过学习wireshark分析网络钓鱼 实验工具wireshark:Beyond Compare是一个网络封包分 ...

  2. CSRF攻击原理及防御措施

    CSRF,即跨站请求伪造(Cross-site request forgery) 攻击原理 用户登录受信任网站A,产生cookie 用户访问攻击网站B,网站B返回攻击代码并发出要登录网站A的请求 网站 ...

  3. 跨站请求伪造(CSRF)示例、原理及其防御措施

    文章目录 概述 例子 原理 防御 使用token验证 判断Referer/Origin SameSite Cookie属性 概述 CSRF是Cross Site Request Forgery的缩写, ...

  4. 三种常见的网络钓鱼攻击方法!

    网络钓鱼攻击是我们生活中最常见的网络攻击方式之一,同时也是大家最容易中招的网络犯罪方式,尤其是随着网络技术的不断发展,网络钓鱼攻击也变得越来越多样化.本文为大家介绍一下网络钓鱼攻击常用方法及防御措施, ...

  5. 网络钓鱼攻击技术分析及防范

    网络钓鱼攻击技术分析及防范 网络钓鱼攻击技术分析及防范 Author: rayh4c [80sec] EMail: rayh4c#80sec.com Site: http://www.80sec.co ...

  6. 服务器安全:浏览器同源策略与跨域请求、XSS攻击原理及防御策略、如何防御CSRF攻击

    主要包括 浏览器同源策略与跨域请求 XSS攻击原理及防御策略 如何使用SpringSecurity防御CSRF攻击 CC/DDOS攻击与流量攻击 什么是SSL TLS HTTPS? 一.浏览器的同源策 ...

  7. 常见的5种网络钓鱼攻击类型!

    网络钓鱼攻击是比较常见且人人熟知的一种攻击方式,虽然这种攻击方式不是以入侵为主要,但其危害范围极大,也是最严重的网络威胁之一.目前,网络钓鱼攻击类型有很多种,本文主要为大家介绍一下"常见的5 ...

  8. 网络钓鱼案例及防御措施

    http://mp.weixin.qq.com/s/bZo2ldq6s11qhRLC2fnouA 我们知道许多通过恶意软件或系统漏洞来窃取密码的技术方法,而其中最难抵御的方法之一就是让用户在不知情的状 ...

  9. Radware:防御现代鱼叉式网络钓鱼攻击的方法

    在网络安全领域工作的人都知道,网络钓鱼攻击,特别是针对大型企业的网络钓鱼攻击正在崛起.由于攻击依赖的是任何可利用的人为因素,因此,攻击者对这类攻击十分青睐. 多年以来,网络钓鱼攻击在不断地发展,而在过 ...

最新文章

  1. 科普丨一文看懂语音识别的技术原理
  2. Hyper-v Server在线调整虚拟硬盘大小
  3. python大学课程-大学只安排了C和Python课程,是否有必要学习一下Java
  4. Unity3d 下websocket的使用
  5. 比较两个时间字符串的大小
  6. 最佳实践:HTAP数据库TBase助力某省级单位核心系统IT架构升级
  7. ObserveIT Client安装后屏幕延迟问题
  8. Simulink之交流调压电路
  9. hbuild 编译 php,Hbuilder的PHP环境搭建
  10. 用Java打开一个网页
  11. xFire入门(eclipse、tomcat环境)
  12. jupyter notebook 快捷键
  13. python爬取付费音乐包_python爬虫如何下载QQ音乐付费歌曲2020最新版
  14. 美发店员工合同WORD版(可直接下载打印)【卓美业网拓软件整理】
  15. 老电脑宏基E1-471G SSD 装win10系统
  16. 寒气笼罩中的一线暖冬
  17. 思科2960交换机光口激活失败,提示has bad crc,解决方法
  18. 几次推广都没能火起来,腾讯直接把微视嵌入朋友圈了?
  19. (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  20. 中国真空断续器市场现状研究分析与发展前景预测报告(2022)

热门文章

  1. 自然语言处理之神经网络基础
  2. Webstorm添加新建文件类型 创建文件模板
  3. error: failed to push some refs to ‘xx.git‘ hint: Updates were rejected because the tip of your curr
  4. 御坂坂的c++学习之路(5)
  5. 安全月报| PeckShield:9月共发生安全事件14起,损失近1,800万美元
  6. 达布中值定理(导数中间值定理)
  7. 9.2.3 将警告视为错误
  8. Android之Mob第三方短信验证服务
  9. 96微信编辑器如何将样式中的二维码替换成自己的?
  10. Java 报错Attempted read from closed stream