提交需求
*
*

*
*
*
立即提交
点击”立即提交”,表明我理解并同意 《美创科技隐私条款》

logo

    产品与服务
    解决方案
    技术支持
    合作发展
    关于美创

    申请试用
      勒索软件系列之五:MYSQL遭勒索背后的安全意识问题
      发布时间:2017-05-10 阅读次数: 732 次

      继Oracle、MongoDB等常用数据库之后,MySQL又成为比特币勒索猎杀目标。成百上千个MySQL数据库被劫持,删除存储数据,要求支付比特币的赎金。

      此番针对MySQL的比特币勒索,是直接针对MySQL的。但并非MySQL本身存在安全问题,而是安全意识薄弱惹的祸。简单点说,再安全的防盗门,如果没有关上,任由它开着,有小偷进入偷窃,这可就怨不得防盗门不安全。

      安全意识薄弱的问题?梳理MySQL的比特币勒索事件,就一目了然了。

      早在今年二月,最早的一批黑客,通过属于荷兰的网站托管公司Worldstream,发起攻击。攻击者使用最普通的黑客技术,在公网上扫描MySQL的默认端口3306。一旦发现在用的3306端口,就使用暴力破解的方式,取得MySQL管理用户root的密码。

      得到root密码后,黑客会挪移掉数据,或将数据加密,甚至有些无良黑客,直接删除数据。并创建PLEASE_READ用户和WARNING表,并在其中插入这样的信息:

      勒索软件系列文章之五:MYSQL遭勒索背后的安全意识问题

      可以在日志中看到完整的插入语句:

      勒索软件系列文章之五:MYSQL遭勒索背后的安全意识问题

      0.2比特币,两毛钱比特币,很多人可能没有概念。截止发稿日,一比特币可以兑换8100多RMB。也就是说,0.2比特币,至少折合1600RMB之上!

      这是黑客收款的网站:

      勒索软件系列文章之五:MYSQL遭勒索背后的安全意识问题

      另有国外安全研究人员Victor Gevers呼吁:“不要支付,千万不要支付,因为那些数据很可能黑客压根就没有给你备份。”

      也就是说,有可能就算你支付了1600多块钱(0.2比特币),最后也得不到你的数据。

      再从功击手段来看,黑客的手段就是简单的端口扫描,然后暴力破解,在技术控眼中,可以说是毫无“美”感。既没利用什么系统漏洞,更没有高级点的“缓冲区溢出”,纯粹就是利用密码简单、不重视安全等问题,进行赤裸裸的打劫

      就像电影《天下无贼》中黎叔的台词:“一点技术含量都没有”。

      勒索软件系列文章之五:MYSQL遭勒索背后的安全意识问题

      在“简单”的技术背后,有个值得深思的问题。不得不说,比黑客更危险的是,安全意识的薄弱。

      那么,在这次的MySQL比特币勒索事件,暴露了哪些MySQL的安全意识问题呢?总结一下:

      1、使用弱密码。

      只包含纯数字、或纯字母的密码,就是弱密码。而对于更弱的生日、电话号码,或是“123456”型密码,暴力破解难度之低,简直就是“敞开大门迎黑客”。

      正确的“强”密码,应该包括大、小写字母、数字、符号,而且密码长度要长,要长,要长。(重要的事情说三遍)

      暴力破解的时候,密码每增加一种符号,增加了N多的计算量。每长一个字节,又增加了N多的计算量。复杂的密码将大大延长破解的时长,有可能还没有暴力破解成功,你已经发觉,从而最终避免被勒索。

      但如果密码太强、太长,数据库又太多,谁能记的住那么多超长、又复杂的密码呢?这个时候就需要“密码管理软件”,安利一波,比如:KeePass:

      勒索软件系列文章之五:MYSQL遭勒索背后的安全意识问题

      它将你各种各样的密码保存到你个人电脑的数据库中,并使用专门的方法加密。当然,进入KeePass也需要密码,不过,你只需要记着进入keePass的一个密码即可。

      勒索软件系列文章之五:MYSQL遭勒索背后的安全意识问题

      KeePass还可以自己生成密码,绝对是复杂度很高、很难暴力破解的密码。生成后自动保存在KeePass中,方便我们以后使用。建议密码都使用KeePass生成,增加暴力破解难度。

      但问题也来了,所有密码都保存到KeePass中固然省事,但万一KeePass被“黑”了呢?这点你大可放心,KeePass就像本地个人电脑中的一个记事本,只要你不将远端数据库的连接信息放到KeePass中,就算有人获取了KeePass中所有密码,并不知道这些密码的用处也无济于事。

      2、默认端口

      另一个安全意识薄弱的问题,是使用默认端口:3306。

      端口扫描软件可以瞬间发现N多打开了某一端口的主机。如果你的MySQL还是默认的3306端口,黑客软件就会自动上门,暴力破解。

      使用3306端口,加弱密码,等于你已经将数据库开放给了黑客。

      3、MySQL的root用户

      注意是MySQL的root用户(不是操作系统的root)。这个用户是默认情况下MySQL最高权限的管理用户,它是黑客攻击的首要目标,暴力破解root的密码,取得MySQL的控制权,然后转移或加密MySQL表数据,留下勒索信息。

      为了提高安全性,通常建议修改root为任意自定义用户名,使黑客失去攻击目标。这个操作是很简单的,只需update mysql.user表的user列即可。

      4、架构问题

      如果上述三点问题,你的MySQL都有,但只要数据库不暴露在公网中,安全问题也没那么严重。但如果数据库直接暴露在公网中,就需要特别注意前三点注意事项了。

      什么是“数据库暴露在公网中呢”?比如,下图这样的架构,数据库就是在大后方的:

      勒索软件系列文章之五:MYSQL遭勒索背后的安全意识问题

      公网中的IP,不能直接访问到数据库,只有公司内部的应用服务器,可以“接触”(就是连接)到数据库。而公网客户端可以接触到的,只是应用层的应用服务器。从公网中不能直接连接数据库,IP不通。黑客想要直接攻击数据库,“门”都没有。只能通过SQL注入方式。

      如果是如下图的架构:

      勒索软件系列文章之五:MYSQL遭勒索背后的安全意识问题

      黑客可以在公网上直接连接MySQL,这为他们发起暴力破解提供可能。

      当然,也不是说数据库不能直接暴露在公网中,只要在操作系统级设置得当的安全防护,数据库也可以直接在公网中。只是不建议这么做,特别是在没有特别强的OS级安全人员情况下,更加不建议。

      总结来说,这次遭遇比特币勒索的MySQL,是直接暴露在公网中且防护较弱,使用默认的3306端口,root用户没有改名,而且密码又弱。这些都为黑客提供了可乘之机。

      黑客也没有使用什么高精尖的技术,就是全面撒网,在公网上寻找安全意识溥弱的数据库。上述安全建议,除了root用户的改名外,都是所有数据库通用的。当然,即便最大程度上避免了上述的安全问题,仍然可能遭遇安全问题,比如SQL注入(这就需要在权限控制等更多方面进向控制),但是,提高安全意识、做好安全防护,可以隔绝掉大部分的攻击。


      至此,勒索软件系列文章正式完结啦~

      从勒索软件的定义、分类、传播、危害、趋势开篇

      简述比特币的前世今生

      再以数据库为切入点,以Oracle、mangodb、mysql为例

      揭秘勒索软件攻击数据库的背后原因

      五篇文章,但愿有益于你~ 

      免费试用
      服务热线

      马上咨询

      400-811-3777

      回到顶部