写点什么

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

  • 2017-04-06
  • 本文字数:2812 字

    阅读完需:约 9 分钟

攻击事件序列

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、 Riak Redis

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 )关注我们。

2017-04-06 19:002232
用户头像

发布了 50 篇内容, 共 28.7 次阅读, 收获喜欢 40 次。

关注

评论

发布
暂无评论
发现更多内容

敏捷发版:让灰度发布像commit一样简单

Speedoooo

小程序 灰度发布 小程序容器 A/B 测试

Java基础知识(一些需要注意的点)

自然

9月日更 Java core 9月月更

如何设计一个面向未来的云原生数据库?

Zilliz

深度学习 数据库 云原生 信息检索 向量数据库

SQL 嵌套 N 层太长太难写怎么办?

陈橘又青

9月月更

一个不用写代码的案例,来看看Flowable到底给我们提供了哪些功能?

江南一点雨

Java springboot flowable

2022年云堡垒机采购就选行云管家五大理由

行云管家

云计算 网络安全 数据安全 云堡垒机

JavaScript 闭包难点剖析

Java-fenn

Java

中小企业如何有效应对计算资源的弹性变化需求?

Serverless Devs

多云管理的挑战以及如何克服这些挑战

Java-fenn

Java

C++ 学习 ------cmath 头文件的源码学习 02

Java-fenn

Java

面试重点:建立Java并发知识体系(含工具全图鉴)

Java-fenn

Java

三个Spring的问题把我问懵逼了

知识浅谈

spring 9月月更

前端食堂技术周刊第 52 期:Babel 7.19.0、Fresh 1.1、React Native 0.70、新的 Web 性能指标 INP

童欧巴

供应链金融能否成为汽车行业发展的驱动力?

旺链科技

区块链 产业区块链 汽车 供应链金融 企业号九月金秋榜

CSS 有了:has伪类可以做些什么?

Java-fenn

Java

实战指南 | Serverless 架构下的应用开发

Serverless Devs

leetcode 1110. Delete Nodes And Return Forest 删点成林(中等)

okokabcd

LeetCode 算法与数据结构

现代应用参考架构之 OpenTelemetry 集成进展报告

NGINX开源社区

nginx 软件架构 Serverless Kubernetes

Java基础之Java枚举

自然

9月日更 Java core

不是吧,还有人不知道三目运算符的BUG

自然

Java core 9月月更

用typescript类型来实现快排

Java-fenn

Java

边缘计算和云计算之间的区别

Java-fenn

Java

【1-2 Golang】Go语言快速入门—数组与切片

Java-fenn

Java

App Deploy as Code! SAE & Terraform 实现 IaC 式部署应用

Serverless Devs

以软件定义物联网芯片,以技术融合推动LPWAN2.0泛在物联

ZETA开发者

芯片 物联网, LoRa LPWA DSP

开源是什么意思?开源软件优缺点有哪些?

行云管家

开源 软件 开源软件 开源协议

Java 流处理之收集器

Java-fenn

Java

MobPush开发过程常见问题

MobTech袤博科技

ios android 开发者

利用AndroidNativeEmu完成多层jni调用的模拟

Java-fenn

Java

聊聊如何利用p6spy进行sql监控

Java-fenn

Java

性能之巅-优化你的程序

Java-fenn

Java

谁会是下一个受害者?历数数据库黑客新闻_数据库_麦克周_InfoQ精选文章