Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >关于8月31日维基解密被攻击的观察与分析

关于8月31日维基解密被攻击的观察与分析

作者头像
FB客服
发布于 2018-02-27 09:53:16
发布于 2018-02-27 09:53:16
1.1K0
举报
文章被收录于专栏:FreeBufFreeBuf

十几天前,维基解密遭受了一次攻击,导致很多访问者看到了“OurMine”的声明,他们声称已经获取了维基解密服务器的控制权。这次攻击之后,很多人(包括维基解密的粉丝及其死对头)在没有基础知识与技术功底,且未查明事件真相的情况下,发表了很多观点。所以在这里,作者从技术性的观察角度,来陈述一些事实。

猜测

第一:有些人看到的东西显然不是维基解密的网站,很多人拿出了这样或者那样的截图,然后便有人推测:维基解密的服务器被入侵,入侵者修改了其内容。这是一个十分大胆的推测:因为从用户浏览器到网页显示的整个过程是相当复杂的,其中有很多因素可以导致最后的判断出错。

第二:对于维基解密,另一种猜测是服务器并没有被入侵,但是域名wikileaks.org被黑客当成目标且成功接管,观察发现域名wikileaks.org并没有被解析成以往的IP地址,而是被解析到了另一个主机,这是如何实现的?后果是什么样的?

观察与分析

众所周知,对于互联网上的一些事件,调查起来通常都比较困难,外部分析师通常获取不到全部的数据,有时分析刚开始,就已经太迟了,因为数据已经改变了。而内部分析师几乎都是噤若寒蝉,有时甚至连蒙带骗。不可否认,有一些组织的交流是十分开放的(参见Cloudflare报告或Gandi报告),但是他们只是例外。在这次的攻击中,维基解密的反应更像是一个典型的公司,他们否认这个问题,不向用户发布任何有价值的东西,并试图逐渐淡化带来的影响。因此我们阅读到的很多网络事件的声明都没有足够的事实作为支撑。由于维基解密身处众多热点争议的中心,问题就变得更糟糕了,由于没有任何有价值的回应,一些维基解密的粉丝就开始了妄加猜测。

所以问题的关键就在于域名wikileaks.org。为了解释到底发生了什么,我们需要从DNS讲起,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。当一般Web浏览器访问http://www.okstate.com/时,用户机器上的软件执行名称为 www.okstate.com的DNS查询,并返回HTTP服务器的IP地址。最后连接到服务器。(注:一些黑客通过伪造DNS服务器将用户引向错误网站,以达到窃取用户隐私信息的目的。这种DNS服务器大约有68000台。)

不过在一些情况下,域名持有者(如wikileaks.org)会选择一个注册商,然后再注册商提供的控制面板中输入解析的IP地址,如果使用了弱密码,那么账号就非常容易被攻破,也就是账号被盗用,这种攻击非常普遍,而且也说明了并非所有攻击都是十分高明的。

那么维基解密发生了什么呢?我们使用了基于被动DNS的DNSDB,它可以观察到DNS流量,并允许用户查询改变之前的情况。说了这么多,NDSDB里到底有什么?

在攻击期间,注册表正在对非法的服务器组进行回复。

所以名称服务器被篡改了,根据DNSDB,这些流氓服务器提供了一组不同的NS(名称服务器):

要注意的是,DNS主机Rival并不是此次攻击的共犯,这可能只是一些流氓客户。现今,大多数大型服务提供商中都存在这种情况。

当你将所有内容复原时,可以看到最后一次更改whois输出的日期:

很明显,流氓名称服务器正在提供指向“假”网站的IP地址。再次回到DNSDB中:

维基解密的正常IP地址前缀为95.211.113.XXX,141.105.XXX和195.35.109.XXX(如果你想要查看它们,可以使用DNS Looking Glass), 181.215.237.148是由Rival托管的流氓网站的IP,你可以使用whois工具查询:

这表明这个前缀是在智利分配的,黑客无法改变服务于wikileaks.org的名称服务器。

社交网络上的很多人声称,这次袭击是由“DNS中毒”造成的,可见多数人对DNS中毒一知半解。对域名配置系统的攻击是很常见的,例如,2013年,臭名昭著的SEA(叙利亚电子军)对纽约时报网站进行了攻击(详见纽约时报与一份技术分析),他们拿下了纽约时报的DNS登记服务器( Melbourne IT),修改解析,指向自己的服务器。最近还有一次对圣路易斯联邦储备委员会的攻击。这种攻击的后果是什么?如上所述,一旦你控制DNS,你就可以控制所有内容。您可以将用户重定向到伪造的网站(不仅是外部访问者,而且还包括目标组织的员工,可以连接到内部服务,潜在窃取密码和其他信息),劫持电子邮件等。因此,声称“服务器没有被泄露“没有意义。如果成功对域名进行攻击,那么攻击者就不需要入侵服务器。

以上哪部分在维基解密案件中被破解?分析了外部原因,我可以肯定地说,名称服务器被改变了。维基解密本身,注册商(Dynado)或注册管理机构(.org,由PIR管理,技术上由Afilias管理)都有弱点。从现有的信息来看,人们很难说清楚问题出在哪里。但根据推测,大多数时候问题出在用户,不过薄弱的环节还有注册商或注册管理机构,因为在过去它们都被曝出了严重的安全漏洞。

之前我说过,当你控制域名时,你可以将外部和内部的访问者发送到你想要的服务器。但是这种说法并不是完全正确的,因为良好的安全性依赖于深度的防御,即使您的域名受到威胁,也可采取一些措施来降低风险。其中一个就有使用HTTPS(维基解密就在使用),从纯HTTP站点重定向,HSTS(在RFC 6797中标准化)以避免普通访问者通过不安全的HTTP访问。维基解密也在使用:

这些技术至少会引起网站管理者的警惕,同样,使用Tor进入.onion网址也将有所帮助。但是我没有能够找到维基解密的.onion(http://suw74isz7wqzpmgu.onion/不起作用,http://wlupld3ptjvsgwqw.onion似乎只是为了上传用的)。

维基解密也可以通过启用注册表锁定来限制帐户被攻击的风险,这是大多数顶级域名(包括.org)提供的技术,以防止未经授权的更改。激活时,需要额外的步骤和检查。

有趣的是,有许多人把这种攻击称之为“DNS毒化”,针对这种特定攻击的最佳防护DNSSEC并未被维基解密激活(在wikileaks.org域名中有一个DNSSEC密钥,但在父级没有签名和DS记录 )。如果wikileaks.org域名被签名,并且如果使用了验证的DNS解析器,那么维基解密就不会被“DNS毒化”。当然,如果黑客是对持有人账户,注册商或注册管理机构进行入侵,DNSSEC就不会有太大的用处。

维基解密为其名称服务器使用胶合记录。它们是域名服务器的名称服务器名称, 要允许DNS客户端查询它们,父级必须知道此名称服务器的IP地址,这就是所谓的粘合记录。通过对DNSDB的记录,ns1.wikileaks.org域名的粘合记录显然已被修改:(注意攻击后几个小时):

一些DNSDB探测确实注意到了这个IP地址,意味着这是本地主机,

由于DNS严重依赖于缓存,即使在配置被修复之后,信息仍然能被看到。 在这里,作者使用RIPE Atlas探针与Atlas解析工具,以查看有多少探针仍然能看到错误的值(注意日期和时间,全部以UTC为单位,这是分析网络问题时的规则):

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-09-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Windows下使用QT+OpenCV完成人脸检测(获取摄像头的数据进行检测)
目前官网OpenCV最新的版本是4.2.0 ,Windows版本的OpenCV在3.X版本后就不带X86的库,只有X64的库,如果需要X86的库,需要自己下载源码去重新编译。
DS小龙哥
2022/01/12
1.7K0
Windows下使用QT+OpenCV完成人脸检测(获取摄像头的数据进行检测)
FFMPEG音视频开发: 完成摄像头、桌面本地录制与rtmp推流(windows)
该软件里推流和视频保存使用FFMPEG库完成,界面框架采用QT,视频和音频可以同步推流和录制,FFMPEG本身支持跨平台编译开发,QT也支持跨平台,在Android、Linux、windows都运行良好,只需要在不同平台编译对应的ffmpeg库即可,逻辑代码部分通用。
DS小龙哥
2022/01/12
2.4K0
FFMPEG音视频开发: 完成摄像头、桌面本地录制与rtmp推流(windows)
Windows下使用QT+OpenCV完成人脸检测(获取摄像头的数据进行检测)_解决内存释放问题
上一版本的QT+OpenCV例子在这里:https://blog.csdn.net/xiaolong1126626497/article/details/105295367
DS小龙哥
2022/01/12
2K0
Windows下使用QT+OpenCV完成人脸检测(获取摄像头的数据进行检测)_解决内存释放问题
FFMPEG音频视频开发:QT获取Android、Linux、Windows系统上的摄像头数据帧与声卡音频通过FFMPEG编码为MP4存储(v1.0)
声卡: win10 电脑自带声卡、罗技USB摄像头声卡、Android手机自带声卡都可以获取声音数据 摄像头: 手机摄像头、罗技USB摄像头
DS小龙哥
2022/01/12
1.8K0
FFMPEG音频视频开发:QT获取Android、Linux、Windows系统上的摄像头数据帧与声卡音频通过FFMPEG编码为MP4存储(v1.0)
QT应用编程:基于QT+HTTP协议设计的屏幕共享软件(只要有浏览器就可以访问)
QT版本: 5.12.6 操作系统: win10 64位 软件下载地址 完整源码下载:https://download.csdn.net/download/xiaolong1126626497/19354865
DS小龙哥
2022/01/07
2.1K0
QT应用编程:基于QT+HTTP协议设计的屏幕共享软件(只要有浏览器就可以访问)
Android之网络摄像头
实现的功能就是两个手机在一个局域网内可以互相观看对方的摄像头图像,当然如果都是连接公网那么就能远程互看了,,,,和视频聊天差不多,,不过没有声音,,,,,,,, 源码是在网上找的(具体地址忘了,如有侵犯请告知),亲测能用,,其实一开始想直接用到自己现在做的东西上 ,不过直接加到自己现在的软件上,调试了一下发现,,我想多了,老天总是不让自己那么轻易的....................... 因为自己手头上只有一个手机,所以就自己发给自己了,本想像写其它文章似得详细叙述一番,看了一下表,,感觉还是算了吧,
杨奉武
2018/04/12
2.5K0
Android之网络摄像头
OpenCv4.4.0+Qt:摄像头控制
在上一篇中讲解了 OpenCv4.4.0+Qt5.12.2+OpenCv-Contrib-4.4.0 的 安装与测试例程,这篇中讲解摄像头的控制,摄像头列表的选择,参数控制,拍照,视频录制。
何其不顾四月天
2023/03/10
2.9K0
OpenCv4.4.0+Qt:摄像头控制
HTTP协议入门教程,一文就够了!
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
辉哥
2019/05/14
4.5K0
HTTP协议入门教程,一文就够了!
Qt音视频开发38-USB摄像头解码linux方案
做嵌入式linux上的开发很多年了,扳手指头算算,也起码9年了,陆陆续续做过很过诸如需要读取外接的USB摄像头或者CMOS摄像机的程序,实时采集视频,将图像传到前端,或者对图像进行人脸分析处理,最开始尝试的就是QCamera来处理,直接歇菜放弃,后面通过搜索发现都说要用v4l2视频框架来进行,于是东搞搞西搞搞尝试了很多次,终于整出来了,前后完善了好几年,无论写什么程序,发现要简简单单的实现基础的功能,都是非常快速而且容易的,但是想要做得好做得精,要花不少的精力时间去完善,适应各种不同的场景,比如就说用v4l2加载摄像头这个,需要指定设备文件来读取,而现场不可能让用户来给你指定,频繁的拔插也会导致设备文件名的改动,所以必须找到一个机制自动寻找你想要的摄像机的设备文件名称,比如开个定时器去调用linux命令来处理,甚至在不同的系统平台上要执行的命令还有些许的区别,如果本地有多个摄像头还需要区分左右之类的时候,那就只能通过断电先后上电顺序次序来区分了。
feiyangqingyun
2020/10/21
2.9K0
Qt音视频开发38-USB摄像头解码linux方案
嵌入式Linux下LCD应用编程: 读取摄像头画面完成本地视频监控画面显示
完整项目代码下载地址(包含矢量字库源码和编译安装方法): https://download.csdn.net/download/xiaolong1126626497/16680219
DS小龙哥
2022/01/12
2.3K0
嵌入式Linux下LCD应用编程: 读取摄像头画面完成本地视频监控画面显示
Linux下采集摄像头的图像再保存为JPG图片存放到本地(YUYV转JPG)
操作系统:ubuntu18.04 X64位 和 嵌入式Linux操作(ARM)
DS小龙哥
2022/01/12
4.6K0
Linux下采集摄像头的图像再保存为JPG图片存放到本地(YUYV转JPG)
Linux小项目-倒车影像功能设计
倒车影像已经是现在汽车的标配功能了,基本很多车出厂都是360全景影像,倒车影像又称泊车辅助系统,这篇文章就采用Linux开发板完成一个倒车影像的功能。
DS小龙哥
2022/05/11
2.4K0
Linux小项目-倒车影像功能设计
java设置content type_Response Content Type设置[通俗易懂]
.pdf = application/pdf :客户端浏览器按PDF格式进行解析文档
全栈程序员站长
2022/09/09
2.3K0
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
我们在对接Unity下推送模块的时候,遇到这样的技术诉求,开发者希望在Android的Unity场景下,获取到前后摄像头的数据,并投递到RTMP服务器,实现低延迟的数据采集处理。
音视频牛哥
2024/01/17
6480
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
Web调用网络摄像头及各类错误处理
最近由于业务的原因,需要在Web端页面接入调试各类的网络摄像头,遇到了很多匪夷所思的问题(说的就是读得出摄像头的品牌,读不出摄像头的分辨率)。于是整理了这篇文章作为备忘录,也希望能帮到有类似的小伙伴们。
huofo
2022/03/18
1.8K0
Web调用网络摄像头及各类错误处理
Maui Blazor 使用摄像头实现
由于Maui Blazor中界面是由WebView渲染,所以在使用Android的摄像头时无法去获取:因为原生的摄像头需要绑定界面组件。我找到了其他的实现方式,通过WebView使用js调用设备摄像头,支持多平台兼容,目前测试了Android 和PC, 由于没有ios和macOS无法测试,大概率是兼容的,可能需要动态申请权限。
沙漠尽头的狼
2023/02/10
7870
Maui Blazor 使用摄像头实现
深入学习Linux摄像头v4l2应用编程
vl42是video for Linux 2的缩写,是一套Linux内核视频设备的驱动框架,该驱动框架为应用层提供一套统一的操作接口(一系列的ioctl)
杨源鑫
2023/11/16
2K0
深入学习Linux摄像头v4l2应用编程
FFMPEG音频开发: Linux下采集摄像头(使用V4L2框架)数据录制成MP4视频保存到本地
X264下载地址: http://www.videolan.org/developers/x264.html
DS小龙哥
2022/01/12
3K0
FFMPEG音频开发: Linux下采集摄像头(使用V4L2框架)数据录制成MP4视频保存到本地
linux下使用QT调用FFMPEG读取摄像头一帧数据显示到标签控件上
下面代码调用FFMPEG库,读取摄像头的一帧数据,转换为RGB888,加载到QImage,再显示到标签控件上。
DS小龙哥
2022/01/12
1.7K0
linux下使用QT调用FFMPEG读取摄像头一帧数据显示到标签控件上
图文详解互联网根基之HTTP
这是本人对《图解HTTP》和《HTTP权威指南》阅读后总结的大家常用的、重要的知识点,前端、后端同学居家必备!
sunsky
2020/08/20
1.6K0
图文详解互联网根基之HTTP
推荐阅读
相关推荐
Windows下使用QT+OpenCV完成人脸检测(获取摄像头的数据进行检测)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档