◆李墨泚 赵华容 陈宇飞
操作系统、网络体系与服务器技术
基于可信计算的操作系统加固技术研究
◆李墨泚 赵华容 陈宇飞
(海军参谋部 北京 100841)
可信计算是当前信息安全领域的一个全新课题,它为计算机系统的信息安全提供主动防御的解决方案。本文以可信计算技术的基本概念为基础,介绍了可信计算在操作系统安全加固领域的研究情况,通过对当前信息系统存在的安全漏洞分析,对安全加固方案进行研究,实现计算机系统的安全。
可信计算;可信计算基;操作系统加固;可信度量
当前,随着计算机的发展及互联网的普遍应用,信息安全、网络安全和个人计算机安全已经成为一个迫切需要解决的问题。而当前大部分信息安全系统主要是由防火墙、入侵监测和病毒防范等系统组成,属于被动防御手段,恶意用户的攻击手段越来越高明导致这种系统的使用效率大大降低,尤其是在对信息安全要求很高的军用领域,这种传统防护手段已经不能从根本上解决信息安全问题了。由信息和计算机网络系统构成的信息系统中,最薄弱、易受攻击、而保护力度又相对缺乏的就是对计算机系统的保护。计算机系统是信息系统中敏感信息的直接载体,也是各类应用运行的平台,因此对计算机系统的保护是保证整个信息系统安全的基础,而对计算机操作系统安全保障又是保证计算机系统安全的核心所在。
因此引入可信计算技术,它是当前计算机信息安全领域的一个全新课题,与传统的防火墙等被动防御手段不同,其核心思想是采取主动防御措施,从硬件平台和操作系统建立信任源点,利用密码机制建立信任链,从而提高整个系统的安全性。
本文从可信计算技术的基本概念开始,分析目前主流操作系统面临的主要威胁和漏洞,结合可信计算技术,对操作系统的加固技术做了研究。
可信计算技术是解决当前计算机系统的安全问题的最佳方案。可信计算是指计算运算的同时进行安全防护,使操作和过程行为在任意条件下,其结果总是与预期一样,计算全程可测可控,不被干扰。
为了实现这一目的,人们陆续提出了在应用程序层、操作系统层、硬件层来实现可信计算基,而目前最为权威的概念是以硬件平台为基础,包含可信BIOS程序、可信操作系统及可信应用层组件等综合的体系,称之为可信计算平台。
可信计算平台包含一个完整的体系,其基础是在计算机的硬件平台上引入可信模块硬件,即可信密码模块TCM,该模块内部运行密码算法,是计算机系统的信任源点,利用密码机制建立信任链,构建可信赖的计算环境,而从提高系统的安全性。
为了从根本上解决目前计算机系统存在的基础安全缺陷,必须以密码为基础,采用可信计算技术,对计算机软、硬件体系结构进行全面改造,在PC终端硬件平台上引入具有自身保护能力和密码运算功能的硬件部件(可信密码模块),以可信密码模块作为平台安全保密的核心(可信根),对系统软件进行可信安全增强,构造可信计算密码平台,解决PC终端存在的基础性安全缺陷问题,从而为军事信息系统建立牢固可靠的安全运行基础环境,为从根本上解决当前军事信息系统存在的安全保密问题奠定基础。
可信计算不是一个孤立的个体,它是由计算机软、硬件体系共同构成的一个整体,其概念是以可信硬件平台为基础,包含可信密码模块、可信操作系统、可信应用程序等综合的体系。它与传统的防火墙、病毒防护工具等被动防御手段不同,可信计算强调的是主动防御,即在硬件平台上增加专用的可信密码模块作为可信根,通过用户身份认证、平台软硬件配置完整性验证、应用程序的完整性度量与验证、数据的安全保护等手段,实现平台上数据及程序代码的机密性、受保护性,防止病毒恶意代码攻击、保证用户的机密信息不被窃取、保障数据和系统不被非法破坏,从而构建安全可信赖的计算环境。可信计算框架如图1所示。
图1 可信计算架构
综上所述,可信计算技术已成为信息安全领域的发展要务,同时也是业界公认的信息安全技术手段,可信计算机技术的应用将从硬件结构上为计算平台构建免疫系统,将根本性解决目前的安全难题,对全面提高我国计算机系统的安全防护水平具有重要的意义。
当前信息系统面临安全威胁主要是由于边界类安全产品的安全机制容易被恶意攻击者通过某些技术手段旁路,并且也无法防御新型攻击和来自局域网内部攻击的安全威胁。
目前主流的办公操作系统(如Windows、Linux等)存在较多安全漏洞,以微软的windows系统为例,仅在2009年一年,微软公司就发布了72个补丁修复了近190个安全漏洞。而其中很多漏洞会被黑客利用,成为黑客攻击的目标或跳板。传统的安全工具都是通过打补丁的方式对操作系统漏洞进行修复,但是这种事后补救的方式存在着较大的安全隐患,往往在补丁没有发布之前,黑客就已经利用这些漏洞对计算机系统造成极大的破坏。
操作系统完整性破坏是当前计算机系统面临的主要安全威胁。现有操作系统,从开机启动到运行服务过程中,对执行代码不做任何完整性检查,导致病毒、木马程序可以嵌入到执行代码程序或者直接替换原有程序,实现病毒、木马等恶意代码的传播。这些恶意代码一旦被激活,就会继承当前用户的权限,从而肆无忌惮地进行传播,为所欲为地破坏操作系统的完整性,例如在管理员毫不知情的情况下修改或删除计算机系统中的重要信息,导致操作系统无法正常运作等。
虽然用户往往在计算机系统上部署了病毒查杀类产品,但是目前的病毒查杀类产品都是采用病毒库的方式,因此只能防范已知的病毒、木马、攻击程序等恶意代码,对于新型的、未知的病毒、木马、攻击程序等恶意代码是无能为力的,这种被动防御的方式带来的安全滞后性问题将严重威胁计算机系统的安全。
传统的操作系统在对重要文件的访问时没有进行严格的控制,一旦这些重要的资料泄漏会带来极其严重的影响,甚至威胁国家安全或企业利益。
局域网内部针对计算机系统的访问行为一般是通过传统的操作系统的口令认证方式实现,这种安全机制很容易被内部恶意用户利用提权、密码攻击等方式破解,所以往往无法防止来自内部的非授权访问问题,这种非授权访问带来的主要威胁是通过内部网络窃取重要资源和机密文件、植入病毒木马等恶意代码威胁局域网安全。
数据完整性面临的威胁主要指计算机系统中的重要数据在存储期间被恶意篡改,使得重要数据失去了原有的真实性,从而变得不可用或造成广泛的负面影响,恶意用户可以通过网络或其他方式对没有采取安全措施的计算机系统上存放的重要数据进行修改或传达一些虚假信息,从而影响工作的正常进行。
目前计算机系统普遍存在的问题就是管理员身份单一,致使管理员权限过大,这样会对计算机系统带来一定的安全隐患。并且出于业务操作和运行维护的需要,计算机系统经常是混用的,即多人可对同一台计算机进行操作。而操作系统本身只提供用户名/口令认证方式,因此多人不得不共用计算机系统账户和口令,这样就造成计算机系统用户身份鉴别不明,难以根据用户的身份和角色分配权限,无法进行严格地访问控制,容易产生误操作;也不能根据用户身份进行行为审计,无法实现事后追查。另外,单纯的用户名/口令认证方式容易受到字典攻击等攻击方式,导致黑客获取口令执行恶意操作。
操作系统自身有很多的可执行程序,当这些可执行程序执行或修改的时候,操作系统对其执行或修改行为没有严格的控制手段,无法验证其是否是安全的操作行为,是否会给计算机系统的安全带来威胁;计算机系统上还会安装支撑服务的软件,这些软件本身存在诸多漏洞会增加计算机系统的风险,对于这些软件的执行或修改的操作行为无法进行安全验证。攻击手段如下:
(1)恶意程序攻击
向计算机系统植入未知的病毒、木马、窃取软件等恶意代码躲避杀毒软件的查杀,他们将破坏计算机的操作系统及应用服务系统,盗取用户机密信息,感染操作系统的可执行程序使操作系统无法正常使用,向访问该计算机系统的终端传播病毒造成更严重的破坏。
(2)安装不安全软件
由于操作系统本身不会对安装软件等行为的安全性进行验证,计算机系统用户在未授权的情况下,可以在计算机系统安装任何的软件,一些带有漏洞甚至本身就不安全的软件有可能被安装在计算机系统上,威胁计算机系统的安全。
计算机系统对于接入的移动存储设备(U盘等)没有进行安全认证,会给其带来安全威胁。攻击手段如下:
(1)窃取重要资源
由于对接入的移动存储设备缺乏认证,内部的恶意用户可以通过接入移动存储设备的方式窃取重要的资源和机密文件。
(2)植入恶意代码
内部恶意用户还能够通过移动存储设备向计算机系统植入新型的病毒、木马等恶意代码,使服务器和终端无法正常工作,通过移动存储设备窃取重要的资源和机密文件。
目前大多数计算机系统仍采用单机管理模式,即计算机系统管理员对每一台计算机系统单独进行管理维护,这样的管理模式会存在一定的安全滞后性。计算机系统要实现真正有效的安全管理,必须能实现对所有计算机系统的统一集中管理、统一安全策略下发,以及安全事件的统一监控和协同处理,才有可能构建健康的计算机系统安全管理体系。
在对当前计算机系统安全情况和面临的威胁调研分析后,我们提出以先进的可信计算技术为基础,以有效的访问控制为核心,操作系统安全支持应用系统安全,构造完整可信的信息安全立体防护体系的设计思路,实现“防失窃密”、“防系统破坏”、“确保系统可用”的安全目标。总体设计思路如图2所示。
在安全管理平台的统一管控下,通过基于“白名单”的主动防御机制,从操作系统层出发,对全部执行程序进行“预期式”控制。该解决方案在提升了计算机系统终端用户的抗攻击能力、达到安全防御手段自主可控、形成由操作系统底层对应用及数据安全的基础支撑、体现了技术与管理相结合的特点等众多基础上,全面保护了服务器和终端上数据的机密性和完整性以及系统的可用性,构建了计算机系统安全保护的坚固堡垒。
图2 计算机系统安全加固方案
本方案的核心内容可以总结为主动防御机制、操作系统层保护机制和三权分立的管理机制:
(1)主动防御机制
通过对可执行程序的有效控制,使系统具备主动防御的能力,达到防御未知病毒、未知威胁的目的。所谓“主动防御”其实是针对传统的“特征值扫描技术”而言。如果说传统的“特征值扫描技术”是通过建立黑名单实现对病毒、恶意代码等的过滤和查杀,那么,主动防御机制就是建立可信程序的“白名单”,只有“白名单”中的程序才能够运行,这样,任何新型病毒、新型恶意代码都会因为不在“白名单”之上而无法运行,从而能够实现对未知病毒、木马、恶意代码等的有效防御。
主动防御技术比较好的弥补了传统杀毒软件采用“特征码查杀”和“监控”相对滞后的技术弱点,同时规避了补丁内容不可预知性的缺陷,可以在病毒发作之前进行主动而有效的全面防范,从技术层面上有效遏制了未知病毒的爆发与扩散。
(2)操作系统层保护机制
从操作系统层面的保护出发,利用文件过滤驱动技术,进行执行程序可信度量和访问行为的控制,构筑系统底层的加固机制,同时形成对上层应用和数据的安全支撑。
执行程序可信度量可以确保系统中的执行程序免受非授权修改,从而保护其完整性。用来保证系统所启动的进程都是可信的。计算机系统上的执行程序经过安全管理员的安全性检查后,其正常启动所依赖相关模块的摘要值被记录在系统策略文件中,由安全管理平台统一管理与分发。执行程序启动前,系统会度量该程序相关模块的完整性,只有在度量结果和预存值一致的前提下,该程序才被认为是可信的,从而允许启动,否则拒绝其执行。因此即使系统中的某一执行程序被恶意修改,由于其不再可信,系统将禁止其执行,从而阻止了恶意行为继续传播和破坏,降低了系统完整性被破坏的风险。访问行为的控制机制通过安全策略限制执行程序的权限,使其只拥有完成任务的最小权限,防止非法访问行为的发生,即使系统被恶意脚本入侵,其破坏范围也是有限的,无法波及整个系统,保证了数据的机密性,应用的完整性,同时也形成了对应用安全的有力支撑。
(3)三权分立的管理机制
通过建立安全管理平台,制定并强制服务器和被保护的安全终端执行统一的系统安全策略,确保计算机系统的运行状态始终可控、可管,从而建立基于可信计算技术的安全应用环境,使得系统中的不同用户相互监督、相互制约,每个用户各司其职,共同保障信息系统的安全。
在具体设计时,计算机系统安全加固将重点围绕“一个中心,两个基本点”的思路加以展开。“一个中心”即安全管理平台,“两个基本点”包括用户身份认证的安全性增强,以及操作系统内核的安全性增强。安全管理平台负责给用户下发身份认证信息,确保用户身份的安全可信;同时,安全管理平台还负责向所有安全终端的操作系统内核,下发统一的安全策略,实现内核级的访问控制,如图3。
图3 可信计算机系统安全部署总体架构
围绕总体设计思路,为所有的安全终端部署可信软件基系统,该系统由三部分组成:可信安全管理平台(简称“安全管理平台”)、可信软件基软件和可信密码模块USB-KEY。安全管理平台是核心,各终端和服务器在安全管理平台的支撑下,接受安全管理员的统一管理,以实现各终端的运行状态始终可控、可管。
在现有服务器和终端硬件平台上,增加一个硬件模块USB-KEY,作为系统的信任根以及用户身份的唯一标识;在每台终端操作系统内核层,安装安全代理,执行安全策略。
图4 计算机系统安全加固整体部署
(1)结合可信计算技术
基于可信计算机技术,在操作系统底层建立一个信任根,从信任根开始到硬件平台,再到应用进程、文件等,一级认证一级,一级信任一级,建立一条信任链,从而把这种信任扩展到整个计算机系统,提高计算机系统的安全性。
(2)强制访问控制技术
在原有操作系统自主访问控制基础上,研发基于BLP模型与BIBA模型相结合的强制访问控制模型,通过对重要主体及客体的安全标记,控制主体对于客体的访问权限,实施强制访问控制,严格控制用户行为。保证用户任何行为都在安全策略的支撑下,使得用户登录计算机系统后,其权限受到安全策略的严格限制,不能为所欲为。
(3)主动防御技术
采用主动防御技术,当有恶意代码启动时进行有效的拦截并进行审计,从中了解黑客意图、手段,通过对启动程序进行分析取证找到破坏的根源,以保证计算机系统的操作系统安全,将恶意事件控制在源头。
(4)内核级安全加固技术
计算机系统的安全加固工作建立于操作系统内核层,既能准确全面的截获应用层的访问请求,又降低了系统安全机制被旁路的危险,这也为系统的安全模块自我保护、防卸载等构筑了坚固的防线。
通过对计算机系统的操作系统进行安全加固,从系统底层为出发点,以可信计算技术为基础、访问控制为核心,保证计算机系统的安全,形成严密的安全保护环境,抵御病毒木马等恶意代码的入侵行为。
通过对用户行为的控制,有效防止非授权用户访问和授权用户的越权访问行为的发生,确保信息和信息系统的机密性和完整性,从而为应用系统的正常运行和免遭恶意破坏提供支撑和保障。
通过对操作系统本身的安全加固,打造计算机系统本身的免疫系统。可以有效规避因打补丁给计算机系统带来的风险,切断黑客的攻击途径。同时,本方案通过主动防御和防网络攻击等功能弥补了传统安全产品的不足,避免出现信息安全的短板效应,提高了系统的整体防御能力。
通过构建统一安全管理平台,对整个网络系统的计算机系统统一管理、集中控制,保证各项安全机制的高度协调统一。消除各个计算机系统由于配置不同造成的安全隐患,最终构建一道针对整个计算机系统的整体安全防线,有效保护计算机系统中的信息安全。
可信计算是当前信息安全领域的一个全新课题,它为计算机系统的信息安全提供主动防御的解决方案。本文详细阐述了可信计算技术的基本概念和原理,并以基于可信计算技术的,运用USB-Key可信模块的计算机系统为平台,对计算机操作系统安全增强做了全面的研究,阐述了详细的解决方案,并对实施效果进行了分析。
[1]S.W Smith(冯登国等翻译).可信计算平台:设计与应用[M].清华大学出版社,2006.
[2]胡铮.网络与信息安全[M].清华大学出版社,2006.
[3]蔡勉,卫宏儒.信息系统安全理论与技术[M].北京工业大学出版社,2006.
[4]张常有.网络安全体系结构[M].电子科技大学出版社,2006.
[5]张焕国,罗捷,金刚,朱智强.可信计算机技术与应用综述[J].武汉大学学报,2006.