我们知道,任何安全技术与应用的发展都离不开对计算资源的占用。
如今,我们所能感受到的网络现状是:10G/N*10G的网络数据流量、3G时代的来临预示着3年之后手机终端会超过PC终端。另外云计算的兴起带来了计算、网络、存储等基础设施的虚拟化整合、数据/信息的整合带来了网络流量更加集中,以及大多数业务应用从C/S向B/S转移,这些都促使越来越多的流量发生在网络上,而本地产生的运算量却会越来越少。因此,远程集中式运算与网络传送的信息量也就越来越大。
从这个角度来说,网络病毒检测、入侵检测、入侵防御以及信息数据安全等很多环节,都离不开对网络数据内容的分析。而除了我们通常所了解的算法优化能带来高效的计算外,对硬件计算资源的消耗正在随着网络容量、信息传送量的增加而高速膨胀,以至于当前绝大多数安全设备所引用的X86通用计算平台在不借助其他加速组件的方式下,几乎无法满足高性能的内容运算,并且性能和效率也都难以达到每秒超过2G以上在线数据运算量。在网络带宽和信息量高速膨胀的今天,这样的运算效率仅仅只能满足局部应用需求。
因此,性能的大幅提升是信息安全未来发展的必然趋势。
两大因素制约传统性能提升 多核应运而生
通常来讲,以往在为数不多的面对大容量计算需要时,我们常会采取分流分布式计算来解决,也就是将一个较大的网络流量分流为若干个小流量,采取分而治之的方式来完成对数据内容进行各类安全性检查,并进行必要分析与实时运算(如图1所示)。
▲图1 采取分流分布式计算来解决通常的大容量计算问题
显然,在运算性能不具备的条件下,分布式计算方式是无奈之举,但是它带来了较大的管理成本和维护压力。更重要的是大多数企业用户根本无法接受这样的应用方式,更多的企业级用户,在面对大流量下的安全需求时,更多是选择了“等待”,等待着更快、更安全的产品出现和成熟。
那么,一个很显然的问题就出现了——信息安全设备为什么不能像网络通信设备那样,引用高性能的网络处理器或ASIC达到与网络速度类似的处理效率呢?简单分析一下会发现,这其中最根本原因主要有两方面:
一方面,是客观技术的制约,相比仅仅处理网络局部信息(大多数是头信息)、而不分析数据内容的网络通信设施而言,信息安全设备对信息内容的分析深度、广度比网络通信设备要复杂得多,甚至还要分析数据内容之间的关联性。这就像机场等重要交通枢纽对行李、携带物品等的安检程序一样,它要关注的内容和范围要比常规的身份检查复杂得多,因此它比简单的检验每个人身份证的效率就要低很多(如图2所示)。同理,对数据内容进行安全检查的计算,永远比网络数据传送的计算要复杂得多(代价和开销都要大一个数量级),因为网络中每个数据包的信息数据内容往往是信息头的10倍~70倍。
▲图2 大多数信息安全设备对内容的分析很复杂
另一方面,是各类导致安全威胁的病毒、入侵行为都在利用计算机高级语言不断更新以突破某种防护,是因为这样的效率更高,也因此每天都会有新的威胁诞生,而这种动态性和不确定性的存在,使得几乎所有关注分析信息和数据内容的信息安全设备也必须在开放的运算平台上基于高级语言搭建的运算系统来工作,是因为只有这样构建的安全系统才有灵活的升级能力,从而也才能与安全的动态性和不确定性进行对抗。因此,大多数关注信息内容的信息安全产品(如UTM、IDS、IPS、审计等),必须利用高级的语言和开放的硬件运算平台才能完成对各类信息内容的检索和各类安全性检查。
所以,要满足未来信息安全产品适应当下信息高速膨胀的发展趋势,提升开放平台的硬件性能,既是必然趋势也是满足未来应用需求的关键要素。
也就是在这样一个开放性平台应用需求的驱动力下,多核技术应运而生。
(责任编辑:)