一、回顾信息安全防御思路的历程
信息安全起源于战争中的通信加密技术,分为信息的存储安全与传输安全。存储安全就是保存在“城堡”中时,对方既不能明着来抢走,也不能暗着来偷走。这与我们理解的人身安全与财宝安全非常类似,区别就是,财宝要被拿走才算是损失,而信息(敏感文件等)被人偷看了就产生了损失,因此,信息是否泄漏不是很好界定的一件事,往往是发现对方行为中知道了自己秘密,可这时也许已经过去很长时间了。传输安全是信息在传递的时候,保证其不被泄露。最为常用的方式就是加密,著名的“凯撒密码”只是字母的简单替换;到了“二战”时期,通信更多采用无线方式,空中电波可以被任何人“听到”,加密成为必然的安全措施,加密日渐复杂、随机,密码的加密与解密成为一本新的学科---密码学。
有计算机以后,工作中的各种信息几乎都被数字化了,通过网络不仅可以了解你的敏感信息,甚至可以控制你的武器设备,信息安全由此提升到了系统安全。美国早在1985年,就提出了TCSEC(可信计算机系统评估准则),对处理、存放信息的计算机系统安全提出了不同等级的安全要求。
随着互联网的发展,利用计算机传输信息的便利越来越显现,大多数的国家都联到了互联网上,自己的计算机系统在网络中的安全问题就更加突出,网络安全成为国家政治新决策中耀眼的焦点。2008年美国通过CNCI(国家网络安全综合计划),开始打造“网络国界”;2011年公布<网络空间行动战略>,把网络空间与陆、海、空、太空并列为国家领土的一部分,Cyberspace成为一个新的高频率名词。
针对网络安全,美国提出了著名的IATF框架(信息保障技术框架),提出了网络应该划分区域,建立纵深防御、立体部署防御措施的思路。
IATF的核心思路就是“边界防御”,我们也称为“外部防御”,意思就是防御者与攻击者要分开,建立中间的过渡空间,确立攻击者入侵或进攻时,必须路径的“边界大门”,一夫当关,万夫莫开。
所谓划分区域,就是划分安全域。人对安全的感觉来自于对事态发展的可控性。当对方接近自己的时候,自己有反应的时间,并能进入“战斗”的状态,从而抵御住对方的进攻,就会感到安全。怎么才能是有反应的时间呢?从空间角度讲,与对方保持距离,建立一个“空地”,对方进攻的时候,就可以看到他,当然再增加一些障碍,延长对方通过“空地”的时间,就更加好了。古代人为了保护自己,修建城堡,高大且坚固,对方不容易爬上来,还开上护城河,让对方的战车只能远远地看着。空地也好,城墙也好,护城河也好,都是我们防御的边界措施,对方通过这个边界时就被阻断或告警。
所谓纵身防御,就是建立多道防线,消耗对方的有生力量,延长对方到达我核心区域的时间。网络划分安全域以后,就可以在每个域边界上部署安全措施,形成多道防御体系,达到多次防御对方入侵的目的。
所谓立体防御,是多种安全措施的综合使用。在边界仅仅画道线是挡不住对方进攻的,各种访问控制措施并举是不可或缺的,其目的是对付各种不同的入侵技术,如病毒、木马、黑客、DDOS…当然,识别是阻断与报警的前提,对攻击或入侵行为的检测技术是所有防御措施的基础。仅仅是防御,是很被动的,要能够主动发现对方的渗透行为是至关重要的,各种异常行为分析技术是监控类措施的主要手段,如入侵检测、漏洞扫描…如同陆海空联合作战,才有更好的作战效果,立体防御就是相互配合、相互补充思路的重要体现。
IATF把网络割裂为各自“独立”的部分,学名叫做“访问控制”,网络技术称为路由控制;而网络的联通就是为了业务互通的方便,人们在便捷与安全之间很难做到合适的取舍。用户关心的是整个业务信息系统的安全,而为了用户工作的方便,业务系统往往需要用户可以从任何地方、在任何时间连接到业务服务器上。因此,仅仅用网络防御思路显然是不够。信息安全再次提升到了业务安全,也就是我们说的信息系统安全阶段。
很多信息系统往往是运行在一张网络上的,网络只是承载业务的管道,网络安全就成了他们的“公共环境安全”,而针对每个信息系统还有自己特有的安全需求,允许访问信息系统的用户应该是可信任的,因此信用体系措施是最为常见。信用体系包括身份认证、授权管理、用户行为审计等一系列的“社会”式管理思路,我们通常称为3A,若再加上计费就是所谓的4A系统。
我国现行的信息安全等级保护政策,就是采用了业务系统安全保障的思路,安全的目标有两个:一是敏感信息的安全,二是业务服务的不中断。所以,大多用户信息安全保障方案设计的思路都是:先做业务分析,了解安全现状;然后划分安全域,部署域边界的防护措施、监控措施(先解决网络上的公共环境安全,各个业务可以共用);再建立信用管理体系,重点是身份鉴别、行为审计;最后部署的是公共基础的安全管理措施,如补丁管理,SOC(安全管理平台)等。当然安全管理是不可缺少的,包括团队、制度、人员、建设、运维五大部分。
从IATF开始,信息安全保障基本建立了边界安全保障思路的主流地位,边界清晰是非常关键的,我们选择的安全措施,大多部署在边界上,若不能明晰网络边界,这种纵深防御体系就无法施展了。
随着,虚拟化技术的推动,云计算、大数据等应用中,用户与服务端都在云里,绞在一起,边界模糊了,流概念兴起,流安全思路也就诞生了。
二、网络边界“危机”
网络本身是有“边界”的,不同区域由不同的人建设,由不同的人管理,网络也有自己的“国家”。然而,网络服务往往是没有边界的,比如DNS服务的根在美国,你在我国的互联网出口上就不能禁止这些服务的通行。我们可以不让Google进入大陆,但你不能阻止美国人访问中国的百度,也不能阻止中国人发邮件给美国。互联网上的国家边界在哪里呢?这个问题一直困扰着政府的领导与网络安全者。若不能确定网络的“国家边界”,美国要保护的Cyberspace该如何界定呢?我们国家的Cyberspace又在哪里呢?
要说导致网络边界模糊化的幕后推手,不得不提近几年突飞猛进的两个新技术应用:虚拟化与BYOD。
虚拟化就是指数据中心的设备虚拟化管理技术,它是云计算、大数据等新型应用的后台基础技术。虚拟化的含义就是资源的虚拟化管理,实现资源按需分配的好处,不仅仅是提高硬件的利用率,并统一简化IT运维管理;而且让开发者、用户不再关心硬件的具体型号、容量、处理能力…专心自己的业务需求,随意设计自己的业务流程。利用计算资源的虚拟化技术(如VmWare\KVM\Xen…),我们可以随意生成我们需要的计算机, CPU与内存可以动态地按需调整;利用存储资源的虚拟化技术,我们可以随意配置数据存储空间,不必为硬盘损坏、容量升级的烦恼而担忧;利用网络虚拟化技术,我们可以随意打造我们自己的“专用网络空间”,而不需为接入方式、接入地点,再去设计复杂的公网与私网路由管理…
确切一点说,直接影响信息安全的,应该是服务器虚拟化和桌面虚拟化。
我们知道,网络边界就是连接外部网络区域的那根网线,这里是网络连接进出的必然通道。然而,虚拟化的核心优势是虚拟机的动态迁移,虚拟机可以在整个虚拟化平台内随意迁移,不同的物理服务器,不同的机房,不同的城市,甚至不同的国家,你的业务系统运行的那个虚拟机,目前运行在那个物理服务器上,是不确定的,而这正是虚拟化带来的好处。既然不知道物理服务器是那个,就不可能确定它的边界网线是那根,网络边界该如何确定呢?找不到网络边界,我们的那些纵深防御体系该如何部署呢?
服务器虚拟化就是数据中心的虚拟化改造,是业务系统的服务端迁移到虚拟化平台上。它的直接结果是:因为传统的安全设备无法部署到虚拟化网络中,没有了安全的保障,用户的业务自然不敢大量迁移到虚拟化平台上来。
桌面虚拟化的后果更为严重:安全域划分时,用户的终端域与服务器区域一般是分开的,其边界上可以部署访问控制措施,保证用户访问服务时是可控的。然而,实现桌面虚拟化以后,用户的终端应用都运行在服务器端,用户端与服务器之间传送的主要的基本输入与输出信息,利用这些信息是无法判断用户行为的;另一方面,运行在服务器端的终端应用与其他的用户、其他的业务服务器同在“一个”数据中心,甚至在一个“域内”,当某个终端感染病毒,去入侵“邻居们”时,或某个终端用户恶意地去扫描、入侵它的“邻居们”,传统边界上的安全措施就无能为力了。
原因十分简单:两个虚拟机运行在同一个物理的服务器内,这两个虚拟机之间的流量可以直接在虚拟机交换机上交换,而不进入物理网卡,当然也不进入物理交换机,传统的网络边界就看不到其通讯。看不到,谈不上检测,自然也无从发现或阻断。
因此,可以说,虚拟化技术让边界安全思路受到了极大的挑战,虚拟化平台上的安全问题异常突出。
另外一个应用BYOD,让办公、生活更加便利,更加丰富多彩,其发展趋势已经锐不可当。然而,BYOD意味着,接入的终端不再受控,你无法要求接入终端安装统一的安全软件,你也无法确保终端内的其他各种应用是否能入侵到你的应用内;业务系统的安全边界不得不从终端上“撤出”,退守到BYOD的接入网关上,但是你不能不让用户访问你业务的数据,如何保证“边界外”的安全,这可是以前没有过多的事情。
三、“流安全”概念的诞生
业务系统找不到自己的网络“边界”,是因为这时的用户与服务端绞在一起,不能再建立彼此间的“空旷地”。我们在云一样的网络上,能看到的就只剩下用户访问服务器的业务流量了。
从网络安全到流安全,有如汽车原先在高速公路上行驶,其方向与路径是确定的,我们只要在分叉口做好检查工作就可以了。而现在汽车现在到了广场上,虽然也有汽车行驶线,但关键问题是,汽车始点与终点不再固定。我们此时关心的不再是道路,而是流动的车。
其实,我们在谈论业务安全时,已经开始把信息安全分为两个部分:一是网络环境的公共安全;一是业务流量的内容安全。这时,我们已经在开始把关注道路与关注车流分开了。
流安全进一步强化了这种分割。我们用网络环境的公共安全保证业务流在流动过程中的安全,它包括与其他流的隔离,不能被其他“流”窥探与污染;我们利用业务流的内容安全保证流内容中,是否有病毒、木马与入侵者,是否符合我的信任体系要求。
TCP/IP原本是包交换协议,一个用户通信连接分为若干的数据包,每个数据包可以通过不同的路由到达目的地,到达后再组装起来。包交换与传统的链路交换是对应的。
流安全概念的引入,让我们重新审视包交换与链路交换,从安全控制的角度,把业务流看作逻辑链路,在一次“通讯连接”中,逻辑链路按照我们定义的安全路径建立,经过用户需要的安全清洗与监视,保障业务流动安全与完整,这就是流安全概念引入的核心目标。
流安全概念的出现,理清了以往网络安全与业务安全在概念上的模糊。
我们这里先给出一个简单的定义:
业务流:就是指信息系统的用户与服务端之间的流量,包括业务流量与管理流量。
流安全:狭义的定义是指业务流在传输过程中的整体安全解决方案。流安全不再关心用户与服务端的物理位置,而只关心他们之间的连通性。广义的定义是业务流在整个信息系统中的安全,包括流在网络传输中的安全、流在主机内部的安全(服务器内部)、业务自身安全在流中的实现三部分。
(注:目前常说的流安全多指狭义的流安全,以下同。)
流安全从其技术实现上可分为是两个方面:
a) 导流控制技术:流的流向控制技术,也称为流量引导与控制。导流控制的核心就是路由的重定义,实现网络承载层的安全控制
-
指定业务流的路径,并与其他对业务流保证逻辑隔离;
-
保证在虚拟机迁移、用户端接入漫游的情况下,用户与服务端之间的联通,指定的路径可以适应两端的不确定性,又可以保证必需经过的关键路径点;
-
稳定的流量传递,服务质量应达到用户需求;
-
流在传输中的不被篡改,不被非授权者复制;
b) 流内安全技术:流内容的安全检测与阻断。流内容的安全技术从传统的网络安全技术发展而来,主要是网络层以上的安全检测,如针对入侵的IPS/IDS,针对网站的WAF,针对链路攻击的DDOS,针对病毒的AV等等,也包括合规安全的措施,如网络行为审计,异常流量分析等
-
网络层攻击阻断(如DDOS等),非业务流量的过滤;
-
非授权者的访问阻断;
-
病毒、木马、入侵检测;
-
网络行为审计;
-
异常行为的监控;