Oracle 的众多漏洞有被更大范围恶意利用的倾向。10 月 31 日,有一个匿名者在 Full-disclosure(FD) 邮件列表里投递了一篇名为 Trick or treat Larry(很明显是对 Larry Ellison 的一个小玩笑) 的邮件。完全用 PL/SQL 写的蠕虫就这样出现了。专门研究 Oracle 技术安全的专家 Alex 对这个蠕虫结构进行了分析.这个完全用PL/SQL写的代码已经具有蠕虫的基本特征:
- 1. 利用 utl_inaddr 包得到当前IP地址
- 2. 查找相同地址段的所有网络地址
- 3. 通过 utl_tcp 包向 1521 端口发送消息得到 Listener 状态
- 4. 得到数据库 SID
- 5. 利用默认密码构建 Database link
- 6. 如果成功,则在远程数据库服务期创建一个数据对象 (或者其他有危害的操作)
- 7. 继续第二步循环。尝试感染其它机器
虽然目前这个这个蠕虫还只是概念上的,但是不排除会有人会利用提到的具体漏洞对Oracle数据库进行大规模破坏。这个蠕虫也引起了 Oracle 的重视.从分析可以得知的基本解决办法(切断各个传播途径):
- 回收 utl_tcp 和 utl_inaddr 包授给 Public 的权限
- Lock 或者修改当前产品库中默认密码的 DB 帐户
- Listener 加上密码。(但要注意 10gR2 中的加上密码反而带来可能会安全问题,因为这样允许任何知道密码的人管理 Listener)
- 回收 Create database link 的权限
考虑修改 Listener 的端口
有关这个蠕虫的进一步变化本站正在继续关注中。
数据库安全的蛋糕又快形成了。。。。
如果得到sys的口令或权限,就惨了。其实Oracle脆弱的地方多着呢,比如:改bootstrap$表。。。。
修改bootstrap$是有前提的:得到修改文件的权限.如果文件权限已经被掌握了,那么安全问题出在其他地方.
数据库本身也是要依赖于文件.
你说的这一点和Oracle的脆弱无关