保密数据应该编入索引或作为索引关键字吗?

 
   | |

导读:数据库索引就像是课本的索引一样。他们提供对查找所要求数据的快速参考点。从而减少了数据库伺候器的负担并加快了数据检索的次数。

关键词:数据库 索引

 
正在加载数据... 【TechTarget中国原创】问:我看到有的文章说,数据库的保密数据不应该把编入索引或作为索引关键字。这是什么意思?我应该采用什么最佳方案来保证在我的公司里不会出现这种问题?   答:数据库索引就像是课本的索引一样。他们提供对查找所要求数据的快速参考点。从而减少了数据库伺候器的负担并加快了数据检索的次数。在一个关系型数据库中,每一个表格都应该有一个作为索引的主键值……

【TechTarget中国原创】问:我看到有的文章说,数据库的保密数据不应该把编入索引或作为索引关键字。这是什么意思?我应该采用什么最佳方案来保证在我的公司里不会出现这种问题?

  答:数据库索引就像是课本的索引一样。他们提供对查找所要求数据的快速参考点。从而减少了数据库伺候器的负担并加快了数据检索的次数。在一个关系型数据库中,每一个表格都应该有一个作为索引的主键值,这个主键的唯一作用是在数据库的各记录间创建一个定义好的链接和一个独一无二的值。为了保证数据库的技术实现与商务规则相分离,这个主键值不应该有任何实际的意义。比如:一个银行客户的表格可能用一列来存储每一个客户独一无二的银行账户号码,这个号码可能作为主键的候选之一。每一客户数据的主键值都是不同的。
 
  为了加快客户数据的检索速度,比如说,每个客户的银行帐户号码或社会安全号码可以被编入索引。这个设定允许银行职员使用这条特殊的信息来快速搜索数据库。然而,Core Security Technologies公司的研究人员发现,这些索引是一种新技术攻击的对象。为了在数据库的索引运算方法中找弱点,攻击采用一系列嵌入的操作,然后从索引字段中提取数据。这些嵌入指令并不是攻击应用程序逻辑或代码的漏洞,所有数据库使用人员都可经常使用这样的嵌入指令。
 
  最初的防范建议是不对保密数据使用索引。然而没有索引,数据检索是很复杂的。为了找到与银行帐号或社会安全号码相匹配的记录,数据库伺服器必须浏览所有表格,查找客户表格的每一行信息。而对于多表格相互间的复杂查询很大程度上取决于索引值。这些延迟会对大型商业数据库性能产生很大影响,可能会导致瘫痪。

  不过,没有报导说这种攻击广泛存在, 它只是一种似是而非的威胁。数据库管理员应该更加密切地监控日志文件来寻找异常反复的嵌入操作。应用程序防火墙也需要致力于探测异常活动模式。对于新的数据库,设计者必须对数据模型和用户代码做出一些调整。对于必须进行索引的的每一列,都必须有一个对应的列来存储保密数据的散列值。然后,用这个散列值作为索引。这样,攻击者就不可能计算出保密数据的值了,从而有效地防止数据的攻击。通过搜索已编入索引的散列值,并将数据的散列值作为搜索准则进行传递,应用程序仍然能够有效地搜索保密数据。

 
查看全文
 
 
 
 
 

数据库安全

 
在你认为已经很好地控制了SQL Server安全性时,往往问题正在悄悄出现。有人会在网络中的某个区域悄然进入你已经遗忘或根本不知道的SQL Server系统。
 
Web开发者经常使用自定义代码来实现动态网站功能,但这种代码存在风险,会使服务器带有大量漏洞,尤其是把Web应用程序作为后台数据库交互接口时这一问题将……
 
尽管DAM被大肆炒作,但它仅能对数据安全起到微弱的影响,最终工作需要交由数据库供应商来完成,DAM市场的炒作程度远远超过实际客户的需求及对该市场的预估……
 
本文对几款好用的SQL Server密码破解工具进行了详细的介绍,其中包括了SQLPing3,Cain&Abel,NGSSQLCrack,AppDetective Pro和Advanced SQL Password Recovery。
 
对于数据库补丁管理工作来说,什么样的流程才最佳呢?在本次的Techtarget专家答疑中,我们请到了Michael Cobb专家为我们解答数据库补丁更新的最佳实践方式。
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
登录Email
请输入您的登录Email
密码
下次自动登录