网络安全 频道

四千万信用卡信息丢失谁之过?

IT168资讯TJX公司发生了有史以来最大的一起消费者记录被盗案表明了加密技术并不是功能较多的灵丹妙药。

 

以下即是该公司加密问题的核心所在,引用自TJX公司提呈给证券交易委员会的文档:

 

尽管在2006年我们就已在系统中加入了诸多隐蔽及加密措施,但同年计算机入侵技术却已能帮助入侵者在支付卡发行商批准过程期间从我们的系统中窃取支付卡数据,因为在这个时间段,数据都是未加密直接传输给支付卡发行商的。此外,我们相信入侵者已经使用了TJX所用加密软件的解密工具

 

显然,在数据未被加密时加密技术是毫无用武之地的,而支付卡在其号码被加密时是不能进行事务处理的。因此一个聪明的窃贼会找到方法在这个时间窗口过程中窃取数据,只有这个时间段数据是处于“不受阻碍”的状态中,即未被加密状态。如果在这个过程中仍不能获取数据,TJX的入侵者还有一个后备计划:即,解密密钥。

 
          加密技术无用武之地? 

为什么不管立法者如何规定或要求规定加密技术的使用(例如:20066月白宫规定,要求联邦机构中所有笔记本电脑及移动设备中硬盘必须进行加密),加密技术仍保护不了TJX并也将保护不了诸多公司?原因是多方面的。

 

McAfee首席安全官马丁.卡迈克尔博士(Dr. Martin Carmichael)在一次受访时说道:就他所看到TJX电脑系统被入侵的情况,他认为可以肯定TJX公司用到了加密技术,不过说不出用的是哪种加密方式:共享密钥加密,这种方式中加密数据的发送方及接收方者共用同一个密钥;或不对称加密,这种方式使用的是一组公共/私人密钥(public/private key)。

 

共享密钥加密方式存在潜在的风险性,因为人们经常会考虑到使用的方便而愚蠢的将他们的密钥存储在不安全的地方。“我们发现有些选择使用共享密钥加密方式的公司都是将密钥和数据存储在同一个地方,”卡迈克尔表示。“这并不是好的策略。有时操作的易用性可能与好的安全处理正好背道而驰。”事实上,卡迈克尔就曾见过有人把密钥保存在文件中,并把文件命名为“数据的密钥”。这样太显而易见了,窃贼如果看到了这个文件,就等于获取了你的一切。

 

另一个加密风险是弱加密技术的使用。原始的DES(数据加密标准)加密技术现在被认为对许多应用程序都是不够安全了,主要由于它的56位密钥实在太过短小了,不到24小时就会被破解。同时,还有一些分析结果也从理论上指出这类密码术存在许多缺点,虽然这些还未在实践中得到证实。不过,自20025月一次公开竟争后DES已被AES(高级加密标准)所取代,但DES直在2004年仍还在广泛使用。卡迈克尔表示:“在许多应用程序中它的应用还是十分普遍的。”

 

TJX使用的是DES吗?TJX已确认第一次公司数据被未授权入侵者窃取是发生20057月,而DES2004年仍有广泛使用,因此该公司使用的是DES的可能性很大。

 

不对称密码术是将一个密钥的一部分发给数据发送方,另一部分发给数据接收方。数据接收方(例如,一家银行正收取你银行账户号码或用户名及PIN)能向全世界公开这个密钥中所谓的公共部分(公共密钥)。不过,其实真正对数据起加密作用的往往只是这个密钥的私人部分(私人密钥)。你作为一个银行客户可联系你所在的银行要求使用这个私人密钥的一部分,而银行则配合拥有这私人密钥的另一部分,这样一来就形成了一种使用两种不同密钥的加密会话。

 

卡迈克尔表示:“这类公共/私人密钥加密技术之所以被使用,是由于密钥的分发往往是一个很大问题”。共享的密钥必须保存在某个地方,但它们无论是保存在什么地方,都有可能是不安全的。卡迈克尔表示,使用公共/私人密钥加密术的那些人所拥有的私人密钥则是保存在一个“非常特别地方”——既牢靠又安全的一个认证服务器上。

 

TJX若是按共享密钥加密术方式进行加密的,那么是TJX入侵者无意中发现了与加密数据存储在同一个地方的一个密钥了吗?若是按不对称加密方式进行加密的,那么是入侵者有对认证服务器的访问权了吗?倘若入侵者找到的方法在数据加密前就窃取到数据,那么这问题就毫无意义了。不过如果随着TJX调查的继续,我们能发现入侵者非法获取加密密钥的具体细节,那么也将有一定教育意义。而且也由此让我们懂得使用加密术最好选择不对称密钥加密术(亦称为公共/私人密钥加密术)。那么,就可以将这种加密方法安全地作为功能较多的灵丹妙药了吗?虽然它的安全性绝对远胜过共享密钥加密方式,但要是作为一颗功能较多的灵丹妙药来讲,那可就相去甚远了。

 
         
 

         性能损失导致加密安全性下降

Application Security公司战略副总裁特德.朱利安(Ted Julian)表示,一般客户尝试进行加密所面临实际问题就在于这类技术总是会造成一定性能的损失。实际上,这正是阻碍这类技术使用的一个普遍因素。

 

性能冲突的一个原因在于,许多应用程序都使用敏感数据作为索引字段。对此,朱利安举了一个例子:以前有一个普遍习惯,就是大学往往使用大学生的社会安全码作为其在大学的ID号码。若要查询某个学生的任何信息都必须针对该索引字段来进行查询,不管是查询的是年级还是学费缴纳记录。不过,倘若该索引包含一个敏感数据(比如,一个社会安全码),这个索引字段也是一个机构最必需加密的字段。朱利安表示:一旦发生这种状况,这个系统将也就快完蛋了。“我并不在意它是否正使用了Oracle 10gR2数据库的本机加密,”他说道。“那也将是不堪一击的。”

 

要改变这一状况,你将不得不对所有应用程序作出相应改动以便它们使用一个不同索引字段。这是一个很大的工作量。同时也无法保证,这些改动不会对这些应用程序造成破坏。

 

另一个跟使用公共/私人密钥加密同样重要问题就是必须按一定体系进行处理。考虑范围会很广:从‘密钥的强度有多强’、‘密钥存储在哪里’到‘谁有权访问’都要详加考虑。“当然,这些并不需要很多科学家才可解决,所需的不过是基础专业技能,主要是你必须确保你执行的正确性,”朱利安表示。“你必须先在实验室中进行测试,必须确保它能有效运作,必须包括来自这个企业机构多个部分的意见以确保它是符合安全策略,等等。”

 

然后,还有的就是应用程序影响的问题。以前只能对未加密数据进行处理的应用程序,现在它们必须处理使用加密术的数据了。对此,朱利安表示,这种负载的改变很可能对应用程序造成破坏。如果一个应用程序原不预期接受到大量数据就很容易造成一次缓冲区溢出。

 

“它们的运行速度将慢下来,但实际会慢下来的程序你无从得知,只有你创建一个试用环境并在实验中进行测试时你才会真正发现这一点,”他表示。“你使用一个模拟生产环境,用以观察它是如何工作的,以及如何慢慢地铺开一个应用程序。想要最后确认结果,需6-12个月的时间。而且这个时间仅是一个应用程序所用时间。”这个程序可能会由于过度负荷而被破坏,也可能成功确立。

 
 

        加密仅仅是数据安全的一小部分

对于正努力决定是否使用加密方式、或想如何避免成为另一个TJX、或者想两者兼顾的众多企业来说,想要达成这些目标并不是没有希望的。使用加密技术应该只是这些企业在安全上努力的一小部分,更多时间应该被用来对数据库进行评估以及设立主动数据库监控功能以实现更好的安全性。

 

朱利安表示:这个数据库评估过程将包括寻找可能仍还存在的默认ID和密码,当然这是一种极少的情况;同时还包括寻找所有已知的安全漏洞,并为它们打上补丁,强化所有数据库对抗攻击的能力。“只有这样,”朱利安表示。“企业才能在有一天内实现本质的改进”。

 

监控数据库活动行为将为企业提供警示,不仅针对那些试图攻击数据库的人,而且针对那些可信赖成员所进行的意外行为。例如,即便是一个DBA(数据库管理人员)也永远不应对信用卡号码字段进行一个select-*查询

 

“数据库评估及监控这两步骤将会大大地改善一个数据库的安全状态,”朱利安表示。“而且你甚至还未着手开始加密术,它也许还处于你们的讨论阶段。”

 

显然以上这些方案没有一个帮到了TJX。“明显没有什么是绝对安全的,但在这个案例中,可以确信如果有监控功能的话应该能发挥作用,”朱利安表示。“你就稍微想像一下4750万信用卡将在你的屏幕上显示会是一个什么状况。如果你当时正在监视的话。”

 

0
相关文章