失陷云服务器安全监控研究

2016-12-22 21:59赖建华
软件导刊 2016年11期

赖建华

摘 要:云计算环境下,云租户的安全边界已经回到云服务器自身,快速发现失陷云服务器是云租户最后的安全防线。在分析云服务器失陷特征的基础上,提出了云服务器入侵监控的实现框架,为快速识别失陷云服务器提供解决方案。

关键词:失陷云服务器;失陷云主机;入侵监控;入侵感知

DOIDOI:10.11907/rjdk.162395

中图分类号:TP309

文献标识码:A 文章编号文章编号:16727800(2016)011018103

0 引言

云服务器是IaaS服务提供商基于虚拟化技术虚拟化出来的Guest OS(也称“虚拟机”),具有简单高效、处理能力可以弹性伸缩的特点。云服务器采用通用的操作系统(Windows、Linux)、数据库等系统软件,运行用户业务应用软件。在服务器方面存在的安全风险问题与传统安全风险是一样的。在IaaS环境下,云服务器的操作系统、运行环境以及应用软件的安全性由云服务器的用户自行负责(参见国标GB/T 31168-2014)[1]。从某种意义上讲,云服务器的安全边界已经转移到云服务器自身了。

在互联网中,服务器存储着大量有价值的信息资源,黑客怀着非法控制、窃取数据、驻留后门等目的,入侵互联网服务器系统。在传统业务向云计算迁移后,云服务器自然也成了黑客攻击的首要目标。据国家互联网应急中心(CNCERT)发布的2015年中国互联网网络安全报告[2]显示,2015年,被黑客控制的僵尸服务器IP地址为10万余个,境内7.5万个网站被植入后门,境内被篡改的网站数量为24 550个。

近年来爆发的各种安全事件证明,黑客攻击对象已经从传统的捏软柿子模式转变为针对性攻击,攻击手段从传统的已知漏洞攻击转变为复杂的高级威胁,甚至采用0 Day漏洞进行攻击。而地下黑色产业链所蕴藏的巨大经济利益使攻击目标从早期的技术炫耀转变为利益驱动,攻击者也从个体走向有组织的黑客团体。

面对利益驱动的黑客针对云服务器的攻击,可按照P2DR(策略-防护-监测-响应)安全模型[3]开展安全防御,如图1所示。本文着重研究云服务器安全监测环节,分析如何发现云服务器被入侵的痕迹,及时采取应急处置措施,将损失降低到最小。

1 云服务器失陷过程

为了研究云服务器被黑客入侵的痕迹,首先必须了解黑客入侵的过程,黑客针对云服务器的攻击由多个阶段组成。美国军工巨头洛克希德·马丁(Lockheed Martin)公司提出了一个叫“Cyber Kill Chain”(CKC,网络攻击链)[3]的模型,该模型将入侵者对网络的攻击分为7个阶段,如图2所示。

失陷云服务器指被攻击者成功入侵的云服务器,在主机安全这个层次上,失陷云服务器与传统服务器并无本质区别,本文的结论也适合于传统服务器。网络攻击链模型的7个阶段如下:

(1)目标探测(Reconnaissance)。攻击者明确攻击对象后,通常会从3方面对攻击目标进行探测:①从社会工程学等角度收集被攻击对象的人员信息、防御措施;②从互联网域名注册、搜索引擎、端口扫描等角度收集被入侵对象(IP)的信息;③从开放端口和服务进一步发现可攻击的弱点,如Web应用漏洞、系统漏洞等。

(2)准备武器(Weaponization)。基于对攻击目标的探测结果,利用已知漏洞或编写针对目标现有漏洞的恶意代码,并进行绕过防御措施的测试,保障攻击代码能够对杀毒软件免杀或绕过其它防护手段。云服务器(或传统服务器)的漏洞主要分为3个层次:应用软件漏洞(Web应用)、运行环境漏洞(Apache、IIS、PHP等)以及系统级漏洞(Windows、Linux)。

(3)投放武器(Delivery)。攻击者攻击云服务器可能采用正面利用漏洞进行攻击,正面攻击无效可能采用从维护人员入手等手段进行侧面攻击。维护人员的攻击可以通过钓鱼邮件、钓鱼网页以及USB感染的方式发起鱼叉式攻击,导致维护人员电脑植入事前准备好的恶意代码,进一步感染云服务器。

(4)漏洞利用(Exploit)。恶意代码成功植入云服务器,获得初步权限,进一步利用系统其它漏洞(如嗅探、口令破解、第三方软件、数据库系统漏洞等)提升自身权限,最终获得管理员控制权。

(5)安装后门(Installation)。获得系统高级权限后,黑客通常会进一步上传各类工具,修改系统账号、放置后门木马来达到其入侵和控制的目标。

(6)命令控制(Command & Control)。恶意软件在云服务器启动后,将与攻击者在远端部署的命令与控制(C&C)服务器主动建立连接,接收来自C&C服务器发送的控制命令。

(7)执行行动(Actions)。攻击者通过C&C服务器控制云服务器发起进一步的恶意行为,如DDoS攻击或入侵新的目标,窃取有价值的数据或外传已获取的数据等。

攻陷云服务器的手段多种多样,而攻陷之后造成的影响往往发生在网页篡改、被云运营商封杀甚至被监管部门通报才能够发现自己的云服务器已经失陷。从失陷到发现的时间周期可能是几天、几月甚至更长时间。如何在云服务器失陷后最短时间内及时发现,便于云服务器管理者迅速采取隔离、恢复等响应措施,将黑客攻击的损失降到最低。本文将对云服务器入侵痕迹进行分析,并给出自动化监控的解决方案。

2 云服务器入侵痕迹特征分析

云服务器的安全性依赖于两个方面:一是云计算服务提供商的安全基础设施,例如防火墙、入侵防御等软硬件设备;二是依赖于云服务器管理员采取的安全防护措施。

云服务器的安全防护很难做到像传统物理机那样安装很耗资源的杀毒软件、软件防火墙等,这些安全防护软件可能会消耗数十上百兆的内存以及部分CPU资源,传统物理机的计算资源通常是过剩的,而云服务器的计算资源是按需申请的,如何尽量减少大型杀毒软件和安全防护软件的开销,而又能够快速发现服务器安全状态,是云服务器安全值得研究的一个课题。

本文研究的目标是黑客入侵系统后留下的痕迹,以快速发现服务器被入侵的事实。从入侵过程可以看出,黑客在入侵过程中,从漏洞利用、权限提升、控制系统等环节均有可能留下入侵痕迹。

从表1可以看出,云服务器遭受到入侵,一定会在主机系统中留下痕迹。本文从系统层面、网络层面、应用层面以及日志层面等4个维度来分析黑客入侵痕迹。

2.1 系统层面入侵痕迹

系统层面主要包括系统启动项、账号口令、异常进程、异常服务这4个方面。

(1)账号口令。黑客控制服务器后,为了后期能够长期控制服务器,往往会创建系统账号,而新创账号往往是管理员组的。重点要检查在管理员组的账号是否可疑,包括Windows的管理员组和Linux系统的root权限账号。Windows系统还应该警惕隐藏账号和克隆账号,这需要通过管理工具或注册表来进一步发现。

(2)系统启动项。黑客入侵要驻留后门,最简单的办法就是通过将后门放在系统开机启动项和系统任务计划两种方式进行加载和激活。在Windows系统或Linux系统中查找异常启动项,通常能够快速发现入侵痕迹。部分系统木马已经不再采用这种明显的启动方式,而采用线程注入和系统驱动加载等方式,这需要PCHunter等更加专业的工具。

(3)异常进程。通过查看进程来识别可疑程序是否在服务器中运行。很多高级后门(有时称为Rootkit)以系统驱动形式、内核钩子以及应用钩子挂载形式存在,运行之后并没有进程。这类木马检查需要借助一些专业工具,比如PCHunter等。

(4)异常服务。后门木马有可能以后台驻留服务的形式运行,具有一定的隐蔽性。

2.2 网络层面入侵痕迹

查找网络层面入侵痕迹的目的是发现已经在运行并且与互联网通信的行为。后门木马要跟攻击者建立联系,必定要跟外网发起连接,建立C&C通信(命令与控制)或上传盗取的数据,甚至作为僵尸主机发起对其它受害者的攻击。

通过系统命令或工具可以查看网络连接是否正常,网络连接状态包括LISTENING(监听)、ESTABLISHED(建立)、TIME_WAIT(等待)等状态。一般而言,服务器不会主动发起对互联网的连接,如果发现服务器主动访问互联网的80、21等端口,那么一定要进一步检查发起连接的进程是否可疑,连接的目标域名或IP是否可疑。

2.3 应用层面入侵痕迹

服务器被黑客入侵,若黑客没有获得服务器控制权,则很难查到黑客入侵痕迹,但并不代表服务器没有被黑客入侵。

当前黑客通常从Web应用作为入口,通过上传Webshell(Web脚本木马)来达到控制服务器的目的。Webshell是一种网页脚本程序,可以用任何网页脚本语言来编写,包括PHP、ASP、JSP、.NET、JS。有些Webshell还可以隐藏在图片(.jpg)文件中。

在做Web服务器入侵痕迹检查时,要从网站的根目录开始查找可疑的Webshell,以及一些可疑的.bak、.zip、.jpg、.cer等文件。

2.4 日志层面入侵痕迹

理论上讲,只要服务器进行了合理的日志管理配置,绝大部分的入侵痕迹都能够在日志中找到蛛丝马迹。但由于日志分析的专业性较高,而且工作量很大,因此,在做服务器入侵分析时,以上分析都没有发现可疑的地方,再进入日志分析,就可提高效率。

日志分为系统日志、应用日志和数据库日志几大类。简单的日志分析方法为人工查看,如果日志量巨大,必须借助专业的日志分析工具来分析黑客入侵痕迹。

3 云服务器入侵监控实现

云服务器入侵痕迹检查在服务器安全运维过程中是非常关键的环节,如果管理员同时要管理数十上百台的云服务器,对所有云服务器开展人工检查,其工作量是非常庞大的。设计一个软件对云服务器进行自动化安全检查,显得尤为必要。

3.1 云服务器安全监控需求

3.1.1 监控准确率高

对于黑客入侵痕迹,如果产生大量误报甚至漏报,对真正的入侵痕迹难以发现,那么监控的价值便大大折扣。为了提高入侵痕迹检测的准确性,除了采用传统基于特征的检测技术以外,还需要引入基于基线的学习与分析技术,对于可疑的后门或木马引入沙盘虚拟执行技术来提升对异常特征的发现准确率。

3.1.2 占用主机资源小

市场上已经有类似的主机安全防护类产品(例如360卫士),兼顾监控、防护于一身,功能全面,仅安装包就有数十兆,运行时嵌入到系统内核,占用资源大。而云服务器安全监控以监控为目的,只需要定期采集数据,并不需要调用系统内核API或进行复杂的数据分析。因此,可以做到占用很小的系统资源甚至在闲时不占用任何资源,这对于对资源敏感的云服务器是一种比较好的选择。

3.1.3 集中监控与告警

管理员面对数十甚至上百台云服务器时,对云服务器的安全状态能够集中监控,对偏离基线的事件能够及时发现甚至告警。

3.2 云服务器入侵监控架构设计

失陷主机入侵监控系统首先要能够对云服务器系统层、网络层、应用层和日志信息的关键信息进行采集和处理,然后进行特征分析并能够给运维管理人员加以展示。

云服务器入侵监控系统各层主要功能简要描述如下:①数据采集层:采用轻量级客户端对主机信息进行采集,并将存在变更的信息上传到数据处理层;②数据处理层:数据处理层主要对上传的配置文件以及样本进行分类存储和索引,并将不同类别的数据提交给数据分析层处理;③数据分析层:对文本类别、可执行程序或Webshell等按照不同的策略进行分析,并形成分析结果;④展示层与告警层:面向用户,对分析结果进行展示,按照危险级别进行告警。

4 结语

云服务器失陷的原因有许多,包括黑客采用0 Day漏洞绕过所有的防御手段,但黑客不可能不留下任何痕迹。本文对云服务器安全问题的最后一站——服务器“失陷”的特征和痕迹进行调查,以避免云服务器被攻击后沦为僵尸主机而不自知;同时给出了大规模云服务器入侵监控的自动化实现方式,为大规模云服务器安全监控提供了解决方案。

参考文献:

[1] 中国国家标准化管理委员会.云计算服务安全能力要求(GB/T 31168-2014)[S].2014.

[2] 国家计算机网络应急技术处理协调中心.2015年中国互联网网络安全报告[EB/OL].http://www.cert.org.cn/publish/main/upload/File/2015annualreport.pdf,2016.

[3] 百度百科.P2DR模型[EB/OL].http://baike.baidu.com,2013.

[4] ERIC M HUTCHINS,MICHAEL J CLOPPERTY,ROHAN M AMIN.Lockheed martin corporation intelligencedriven computer network defense informed by analysis of adversary campaigns and intrusion kill chains[EB/OL].http://www.lockheedmartin.com/content/dam/l.ockheed/data/corporate/documents/LMWhitePaperIntelDrivenDefense.pdf,2014.

(责任编辑:孙 娟)