APP下载

浅析云平台安全操作系统关键点

2017-12-30曹峥国电科技环保集团股份有限公司杨少辉中国国电集团公司

数码世界 2017年10期
关键词:私钥内核密钥

曹峥 国电科技环保集团股份有限公司 杨少辉 中国国电集团公司

浅析云平台安全操作系统关键点

曹峥 国电科技环保集团股份有限公司 杨少辉 中国国电集团公司

云平台以“按需分配”的理念为广大用户提供了大量的云服务,使用户不再受限于自身资源的不足。操作系统是云服务的载体,它是本机软、硬件资源的调度者和管理者,没有底层的云操作系统安全,云服务安全就是“空中楼阁”。

云平台 操作系统 虚拟化

1 前言

云平台的服务器大多使用内核开源的Linux系统,比起“安全黑洞”的Windows系统,用户自然更放心一些。然而,开源是一把双刃剑,它能给系统设计者提供自由发挥和创造的空间,也能使攻击者获得灵感,从开源的代码中分析漏洞,进而实施精准攻击。如果攻击者对云平台核心服务器的操作系统攻击成功,将会造成毁灭性后果。因此,只有云平台操作系统的安全性得到保障,云平台才能真正成为互联网应用的乐园。

2 云安全操作系统关键点

2.1 云访问控制机制

Linux中每一个文件都具有特定的属性,文件夹、设备等都被当成文件对待。每个文件都按访问控制规则划分一定权限,包括对文件的读、写、执行。Linux是多用户操作系统,允许多用户同时登录。访问控制列表(ACL)限制着包括根用户在内的所有用户对文件、套接字的访问。在文件的机要性方面,云平台与普通环境有很大差别,根用户必须把云服务的可执行文件、命令文件、数据库文件、配置文件、文档文件、日志文件等都纳入自己的特权范围。在整个云平台中,几乎所有文件之间都相互关联或引用,稍有不慎,可能导致整个云平台的崩溃。因此在云环境下,不但要基于云服务器本机文件系统做访问控制策略,还应基于整个云网络文件系统做访问控制策略。

2.2 加密文件系统

云平台管理员通常要定期对操作系统或服务进行升级,有时需要重新编译内核源码,编译完成后有时会忘记对源码文件删除和粉碎,这就给攻击者留下可乘之机。除源码文件之外,Linux文件系统中还有很多机密文件(比如配置文件),如果仅依靠访问控制机制保护云服务器文件系统安全,对精通linux内核的黑客来说无异于形同虚设,基于其它密钥载体的加密文件系统(EFS)就十分必要。

在操作系统安装时就会为根用户生成一对公钥和私钥,其它用户在注册成功时也会由操作系统为其生成公私钥对和公钥证书。公钥证书被操作系统明文发布,私钥以密文形式存于根分区。用户只能对具有写权限的文件实施加密,加密完成后,没有密钥将永远无法打开。加密须包括文件属性,并且一次一密,以抵抗重放攻击。加密文件时,由加密服务提供包(CSP)生成会话密钥(FEK),以FEK加密该文件,并由EFS服务调出用户公钥并用于加密FEK,产生动态防护文件头(DDF),然后将DDF与原文件的密文链接在一起,组成一个新文件置于原磁盘分区的目录之下。解密过程正好相反,先以用户私钥解密DDF,从而得到FEK,再以FEK解密文件。

如果将具有一定计算、存储能力的USBKey、智能卡等设备作为存放私钥、本地证书的载体,按需为其注入密钥算法,再以设备驱动代替原加密服务提供包,则云平台文件系统安全性将得到极大增强。在驱动程序中,控制指令只能读写指定寄存器,不能读写存放私钥、本地证书、密钥算法的flash区,该区的访问由硬件完成,攻击者将无计可施。

时间效率与信息安全是一对矛盾,运行加、解密需要付出一定的时间代价,在云平台中信息量大、读写频繁,如果对所有文件都进行加密,显然不现实。为了使用方便,很多私有云从不考虑对文件的加密保护,造成大量机密文件被窃,尤其当配置文件遭到篡改,整个云平台都可能崩溃。权衡利弊之下,对特别机密、重要且读写不太频繁的文件,必须进行加密以确保其安全。

2.3 内核对象安全

文件存于磁盘等外存设备,并由文件系统进行管理。当不依托硬件载体对文件进行软加密时,EFS进程在其虚存内核区中加载CSP模块,并为文件加密再申请一块内存,该内存对用户进程不可见,只能以系统调用的形式访问。对于其它内核对象如队列、事件等,也以这种形式进行访问。内核对象用安全描述符进行保护,它描述了对象的创建者、使用者及其权限。当文件或设备被不同的用户进程访问,每打开一次都产生一个文件描述符,以隔离不同的系统调用。

对于云平台的服务器软件,其中有些包含着大量关键运算(如文件加解密、压缩、大数据算法),保密级别很高。然而在应用开发时,程序员为便于开发,没有严格按照安全操作系统的定级要求,没有在必要时创建、使用内核模块和对象,而是直接在用户区内存完成这些关键运算,这样做非常危险。安全的做法是,将各种关键运算功能编译成内核模块,并将关键数据结构编译成内核对象,当用户进程需要调用时,将内核模块动态加载给linux内核,用户进程再通过系统调用加以引用。因用户进程不具有内核权限,便无法得知内核模块与内核对象在内核区的具体地址,即使该用户是恶意用户(如黑客),他也无法从瞬息万变的内存里得到任何有价值的信息。

3 结语

由于云计算的虚拟化特点,云服务可在不同宿主机上非常方便地进行迁移植和备份,使得云服务可以灵活部署和分配资源。但是,云环境中同时存在着宿主操作系统与虚拟操作系统,后者可作为一个或几个文件保存起来,通过虚拟机的迁移或对备份的恢复,使得宿主操作系统与虚拟操作系统不再具有时间上的线性关系。宿主机处理器状态的变化,势必会破坏宿主操作系统基于线性时间而制定的安全策略和安全协议,因而对宿主操作系统的安全性要求更高。关于虚拟化云平台操作系统安全性的研究,将持续成为未来信息安全研究的热点。

[1]卿斯汉、刘文清等.操作系统安全.北京:清华大学出版社,2004

[2]冯登国、张敏等.云计算安全研究.软件学报,2011,22(1):71-83

[3]Steve Burnett等著.密码工程实践指南.北京:清华大学出版社,2001

[4]Sailer R, Jaeger T, Valdez E, et al. Building a MAC-based Security Architecture for the Xen Opensource Hypervisor. IBM Research Report RC23629,2005

[5]Moller K T. Virtual Machine Benchmarking, Diploma Thesis,2007

猜你喜欢

私钥内核密钥
多内核操作系统综述①
比特币的安全性到底有多高
幻中邂逅之金色密钥
幻中邂逅之金色密钥
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
强化『高新』内核 打造农业『硅谷』
活化非遗文化 承启设计内核
密码系统中密钥的状态与保护*
微软发布新Edge浏览器预览版下载换装Chrome内核
TPM 2.0密钥迁移协议研究