2020年全球联网数据库风险分析报告

 

报告摘要

随着网络空间存储数据规模的急剧扩大,联网数据库发生数据泄露的条数和风险逐年增加。公开报道的在线数据泄露事件和数据库勒索事件屡创新高,在这背后的数据库安全问题频频被提及。那么,全球互联网上到底存在多少联网数据库?这些数据库类型和地域分布如何?又有多少比例的数据库存在大规模数据泄露风险?

基于360自主研发的网络空间测绘系统(quake.360.cn),360Quake团队联合360天枢智库、360CERT对联网数据库进行了无害化测绘和分析,时间从2017年至今,全面详细地展现了全球联网数据库分布特征和风险。

研究报告的主要发现如下:

介绍了本报告所选取的数据库MySQL、SqlServer、Oracle、PostgreSql、DB2、ElasticSearch、MongoDB、Memcache、Redis和CouchDB 十大数据库类型。我们根据数据库使用场景和分类分为了关系型数据库和非关系型数据库。

探测发现,目前全球数据库联网数据库总量为1500万个,关系型数据库有1400万个,占总量的93%,非关系型数据库有109万个,占总量的7%。关系型数据库使用量要远大于非关系型数据的使用量。与DB-Engines的市场研究数据Oracle数据库排名第一不同的是,通过我们探测全网中Oracle仅为157,157个位于第六位。

对所选的数据库全球地理分布和利用希尔伯特曲线进行IPV4空间分布进行了分析。数据库全球地理分布主要集中在中美两国,在一些组织管理下的IP段,例如:RIPE NCC、ARIN和LACNIC等数据库IP呈均匀分布,在另外一些,如US-DOD则不存在数据库IP。

在各大数据库中MySQL的使用量最多有1千多万。在各数据库的全球分布中美国和中国都位于前两位,MySQL、PostgreSql、Redis、DB2和CouchDB使用量最多的为美国,SqlServr、Oracle、MongoDB、ElasticSearch和Memcache使用量最多的为中国。波兰在数据库总量位于第三,在PostgreSQL数据库使用量中位于第二位。同时把数据库探测得到的版本与各个版本发行日期和结束维护日期进行比较,发现全网仍有大量官方不在支持维护的数据库运行,如Mysql 5.1系列于2013年12月官方停止支持后,仍有60万个5.1.73和16万个5.1.26版本在使用。

对数据库存在泄露的情况进行分析,并提出数据库加固建议。通过分析发现,数据泄露仍是数据库安全的一大隐患,网中仍有超8万个数据库存在未授权访问漏洞。ElasticSearch泄露数据量达到3,402TB、MongoDB泄露量为611TB、Redis泄露数据量为10TB和Memcache为5.3TB。互联网约30%的Memcache数据库存未授权访问问题,ElasticSearch存在未授权访问的数量占该数据库总量的20%左右。

将存在泄露的数据库IP进行归属地划分,我们发现在各个数据库泄露全球排名中,中国在数据库泄露数量排名全球第一具有近4万个数据库存在未授权访问漏洞,其中在ElasticSearch、MongoDB和Redis数据库类型中存在该漏洞的数量居全球第一,分别为ElasticSearch数据库11,952个、MongoDB数据库11,974个和Redis7,127个。南非在存在未授权访问的Memcache数据库排名第一,为4890个。

我们针对数据库勒索中出现的BTC地址做了统计,发现“1FYqD4YtPpcnHyyMiFFigG53s51dob6xx1”在勒索事件中出现次数最多高达3,472次,该数据反映出针对数据库的大规模、批量式勒索攻击依旧存在。

 

全球分布统计

我们发现全球联网数据库总量有15,090,146个,其中关系型数据库有13,999,460个,非关系型数据库有1,090,686个,如图3-1所示。可以看到关系型数据库占总量的92.7% ,非关系型数据库占总量的7.3%,关系型数据库的数量远大于非关系型数据库。

结合全球分布来看数据库数量集中分布在北美洲、亚洲和欧洲。其中美国存在约518万个排名第一;中国289万个位于第二位;后续为波兰956,271个、德国633,728个、法国452,794个和荷兰371,692,均为欧洲国家。在TOP10中令人意外的波兰排名第三,超过传统的德国和法国。

其中在­各个国家中数量TOP10的如图3-3所示。结合全球分布来看数据库数量集中分布在北美洲、亚洲和欧洲。其中美国存在约518万个排名第一;中国289万个位于第二位;后续为波兰956,271个、德国633,728个、法国452,794个和荷兰371,692,均为欧洲国家。在TOP10中令人意外的波兰排名第三,超过传统的德国和法国。

通过Quake平台,各类型数据库在公网暴露数量分布如图3-4所示。我们获得了10,669,797个运行MySQL服务的实例。PostgreSql存在1,515,560个,SqlServer有1,282,744个。探测数据和DB-Engines排名不同的是,MySQL在互联网中暴露的数量远多于其它数据库,在DB- Engines排名第一的Oracle数据库在互联网上暴露数量为157,157个,位于第六位。

 

数据风险统计

我们把测绘数据中存在未授权访问漏洞的数据库与数据库总量做对比,Redis中存在问题的实例占总数的比例为2.15%,有14,704个。ElasticSearch、MongoDB和Memcache中存在该问题的实例占总量比例分别为20.26%、12.28%和31.80%。

数据库类型 具有未授权访问漏洞占比
Memcache 31.80%
ElasticSearch 20.26%
MongoDB 12.28%
Redis 2.15%

在明确泄露实体数量后,我们根据如下字段进行分析,分别为:Redis中的used_memory、Memcache中的bytes、MongoDB中的datasize和ElasticSearch的size字段。我们利用这些字段数据,做了进一步的探测,将各个实体泄露数量相加得出各个数据库可能泄露的总量,如图3-21所示。ElasticSearch泄露数据量达到3,402TB、MongoDB泄露量为611TB、Redis泄露数据量为10TB和Memcache为5.3TB。可以看到ElasticSearch和MongoDB泄露的数据量远大于Redis和Memcache,这和ElasticSearch常用于大数据搜索有关。

将泄露数据的数据库IP进行将泄露数据的数据库IP进行归属统计,可以得到数据库泄露的全球分布,如图3-22所示。根据表3-11数据库泄露国家TOP10所示,中国有35,095个IP可能存在数据泄露,位于第一,美国有17,830个位于第二。ElasticSearch、Memcache、MongoDB和Redis泄露数量最多的国家如表3-12所示。可以看出除Memcache外,中国在其它三个数据库中可能泄露数量是最多的。

国家 数量
中国 35,095
美国 17,830
南非 5,030
法国 4,687
德国 3,000
新加坡 1,830
俄罗斯联邦 1,574
印度 1,526
韩国 1,492
日本 1,420

如需获取更详细的分析内容与数据,请直接下载附件完整报告《2020 年全球联网数据库风险分析报告》

 

参考

  1. 网络空间地理学的理论基础与技术路径[J]. 高春东,郭启全,江东,王振波,方创琳,郝蒙蒙.  地理学报. 2019(09)
  2. https://www.ibm.com/downloads/cas/BK0BB0V1
  3. https://www.comparitech.com/blog/vpn-privacy/200-million-us-database-leaked/
  4. https://www.census.gov/popclock/
  5. https://www.vpnmentor.com/blog/report-doxzoo-leak/
  6. https://www.vpnmentor.com/blog/report-free-vpns-leak/
  7. https://db-engines.com/en/ranking
  8. https://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xhtml
  9. https://docs.mongodb.com/manual/release-notes/
  10. http://powerofcommunity.net/poc2017/shengbao.pdf
  11. https://blog.netlab.360.com/memcache-ddos-a-little-bit-more-en/
  12. https://zh.wikipedia.org/wiki/%E6%9C%80%E5%B0%8F%E6%9D%83%E9%99%90%E5%8E%9F%E5%88%99
(完)