基于操作系统指纹识别的服务器虚拟化安全策略

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于操作系统指纹识别的服务器虚拟化安全策略
张成玺;田东平;刘建华
【摘要】With the virtual computing technology, the coupling relationship between software and hardware in previous real computing was removed,and which also solvedthe problem of energy consumption reduction. The server virtualization is more and more popular in application, and becomes a recent research hot-spot, but which also has some security problems. As the communication between virtual machines can't be monitored with traditional flow monitoring method,and the network attack is realized by the vulnerability of operating system, so a strategy is proposed to meet this problem ,which is a security policy based on fingerprint identification of operating system. It is more intelligently and efficiently to install patch with slice technology to achieve the objective of enhancing security and preventing attack.%虚拟计算技术的引入,打破了以往真实计算中软件与硬件之间紧密的耦舍关系,在提高效率以及节能减耗等方面解决了许多问题,随着服务器虚拟化在应用中的普及,已而成为近年来研究的热点问题.但是同时服务器虚拟化在安全性方面也产生了问题.由于虚拟机之闻的通信过程无法通过传统的流量监测方法进行实时监测,而网络攻击主要是利用操作系统的漏洞来进行的,因此在此提出一种基于操作系统指纹识别技术的安全策略来检测各虚拟机的操作系统.利用切片技术的智能安装补丁,达到提高安全性,抵御攻击的目的.
【期刊名称】《现代电子技术》
【年(卷),期】2011(034)006
【总页数】3页(P102-104)
【关键词】服务器虚拟化;操作系统指纹识别;切片技术;指纹识别
【作者】张成玺;田东平;刘建华
【作者单位】西安邮电学院,陕西,西安,710061;西安建筑科技大学,陕西,西
安,710055;西安邮电学院,陕西,西安,710061
【正文语种】中文
【中图分类】TN919-34;TP309
0 引言
自计算机诞生以来,计算机硬件系统性能的飞速发展,远远超过了软件发展的速度。

摩尔定律预测的系统性能增长模式验证了其正确性[1]。

硬件的高速发展带来了资
源浪费问题,而在提高资源利用率,降低系统整体成本,降低能耗方面虚拟化具有很大价值。

此外,虚拟化带来的优势还有服务器整合,业务的动态调度,应用的实时迁移,加速应用部署,容灾备份简单便利等。

所以近些年随着服务器虚拟化应用十分广泛。

但是虚拟化也带来一些安全问题。

一台物理服务器上的各个虚拟机之间通信的过程无法用传统方法监测得到[2]。

因此如果发生无法内部虚拟机之间攻击
将无法察觉。

由于目前网络攻击均是利用操作系统或工具软件的漏洞来进行的,所以在不能利用网络流量监测攻击的情况下,通过实施有预见性的安全管理,如及时安装操作系统及工具软件的补丁也可以提高安全性,抵御攻击。

但是通常一台服务器上运行着数
量众多的虚拟机,无法得知操作系统的种类,而且由于虚拟机数量太多,管理困难,所以本文采用操作系统指纹识别技术来识别各虚拟机操作系统的种类。

然后利用虚拟器件镜像管理中文件切片技术思想来智能自动地为操作系统及工具软件安装补丁,同时也可安装相应的安全工具并及时更新版本。

1 服务器虚拟化
1.1 基本概念
Wikipedia是这样描述虚拟化的:虚拟化是表示计算机资源的抽象方法,通过虚
拟化可以用与访问抽象前资源一致的方法访问抽象后的资源,这种资源的抽象方法并不受实现、地理位置或底层资源中物理配置的限制。

在虚拟化技术中,被虚拟的实体是各种各样的IT资源。

按照这些资源的类型分类,可以分为系统虚拟化、基
础设施虚拟化、软件虚拟化[2]。

服务器虚拟化就是将虚拟化技术应用于服务器上,将一个服务器虚拟成若干个服务器使用。

服务器虚拟化使得在单一物理服务器上可以运行多个虚拟服务器,并为虚拟服务器提供能够支持其运行的硬件资源抽象[2]。

1.2 设备与I/O虚拟化
在服务器虚拟化中,网络接口是一个特殊设备,具有重要作用。

虚拟服务器都是通过网络向外界提供服务的。

在服务器虚拟化中每一个虚拟机都变成一个独立的逻辑服务器,它们之间的通信过程通过网络接口进行。

每一个虚拟机都被分配了一个虚拟的网络接口,从虚拟机内部看来是一块虚拟网卡。

服务器虚拟化要求对宿主操作系统的网络接口驱动进行修改。

经过修改后,物理机的网络接口不仅要承担原有网卡的功能,还要通过软件虚拟出一个交换机。

虚拟交换机工作于数据链路层,负责转发从物理机外部网络投递到虚拟机网络接口的数据包,并维护多个虚拟机网络接口之间的连接。

当一个虚拟机与同一个物理机上的其他虚拟机通信时,它的数据包会通过自己的虚拟网络接口发出,虚拟交换机收到该数据包后将其转发给目标虚拟机的虚拟网络接口[2]。

整个过程如图1所示。

图1 虚拟化过程
1.3 服务器虚拟化带来的安全性问题
虚拟机与外部网络的通信可以通过在物理服务器外加设防火墙或入侵检测系统来防范攻击。

但是由于虚拟机之间的通信是通过虚拟交换机进行的,并且虚拟交换机是工作在数据链路层的。

现有的网络流量测量、网络路由安全策略必须是基于三层,也就是网络层实现的,因此虚拟机之间的网络安全变成了一个棘手的问题。

在目前不能利用网络流量监测攻击发生的情况下,实施有预见性的安全管理,加强虚拟机之间的隔离机制,及时安装操作系统及工具软件的补丁便成为一种有效的解决手段。

随着服务器硬件性能的提升,以及服务器虚拟化技术的飞速发展,目前服务器上运行的虚拟机数量越来越多。

如何识别各种操作系统,并智能高效地为其安装需要的补丁是一个急需解决的问题。

因此本文提出利用操作系统指纹识别技术[3]来识别
系统,并利用虚拟器件镜像的切片技术[2]以及IBM的TPM虚拟器件的部署技术[2]来智能高效的进行操作系统补丁、中间件、工具软件的安装。

2 TCP/IP堆栈操作系统指纹识别
2.1 基本概念
RFC1180对TCP/IP协议栈知识进行了描述,并没有进行一个严格的工业标准规定,因此各个操作系统厂商在自己产品上对TCP/IP协议的实现有着细微的差别,这些差异就被称为指纹[3]。

TCP/IP是目前网络中应用最广的协议。

对TCP/IP协
议栈指纹进行归纳总结,可以有效地获取操作系统类型。

探测操作系统的方式可以分为主动式及被动式两种。

主动式探测工具与网络目标设备进行交互,主动发送一些探测数据触发器,通过从目标设备返回的回应消息可以判断出操作系统的类型,Xprobe2,Namp就是著名的主动探测式工具[4]。

但这种主动探测易于引起攻击者察觉,不易保护检测者。

因此推荐使用更为隐秘的被动式探测,被动探测不会与目标系统交互,通过监控网络数据流,将其表现出来的特征和相应的模式属性库进
行匹配分类。

2.2 数据准备
被动探测是通过从TCP/IP会话中提取出以下数据[3]并与属性库进行比较,而后判断操作系统类型的。

WWWW:窗口大小;MSS:最大报文长度;TTL:生存时间。

指定了数据报可以在网络中传播的最长时间;WS:窗口扩大因子;S:选择性确
认技术允许(SACK-Permitted)标志;N:无操作(NOP);D:短延迟位设定标志;T:时间戳(TIMESTAMP);F:SYN和ACK位设定标志;LEN:IP头长度。

其中,MSS,WS,S,N,T均为TCP协议中可选项。

2.3 指纹识别系统的设计与算法
通过在物理服务器外配置一个数据包捕获与识别系统对操作系统进行指纹识别,可以用网络编程的方法来实现该系统[3]。

从捕获的数据中提取操作系统指纹,然后
在指纹数据库中进行匹配,进而得到操作系统类型和版本信息。

数据包识别模块包括提取指纹与指纹匹配两个流程。

提取指纹时首先从捕获到的数据包中获得相应项并组合成字符串特征式WWWW:MSS:TLL:WS:S:N:D:T:F:LEN。

匹配算法[3]:在该系统中构造函数:fingerprint_push(char * finger, int param, int value)。

将TCP/IP头中特征项WWWW,MSS,TTL,WS,S,N,D,T,F,LEN的值存
入格式为WWWW:MSS:TTL:WS:S:N:D:T:F:LEN的字符串,打开指纹数据库文件etter.finger.os,对特征式每一部分用strncpy()函数进行比较。

如果两个特征式
一致,则完全匹配,然后将该操作系统信息提取并保存;如果匹配失败,则采用近似匹配算法得出最相近操作系统版本,分两步骤完成指纹特征式的近似匹配,在指纹中的第一项WWWW(TCP原始窗口大小)一致的指纹中,忽略第二项最大报文
长度(MSS)后若能匹配。

该行中操作系统部分就是最相似的系统版本;若匹配还失败,则只能根据较少的特征项来确定操作系统类型,采用被动式操作系统识别的基本项进行比较,即通过TTL,TOS或Window Size来近似匹配系统类型。

匹配算
法流程如图2所示。

图2 匹配与算法流程
3 智能高效的更新系统及工具补丁
在识别操作系统类型及版本信息后,对系统及上运行的工具软件进行智能高效的补丁更新。

这里借助事先建立好的公共数据库来实现,这个数据库里不但存放着上文中操作系统的特征指纹数据,还存放着打包好的虚拟器件镜像,是一个公共可访问仓库。

对镜像文件的元数据信息和文件内容分别存储。

镜像文件的元数据信息包括文件的大小、文件名、创建日期、修改日期、读写权限等,以及指向文件内容的指针链接。

而镜像文件的实际内容一般会采用切片技术[2]来进行存储。

即将一个较
大的镜像文件切成很多的小文件片,为每一个文件分配一个唯一的标识符,以及文件内容的摘要串。

这需要在元数据里增添新信息。

通过镜像切片及生成的内容摘要,镜像管理系统可以发现这些镜像文件中相同的文件片,然后对这些文件进行去重操作。

当一个镜像新版本进入系统时,系统会通过切片及生成摘要,识别出新版本哪些内容与之前版本不同,只保存不同的切片。

DMTF(Distributed Management Task Force)非赢利标准化组织制定开放虚拟化格式OVF(Open Virtualization Format)。

OVF包是虚拟器件最终发布的打包格式,它是按照
IEEE 1003.1 USTAR POSIX标准归档的并以.ova为后缀的文件。

这里,操作系统及工具的补丁都以这种形式存储在公共仓库里。

下面可以借鉴IBM在虚拟化管理方面先进的技术[2]来解决安装补丁问题。

Tivoli
产品线是IBM负责提供信息服务管理产品和解决方案的。

Tivoli家族的
TPM(Tivoli Provisoning Manager)是数据中心资源自动化管理解决方案的核心产品。

可以自动完成服务器、存储器、网络设备、操作系统、中间件、应用程序的部署和配置任务,它通过工作流(workflow)来完成系统资源的部署。

对于部署包含
虚拟化平台的操作系统,TPM的插件TPM for OS Deployment(TPM OSD)可以
实现操作系统的部署。

通过扩展工作流,TPM能够实现智能高效安装系统的更新。

4 结语
本文提出了一种基于TCP/IP堆栈的操作系统指纹识别技术,以检测虚拟机操作系统,用利用虚拟器件部署的先进技术来智能高效地进行系统及工具软件补丁更新的方法。

提升了虚拟机的安全性,以抵御虚拟机之间的内部安全隐患,并为数据中心的高效管理提供了可能。

下一步的研究工作重点应放在如何在数据中心建立多个公共数据库,构建一个私有云环境,利用分布式资源提高效率并解决冗余备份的问题。

参考文献
[1] 鲁松.计算机虚拟化技术与应用[M].北京:机械工业出版社,2008.
[2] 王庆波.虚拟化与云计算[M].北京:电子工业出版社,2009.
[3] 吴沩旻,李月.被动式TCP/IP指纹识别操作系统[J].电脑编程技巧与维
护,2008(12):78-84.
[4] GREGG Michael,WATKINS Stephen,MAYS George,et al. 堆栈攻击:八层网
络完全防御[M].陈师,译.北京:人民邮电出版社,2008.
[5] 金海.计算机系统虚拟化:原理与应用[M].北京:清华大学出版社,2008.
[6] 英特尔开源软件技术中心,复旦大学并行处理研究所.系统虚拟化:原理与实现[M].北京:清华大学出版社,2009.
[7] 沙超,陈云芳.一种基于TCP_IP协议栈的操作系统识别技术[J].计算机技术与发展,2006,16(10):125-127.
[8] 刘英,薛质,王轶骏.基于TCP协议可选项的远程操作系统识.[J].信息安全与通信保密,2007(11):71-72.。

相关文档
最新文档