□ 倪光南
2016年10月国外权威网站发布了开源Linux操作系统的一个漏洞,称为“脏牛漏洞(Dirty Cow)”。该漏洞源自Linux内核存储子系统在处理写复制(COW)时出现一个竞争状态,它可破坏私有只读存储映射,一个非特权本地用户可利用这一漏洞获得对原先为只读存储映射的写权限,从而提升他们在系统中的权限。该漏洞已存在很久,几乎影响 2007年之后的所有Linux版本。但它又非常隐蔽,直到近期才被发现,这是因为利用这一漏洞的攻击是通过操作系统的正常功能实现的,使常规病毒的检测方法无法发现。这一事件使人们认识到掌握操作系统核心技术的重要性。即使是经过无数专家审查的那些开源软件也存在着这类难以发现、可能产生重大后果的漏洞,至于那些源码不公开(或源码公开不充分/源码没有消化的)的软件,更无法保证不存在这类漏洞。
2017年4月,中国网络空间协会(CSAC)在北京召开了一次操作系统漏洞研讨会。会上,国科大杨力祥教授领衔的操作系统团队基于多年来对Linux进行的深入研究和积累的丰富经验,向与会专家介绍了该漏洞的机理、对现有补丁的评估以及自行设计的补丁方案。实际上,现在该漏洞的补丁是Linux的发明者Linus Torvalds本人所提供的。杨教授团队对其评估认为,这一补丁更多地着眼于效率,而并未完全消除竞争。他们团队则提出了变通的补丁方案,更多地着眼于安全,而在效率方面仅付出很小的代价。
杨教授预言,Linus Torvalds所设计的补丁,并没有消除引发Dirty Cow的源头——竞争,因此可能还会出问题。半年之后,他的这一预言得到了证实。最近有关方面发布了“大脏牛漏洞(Huge Dirty Cow)”,它正是利用了未被消除的竞争,使用了与原先攻击类似的手段。实践表明,补丁审计在安全开发生命周期当中的重要性,即使是高关注度漏洞也可能得不到完善的补丁修复。这种情况不仅出现在闭源软件层面,开源软件也同样会受到影响。
“脏牛漏洞”事件告诉我们,要掌握网络空间斗争的主动权,需要有高水平的研发团队,能真正掌握CPU、操作系统和其他核心技术,最好使用自己研发、自主创新的核心技术或者是基于开源技术,进行消化吸收再创新,最终达到真正掌握。至于引进外国不开放的、或不完全开放的、或不能获得知识产权的、未被掌握的核心技术,在网络安全斗争中就只能陷于被动挨打的境地了。
网络安全属于非传统安全。在网信领域中,“安全”的内涵比传统领域中“安全”的内涵更加广泛、更加全面。例如当传统汽车发展成了自动驾驶汽车,那么后者的“安全”性不仅包含了前者的“安全”性,还包含了能抵御网络攻击、能保护用户信息等等内涵,而这些对前者来说是不需要考虑的。
一般可以将网络安全要求归结为自主可控、安全可信或概括为安全可控。这里,实际上包含了“安全性”和“可控性”2个方面。其中“安全性”与传统安全类似,而“可控性”则是网络安全的特殊要求。
我们认为,自主可控是保障网络安全的一个必要条件。虽然自主可控不等于安全(它不是充分条件),但不自主可控就一定不安全。自主可控意味着不存在后门,可以主动增强安全(如能自己分析研究源代码、发现了漏洞可以自主打补丁等等),而不自主可控意味着丧失网络斗争的主动权,既有可能被别人通过后门进行操控,也会在网络攻击下完全处于被动挨打的地位。
既然网络安全中的“可控性”是一新的要求,所以传统的测评工作往往不能适应,为此,有关部门提出了实行多维度测评的要求,这样在网信领域将会有以下几个维度的测评:
1)自主可控评估——对产品/服务/系统的自主可控性进行评估,这种评估可以是针对CPU、操作系统等核心技术产品,也可以是针对其他软硬件或服务,甚至也可能是针对一个信息系统或一项信息基础设施。
2)质量测评——对产品/服务/系统的功能、性能等等技术指标进行测评。
3)安全测评——对产品/服务/系统的安全性进行测评,这种测评有可能与“等保”、“分保”的测评相结合。
今年9月底,有关机构召集专家对该机构制定的自主可控评估方案进行了评审。与会专家认可自主可控是网络安全的必然要求,自主可控评估作为多维度测评的重要环节,应予以制度化。专家们认为,该方案对CPU和操作系统,从“知识产权”、“技术能力”、“供应链安全”、“发展主动权”和“国产资质”等方面进行自主可控评估,是合理的、可操作的。今后视需求情况,可将该方案扩展完善,形成其他软硬件产品的自主可控评估依据。
我们认为,推进自主可控评估可以为依靠自己研发、自己发展、自主可控程度高的产品和服务,给以更好的市场机会,防止各种打着“国产”、“技术合作”旗号的 “穿马甲”的外国产品服务,混入政府和重要领域。今后应当将“多维度测评”所包括在的“自主可控评估”落实,使其成为网信工作的一项制度,以更好地贯彻习总书记关于网信工作的系列讲话精神。