阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

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

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

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

关注

评论

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

Hanoi 塔问题(Java实现)

若尘

数据结构 java编程 6月日更

揭秘Spring家族之——AOP和IOC

Java架构师迁哥

【译】JavaScript 代码整洁之道-重构篇

KooFE

JavaScript 大前端 代码重构 6月日更 整洁代码

Mybatis缓存机制详解

北游学Java

Java mybatis

双非本科逆袭记,阿里技术四面+交叉面+HR面,成功拿到offer

Java架构师迁哥

如何在 Electron 上实现 IM SDK 聊天消息全文检索

网易云信

全文检索 Electron IM

干货:ANR日志分析全面解析

vivo互联网技术

android 堆栈 日志分析 anr

带你遨游银河系的十种分布式数据库

悟空聊架构

数据库 分布式 分布式数据库 6月日更

京东T8Java架构师呕心沥血总结整理的《15w字的Java面试手册》免费开放分享给大家复习。

Java架构之路

Java 程序员 架构 面试 编程语言

一文读懂开源项目 OpenHarmony2.0

科技热闻

本科毕业六年,备战一个月,四面阿里巴巴定级P7

Java架构师迁哥

2021版最新!字节跳动3面+腾讯6面一次过,谈谈我的大厂面经

Java架构之路

Java 程序员 架构 面试 编程语言

博客

vincentjia

入职美团定级P7,总结2021年最新180道高级岗面试题及答案

Java架构师迁哥

代码写的烂才是原罪?字节三面+微信四面+PayPal四面,大厂面经分享

Java 程序员 架构 面试

5.7w字?GitHub标星120K的Java面试知识点总结,真就物超所值了

Java 编程 程序员 面试 计算机

Linux Shell 自动交互人机交互的 3 种方法

学神来啦

Linux 运维 Shell 虚拟机 linux运维

普通二本,吃透这份阿里高级专家的《Java面试手册21版》成功拿下腾讯offer

Java架构师迁哥

解读革命性容器集群CCE Turbo:计算、网络、调度全方位加速

华为云开发者联盟

容器 华为云 CCE Turbo 集群服务器

iOS开发-Objective-C 中的 MVVM 模式介绍

iOSer

ios objective-c MVVM ios开发

网络攻防学习笔记 Day39

穿过生命散发芬芳

网络攻防 6月日更

学历不够,技术来凑,8年开发经验,逆袭拿到阿里P7岗

Java架构师迁哥

阿里都会问些什么?4面阿里余额宝Java高级技术岗

Java架构师迁哥

每日优鲜:AI 技术驱动下的社区新零售

蚂蚁集团移动开发平台 mPaaS

人工智能 算法 图像识别 codehub

老同学突然升到了阿里P7,只因偷偷掌握了JVM的奥秘?

Java架构师迁哥

从零开始学习3D可视化之坐标系

ThingJS数字孪生引擎

物联网 可视化 数字时代 3D模型 3D可视化

@成都的Coder

蚂蚁集团移动开发平台 mPaaS

flutter 移动开发 mPaaS

java中的NIO和IO到底是什么区别?20个问题告诉你答案

华为云开发者联盟

Java io nio buffer channel

花了三个小时把一份GitHub上标星115k的《Java超全进阶教程》整理成了PDF文档。

Java架构之路

Java 程序员 架构 面试 编程语言

看Kunpeng BoostKit 使能套件如何实现大数据场景倍级性能提升

华为云开发者联盟

大数据 开源 鲲鹏 鲲鹏计算 Kunpeng BoostKit

即时通讯系列-WorkPlus简介

WorkPlus

开源 即时通讯 IM 办公自动化

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