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

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

关注

评论

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

【分布式技术专题】「分布式技术架构」一文带你厘清分布式事务协议及分布式一致性协议的算法原理和核心流程机制(Paxos篇)

洛神灬殇

分布式 PAXOS paxos协议 算法分析

阿里120W年薪架构师力荐750页微服务架构深度解析笔记

程序知音

Java 微服务 编程语言 后端技术

实战|网站监控如何做好监测点管理与内网数据采集

云智慧AIOps社区

安全 监控 监控宝 云智慧 网站监控

有效载荷标识与内容类型--MQTT 5.0新特性

EMQ映云科技

物联网 IoT mqtt 企业号 3 月 PK 榜 有效载荷标识

基于声网 Flutter SDK 实现互动直播

声网

flutter

【3.10-3.17】写作社区优秀技术博文一览

InfoQ写作社区官方

热门活动 优质创作周报

pytest学习和使用1-pytest安装和版本查看

Python 自动化测试 pytest

GuavaCache与物模型大对象引起的内存暴涨分析——设备管理运维类

阿里云AIoT

缓存 算法 监控 物联网 数据格式

共享订阅--MQTT 5.0新特性

EMQ映云科技

物联网 IoT mqtt 企业号 3 月 PK 榜 共享订阅

全能代码编辑器:CodeRunner 最新激活版

真大的脸盆

Mac 代码编辑器 Mac 软件 代码编辑 编辑代码

大资管行业数字化转型解决方案 | 行业方案

袋鼠云数栈

大数据 数字化转型 解决方案

解决运行VMWare虚拟机报错“打不开 /dev/vmmon:断裂管道”

互联网搬砖工作者

pytest学习和使用2-初步使用和用例运行

Python 自动化测试 pytest

温湿度计设备通过阿里云IoT物联网套件上报数据到钉钉群机器人实践——数据价值类

阿里云AIoT

JavaScript Serverless 物联网 机器人 机器学习/深度学习

技术详解 阿里云AIoT物模型支撑设备规模已超亿级——设备管理运维类

阿里云AIoT

运维 安全 监控 物联网 芯片

阿里云AIoT物联网平台如何实现设备全球就近接入——设备接入类

阿里云AIoT

运维 监控 物联网 中间件 数据采集

Tapdata Connector 实用指南:云原生数仓场景之数据实时同步到 Databend

tapdata

数据库 大数据

快速尝鲜:RabbitMQ 搭建完就得用起来

Java你猿哥

Java Spring Boot ssm RabbitMQ

深入理解spring mvc启动过程与原理

三十而立

Java spring 程序员 开发 IT

基于 Apache Flink 的实时计算数据流业务引擎在京东零售的实践和落地

Apache Flink

大数据 flink 实时计算

1个案例读懂——游戏产品如何用A/B测试做增长

字节跳动数据平台

云服务 AB testing实战 A/B测试 企业号 3 月 PK 榜

国家高新技术企业是国企吗?获得高新企业证书有什么用?

行云管家

高新企业 高新技术

Macbook技巧,Type-c接口失灵怎么办

互联网搬砖工作者

火山引擎DataLeap:数据秒级生产,揭秘电商实时数仓最佳实践!

字节跳动数据平台

数据治理 电商 数据研发 企业号 3 月 PK 榜

NFTScan 与 UniPass 达成合作伙伴,双方在多链 NFT 数据方面展开合作!

NFT Research

NFT

PS 2023版本 24.2有哪些新功能?增加了哪些相机配置?

Rose

ps ps 2023 Photoshop 2023下载

浅谈DWS函数出参方式

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

物联网数据应用开发最佳实践——数据价值类

阿里云AIoT

数据挖掘 物联网 存储 数据管理 调度

手把手教你写spring boot starter

三十而立

Java 程序员 IT springboot boot

面试没有分库分表经验,就看这篇

三十而立

Java sql 程序员 IT 分库

武汉等保测评有限公司有哪几家?具体位于哪里?

行云管家

等保 等保测评 等保2.0 武汉

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