图3
用户创建也是通过SQL注入完成的,到目前为止,整个入侵过程已经查清。
事件分析
此次安全事件中,黑客利用网页和SQL注入的盲注漏洞创建用户,利用特权提升漏洞赋予用户DBA权限。
经验教训
应该应用完美的代码检查来避免SQL注入漏洞。
有许多方法可以避免SQL注入漏洞,例如,最常见的一种是使用绑定变量。但是因为这个应用是外包开发的,供应商之前开发了一个基础版,是基础版的升级版。所以基础版的问题也被带入生产环境,导致了这个漏洞的存在。
2.没有完美的代码安全检查。
目前,有许多工具可以检查应用程序的安全性,类似的SQL注入漏洞一般都可以检测出来。但是由于急于上线,经验不足,应用上线就有漏洞。
3.数据库版本尚未升级
这是一个典型问题。数据库版本太低,导致权限提升漏洞。如果数据库打了补丁,至少用户不会被提升。
4.日常检查不够全面
只检查具有DBA权限的用户,导致攻击行为在被攻击后很长时间才被时间发现。
5.保留日志
对于WEB应用程序,有必要保留日志。如果不改变日志,基本上可以从日志中重现整个安全事件的全过程。
6.即使能找到源头IP,这个IP也往往是肉机的IP。比如这个事件中,两个动作应该是同一个人完成的,但是创建用户的来源IP是广东佛山电信,正确的IP是北京东四的IDC机房。
金星公司数据库审计专家点评
数据库的风险主要来自两个方面,一是外部攻击,二是内部人员(授权人员)的非法操作(有意或无意),本案例是外部人员攻击的典型过程。具体步骤如下:通过应用系统漏洞进行攻击,建立账号,然后利用本地漏洞进行权利主张,再利用高权限用户进行一系列非法操作。
从上面的案例可以看出,为了保证数据库的安全性,除了数据库系统本身的安全性之外,还需要考虑应用系统的安全性。不仅要加强数据库系统的安全性,严格控制权限,还要检查应用系统的代码漏洞,防止入侵。建议在安全建设中,除了数据库的权限控制、数据加密和安全审计外,还应考虑应用服务器的代码检查和入侵防御措施,可以适当部署一些常用的安全产品,包括数据库加密、数据库审计、WEB应用防火墙和入侵检测等。
本文链接:http://www.slxf119.com/16620.html 转载需授权!
网友评论