弗雷德·科恩:科学地构建全球信息标准
人们需要一种源自于政府、企业、专家等各方力量的保护,信息安全防护技术还并不是一门确定性的科学,它是理性头脑下的艺术,像炼金术一样,需要通过不断的实践调整。
在过去的70年间,信息世界发生了很大的改变,计算机逐渐成为我们生活中不可或缺的组成部分。但实际,信息安全的科学理论自上世纪80年代以来, 就一直没有新的重大发展。
人们需要一种源自于政府、企业、专家等各方力量的保护,信息安全防护技术还并不是一门确定性的科学,它是理性头脑下的艺术,像炼金术一样,需要通过不断的实践调整。信息安全技术迫切需要重大的革新,这是一个世界性的课题。重新构筑一套完整的理论体系可能需要很长的时间,而制定合理的实践标准( Standard of Practice ,SoP)却是可行的,而且很多实践标准实际上正在被广泛地使用。
实践标准可以推动理论体系的发展,而理论体系又可以指导实践标准的改进。本次演讲将主要对实践标准与理论体系之间的互动过程进行深入的阐述和分析,这一过程也需要我们共同的参与和努力。
计算机病毒之父 弗雷德·科恩
如今“计算机安全”已经成为一种有价值的商业活动。赚钱一直是商业的主要目的。但是我们要考虑,如果厂商把安全服务做得太好,让客户感觉不到威胁的存在,客户也就不再需要安全服务;但反之,如果厂商把安全服务做得不好,那么客户为什么还要花钱去购买它呢?我们该怎样向消费者推销安全软件?这里有三个问题:恐惧、不确定性和怀疑,即FUD。
“F”恐惧就是坏事即将发生,或者它已经在别人身上发生了;“U”不确定性 ,如何知道自己是安全的,谁是你的守护者;“D”怀疑,不仅你本身存在这个问题,即便是NSA(美国国家安全局)也不能保住你的秘密。比如我们购买每个产品,有的商家会这样宣传:快来使用我们的产品吧,绝对保障你的安全,NSA都已经在使用我们的产品了。但是现实是我们在电脑安全方面还存在很多不确定性。所以,可以看到,FUD是人们普遍面临的一个问题,也是我们现实面临的问题。
无知并不等于幸福。政府更倾向于攻击而不是防御,政府机构往往把更多的精力用于研究如何入侵并获取情报,他们认为最好的防御就是进攻,包括对情报的需求超过了对安全操作的需求。这样就造成对于自身网络系统的安全防护明显投入不足。但恰恰在此同时,支撑政府工作的各种公共基础设施已经开始越来越多地接入网络,比如水、食品、燃料、 电力等系统,并且非常依赖于网络所提供的信息支持。
有关安全防护的一些经验法则,比如应该定期更改密码,安全防护措施越多,安全防护效果就会好等等。但是,绝大多数的经验法则并没有多少理论依据,定期更改密码实际上是二战时期使用的安全策略,而安全措施越多越好的概念则完全是一种主观认识,没有任何客观依据。同时,绝大多数的安全概念也并非来自于理论基础,比如概率风险评估(PRA)在安全领域很少被使用。我们认为信息保护更多的是一种科学的方式,而现实是我们需要更多的测试,绝大多数的安全概念并不是理论,而是实践中有没有更好的发挥作用的方法。很好的一个例子就是科学法则并没有真正的奏效。
为什么要这样做呢?我们应该考虑合理性的决策。但是应该如何选择,怎样进行决策,选择什么样的因素用于决策才是明智的?选择项是不是有限呢?又为什么选定这些条件因素,或者在什么场景下做出选择?这些都是合理性决策需要考虑的因素。这也是我们基本的运营方式。
那么,怎样决策才是科学的?现实情况是目前还没有完全科学的决策,但将来很有可能会有。比如,我们有很多组织拥有成熟的模型,可以有助于减少错误和遗漏。同时,保密性是我们的目的,透明度是我们进行决策设计时的一个重要测量因子,所以需要进行更加科学和多元的研究,来修正系统防护中的错误和遗漏的盲点。
如何进行科学研究来明确这些方面呢?这就是我们现在面临的问题。目前所谓标准化的决策过程并不是真正完美的,你可以直接下载一些标准化的流程进行隐私保护,也可以直接阅读和使用它的操作方法,但这并不是所谓的真正标准或者万无一失措施。在安全体系也是如此,有了防火墙并不能解决一切袭击问题。所以要做的就是要找到这个病毒的基本数据库,然后发现问题,基于现在的问题使用同样的一种机器语言来解决这些问题,要找到的答案必须是合理的,我们必须要有专家来做出决策。所以,要更加系统化地来操作这样的流程。
现在谈谈实践标准SoP。我们可以运用实践标准帮助专家进行分析, 通过提出一系列合理全面的问题 ,将这些问题用特定逻辑语言进行标准化描述,再用预先定义的决策逻辑进行决策,同时在基准情况下允许存在一定的偏差。当实践标准有效时,我们就开始使用;当实践标准无效时,我们会适时调整与更新。
理论体系的构筑实际包括三个环节,即理论、实验、反馈三个阶段。
如今,在信息保护领域并不存在成熟的理论,但也有一些例外,如在四十年代时就存在的一些信息流控制元素、密码学元素以及病毒和恶意软件元素等。但所有这些元素的作用都很有限,密码学理论在很大程度上忽略了现实状况,而信息流控制的方法几乎没有被使用,病毒和恶意软件理论在很大程度上只是规定了哪些事情不可以做。所以还有很多问题需要研究,比如流程控制中需要更多的信息才能更好地控制运作流程,而SoP恰好为我们的探索实践提供了出发点。
网络安全的科学包含因果、测试、验错、调整四个环节。科学的一个机制实际上就是因果,通过一定的机制施加影响,这是后续进行的基础。科学理论需要进行实验的验证,实验能够证明一个理论是否正确,但对于普遍规律,实验并不能证明理论的正确性。当一个理论被推翻时,我们就会对理论做出调整。比如地平论即是一项科学理论,四五百年前人们认为地球是平的,但麦哲伦的环球旅行证明了该理论是错误的。
以拒绝服务DoS为例,如何去解决拒绝服务的问题呢?据我所知,韦伯斯特大学在此方面有一些研究,在这所大学的实验室可以实现这种拒绝服务,帮助我们完成科学实验。拒绝服务的出现是由网络资源消耗殆尽最后导致合法的用户请求无法通过造成的,这其实就是一条理论,但我们必须对该理论进行科学的验证。
在验证过程中,通过将一些资源隔离出来,比如CPU空间、磁盘空间、内存空间、进程中条目、连入端口、网络带宽等。通过隔离一种特定的资源,并给资源设定一个上限,利用大规模的消耗资源来衡量系统性能;同时不断增加对资源的消耗,并实时评估系统性能。当有限资源消耗到临界值,超过拐点便会出现拒接服务。这样就确认了该理论的正确性。
在实验中,我们需要了解被度量的这些实验现象得到正确响应所花费的时间,实验的结果是必须要知道如何测量实验结果。可以通过几台计算机持续进行拒绝服务的测试,直到服务被拒绝,然后我们就会提出一个问题,究竟实验和理论是否一致,我们希望能够进行科学的测量。
科学的实验不能只进行参数的实验,还需要反馈。当得到实验结果后,要更新方程式,以更接近事实,并尝试用更大范围的取值来探索实验空间。在识别会影响实验的环境参数时,要保持更新,以控制更多的环境因素;还要识别可观测性和精度/准确率的限制,并保持更新,估计传感器的极限,以制造更好的传感器,同时更新实验方法。如果该理论被证实是错误时,需要更新该理论,让其他人从中获益。
那么,如何进行实践标准的更新呢。对于实践标准来说有一百多个不同的元素,比如关于在资源耗尽方面的拒绝服务,科学更多的是告诉我们DDoS是怎么回事以及如何减轻影响。我们要如何适用这些实验结果呢?可以通过更新SoP来反映最新的科学成果,也可以通过科学结果来进一步改进SoP,并通过重复使用SoP来适应保护。而当SoP提出新的问题后,可以通过科学实验来回答这些问题。
以专门针对审阅管理和档案管理(ARM)文献的一些实践为例,我们对于标准实践进行了更新,然后创建专用于ARM的SoP(ARM-SoP ),对它进行对等社区的相互评审。我们希望能够把SoP应用到全球已存在的ARM实体中,并将对全世界30多个不同的档案进行查看,对比目前的实践和ARM-SoP的机械作法,了解到底谁对于审阅管理和档案管理真正有用。评价ARM-SoP是否是合理的、谨慎的,如果不适用将对它进行修改,如果能够适用,人们可以在ARM系统里做更多的实践。我们将会对比成果,并进行长时间的研究,另外也会根据评论改写SoP,最后会将结果发表在因特网上,这样全世界的人们都可以来阅读,我们希望所有人能够获得这样的成果,然后在ARM中使用这个最佳实践。而该研究的结果等于是在更新SoP,让SoP帮助我们反映最新的科学成果。
(本文根据弗雷德·科恩在2014互联网安全大会上的报告整理而成,整理:杨燕婷)