1. 对数据增加“噪音”
这是美国统计局所采用方法。它的基本思想是通过对数据值进行修改,使对这些被修改了的数据所进行的数据挖掘难以得到有用的结果。
2. 消除数据中的附加信息
一些数据由于其产生方式等原因往往具有一些隐含的其它信息,如果某些用户知道这些数据所含额外信息的规律,就可以对其进行利用,得到许多其它信息。
例如,美国公民的社会安全号码(social security number)是按照发证机构的序号来编码的(即社会安全号码的前三位数字是发证机构的号码),且这些发证机构对所发出证件是按顺序进行编码的。了解了上述规律,就可以根据社会安全号码的前三位数字对拥有社会安全号码的人进行按地区的分组(或更进一步可以对这些人按年龄进行分组,因为证件号码是按顺序进行编码的)。其实即使不知道社会安全号码的生成规律,它所具有的一些特征在数据挖掘中也是有用的。比如,通过数据挖掘发现社会安全号码的前三位数字具有较高的出现频率,就可以据此对社会安全号码进行分类。这样,在这些分类的基础上我们可以进一步发现某些现象(具有类似社会安全号码的人的癌症发病率较高),这就完全可能引起启发用户进一步的数据挖掘(比如,这些人又具有那些共同点?)。这就可能导致侵犯个人隐私的问题。
再如,以公司电话号码簿为例,如果知道该公司的电话号码是根据电话在公司大楼里的位置而定的,另外再知道存在这样一条规则:即在同一项目组工作的人,他们的电话号码具有一定的规律。那么,我们可以通过发现公司雇员电话号码的规律来将雇员进行分组,从而知道(大约)有几个项目组存在。对于某个需要保密的敏感项目组,可以根据每个组中成员的专业背景和工作性质进一步推断出这些项目组所进行工作的大致内容是关于什么方面的。
要解决这个问题,一个办法就是尽量减少数据所隐含的附加信息。只有这样才能防止对其进行数据挖掘,使对其的使用不至于偏离它的本身目的。
3. 故意增加错误数据
在某些应用里,可以在原有的数据中有意识地引入一些错误的数据。在很明确地知道这些数据将会被如何使用的前提下,我们可以在系统数据中添加一些起误导作用的数据,它们在正常的系统许可的使用方式下是不会遇到的,而在一些不“合适”的查询里可能会碰上,它们既能误导攻击者,又能作为系统被攻击的标志。
比如,在电话簿里添加一些不存在的人名。如果这本电话簿的使用者知道公司里确实有某个人,就可以得到他的电话号码。反之,如果用户不知道公司里的情况,只是凭借这本号簿,那他就完全可能查到的是某个根本不存在的人的所谓的电话号码。如果这个公司是通过接线员来进行人工转接的话,在这个外部人员要求接线员转接到某个根本不存在的分机号(那个根本不存在的公司雇员的分机号)时就表示了一个安全事件。这种方法要求所增加的数据难以被系统外部用户所区分,否则这些人完全可以重新恢复原有的数据集。
以上内容摘自 http://www.yesky.com/336/1035836.shtml