美章网 资料文库 安全终端的虚拟桌面系统范文

安全终端的虚拟桌面系统范文

本站小编为你精心准备了安全终端的虚拟桌面系统参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

安全终端的虚拟桌面系统

《通信技术杂志》2014年第六期

1终端信息残留风险

诚然,虚拟化技术的出现,解决了传统业务平台固有的安全风险。使得整个系统易于管理,易于配置。调查数据表明,只有不到10%的桌面虚拟化用户部署了安全工具,专门针对处理虚拟化技术带来的安全风险;仅有20%的桌面虚拟化用户发现自己系统的安全风险,考虑在未来试用安全工具进行虚拟化安全防护;剩下70%的桌面虚拟化用户对于使他们的虚拟化环境的安全性没有做任何的工作,也没有意识到虚拟化技术同样可以带来安全风险。桌面虚拟化技术带来的风险有些是显而易见的,比如服务器的映像并不固定在硬盘上,而是出现在整个网络上。在虚拟化实施过程中,实际的硬盘数据迁移意味着虚拟服务器内存页会在整个网络上存在。新的架构、进程和管理系统以及组织结构都会产生很多的潜在隐患。现实的问题是,针对虚拟化的安全产品少之甚少,面对各个虚拟化厂商和集成商,在销售过程中,完全避而不谈桌面虚拟化的风险,仅讨论带来安全方面的保证,也是使得这个问题很难暴露的一个原因[3]。在桌面虚拟化应用环境中,只要有访问权限,任何智能终端都可以访问云端的桌面环境。给用户带来接入上的便利的同时也引入了非常大的安全隐患。首先是终端合法性无法保障,传统的桌面可以采用物理隔离的方式,其他人无法进安全控制区域窃取资料。而在虚拟桌面环境下,若不采取终端控制手段,任意一台智能终端都可接入系统,这种安全保障就不复存在了。其次是接入身份的真实性难以确保,如果使用单纯的用户名密码作为身份认证,那么其泄露就意味着对方可以在任何位置访问你的桌面系统,并获取相关数据。一种安全可靠的终端身份认证机制对虚拟桌面应用系统来说就显得尤为重要。最后就是终端丢失后带来的数据暴露风险,虽然桌面虚拟化的终端仅存储虚拟桌面的显示信息,但是这些显示信息在终端上都是明文状态,一旦终端丢失,数据将完全泄露。

2安全终端设计

针对桌面虚拟化时终端面临的安全风险,安全终端主要从以下两个方面进行设计考量。安全终端防护模块见图1。在用户侧采用USB-Key作为强身份认证因子,提高传统用户名密码的认证方式的安全性。终端自身从硬件、固件、软件三个层面实现自身安全性防护。

2.1USB-Key虚拟化映射技术虚拟桌面要对系统中的物理资源和虚拟机资源做完整的管控,对于资源的获取要进行身份鉴别。虚拟桌面、虚拟服务器需通过USB映射,利用传统身份认证系统,实现USB-KEY与口令结合的方式进行用户身份鉴别。虚拟化管理平台在进行USB映射时,可以选择USB设备类型,仅映射人体工程学类型的USB设备用于双因子设备USB-KEY使用,存储类型的USB设备可以禁止映射。但是,当前的VDI协议所支持的USB重定向功能无法实现同一个USB-Key经过重定向后在终端和虚拟桌面中都可以使用,进行传输通道的加密要求客户端需要有密码设备存在以保证加密强度,同时,在虚拟桌面中同样需要硬件密码设备进行身份鉴定,数据加密等操作。通过改造Spice协议中的USB重定向模块实现USB-Key的虚拟化功能目前Spice协议USB重定向流程如图2所示。在用户端,SpiceUSB重定向功能是以过滤驱动存在于操作系统中,未开启USB重定向功能时,SpiceUSB重定向模块直接将数据转发到用户端操作系统的USB总线中,此时操作系统可以正常检测到USB-Key。开启USB重定向功能后,USB-Key数据将被重定向模块截获并通过Spice协议通道传输到虚拟桌面中的Spice重定向模块中(终端USB总线将不再收到任何USB-Key的信息),重定向模块直接数据写入到虚拟桌面USB总线中,实现虚拟桌面对USB-Key的识别。USB-Key虚拟化需要实现的关键技术在于,当开启了USB重定向功能后,用户端仍然可以识别并操作USB-Key。USB-Key虚拟化的关键技术在于,SpiceUSB重定向模块需要支持将截获到的USB-Key数据传递到远端Spice重定向模块的同时将数据发送到用户端USB总线中,从而实现终端和虚拟桌面同时对USB-Key的访问。

2.2硬件完整性检测安全终端上电启动后,由CPU和FPGA共同发起检测,扫描挂载在CPU总线上的芯片,读取芯片信息,如发现NANDFLASH,EEPROM等不符合要求时,驱动扬声器进行报警,并将终端挂起,禁止运行BOOTLOADER程序。如果硬件完整性检测通过,表明所有芯片均为出厂时配备,未发生非法替换行为,硬件的完整性,可靠性得到保证,允许进入下一阶段,运行BOOTLOADER启动程序,加载系统。

2.3BOOTLOAD启动程序在嵌入式系统中,BOOTLOADER是在操作系统内核运行之前加载运行的一段轻量级程序。大多数BOOTLOADER包含两种不同的操作模式:“启动模式”和“下载模式”。当BOOTLOADER运行在“下载模式”下,目标机上的BOOTLOADER将通过串口和网络等通信手段从主机下载文件,更改启动文件,然后控制启动流程。在安全终端中,通过对BOOT-LAODER的定制开发,使其运行在“启动模式”下,关闭“下载模式”,网络,串口等调试接口,系统只能从本地启动。对本地文件镜像(LINUX内核,文件系统等)进行完整性检测,防止文件被非法篡改。设置BOOTLAODER段为只读,防止从LINUX下修改BOOTLOADER代码。BOOTLOADER的流程图如图3所示。第一阶段主要完成CPU相关设置,内存控制器初始化,堆栈设置,设置异常向量等工作。第二阶段,BOOTLOADER程序首先完成初始化FLASH设备,系统内存等。然后读取存储在FLASH中的BOOTLOADER,启动参数,LINUX内核,文件系统,进行HASH运算,与预期值进行对比判断,验证其完整性,可靠性。当发现与预期值不符时,驱动扬声器进行报警,驱动显卡芯片,在界面显示报警图像,并将终端挂起,禁止启动LINUX内核。当完整性检测正确时,驱动显卡芯片,在显示器终端上展示安全终端LOGO。将内核及文件系统读入到内存中,调用内核,启动LINUX。

2.4内核和文件系统保护由UBOOT启动完成后加载LINUX内核,并将系统控制权交给内核。为保证整个系统的安全可靠,通过定制编译出需要的嵌入式内核系统。内核系统定制是根据硬件配置方案来深度裁剪出需要的内核。定制的基本原则是只加载需要的驱动程序并力求精简,把不需要的硬件驱动剔除掉,以减少内核文件的大小。同时对用户账号严格控制,关闭root账号,只允许单用户登录、操作。LINUX系统内核成功启动以后,就具备的操作系统的基本功能,可以对硬件设备进行管理了。但是它还不具备应用软件运行所需要的完整环境,操作系统还需要进一步加载所需的文件系统。通过对主程序及启动脚本都进行加密保护,防止终端的主程序遭到破解或篡改。使用AES加密算法实现指定密钥串来加密受保护的文件,分别使用不同的密钥串来加密单独的文件。由于在启动时需要指定解密的密钥串,所以在启动脚本中会使用密钥串,为了隐藏密钥串内容,将run.sh加密并编译为二进制文件,这样可以有效的保护擦除工具被别人暴力破解和篡改。同时禁止用户对FLASH,EEPROM等存储芯片的写操作。防止篡改BOOT-LOADER,LINUX内核等文件。

3基于安全终端的虚拟桌面系统

由上文分析可知,身份认证和终端防护能为用户提供一个安全可靠的终端环境,保证会话终端的可信赖性。据此设计了一个基于安全终端的虚拟桌面系统,其逻辑结构图如图4所示。该系统包含虚拟桌面服务器、应用服务器、域控服务器、安全终端4个部分。客户端必须通过域控服务器的身份认证才能与服务器建立连接,具体步骤如图5所示。安全终端与各系统的工作时序如图5所示,各环节说明如下:1)用户执行开机操作,安全终端加电,屏幕显示用户能够接入的域的信息,等待用户选择。2)插入USB-Key并输入登录信息。3)安全终端向虚拟桌面服务器发起登录请求;登录请求被发送至域控服务器。4)域控服务器校验用户身份,检查是否有权限访问桌面。5)虚拟桌面服务器将桌面图像的序列化视频流推送至用户。6)用户进行桌面操作,安全终端将鼠标、键盘动作附加身份信息后发送至虚拟桌面服务器。7)虚拟桌面服务器执行相应动作,向应用服务器发起访问请求。8)应用服务器检查请求中包含的用户身份,响应或拒绝用户请求。9)桌面刷新后,将新的视频流重新推送至用户。10)用户使用完毕后确认注销。11)安全终端向虚拟桌面管理器发起注销请求。12)虚拟桌面服务器上的虚拟机执行挂起,并在一段时间不操作后转入休眠。13)安全终端执行断电重启,清除所有缓存信息。

4实验分析

为了验证本系统对于安全性能的提升,我们搭建了实验环境,并进行了简单的安全性验证实验。硬件设备采用DellR710服务器,安全终端以及USB-Key,虚拟化平台技术采用KVM。实验步骤如下:1)在网络连接正常的情况下,开机,直接输入登录信息登录,记录结果。2)在网络连接正常的情况下,开机,插入USB-Key并输入登录信息登录,记录结果。3)修改系统的引导程序,尝试非正常引导。4)终端重启后,读取内存信息。实验结果如下:1)登录失败。2)登陆成功。3)系统拒绝修改引导。4)内存信息全部被清除。从实验结果可以看出,采用USB虚拟化映射技术之后,使得USB-Key能够在虚拟桌面系统中使用。攻击者只有同时获取USB-Key和用户名/密码才能进行身份冒充,提高了身份认证的可靠性。终端自身防护措施则保证了系统信息无法被恶意修改,同时还确保终端重启后不会残留任何用户数据。

5结语

桌面虚拟化使得用户可以随时随地以任何设备对个人桌面进行访问。在带来便捷应用的同时也带来了新的安全风险。这些安全机制的不健全,已经成为用户选择使用虚拟桌面系统的最大顾虑[5]。现有安全解决方案多是考虑虚拟桌面服务器端的安全防护,对于终端侧的防护措施比较薄弱。本文从终端侧所面临的安全风险作为切入点,分析了应对这些风险的解决方案。并对所使用的到相应技术进行介绍。通过强因子认证和终端自身安全防护两方面加强终端侧的安全防护能力,从而实现安全的虚拟桌面系统。

作者:周文刘晓毅龙恺单位:中国电子科技集团公司第三十研究所