博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
他用10年前的攻击手法感染了17000多名开发者的电脑
阅读量:7022 次
发布时间:2019-06-28

本文共 1903 字,大约阅读时间需要 6 分钟。

大约10年前,有种名为Typosquatting的古老攻击手法——国内有将之翻译成“误植域名”的。这个词的前半部分“Typo”意思是排版错误,其实已经表达了这种攻击手法的内涵。举个例子:黑客可能会去注册像appple.com、taobaoo.com这样的域名,如果用户手误多输一个字幕,就会访问到这样的网站——这些网站还会模仿原网站,也就可以起到钓鱼的作用了。

所以Typosquatting如果要分类的话,大概是可以划归到钓鱼攻击中去的。不过这类攻击手法主要是寄希望于用户可能会输错某些域名。

最近来自德国汉堡大学的学生,利用Typosquatting攻击,将他自己的代码感染到了超过17000台开发者的计算机中。注意哦,是开发者的计算机!而且里面很多人还是为美国政府,甚至军方组织工作的。

究竟是怎么感染的?

这名汉堡大学的学生现年25岁,名叫Nikolai Philipp Tschacher。他在自己的学士论文里大致阐述了这种攻击手法,论文名为《Typosquatting in Programming Language Package Managers》,有兴趣的同学可以去搜一下。

整个过程其实很简单:他首先去浏览一些专门探讨编程语言的社区网站(如PyPI、RubyGems、NPM),记录了其中下载量较高的214个包。然后他自己伪造了这214个包,里面包含他自己的脚本代码(虽然并非恶意的),名字与这214个包非常相似。

虽然不是域名,不过他也将之称作Typosquatting攻击。实际上里面的确没有包含什么恶意代码,只是给那些下载的开发者以警示:您安错包啦!另外,这段代码还会向Tschacher的计算机发送一个Web请求,这样他就能够记录他的代码执行了多少次,是否获取到管理员权限。

攻击结果很“理想”

最终的结果是很“喜人”的,几个月时间内,他的代码就在超过17000个独立域名中执行了超过45000次,其中超过一半还获得了管理员权限。意外发现是,其中有两个域名后缀为.mil,表明这是美军有人也运行了这段脚本。Tschacher在论文中说:

“另外还有23个域名以.gov结尾,是美国政府机构的域名。这个数字是值得人们关注的,因为拿下美国研究工作室和政府机构的主机,会带来灾难性的后果。”

这件事比较有趣的地方在于,Tschacher攻击目标并非普通终端用户,而是开发者。如果Tschacher真的有意进行攻击,并植入了恶意代码,那么打击面和传播速度都并非一般的钓鱼网站可比。但凡从开发者入手的攻击,总是能够在短期内极速传播,因为如果开发过程都在神不知鬼不觉的情况下被植入恶意代码,那么终端用户遭遇攻击也就显得理所应当。

很多时候,将政府和企业作为目标的的攻击者,都很喜欢从开发者下手。因为开发者对敏感网络拥有很高的访问权限,能做的事自然就多多了。

  延伸阅读:有关Bitsquatting

是不是感觉这群被感染的开发者很弱智?然而实际上,Typosquatting也有比较高级的应用。最后这部分作为简单的延伸:早在2011年的时候,安全研究人员Artem Dinaburg曾经介绍过一种名为Bitsquatting的攻击,基本理念就是取自于Typosquatting,但它并不依赖于用户输错域名,而是利用计算机的随机单比特错误(详情点击这里)。

其实所谓的比特错误是发生在硬件产品上的,比如内存、CPU缓存因为环境或者灰尘、辐射之类的,会莫名产生比特错误(如著名的UltraSparc II CPU就存在这种问题)。比如我们要访问一家网站,域名是n.com。其二进制表达方式是这样的:

 

n . c o m
01101110 0101110 01100011 01101111 01101101

 

如果内存模块发生比特错误,某一位比特发生错误,就会变成下面这样。你在访问n.com这个域名的时候,二进制数据是需要过一次内存的,但最终我们访问到的实际上是o.com,这个过程真正实现了神不知鬼不觉。如果有人注册一个o.com域名,用于模仿n.com网站,则钓鱼成功率几乎可以达到100%。

 

o . c o m
01101111 0101110 01100011 01101111 01101101

 

这听起来似乎很悬,前两年国外有安全专家特别做了针对Bitsquatting的实验(首先选择一些可能产生一比特之差的域名注册,比如说micrgsoft.com,然后主要从DNS来入手这个实验),结果每天都存在Bitsquatting后的域名请求,的确非常神奇。

本文转自d1net(转载)

你可能感兴趣的文章
SCVMM2012R2 服务模版系列(二)包含Web应用程序的单层服务模版
查看>>
秋色园QBlog技术原理解析:性能优化篇:用户和文章计数器方案(十七)
查看>>
一个IE8 Bug的解决方法以及一些思考
查看>>
JCE安装
查看>>
base64 源码
查看>>
规划安装部署SharePoint Server 2007精解(上)
查看>>
Router Interface Configuration
查看>>
积少成多Flash(2) - ActionScript 3.0 基础之包、类、包外类、命名空间、属性、方法、接口和继承...
查看>>
Nginx基础之http、https、socket 、SSL及TCP简单关系
查看>>
云场景实践研究第83期:众安保险
查看>>
【mysql】一次有意思的数据库查询分析。
查看>>
CentOS 6.3_ RSync实现文件备份同步配置排除故障
查看>>
VDI序曲十七 RDVH虚拟主机中开启RemoteFX的硬件配置要求
查看>>
快速手动替换 Windows 7 系统字体
查看>>
用php调用graphviz轻松画拓扑图
查看>>
NA-NP-IE系列实验27: default-information originate
查看>>
UWA助力独立游戏开发!《江湖X:汉家江湖》性能诊断精讲!
查看>>
ASP中FSO的神奇功能
查看>>
如何让ssh只允许指定的用户登录
查看>>
创建一个优质可用的Hyper-V虚拟机模板
查看>>