对于目前层出不穷的恶意软件攻击,需要采用多种策略来提高系统的安全性。本文结合几个案例对攻击防护的相关内容进行介绍。
防火墙
防火墙是众多安全设备中的一种,是一种简单有效的防护方式。防火墙的应用存在两个矛盾:一个是安全和方便的矛盾,另一个是效果与效能的矛盾。前者是指安全必然会带来过程的繁琐、造成使用的不便,后者是指想要达到更好的安全防护效果就需要消耗更多的资源。在设计合理可用的防火墙时往往需要考虑上述矛盾,并根据要求进行权衡。
防火墙的提出和实现最早可以追溯到20世纪80年代。研究人员采用包过滤(Packet Filter)技术先后推出了电路层防火墙和应用层防火墙,开发了基于动态包过滤技术的第4代防火墙和基于自适应代理技术的防火墙。防火墙有其简单的核心原理和运行机制,以确保有效性。下面介绍防火墙的基本原理、分类、技术架构等问题。
( 1 ) 防火墙的基本原理
防火墙是可以对计算机或网络访问进行控制的一组软件或硬件设备,也可以是固件。防火墙将网络分为内部网络和外部网络两部分,而其自身就是这两个部分之间的一道屏障。一般认为防火墙就是隔离在内部网络和外部网络之间的一道执行控制策略的防御系统。如图1所示,防火墙是一种形象的说法,其科学本质是建立在内部网络和外部网络之间的一个安全网关。
图1 防火墙在网络中的位置
防火墙的核心原理是:分析出入的数据包,决定放行还是拦截,只允许符合安全设置的数据通过。从这一点来看,防火墙实质上是一种隔离控制技术,是在不安全的网络环境下构造一种相对安全的内部网络环境,它既是一个分析器,又是一个限制器。
防火墙的必要性和有效性的基本假设是:外部存在潜在的安全威胁,内部绝对安全;内外互通的数据全部流经防火墙。
防火墙的作用是通过访问控制来保证网络安全,具体包括端口管理、攻击过滤、特殊站点管理等。防火墙的具体作用如下。
1.强化安全策略,过滤掉不安全的服务和非法用户,即过滤进、出网络的数据,管理进、出网络的访问行为,拒绝发往或者来自所选网点的请求通过防火墙。
2.监视网络的安全性,并报警。
3.利用网络地址转换技术,将有限的动态地址或静态地址与内部的地址对应起来,以缓解地址空间短缺的问题。
4.防火墙是进出信息都必须通过的关口,适合收集关于系统和网络使用和误用的信息。利用此关口,防火墙能在网络之间进行信息记录,其是审计和记录使用费用的一个最佳地点。网络管理员可以在此提供连接的费用情况,查出潜在的带宽瓶颈位置,并能够依据本机构的核算模式提供部门级的计费。
5.防火墙可以连接到一个单独的网络上,在物理上与内部网络隔开,并部署服务器以作为向外部发布内部信息的地点。
防火墙一般由服务访问规则、验证工具、包过滤、应用网关4个部分构成,微观上可以存在于路由器、服务器、PC端等多种设备中,宏观上部署在两个网络环境之间,如内部网络和外部网络之间、专用网络和公共网络之间等。
防火墙在运行时原理上可选的安全认证策略有3种:一种是肯定的,认为只有被允许的访问才可以放行,这可能会造成对安全访问行为的误杀;另一种是否定的,认为只有被禁止的访问才是不被允许的,这可能会导致未知的不安全访问发生;还有一种是以上两种策略的协调,即动态制定允许访问与禁止访问的条件。
( 2 ) 防火墙的分类
防火墙的实现有多种类型,基于其核心思想,根据分析数据的不同和安全防护机制的不同,其可以划分为3种基本类型,基于这些基本类型可以构建复合类型。各类型的防火墙介绍如下。
1.包过滤型防火墙
包过滤型防火墙工作在网络层,因此又称为网络级防火墙。包过滤技术是指根据网络层和传输层的原则对传输的信息进行过滤,其是最早出现的防火墙技术。在网络上传输的每个数据包都可以分为两部分:数据部分和包头。包过滤技术就是在网络的出口(如路由器)处分析通过的数据包中的包头信息,判断该包是否符合网络管理员设定的规则,以确定是否允许数据包通过。一旦发现不符合规则的数据包,防火墙就会将其丢弃。包过滤规则一般会基于某些或全部包头信息,如数据的源地址和目标地址、TCP源端口和目标端口、IP类型、IP源地址等。
包过滤技术的优点是简单实用、处理速度快、实现成本低、数据过滤对用户透明等。同时其也有很多缺点,主要的缺点是安全性较低,不能彻底防止地址欺骗,正常的数据包过滤路由技术无法执行某些安全策略。包过滤技术工作在网络层和传输层,与应用层无关,因此,其无法识别基于应用层的恶意侵入。
2.应用代理(Application Proxies)型防火墙
代理服务器技术也称为应用层防火墙技术,它控制对应用程序的访问,能够代替网络用户完成特定的TCP/IP功能。一个代理服务器实质上是一个为特定网络应用而连接两个网络的网关。当内部客户机要使用外部服务器的数据时,首先会将数据请求发送给代理服务器,代理服务器接收到该请求后会检查其是否符合规则,如果符合,则代理服务器会向外部服务器索取数据,然后外部服务器返回的数据会经过代理服务器的检测,由代理服务器传输给内部客户机。由于代理服务器技术彻底隔断了内部网络与外部网络的直接通信,因此外部网络的恶意侵害也就很难进入内部网络。
代理服务器技术的优点是安全性较高,实施较强的数据流监控、过滤和日志功能,可以方便地与其他安全手段集成等。同时其也有很多缺点,主要的缺点是访问速度慢、对于每项服务代理可能会要求不同的服务器、代理对用户不透明等。
3.网络地址转化代理(NAT Proxies)型防火墙
网络地址转换技术是一种通过在防火墙上装一个合法的IP地址集,把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。当不同的内部网络用户向外连接时,使用一个公用的IP地址;当内部网络用户互相通信时,则使用内部IP地址。
内部网络的IP地址对外部网络来说是不可见的,这极大地提高了内部网络的安全性,同时这种技术也缓解了少量的IP地址和大量主机间的矛盾。当然这种技术也有很多的局限,例如,内部网络可以通过木马程序利用网络地址转换技术与外部连接而穿越防火墙。
4.状态检测防火墙
状态检测技术采用的是一种基于连接的状态检测机制,能够对各层的数据进行主动的、实时的检测。当防火墙接收到初始化连接的数据包时,会根据事先设定的规则对该数据包进行检查,如果该数据包被接受,则在状态表中记录下该连接的相关信息,并将其作为以后制定安全决策的参考。对于后续的数据包,将它们与状态表中记录的连接内容进行比较,以决定是否接受它们。状态检测技术的优点是提高了系统的性能、安全性高等。同时其也有很多缺点,主要的缺点是实现成本高、配置复杂、会降低网速等。
5.复合型防火墙
把前述的基于各种技术的防火墙整合成一个系统,即为复合型防火墙,其可构筑多道防御,确保更高的安全。
( 3 ) 防火墙的技术架构
从实现原理上分,防火墙的技术架构可分为4类:网络级防火墙(也叫包过滤型防火墙)、应用级网关、电路级网关和规则检查防火墙。它们各有所长,具体使用哪一种或是否混合使用,要根据具体需要确定。
1.网络级防火墙
网络级防火墙一般是基于源地址和目的地址、应用、协议以及每个IP包的端口来做出通过与否的判断的。一个路由器便是一个“传统”的网络级防火墙,大多数路由器都能通过检查信息来决定是否将所收到的包转发,但它不能判断出一个IP包来自何方、去向何处。防火墙会检查每条规则直至发现包中的信息与某规则相符。如果没有一条规则能符合,则防火墙就会使用默认规则,一般情况下,默认规则就是要求防火墙丢弃该包。其次,通过定义基于TCP或UDP数据包的端口号,防火墙能够判断是否允许建立特定的连接,如Telnet连接、FTP连接等。
2.应用级网关
应用级网关能够检查进出的数据包,通过网关复制传递数据,防止受信任服务器和客户机与不受信任的主机直接建立联系。应用级网关能够理解应用层上的协议,能够做复杂的访问控制,以及精细的注册和稽核。应用级网关针对特别的网络应用服务协议,即数据过滤协议,并且能够对数据包进行分析以形成相关的报告。应用级网关会给予某些易于登录和控制所有输出输入的通信环境严格的控制,以防有价值的程序和数据被窃取。在实际工作中,应用级网关一般由专用工作站系统来充当。但每一种协议都需要相应的代理软件,使用时工作量大,效率不如网络级防火墙。应用级网关有较好的访问控制性能,是最安全的防火墙技术,但其实现困难,而且有的应用级网关缺乏“透明度”。在实际使用中,用户在受信任的网络上通过防火墙访问Internet时,经常会出现时延问题并且必须进行多次登录才能访问Internet或Intranet。
3.电路级网关
电路级网关用来监控受信任的客户或服务器与不受信任的主机间的TCP握手信息,进而来决定该会话(Session)是否合法。电路级网关在OSI模型中的会话层上过滤数据包,这样比包过滤防火墙要高两层。电路级网关还提供了一个重要的安全功能:代理服务器(Proxy Server)。代理服务器是设置在Internet防火墙网关中的专用应用级代码。这种代理服务准许网络管理员允许或拒绝特定的应用程序或一个应用程序的特定功能。包过滤技术和应用级网关是通过特定的逻辑判断来决定是否允许特定的数据包通过的,一旦判断条件满足,防火墙内部网络的结构和运行状态便会“暴露”在外来用户面前,这就引入了代理服务的概念,即防火墙内外计算机系统应用层的“链接”由两个终止于代理服务的“链接”来实现,这就成功地实现了防火墙内外计算机系统的隔离。同时,代理服务还可用于实施较强的数据流监控、过滤、记录和报告等功能。代理服务技术主要通过专用计算机硬件(如工作站等)来实现。
4.规则检查防火墙
规则检查防火墙结合了包过滤防火墙、电路级网关和应用级网关的特点。它同包过滤防火墙一样,能够在OSI网络层上通过IP地址和端口号过滤进出的数据包。规则检查防火墙也像电路级网关一样,能够检查SYN和ACK标志和序列数字是否逻辑有序。当然,其也像应用级网关一样,可以在OSI应用层上检查数据包的内容,查看这些内容是否符合企业网络的安全规则。规则检查防火墙虽然集成了前三者的特点,但是其不同于一个应用级网关的是,规则检查防火墙并不打破客户机/服务器模式来分析应用层的数据,它允许受信任的客户机和不受信任的主机建立直接连接。规则检查防火墙不依靠与应用层有关的代理,而是依靠某种算法来识别进出的应用层数据,这些算法通过已知合法数据包的模式来比较进出数据包,这样在理论上其就能比应用级网关在过滤数据包上更有效。
( 4 ) 防火墙的问题分析
防火墙自身有其局限性,它解决不了的问题包括:① 不能防范不经过防火墙的攻击和威胁;② 只能对跨越边界的信息进行检测、控制,而对网络内部人员的攻击不具备防范能力;③ 不能完全防止传送已感染病毒的软件或文件;④ 难于管理和配置,容易造成安全漏洞。
今后,防火墙技术的发展要求防火墙采用多级过滤措施,并辅以鉴别手段,使过滤深度不断加强,从目前的地址过滤、服务过滤发展到页面过滤、关键字过滤等,并逐渐具备病毒清除功能,安全管理工具、可疑活动的日志分析工具不断完善,对网络攻击的检测和警告将更加及时和准确。现行操作系统自身往往存在许多安全漏洞,而运行在操作系统之上的应用软件和防火墙也不例外,一定会受到这些安全漏洞的影响和威胁。因此,其运行机制是防火墙的关键技术之一。为保证防火墙自身的安全和彻底堵住因操作系统的漏洞而带来的各种安全隐患,防火墙的安全检测核心引擎可以采用嵌入操作系统内核的形态运行,直接接管网卡,将所有数据包进行检查后再提交给操作系统。并且,可以预见,未来防火墙的发展趋势有高性能防火墙、分布式防火墙、集成智能化防火墙等。
( 5 ) 安卓防火墙
下面以安卓(Android)系统下基于服务申请拦截的恶意软件检测防护工具为例介绍安卓防火墙。Android系统的重要系统资源都是以服务的形式提供给应用程序的,基于这一点,可以对服务进行拦截、判定,从而防止恶意软件非法申请资源。
Android系统下基于服务申请拦截的恶意软件检测防护工具的工作原理如图2所示。
图2 恶意软件检测防护工具工作原理
当Android系统启动后,恶意软件检测防护工具的服务管理器跟踪和入侵系统的服务管理进程,修改服务申请响应函数,拦截服务申请以供后续判断;应用程序运行时,会申请其所需的各种服务,此时,服务管理器会对该服务申请进行拦截,获取服务申请的各个参数,判定服务的类型;接下来,根据应用程序申请的服务类型,查询行为规则库,判定该服务申请是否安全;若该服务申请危险,则拒绝服务申请,并中止提出申请的应用程序;若该服务申请的安全性未知,则提示用户,由用户自行拒绝或接受服务申请。通过这样的方法,我们可以在运行应用程序时发现并阻止软件的恶意行为,增强系统的安全性。
病毒查杀
计算机病毒的防治要从防毒、查毒、解毒3个方面进行,系统对于计算机病毒的实际防治能力和效果也要从防毒能力、查毒能力和解毒能力3个方面来评判。防毒能力是指预防病毒侵入的能力,查毒能力是指发现和追踪病毒的能力,解毒能力是指从感染对象中清除病毒、恢复被病毒感染前的原始信息的能力,该恢复过程不能破坏未被病毒修改的内容。
病毒查杀就是指利用各类安全工具发现系统中隐藏的各类可疑病毒程序,并且清除感染对象中的病毒,以恢复被病毒感染前的原始信息。病毒查杀的主要方式如下。
( 1 ) 主动防御技术
主动防御技术是指通过对病毒行为的规律进行分析、归纳、总结,并结合反病毒专家判定病毒的经验提炼出病毒识别规则知识库;模拟专家发现新病毒的机理,通过分布在用户计算机系统上的各种探针动态监视程序运行的动作,并将程序的一系列动作通过逻辑关系分析组成有意义的行为,再结合病毒识别规则知识,实现对病毒的自动识别。
主动防御主要由以下模块组成。
① 实时监控模块:负责实时监控计算机系统内各个程序运行的动作,并将这些动作提交给程序行为分析模块进行分析。
② 病毒识别规则知识库:对病毒行为的规律进行分析、归纳、总结,并结合反病毒专家判定病毒的经验提炼出病毒行为识别规则知识库。病毒识别规则知识库主要包括恶意程序识别规则知识库和正常程序识别规则知识库。
③ 程序行为自主分析判断模块:依据实时监控模块监控的各个程序运行的动作,结合病毒识别规则知识库,对程序动作进行关联性分析,并结合反病毒专家判定病毒的经验进行自主分析,如果某程序是病毒,则首先阻止病毒危害行为的发生,同时通知病毒处理模块对病毒进行清除处理。
④ 病毒处理模块:负责对判定为病毒的程序进行清除处理。
( 2 ) 云查杀技术
反病毒界提出的云查杀概念来源于云计算,试图利用云计算的思路从另一个途径解决越来越多的病毒危险问题。目前,云查杀基本上分为两类。
① 作为一个最新的恶意代码、垃圾邮件或钓鱼网址等的快速收集、汇总和响应处理的系统。
② 病毒特征库在云上的存储与共享。作为收集响应系统,它可收集更多的病毒样本。但是,因为“端”(用户计算机)没有自动识别新病毒的能力,所以需要将用户计算机中的文件上传到“云”(反病毒公司)。
( 3 ) 基于云的终端主动防御技术
奇虎360公司提出了基于云的终端主动防御技术。该技术采用在服务器端进行文件审计与行为序列的统计模型,在客户端部署轻量的行为监控点,以透过服务器端的文件知识库与行为序列实现恶意软件行为的拦截。
1.客户端的行为监控技术
以往安全软件的主动防御功能基本是基于客户端的,即在客户端本地具有一系列判定程序行为是否为恶意的规则,当某个程序的行为序列触发了本地规则库中的规则,并且超过权重评分系统的某个特定阈值时,即判断该程序有恶意行为。这一方法的最大不足在于,恶意软件作者通过逆向分析安全软件程序及本地规则库,较容易绕过安全软件的行为监控点并实现“免杀”,这会降低安全软件的防护能力,造成安全软件的被动应对。
基于云的主动防御技术会在客户端收集某一程序的行为特征,并将其发送到云端服务器,由云端服务器来判定客户端程序的行为恶意与否。
2.服务器端的行为判定技术
将单体客户端上的特定程序的特征/行为序列发送给服务器,由服务器在其数据库中进行分析比对,根据比对结果判定该程序的特征/行为序列的恶意与否,并将判定结果反馈给客户端。这一过程的难点在于如何实现服务器端的判定。其具体可以分为两个步骤:首先,取得程序文件的信誉评级,包括文件的等级(黑、白、灰、未知)、文件的流行度、文件的年龄等;其次,根据程序文件的行为序列与文件的信誉评级进行综合规则匹配。例如,若文件等级未知,流行度小于10个用户,文件年龄小于2天,另外,行为规则符合特定行为特征串,那么返回“有风险须注意”的标示。
服务器端行为序列与文件信誉两者结合匹配是一个社区化联防的创新方式。随着木马手段趋向于社交工程方式攻击,这套匹配方式可以快速提取行为特征并结合文件信誉评级,提高快速响应速度。
3.客户端的响应处置技术
客户端需要根据服务器端反馈的判定结果,决定是否对程序行为进行拦截,终止执行该程序或清理该程序,恢复系统环境。
服务器端针对反馈的结果可以采取不同的策略,有些是清除文件、结束进程,有些是指定放行,或配合其他新增的防御模块提供新的动作,例如,提示用户使用沙箱运行该程序。这种机制不再局限于传统规则匹配后只能有命中和不命中两种处理策略。由于处理策略是在服务器端指定的,因此只须变更服务器端,即可变更针对不同行为特征的恶意软件的处置方法,使系统针对新型未知恶意行为的防护能力和响应速度大大提升。
综上所述,基于云的主动防御技术将行为规则放在服务器端,提高了被突破的门槛,同时大大提高了响应速度,无须升级客户端规则文件;并通过结合海量程序文件行为与属性数据,可以实现行为攻击预警与联防。
( 4 ) 手机杀毒技术
随着手机的广泛使用,病毒也开始向手机传播。下面以Android系统下基于包校验的病毒查杀工具为例,介绍手机病毒查杀。在Android系统下,人们获得软件的渠道是不可控的,病毒、木马和广告程序等恶意代码经常会被植入正常软件中。由于Android系统下软件都是以APK包的形式传输和安装的,因此可以通过软件包校验的方法获知软件是否被篡改过,同样地,也可以检测软件是否为已知的恶意软件。
Android系统下基于包校验的病毒查杀工具的工作原理如图3所示。
图3 手机病毒查杀工具工作原理
病毒查杀工具的高效运行依赖于软件黑白名单的建立。通过搜集大量常用软件的可信版本(如软件的官方网站版本、大的软件市场的高下载量无恶评版本等),并对Android安装包(Android Package,APK)文件做MD5和SHA-1的Hash运算,用软件名、版本、Hash值即可形成白名单。与此类似,通过搜集大量恶意软件的样本,并对APK文件做MD5和SHA-1的Hash运算,用软件名、版本、Hash值即可形成黑名单。
对待验证的软件,病毒查杀工具会获得其APK文件的软件名、版本、Hash值,并将它们与白、黑名单中的内容进行对比分析,若白名单中有相应的软件名、版本,且Hash值完全匹配,则说明用户要安装的软件是安全的;若白名单中有相应的软件名、版本,但Hash值不匹配,则说明用户要安装的软件被篡改过,是危险的;如果白名单中没有相应的软件名、版本,则查询黑名单,若黑名单中有相应的软件名、版本,且Hash值完全匹配,则说明用户要安装的软件是已知的恶意软件,是危险的(仅Hash值完全匹配也可以说明是恶意软件);若黑名单中也没有相应的软件名、版本、Hash值,则说明白、黑名单未收录该软件,安全性未知。通过这样的方法,我们可以快速有效地识别软件的安全性,直接查杀部分恶意软件,归类未知软件,为其他安全策略提供参考。
云安全体系架构
云安全系统是一个客户端和服务器端(云端)配合实现的智能安全防护体系,由客户端的云安全智能防护终端软件和服务器端的云端智能协同计算平台两部分构成,如图4所示。
图4 云安全体系架构
( 1 ) 云安全智能防护终端
作为云安全体系的重要组成部分,客户端发挥了“传感器”和“处置器”的作用。
首先,客户端的主要作用是充当恶意软件/网页样本的采集传感器。为了确保采集的全面性,需要尽可能多地对恶意软件可能的行为、传播途径进行监控和审计,主动防御技术可以用于这一目的。在云安全的客户端软件中,从以下各个层面实现了针对恶意软件的查杀、行为监控和审计。
1.恶意软件云查杀
当用户进行系统扫描时,对系统的关键启动位置、内存、关键目录、指定的文件目录等进行扫描,提取文件名称、路径、大小、MD5指纹、签名信息等文件特征信息,并通过实时联网与云安全查询引擎通信,将文件特征信息发送给云安全查询引擎,然后根据云安全查询引擎返回的结果或规则的分析,对被扫描文件进行相应的处置。
2.网页安全监控和防护
据统计,90%以上的恶意软件是通过浏览恶意网页传播的,因此网页安全浏览是终端安全防护的第一道关口。网盾采用静态特征匹配和动态行为监控相结合的技术,通过挂钩系统关键应用程序编程接口(Application Programming Interface,API)实现行为监控,根据一系列规则判定被浏览网页是否为恶意网页。网页恶意行为的特征包括:修改系统文件、写注册表、下载可执行文件、创建进程、加载驱动程序、加载系统DLL等。当发现可疑的恶意网页时,即将恶意网页的统一资源定位符(Uniform Resource Locator,URL)地址及其行为特征上传至云端服务器。
3.下载安全防护
恶意软件传播的另一个主要途径是通过软件的捆绑或后台升级,下载器软件就是典型的木马传播者。云安全智能防护终端会监控系统所有进程的下载行为,一旦发现有从可疑地址下载文件的行为,就会将下载者的进程文件样本及其行为特征上传至云端服务器。
4.移动介质安全防护
大量恶意软件利用AutoRun的机制通过U盘等移动介质进行传播,U盘防火墙功能将自动监测移动介质的连接及其自动运行的程序,一旦发现其有可疑行为,就会将其文件样本和行为特征上传至云端服务器。
5.恶意行为智能拦截
恶意行为智能拦截即主动防御功能,又称系统防火墙。木马等恶意软件入侵系统时总会试图执行若干特定操作以便实现驻留系统并开机运行的目的,这些基本上都是通过修改系统关键启动项、修改文件关联、增加浏览器插件、劫持通信协议等方式实现的。有效发现文件的可疑行为,并将其样本和行为特征上传至云端服务器。
6.网络防火墙
网络防火墙可以对可疑软件的网络通信行为进行监控,例如,ARP攻击、劫持通信协议、连接恶意网址等,一旦发现即可将其样本和行为特征上传至云端服务器。
7.用户隐私数据保护
绝大部分木马恶意软件的目的是实施盗号,因此,它们必然会对特定的应用(如网络游戏、网上银行等)实施挂钩、注入、直读内存等行为。账号保险箱软件对针对特定应用程序的敏感操作进行了监控,一旦发现即可将其样本和行为特征上传至云端服务器。
由上述分析可知,云安全智能防护终端在恶意软件传播的各个主要途径都进行了拦截监控,一旦发现有某个文件的行为触发了一定的规则,就会判定其行为可疑,经过与云安全中心确认该文件尚未采集,即可将其文件样本和客户端对其行为特征的初步分析结果上传至云端服务器。这就保证了对新的可疑文件的最全面的采集能力,同时将对可疑文件行为分析的一部分工作分散至终端完成,从而节约了服务器端的计算资源。
( 2 ) 云端智能协同计算平台
云端智能协同计算平台是云安全体系的服务器端核心技术。它可以完成恶意软件/网页的云计算分析,即不仅可以对文件/网页样本进行自动分析,还可以结合客户端分析该样本初步行为的结果,以及大量用户对客户端处置的人工交互反馈结果(如对安全告警的选择),这实际上体现了群体智慧或协同计算的概念。云端智能协同计算平台包括文件/网页安全分析中心、海量白名单采集与自动更新系统、高性能云安全查询引擎、智能海量数据挖掘系统、全网安全威胁预警系统、大规模分布式计算平台、海量数据存储平台等几个部分。各部分功能说明如下。
1.文件/网页安全分析中心
文件/网页安全分析中心主要包括海量样本自动分析系统、恶意网页监测系统和恶意行为监控和审计系统3部分。
① 海量样本自动分析系统:采用静态特征码匹配、启发式扫描、机器学习等方法,对客户端采集并上传的海量可疑文件/网页样本,或者通过搜索引擎蜘蛛程序抓取的网页,进行自动分析,判定每个样本的安全级别。
② 恶意网页监测系统:监测整个中国互联网,检测识别挂马、钓鱼、欺诈等恶意网页,同时发现新的操作系统和应用软件漏洞。
③ 恶意行为监控和审计系统:对于无法通过自动静态分析判定安全级别的文件/网页样本,将其放入虚拟机环境运行,监控并记录其所有行为,若其行为特征触发特定的恶意行为规则且超过指定阈值,则判定其为恶意行为。
2.海量白名单采集与自动更新系统
文件/网页安全分析中心的结果是形成恶意软件/网页的黑名单,但是对于恶意软件的判定,无论是采用静态特征码匹配,还是采用动态行为监控技术,都不可能保证100%的准确性,因而可能导致误报。此外,基于一个假设“恶意软件的数量可能会远远超过可信正常软件的数量”,这个黑名单的数量可能会非常庞大。这时,更为有效的解决方案是建立可信正常软件的白名单技术,亦即尽可能多地采集用户常用的各类软件(包括操作系统软件、硬件驱动程序、办公软件、第三方应用软件等)的文件白名单,且保持白名单的实时更新。事实上,只要白名单技术足够有效,云安全系统就完全可以采用“非白即黑”的策略(即前述可信软件的配置管理方案),也就是任何不在白名单内的文件即可认为其是可疑的恶意软件(黑)。
3.高性能云安全查询引擎
高性能云安全查询引擎是云安全体系中的核心部件之一。云安全体系所要形成的主要结果为文件/网页的安全级别和可信度信息(包括恶意软件/网页黑名单数据、正常软件的白名单数据、未知安全级别文件数据),数据的规模十分庞大,而且具有极快的更新速度。服务器端需要为海量的文件/网页的安全级别和可信度信息建立索引,并提供面向客户端的高性能查询引擎。
4.智能海量数据挖掘系统
智能海量数据挖掘系统会对文件/网页安全分析中心的分析结果数据和白名单系统中的数据,以及用户上传和云查询引擎的检索日志与查询结果数据进行统计分析和挖掘,从中可以分析出大量有用的结果,如某个恶意软件的感染传播趋势、某个恶意被网页代码的挂马传播趋势、某个漏洞被利用的趋势等,甚至可以分析并发现新的0day漏洞,这对云安全体系的整体效果的改善有着重要的指导作用。
5.全网安全威胁预警系统
全网安全威胁预警系统利用智能海量数据挖掘系统的分析结果,对可能威胁公众及国家网络安全的大规模安全事件进行预警分析与管理。这个系统可为国家有关部门、重要的信息系统等提供面向中国互联网的安全威胁监测和预警服务。
6.大规模分布式计算平台
为了实现对海量数据的高性能处理能力,云计算一般需要利用大规模分布式并行计算技术,这是云安全所需的核心技术之一。实现云安全所需的分布式并行计算平台,需要考虑以下两个因素:① 数据规模十分庞大;② 与恶意软件的对抗是一个长期的过程,对恶意软件的分析与判定方法也会不断变化,因此,这个分布式并行计算平台应具备较强的可伸缩性和适应性,不仅可以扩展支持更大的数据处理规模,还可以将新的分析方法或加工过程灵活地加入系统,而不会导致系统体系结构出现较大变化。
7.海量数据存储平台
海量数据存储平台也是云计算体系中的核心平台技术之一。海量样本、整个云端处理流程中的各类中间结果数据、用户反馈数据、用户查询日志等,每一种数据的规模都是海量的。云安全系统建立了一个海量的分布式文件数据存储平台,并提供对上层应用的透明数据存取访问功能,可保证数据存储的可靠性、一致性和容灾性。
沙箱工具
沙箱(Sandbox)工具可为来源不可信、具有破坏力或无法判定程序意图的程序提供运行环境,它是在受限的安全环境中运行应用程序的一种做法,这种做法是要限制授予应用程序的代码访问权限。
沙箱技术是安全厂商和计算机安全研究人员常用的一种检测恶意软件和病毒的技术,下面以Android系统下的一个沙箱工具为例具体介绍沙箱技术。此沙箱工具结合服务申请监控和软件自动化测试方法,可以自动化地检测软件运行时有无恶意行为,从而判定软件的安全性,为黑白名单的扩充提供基础。
Android系统下的软件安全判定沙箱工具的工作原理如图5所示。
图5 软件安全判定沙箱工具工作原理
软件安全判定沙箱工具由行为规则库、测试管理分析环境以及Android测试环境3个部分组成。首先,准备封闭可监控的Android测试环境,用于待测试软件的运行。接下来,待测试软件会被推送安装到Android测试环境中。在Android测试环境中,通过采用各种手段(模拟用户操作,如随机操作、页面爬行等;模拟关键事件;激发软件恶意行为)自动化测试应用程序,使其表现出运行时的行为,并对其行为进行监控和记录。当运行测试完成后,处理行为记录,采用行为规则或数据挖掘等方法分析应用的行为,判定应用的安全性,其中,行为规则方法需要事先总结归纳恶意行为的一般特征,数据挖掘方法则需要依赖大量的样本数据。最后,积累分析结果,结合其他分析结果扩充行为规则库,扩充样本集,从而持续提高行为分析的准确率。通过这样的方法,我们可以自动、大量地测试应用软件,判定其安全性,获取行为规则,以扩充行为规则库和病毒库。
图6所示为Android系统下的软件安全判定沙箱工具的原型,展示了对批量应用程序安全性判定的结果。
图6 软件安全判定沙箱工具判定结果截图
原文来源:计算机与网络安全
原文始发于微信公众号(关键基础设施安全应急响应中心):物联网安全:攻击防护