看了《在销售铁卷的过程中,我遇到的一些常见的问题》一文,有些话不吐不快。
先全文引用过来:
=================这就是传说中沉鱼落雁闭月羞花的分隔线=================
1. 企业的文档保护需求可能导致的问题
1.1. 要求选择性加密
某些企业在选择电子文档防泄密产品的时候,会提出这样的要求:
对于同一种类型的文档,我希望能由我们来选择哪些文档是需要加密的,哪些文档是不需要加密的。这样不会给员工带来使用上的麻烦。
问题的分析:这个需求看似合理,但其实这个需求和企业文档防泄密的初衷是相违背的。如果允许用户选择性加密,那么可能导致的问题有:
如何防止文档原作者的泄密?
只要公司内部保留了一份明文状态机密文档,谁能保证这份明文的文档不会传播开去?
如果仅仅要求选择性加密,那为何不采用将机密文件加密码打包压缩的方式?
根据FBI和CSI的调查,企业内部信息泄露事件中,70%以上都是内部人员的泄密造成的,因此,对于电子文档放泄密产品来说,防止主动泄密是及其重要和关键的。
企业采购文档防泄密软件的根本目的就是为了保证电子文档的安全,这是购买的初衷,也是购买的目的。脱离了这一点,功能再强大的防泄密软件都将形同虚设。
因此,选择性加密的需求是不符合企业的采购目标的。
1.2. 希望控制企业内部的文档权限
有的企业在采购的时候,会提出这样的要求:
我希望你们的软件能够实现:即使在我们公司内部,也能实现很严格的文档权限控制,比如同样一份文档,张三能看李四能打印王五能编辑……
问题的分析:目前国内单位对电子文档普遍是处在“管理无序”的状态,要改变这一现状,实际上还需要从技术与管理两方面下手,一方面用技术手段实现加密(类似铁卷 这样的解决方案),另一方面要制订相应的管理方法,并在实践中将电子文档逐步分级管理,做好标识工作,使之规范化。这两方面工作完成之后,就可以最终从技术上建立一套完整的解决方案,对电子文档进行加密和分权。
很明显的一个例子是国外某著名信息防泄露软件,该软件在国内有几个应用案例,我们走访了相关用户,却发现无一例外,所有用户都是白花了这笔钱,软件的功能没用好,因为他们企业管理水平还没有达到相应的高度,根本就没有电子文档的标识、密级、管理这一系列的管理制度和方法,这时候直接上一套软件,使用者完全无所适从。
我们来设想如下的一个场景:
某员工A撰写了一篇文档,在保存的时候,突然跳出来一个窗口让A选择他写的这篇文档谁能看,谁不能看。这时候,A一下子就不知道该怎样选择了,因为企业没有规定什么样的文档属于什么样的密级,为了方便起见,A就选择了这文档所有的人都能看。
问题:这样一来,有内部权限控制和没有内部权限控制有何不同?有这个功能只会给用户带来需要选择的不便而已。
我们再来设想一下另一个场景:
某员工A撰写了一篇文档,在保存的时候,突然跳出来一个窗口让A选择他写的这篇文档谁能看,谁不能看。这时候,A一下子就不知道该怎样选择了,因为企业没有规定什么样的文档属于什么样的密级,A想了想,觉得这个文档是要发给B经理的。就选择了一个只允许B看,其他人都不许看。并把这封文档通过邮件发送给了B。
B看过A发来的这个文档后,觉得写的很好,觉得全公司的人都学习一下,就把这文档转发给了公司所有的员工。可是下面的员工收到这封邮件后,却打不开这个文档。于是纷纷打电话给B经理,于是B经理一天接到了公司内部打来的几百个电话……
B经理询问过管理员是怎么回事儿后,明白了原来是有内部权限控制这么个东西,于是以后就把所有发给他的文档全部转发给了管理员,要求管理员帮他重新设置这些文档的权限,同样,C经理,D经理,E经理……也都要求管理员帮他重新设置他们的所有文件的权限。管理员每天无法处理其他的事情,每天都在重新设置文档的权限……
公司领导对这次采购相当不满意,一段时间后,该软件被弃用。
上面是一个真实的例子,从上面的例子,我们可以看出,一个有着某种功能的软件,此功能非但可能不适合企业的使用,还可能会给企业带来相当大的麻烦。企业在选择文档放泄密软件的时候,切不可抱着“攘外必先安内”的思想。根据企业的实际情况选择产品,才是最符合企业本身需要的。
2. 文档保护软件产品的问题
2.1. 软件的漏洞
某软件产品的附加功能强大,在某企业的招标中一举胜出。但是企业在应用的过程中,却发现了该软件的许多问题:
使用“另存为”这样简单的功能,就能将一个文档轻松的由密文转换为明文。
将某无关软件改名为特殊的文件名后,打开密文的文档,再保存时即可使该密文文档变成明文。
使用某些网上公开的工具,可以把一个密文文档解密。
可以使用鼠标拖拽等方式将机密文档中的文字、图片等内容复制到其他不加密的文件中去。
这些绕过的方式令该企业相当恼火。在多次联系该软件的厂商后,厂商仍迟迟无法解决问题。该企业要求退货,厂商不肯,该企业把该软件厂商告上法庭。
2.2. 软件设计不周
文档防泄密软件有个普遍的特点:用户会要求在公司内部能够正常的使用文档,而一旦把资料带出公司,就无法打开(经过了合法授权的非机密文档除外)。但某些特殊的情况,软件厂商没有为用户考虑到:
软件必须能离线工作,以满足出差员工和回家办公的员工的需要。
软件必须能方便的解密某些文档,以满足非机密文档外发交流的问题。
对于离线的情况,必须能由使用者发起请求,管理员来批准。并且离线是带有时间限制的。不能无限制的永远离线下去。离线的时候,使用的效果还必须和在线的时一样,以防止离线时的泄密问题。
离线时必须考虑到:
使用者是否会使用时钟回调等操作来恶意延长离线的时间?
若员工出差到了外地,无法连接上公司的服务器,但真的需要延长离线的时间,是否有完美的解决方案?
对于文件解密的问题,也必须能由使用者发起申请,管理员来批准。此时,要求每个部门都能够设置“部门管理员”,因为一个总的管理员不可能对每个部门的文档都非常了解。在不了解文档是否机密的情况下,是不应有权限做出允许或拒绝该文档是够该被解密的操作的。
随着企业信息化建设的发展,越来越多的资料采用了电子文档的形式保存,于是文档防泄密这个概念在国内渐渐的被提了出来,文档防泄密的软件也卖的越来越火,但这个软件市场上的产品良莠不齐,鱼龙混杂,希望企业能够从自己的需求出发,选择到一款合适自己企业使用的文档防泄密软件。
=================这又是传说中沉鱼落雁闭月羞花的分隔线=================
下面是我的看法:
首先要说的是,客户的需求总是“合理的”,确切的说是,总有合理的一面。必须承认,客户的需求有时候会很奇怪,甚至是可笑的。碰到这种情况,我会和对方摆事实讲道理,就像引文中那样,列举一些论据。但是,并不是把客户说服、把产品卖出去就没事了。我还会思考,为什么我的产品不能在实现功能的前提下满足客户的需求呢?客户的需求往往从他们实际的工作经验和习惯中提炼出来,不是一句“不合理”就能打发的。
具体到文档加密问题。客户的需求是,能对每个文档有选择的加密保护。而铁卷的功能是,对指定类型的文档强制加密(希望我没有理解错)。必须使用强制加密的依据是“选择性加密和防泄密相违背”。在我看来,这里铁卷又陷入了“驱动级透明加解密”的惯性思维中,认为只有强制的才是安全的。(我为什么要说“又”?呵呵。)我想,造成这种想法的原因是,用驱动做强制加密太容易了,太“完美”了,以至于设计人员无法想象除去强制性后产品还能做啥。是啊,一切都自由了还有安全性可言吗?我卖个关子,先来说说选择性加密的合理性。
如果我公司明天要部署铁卷,那现在我首先要做的事是把我所有资料(doc/xls/ppt甚至txt/cpp)备份到移动硬盘上。因为我电脑上有很多文档不属于机密,要随时修改并与别人共享这些资料。如果把这些文档加密保护,并且外来的普通文档在我电脑上处理后就不能简单的还给别人,这是我无法容忍的。虽然可以要求工作电脑和日常使用的电脑分开,但既成事实是,在家、在公司、出差时我都用同一台电脑,这样才不会耽误任何事。选择性加密的合理性我还可以列出很多,都是我在和客户交流时收集到的,不一一细说了。
本质上,强制加密面临的主要问题是较严重的影响了普通文档的流通。安全往往和方便相冲突,如果事情到了非使用物理隔离不可的地步,那就算再麻烦、再有抵触也只能硬着头皮上。但是,协调好安全性和易用性的关系,在保证安全的情况下最大限度的增加灵活性,正是一个好的安全产品的价值所在。
回到需求问题上。按照引文中的观点,强制加密可以解决主动泄密问题。实际真是如此吗?有更好的方案吗?分两种情况来讨论:
第一种情况,客户还没有使用文档保护产品,甚至没有把重要文档集中管理,所有文档处在失控状态。那么在切入文档保护机制的时候,势必要付出一定的部署成本。
首先,不管是强制加密还是选择加密,都不能防止有人在部署前先将资料明文备份到不受控的地方。这不是技术问题,而要依靠行政管理手段解决。
其次,部署时像铁卷这样“一刀切”,把所有指定类型的文档都加密虽然痛快,但在易用性上却是“此恨绵绵无绝期”。选择性加密则给客户至少两个方案:一是由每个员工主动对自己拥有的文档分类,将机密文档上传到服务器上加密保存,同时以管理手段监督和约束员工的这个操作;二是在每台电脑上运行一个自动化工具,将指定类型的文档全部上传到文档服务器,并删除本地的文档,然后由指定的人(如各部门领导)审查所有上传的文档,将机密文档留下而把普通文档还给员工。当然,还给员工的文档不能再在终端上被强制加密了。实际部署时可以将两个方案结合起来。比如由员工主动分类加密,但先全部明文备份到某台服务器上做“案底”,一旦将来发现有人没按规定加密重要文档,备份服务器上有据可查。或者对某些类型的文档(如图纸)实行领导审查,另外一些类型(如doc)实行自主选择。我和实际客户交流之后发现,这些方案是可以被客户接受的。
显然,问题的关键是,部署时强制加密也无法阻止用户事先偷偷备份机密文档,那么不加区分地强制加密所有文档也就没有意义了,选择性加密才是更合理的方案。
第二种情况,部署完成之后,如何防止文档原作者泄密。对这个问题,先要关注这个机密文档是怎么产生的。
如果文档是凭空撰写的,那么作者只要找台“干净”的电脑再写一遍就“泄密”了,这不是任何文档保护产品所能管得住的。好在“天下文章一大抄”,撰写文档经常要引用其它文档的内容,这就是加密保护的意义所在了。
如果机密文档引用的全是普通文档的内容,那么逻辑上撰写过程没有发生泄密,那些普通文档没必要加密保护,因为真正的机密在作者的脑子里。而且,是普通文档则意味着其内容有可能通过部署了文档保护产品的安全域以外的途径(比如浏览网页)来获取。于是,脱离安全域作者照样可以写出一份“机密文档”来。因此我认为,只是为了减少获取普通资料的途径,而用强制加密阻止普通文档的简单流转的做法完全得不偿失——安全性没有实质提高,麻烦却不少。
如果机密文档部分或全部引用的是其它机密文档的内容,那么根据等级保护的思想,新的机密文档首先必须是受保护的。即为了从其它机密文档中直接复制内容,必须先把正在撰写的文档加密。在这种情况下,选择性加密自动具有了“强制”的性质,不会造成安全漏洞。
对于通过打字等方式将机密信息抄录到普通文档中泄密的手段,看起来强制加密可以有效的防御,但实际上由于强制加密的文件类型是有限的,泄密者只要换一种不会被强制加密的格式来抄录就可以了。比如doc文档,用txt来抄录。txt也被加密还可以用rtf/html/cpp等等。如果是图纸则繁琐一点,记下元件的参数,到“干净”的系统上也可以同样画出来。而且,现在的“驱动级透明加解密”产品一般都通过文件名和hash来识别应用程序。只要将文档处理程序改个名字再加个壳,就能避免被强制加密。先用原应用程序打开机密文档,再用修改过的应用程序新建文档,就能以同样格式抄录了。(虽然某些程序只能存在一个实例,但至少Word、Excel可以有多个,UG好像也可以。)
总之,强制加密防止主动泄密只是一个美丽的谎言,它并不能比选择性加密做得更好,反而严重降低了灵活性。另外,选择性加密的产品要实现强制加密是很容易的,不给用户选择的机会就是了。但反过来强制加密产品要提供选择性加密功能,改动不小。这个改动可不是允许用户自定义加密策略这么简单的,还涉及到很多用户体验方面的调整。从这个角度看,选择性加密和强制加密机制哪个适用性更强是显而易见的。
下面我来解决前面的疑问——除去强制性后还能做什么。大家首先要明确一个观点,不要试图防止文档的作者泄密文档,那绝对是件吃力不讨好的事,原因前面说过了。文档保护的目的在于,对已经纳入保护体系的机密文档,确保其流转和共享始终在可控的安全域中。不同产品之间设计思想和技术含量的高低就体现在能否做到安全性和灵活性的双赢。我看中的方案是,将等级保护中的自主访问控制和强制访问控制结合。对于以私人文档的形式存储、流转、共享的文档,使用自主访问控制,由作者控制浏览者范围和权限。这部分文档对某些人有价值,所以用自主访问控制防止被动失密。更重要的文档由作者提交管理员审核或由管理员直接导入,并评定密级,接受强制访问控制,每个用户通过预定义的角色以不同的权限访问这些机密文档。(这个方案看起来并没什么了不起的,但有趣的地方在细节上。不过本文就不详细阐述了,那需要很大的篇幅,我可不是在写论文。)
接下来我要说说企业内部文档权限控制问题。引文中认为“企业管理水平还没有达到相应的高度”就不需要使用等级保护之类的权限控制。我十分不赞同这个观点。一个设计良好具备等级保护功能的产品,如果要简化成保护/非保护两种“等级”很容易。客户如果觉得“无所适从”就暂时不用等级保护好了。如果一个产品明明实现不了等级保护,却告诉客户等级保护没有用,“有了你们也用不好”,这是不是太自以为是了一点?!同样地,如果仅根据引文中一个设计糟糕的产品的所谓案例,就得出“天下乌鸦一般黑”的结论,那实在有点“井底之蛙”了。等级保护同样可以在很大程度上满足“透明操作”的要求,根本不会出现ABCDE经理不断找管理员这种事。
在信息安全圈里,一直有“三分技术七分管理”的说法。大家可以去看CISSP论坛的帖子——“三分技术、七分管理,你怎么看?”。其中详细讨论了管理和技术的关系,很有启发性。我的想法是,不论管理和技术的比重如何,我们先补上“最短的木板”就对了。
对于被报道出现严重信息安全事故的国内外大企业,我相信它们在管理上一直都有完善和严格的安全规范,只不过没有有效的落实而已。这是技术的责任。安全规范往往要求用户改变原有的工作习惯,可以说必然与方便灵活的需求相冲突,而且“越安全就越不方便”。但技术出色的产品能较好的调和这个矛盾,增强用户体验,并在一定程度上确保(强制)规范的实施,还能提供全面的审计功能以便事后追查。因此,对于“有法不依”、“令行不止”的情况,无疑需要加强技术方面的投入。
国内企业更多的情况是,技术和管理都缺乏,或者管理严重滞后,怎么解决?CISSP的讨论形象地将技术比作西医,管理比作中医,得到很多人的赞同,我也觉得很有道理。“西医见效快”,如果技术和管理都缺失,先加强技术可以立杆见影。那么管理跟不上怎么办?我要说,等待管理水平慢慢进步的做法,是在逃避问题。站在软件开发商角度看,我们卖的不仅是一个好产品本身,还是一个安全模型,或者叫安全理念。客户有安全需求并且认同你的安全理念,才会接受你的产品。开发商应该做的是,设计出既严谨规范又灵活多变的文档保护模型,适应客户各种需求和不同管理水平的情况。就像微软的SharePoint,不管是对团队、小企业、大企业还是多家商业合作伙伴,都有合适的架构满足需求。技术不是万能的,它不能代替管理,但技术可以是“催化剂”,正所谓“科技改变生活”。企业可以通过部署灵活的文档等级保护产品,从无到有,从随意到规范,引导员工逐步接受企业的安全制度。
总之,企业选择文档保护产品时,眼光要长远一点,不仅要看到现在的安全需求,也要考虑不久的将来必然增强的安全需求。(不要太指望你买的产品将来会升级,并符合你的新需求,就算是这样,那也不是白送的。)
最后说说漏洞问题。出现“另存为”、改名、拖拽和某种工具(估计是线程插入)能解密等漏洞,都是过分追求“透明”的后果。产品的设计、研发和测试人员应该为自己的懒惰感到羞耻。没错,就是懒惰!另外,这种“豆腐渣工程”应该在招标的时候就被淘汰。没有提前发现问题,企业也有责任(他们应该请我去验货,呵呵)。至于离线访问、离线控制、离线追加权限都是“小菜一碟”,没啥可说的。
以上一家之言,不当之处请多多包涵。