数据是高校教学与科研的重要战略资源,智慧校园经过多年的建设已经积累了大量数据,这些数据的安全性对于高校来说格外重要。但目前高校的数据安全现状却不容乐观。为此我们以近期介入处理过的高校数据库运维事件为例,还原案例事件从发生到解决的始末,为高校IT运维提供一些解决的思路参考。
通过解密我们发现该存储过程会检测数据库创建是否超过了300天,若超过300天在数据库重启后就会删除数据库核心数据字典基表tab$并对数据库执行checkpoint。
如此,导致问题的罪魁祸首就显而易见:数据库里被藏了一个恶意的触发器,每次启动数据库时它就会调用一个名为“DBMS_SUPPORT_DBMONITORP”的存储过程,而这个存储过程会检索数据库内超过300天的数据并恶意删除它们。那这个触发器和存储过程是从哪里侵入到数据库中的呢?
通过md5码对比发现并确认:该Oracle软件为绿色非官方资源,系制作及发布者将恶意代码注入到该所谓绿色版Oracle软件的安装介质中,从而实现数据库运行300天之后重启无法启动并报ORA-00600: internal error code, arguments: [16703], [1403], [20], [], [], [], [], [], [], [], [], []的错误.。
本次病毒发作原理与比特币勒索病毒极其相似,比特币勒索病毒系在绿色版PL/SQL Developer程序中篡改afterconnect.sql脚本,在使用该程序连接数据库后进行触发器与存储过程的创建,1200天后会删除该用户下的所有数据,本次发现的病毒是植入到安装包中,在安装Oracle软件并创建数据库后就一直存在,潜伏300天重启数据库后发作。
对症下药
“
排查与删除恶意植入的元凶。
本次安装包病毒涉及到的数据对象为:
触发器
DBMS_SUPPORT_DBMONITOR
存储过程
DBMS_SUPPORT_DBMONITORP
比特币勒索病毒涉及到的数据对象为:
DBMS_SUPPORT_INTERNAL
DBMS_SYSTEM_INTERNAL
DBMS_CORE_INTERNAL
DBMS_STANDARD_FUN9
若发现存在以上触发器或存储过程则说明数据库受到病毒感染。在病毒还未爆发之前手动对以上触发器与存储过程手动进行删除即可将病毒彻底根除。若病毒已经爆发进行了数据删除,建议您保护现场,联系专业的数据库运维人员进行处理,防止造成不可挽回的损失。
专家建议
做好软件验证与定期“体检”。
胡楠
数据库运维服务专家
毕业于天津大学,为全国100+家高校提供数据库运维服务,在IT行业拥有8年以上工作经历。擅长 ORACLE 数据库运维管理、数据库架构设计与调优;曾服务于电力、政府行业,具有丰富的数据库经验。
目前很多高校的数据库建设方式采取每建设一套业务系统就重新部署一套数据库环境的方式,数据库环境数量多,操作系统与数据库软件版本多样,并且都是不同的厂商进行部署,没有统一的运维与管理,很容易出现感染病毒的隐患。
建议学校对数据库进行统一管理,定期进行数据库巡检与病毒扫描,及时发现数据库运行故障与安全隐患。同时请您一定要从官方途径下载oracle安装介质与PL/SQL DEVELOPER等终端软件,如果是从互联网其他途径下载一定要验证md5, 避免造成无可挽回的损失。
高校IT运维
专业咨询服务
4007994007-2