wanrongwei
作者wanrongwei2017-12-13 15:59
系统架构师, 亚信科技

运维案例:双十二亲历生产系统数据库遭遇勒索病毒!

字数 1048阅读 4374评论 8赞 14

2017/12/12凌晨,某项目组为应对双十二高峰做了一次紧急扩容,由于时间紧张,新扩容的系统都没有加入4A保护,局方特许在机房直连操作。夜里3点开始升级,4点升级结束,重新启动系统。原本一次再寻常不过的现场升级操作,此时突然出现数据库账号被锁定的问题!数据库进不去了,提示“你的数据库已经被SQL RUSH team锁死,请发送5个比特币到xxxxxxxxxxx地址,….”。现场升级的同事呆住了: 系统中了勒索病毒!气氛立刻紧张到极点,这可是生产系统!虽然此时是深夜,没有用户使用,但距离营业厅开业只有三个小时时间,必须在这三小时里定位并消除病毒影响。
病毒的入侵
病毒是挂在网上下载的所谓破解版plsql developer的工具上的,这个工具普遍存在各个项目组。里面的一个文件afterconnet.sql被黑客注入了病毒代码。这个代码会在你连接数据库后立即执行,如果你的账号拥有dba权限,它会在你的数据库中创建多个存储过程和触发器,会阻止你连接数据,当你重启动后,会触发病毒触发器,加密并删除sys.tab$,导致你无法访问数据库中所有的schema。然后设置定时任务,如果在期限内不交赎金,就truncate你所有的表。病毒发作危害极大,而且原厂和相关的安全厂商都很难恢复。
这个病毒为了增加破坏效果,加强隐蔽性,只有当数据库创建时间超过1200天才会爆发,有很长的潜伏期。
病毒的查验方法

  1. 在Oracle Server端检查是否有下面几个对象:
    Object_name Obeject_type
    DBMS_SUPPORT_INTERNAL TRIGGER
    DBMS_SUPPORT_INTERNAL PROCEDURE
    DBMS_SYSTEM_INTERNAL TRIGGER
    DBMS_CORE_INTERNAL TRIGGER
    DBMS_SYSTEM_INTERNAL PROCEDURE
    DBMS_CORE_INTERNAL PROCEDURE
    DBMS_STANDARD_FUN9 PROCEDURE
    参考SQL:
    select * from dba_object where object_name like ‘%INTERNAL%’;
  2. 检查PLSQL DEV安装目录,查找afterconnect.sql,login.sql这个文件的大小应该是0字节,如果有内容,基本上就是病毒。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

14

添加新评论8 条评论

aken987aken987软件开发工程师, 深圳市安华计算机有限公司
2018-03-28 10:17
怎么处理的呢。。。
jadjad研发工程师, agile
2017-12-22 15:20
勒索病毒会不会随着备份进入到备份系统,从而破坏备份数据?
青衣老刀青衣老刀系统分析师, 亿阳信通
2017-12-14 18:38
我们前段时间也遇到了,解决方案可以参考这个帖子,博主讲得比较详细 http://www.xifenfei.com/2016/11/plsql-dev-hacker-bitcoin.html
flykernelflykernel技术经理, 上海盈核云计算技术有限公司
2017-12-14 11:04
使用Linux异构版不用担心病毒。
jhj325jhj325系统运维工程师, 威海
2017-12-14 09:54
login.sql文件是有内容的,感染病毒文件内容是否变成乱码?或者其他内容呢?
wuwenpinwuwenpin软件开发工程师, 南京
2017-12-13 20:09
经验之谈,不错。
wanrongweiwanrongwei系统架构师, 亚信科技
2017-12-13 17:01
这个病毒并不完备,在侵入过程中,出现了数据库操作异常而没有执行彻底,关键数据未发生致命性损伤。经过数据库专家紧急的手工恢复,最终将病毒清除
liucj2004liucj2004其它, undefined
2017-12-13 16:12
所以,当天是怎么处理的呢。。。

yly2001@liucj2004 后续怎么处理?如果发现怎么处理?

2017-12-13 16:19
Ctrl+Enter 发表

作者其他文章

  • 伤心的一天
    评论 0 · 赞 0
  • 相关文章

    相关问题

    相关资料

    X社区推广