BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

谁会是下一个受害者?历数数据库黑客新闻

| 作者 麦克周 关注 22 他的粉丝 发布于 2017年4月7日. 估计阅读时间: 11 分钟 | AICon 关注机器学习、计算机视觉、NLP、自动驾驶等20+AI热点技术和最新落地成功案例。

攻击事件序列

1月9日:MongoDB,影响40291台服务器
1月13日:ElasticSearch,影响5044台服务器
1月18日:CouchDB、Hadoop,分别影响452和182台服务器
1月24日:Cassandra,影响49台服务器
2月12日:MySQL,影响范围未知

这几次攻击都被Victor Gevers和其他GDI基金会的成员发现并且持续追踪,并且已经报告给了CERT组织,他们甚至做了一个表格,具体记录攻击频率、范围:

除此之外,Gevers还在Twitter上发文,进一步警告数据库管理员,小心被攻击:

7 days ago @GDI_FDN warned all GovCERTs 4 world-writeable Hadoop Distributed File Systems. 5 reacted, 28 clusters taken down. Thousands left pic.twitter.com/YAoEA0eoYH

— Victor Gevers (@0xDUDE) January 21, 2017

尚未被攻击的数据库包括Neo4J、RiakRedis

MySQL攻击事件

2017年2月12日,持续了30个小时的攻击,黑客尝试各种方式,强行进入MySQL的Root账户。根据分析人士判断,所有的攻击都是来自荷兰的同一个IP地址(109.236.88.20),这个IP地址属于一家叫做WorldStream的公司,该公司提供主机托管服务。

由于攻击者并没有按照一种固定的套路进行攻击,所以即便是来自一个IP地址,我们也不能推断这次攻击属于一个黑客组织,当然,WorldStream公司的主机只是被控制用来攻击,并不是真凶。

攻击者的手段很多,举个例子,他们成功进入MySQL服务器之后,攻击者会创建一个叫做“PLEASE_READ”的数据库,然后创建一张叫做“WARNING”的数据表,并且记录他们想要的赎金。也有一些MySQL服务器并没有创建新的数据库,而是直接在现有数据库创建数据表。这就证明了并不是同一个脚本执行的创建、写入操作,或者有可能是动态脚本。数据库信息转换为SQL插入语句如下所示:

INSERT INTO PLEASE_READ.`WARNING`(id, warning, Bitcoin_Address, Email) VALUES(‘1′,’Send 0.2 BTC to this address and contact this email with your ip or db_name of your server to recover your database! Your DB is Backed up to our servers!’, ‘1ET9NHZEXXQ34qSP46vKg8mrWgT89cfZoY’, ‘backupservice@mail2tor.com’)

INSERT INTO `WARNING`(id, warning) VALUES(1, ‘SEND 0.2 BTC TO THIS ADDRESS 1Kg9nGFdAoZWmrn1qPMZstam3CXLgcxPA9 AND GO TO THIS SITE http://sognd75g4isasu2v.onion/ TO RECOVER YOUR DATABASE! SQL DUMP WILL BE AVAILABLE AFTER PAYMENT! To access this site you have use the tor browser https://www.torproject.org/projects/torbrowser.html.en’)

黑客在导出整个数据库的内容之后清空了数据,留下他们的赎金要求,接下来就会有一些厂商不得不支付这些赎金,一般情况下他们还不敢对外声张,以免声誉受损。

MySQL并不是第一个被攻击的数据库,今年早些时候,Cassandra、MongoDB、Hadoop、ElasticSearch、CouchDB都已经受到了攻击,让我们一一回顾当时的场景。

Cassandra攻击事件

Cassandra的这一波攻击更像是学生炫耀技术或者善意的黑客组织发出的警报,黑客入侵了对外提供服务的Cassandra数据库(通常是安全措施不到位的),并且在数据表内留下了警告信息。

最先曝光的例子是通过Twitter发布的,一位名叫“DunningKrugerEffect”的用户发推文,在数据库中创建了一张“your_db_is_not_secure,”的数据表,并且留下了这么一段话:

Someone is warning unaware unprotected Cassandra database (https://t.co/2UcEiraM5l) owners by creating an empty "your_db_is_not_secure" db. pic.twitter.com/XDfvSPjeno
— Victor Gevers (@0xDUDE) January 24, 2017

MongoDB攻击事件

Victor Gevers和Niall Merrigan(这位同来自于安全研究zuzhi)组织)发文,指出本次攻击主要来自一个叫做Kraken的职业勒索团队,大约有16000个数据库被攻击,占了所有被攻击的MongoDB数据库的56%。

一共大约有12个组织参与了本次大规模攻击行动。让人震惊的是,很多受害数据库都没有对管理员账号设置密码,并且还保持这种状态面向互联网。

下面这张图是Kraken团队留给受害者的邮件截图:

ElasticSearch攻击事件

Niall Merrigan同样也追踪了针对ElasticSearch的这波攻击,他一个人就发现超过600个服务被攻击了。

一个名叫“P1l4t0s”的勒索组织对该事件负责,并在受害人服务器上留下来了这么一段话:

SEND 0.2 BTC TO THIS WALLET: 1DAsGY4Kt1a4LCTPMH5vm5PqX32eZmot4r IF YOU WANT RECOVER YOUR DATABASE! SEND TO THIS EMAIL YOUR SERVER IP AFTER SENDING THE BITCOINS p1l4t0s@sigaint.org

Itamar Syn-Hershko是一位搜索&大数据专家,他发表了一篇博文,知道用户如何加强ElasticSearch服务器的安全性,以对抗攻击者。

Hadoop & CouchDB攻击事件

一家叫做“NODATA4U”的黑客组织已经入侵Hadoop数据存储服务,然后清除数据,把所有的表名替换为“NODATA4U_SECUREYOURSHIT.”,如图所示。

Gevers也对这波攻击进行了追踪,他认为针对Hadoop的攻击有别于前几个,因为没有要求赎金,更像是故意破坏,并且攻击者会在一台服务器上停留超过1个小时,这个做法和其他几次攻击方式不一样。

针对CouchDB的攻击就简单多了,他们要钱,如图所示:

这波针对Hadoop和CouchDB的攻击导致很多Hadoop、CouchDB服务在周末停止工作,有些甚至到周一还是无法正常工作。

总结

为了避免数据库被外部攻击,最好不要对外直接暴露数据库地址,通过Restful协议方式对外提供服务,同时对数据加强安全保护。此外,比特币的出现也为黑客提供了新的洗钱手段,需要各国联系起来打击这类黑客组织,还IT界太平。

术语解释

  • MySQL:世界闻名的开源数据库,隶属于Oracle公司,提供高性能、可扩展数据库服务。
  • ElasticSearch:一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。
  • MongoDB:一种基于分布式文件存储的数据库,主要面向文档存储,采用主从架构模式。
  • Cassandra:一种NoSQL数据库,支持丰富的数据类型,采用无中心化设计,擅长数据的读取、更新操作,整体来看插入、读取、更新数据性能均较为平均。
  • CouchDB:NoSQL解决方案,是一个面向文档的数据库,在它里面所有文档域(Field)都是以键值对的形式存储的。CouchDB有一些独特的特性,例如高级复制。
  • Hadoop:由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
  • CERT:计算机安全应急响应组(Computer Emergency Response Team)是专门处理计算机网络安全问题的组织。在1988年莫里斯蠕虫横扫互联网之后,在美国联邦政府资助下,卡内基梅隆成立了第一个CERT组织。

感谢杜小芳对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT