1、概述
对于大多数存储、检索和处理大量数据的系统来说,数据库是其关键的组成部分。实际上,在所有的商业、金融业、银行、客户关系、系统监控等应用系统中我们都能看到数据库的踪影。
由于数据库中存储了大量有价值的信息,如个人或财务资料,因此它们常常成为攻击者的目标,同时也特别引起了小偷的注意。数据库系统往往十分复杂,它是由核心数据库和其他应用程序组合成的;其中一些是由数据库厂商提供的,另外一部分是由其它厂商编写的(如Web应用程序)。这些组件中任何一个小缺陷都可能危及数据库中的数据,最常见的攻击可分为:
a、数据库的用户名和口令采用了默认配置;
b、已知TCP/UDP端口监听程序的缓冲区溢出;
c、通过数据库自带工具或用户创建的Web前端程序进行的SQL注入;
d、特权帐号采用了弱密码。
市面上有多种数据库系统可供选择。最常见的包括Microsoft SQL Server(商业产品,运行于Windows)、Oracle(商业产品,运行于多种平台)、IBM DB2和IBM Informix(商业产品,运行于多种平台)、Sybase(商业产品,运行于多种平台)、MySQL和PostgreSQL(开源项目,可运行于多种平台)。
所有现代关系型数据库系统都是通过端口进行寻址,这意味着任何人都可以通过查询工具随时直接连接到数据库上,并且绕过操作系统内置的安全机制。通常,使用的默认连接是:Microsoft SQL通过TCP1433端口和UDP1434端口,Oracle通过TCP1521端口,IBM DB2通过523和500000以上的端口,IBM Informix通过TCP9088和9099端口,MySQL通过3306端口,PostgreSQL通过TCP5432端口。
在互联网上可以找到多数据库漏洞被利用的实例。由于数据库对外提供了网络连接,所以数据库很可能遭受蠕虫的攻击。其中发生在2003年的SQL Slammer蠕虫攻击最为著名。2005年出现了首个Oracle蠕虫攻击—航行者(Voyager)。虽然这种蠕虫不会影响到数据库的运行,但是确实证明了在不加保护的Oracle数据库中这种情况是可能发生的。
SQL Slammer:http://www.caida.org/analysis/security/sapphire/
Voyager:http://www.red-database-security.com/advisory/oracle_worm_voyager.html
对于数据库安全而言,除了上文中提到的具体漏洞外,管理员还应考虑:
a、与标准的一致性,例如支付卡行业数据安全标准(Payment Card Industry Data Security Standard),该标准可能要求对诸如信用卡帐号信息进行加密;
b、转移大量数据到移动设备上的风险:去年,由于膝上电脑失窃而丢失个人数据的报道就有无数次。
2、操作系统的影响
3、CVE列表
4、如何确定你是否处于风险当中
5、如何防止数据库系统漏洞
6、参考资料
没有评论:
发表评论