QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

  • 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:002372
用户头像

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

关注

评论

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

ESP32-C3入门教程 网络 篇(二、 Wi-Fi 配网 — Smart_config方式 和 BlueIF方式)

矜辰所致

wifi ESP32-C3 9月月更 BlueIF Smaart_config

重磅来袭!腾讯T7手写高并发实战手册,GitHub热度一直不下

Geek_0c76c3

Java 数据库 spring 开源 架构

架构实战营模块八作业

zhihai.tu

JAVA代码审计之java反序列化

Java-fenn

Java

MySql的InnoDB的三层B+树可以存储两千万左右条数据的计算逻辑

Java-fenn

Java

认识RocketMQ4.x架构设计

Java-fenn

Java

ESP32-C3入门教程 网络 篇(一、 Wi-Fi 使用入门 — 初始化及STA、AP模式)

矜辰所致

wifi ESP32-C3 9月月更

名震GitHub!字节跳动内部顶级数据结构刷题学习笔记根本停不下来

程序知音

Java 数据结构 算法 后端开发 数据结构与算法

AWS CloudFormation简介

冯亮

DevOps AWS Cloud IaC

JS 模块化 - 02 Common JS 模块化规范

Java-fenn

Java

20 条 Chrome DevTools 使用建议,盲猜这几个你不知道~

掘金安东尼

前端 9月月更

国际聋人周 | 聋健人群无界融合,看见手语的力量

HarmonyOS SDK

手语

react中的diff算法,通俗易懂的解读

flyzz177

React

VScode中配置 C/C++ 环境

c vscode 9月月更

阿里高工内产的 SpringBoot 实战派手册仅发布一天霸榜Github

Geek_0c76c3

Java 数据库 开源 架构 开发

架构营第一期作业

许四多

华为帐号自拟形象上线 打造手机里的另一个你

HarmonyOS SDK

基于electron+vue+element构建项目模板之【自定义标题栏&右键菜单项篇】

Java-fenn

Java

抽丝剥茧看时间序列预测

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

架构师的十八般武艺:安全架构

agnostic

安全架构

阿里顶配版 Spring 全家桶高级笔记+学习路线图+硬核资料库,跪着啃完了。。。。

Java-fenn

Java 程序员 面试 Java面试题

VS Code settings.json 10 个高(装)阶(杯)配置!

掘金安东尼

9月月更

初识设计模式 - 原型模式

Java-fenn

Java

【编程实践】出行无忧,利用Python爬取天气预报

迷彩

爬虫 爬虫教程 9月月更 Scarpy

如何保证数据库和缓存双写一致性?

Java快了!

使用 WebAssembly 打造定制 JS Runtime

Java-fenn

Java

安卓项目架构设计-梳理现有项目的混乱

Java-fenn

Java

[架构实战]学习笔记

爱学习的麦子

Alibaba架构师内部最新发布SpringCloud开发手册,Github限时开源

Geek_0c76c3

Java 数据库 spring 开源 架构

探索商业细分市场,中海打造北京南中轴首座家庭购物中心 | 商业地产

E科讯

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