论文部分内容阅读
Oracle是一种关系型数据库管理系统,它功能强大、性能卓越,国内外很多重要的站点,尤其是大中型的网站服务器、邮件服务器、文件服务器存储端都采用Oracle数据库,因此,Oracle数据库的安全对众多用户的数据安全有着至关重要的影响。Oracle数据库的安全隐患来源有多种,包括设计时未考虑到的协议脆弱性,开发时的疏忽导致的模块缓冲区溢出漏洞,用户使用过程中部署不恰当和管理过程中的权限控制不严格。本文从Oracle数据库的安全体系入手,简要分析了其数据文件存储、日志管理、程序运行的系统结构,探讨了Oracle数据库客户端和服务器之间连接建立和身份认证协议的脆弱性,利用实验抓取通信协议包进行分析的方法,避开了协议的不开源造成的困难。TNS协议是Oracle网络连接最初使用的协议,它的漏洞可能造成客户端无阻碍的获取服务器的管理信息。而作为安全认证的一环,SID和用户密钥常被攻击者采用字典攻击。利用程序开发漏洞,攻击者甚至可绕过身份认证设施进行PL/SQL注入,直接获取数据。对于有一定权限的数据库访问者,仍然存在超越权限操作的可能。Oracle数据库的内置系统包未及时更新的漏洞模块,二次开发时引入的新漏洞都是难以避免的脆弱点。本文研究了这些数据库漏洞和权限提升方式,探讨了在实验基础上利用这些漏洞进行渗透。当用户具有充分读、写、执行权限时,操作系统rootkit植入机制可移植至Oracle数据库,在渗透提升权限的基础上rootkit可以长期驻留在数据库中,文中提出了一种使用Oracle协议发起的操作系统写入方法,可以方便得通过客户端连接对操作系统执行命令和写入文件。最后完成了完整的攻击渗透测试系统设计和开发,使得攻击能够在自动扫描和探测目标和漏洞的基础上稳定进行,涵盖了攻击过程中的协议部分的连接建立过程、利用多种漏洞进行探测和提升权限的工作,并且,在最后可以达到传输文件、执行系统命令的功能。测试表明其能检测主流Oracle版本,渗透工具有较好的兼容性和隐蔽性。也方便了数据库管理员定期的检测和维护。