APP下载

文件密级标识全程管控系统的设计与实现

2013-09-08刘向东石兆军

计算机工程与设计 2013年10期
关键词:密级管理软件校验

武 越,刘向东,石兆军

(中国航天科工集团第二研究院706所,北京100854)

0 引 言

大量文件以电子文档的形式在涉密信息系统内流转,文件密级标识的安全问题随之出现。众多研究人员分别从不同层面对文件密级标识进行了研究,其中,BLP(Bell-Lapadula)系统为主体和客体定义了密级标识[1],但密级标识在主体的整个生命周期内固定不变,过于严格简单,缺乏灵活性[2];秦素娟将密级标识以数字水印形式嵌入矢量电子图纸中[3],但是该系统仅适用于单机环境;王蕊娜等人针对二值文档提出了基于数字水印的密级标识添加方法[4],基于置乱加密算法保证密级标识与二值文档不可分离,基于中国剩余定理保证密级标识不可篡改;边力等人提出了基于多维标识的文件分级保护系统[5],该系统将文件标识嵌入到电子文件头部,并引入域标识的概念,但没有解决密级标识本身的安全性问题,用户可以随意修改流转到自己这里的电子文件的密级,而且定密机构无法对这些非法操作进行控制审计。

本文针对当前涉密信息系统内文件密级标识管理混乱的局面,通过分析文件所处的不同状态和外部环境,将密级标识管理分为静态管控和动态管控,并针对不同的管控需求提出不同的解决方法:使用HMAC完整性校验技术和文件系统过滤驱动技术解决静态管控需求;通过在文件头密级标识字段后添加若干标志位并使用HOOK技术解决动态管控需求。之后,基于以上研究,设计实现了涉密信息系统文件密级标识全程管控系统,该系统可以保证文件密级在静态时刻与信息主体不可分离不可篡改,在文件动态流转过程中密级标识安全受控。

1 文件密级标识管控研究

在涉密信息系统中,用户文件会处于相对静止和动态流转这两种状态。当涉密信息系统内的某一文件没有被用户编辑并且系统外部环境相对稳定时,此时文件处于相对静止状态,对文件密级标识采取静态管控策略;当系统内某一文件正处在流转过程中并被用户访问修改时,对文件密级标识的管控采取动态策略。

1.1 密级标识静态管控

1.1.1 静态管控需求

当文件处在相对静止的状态时,文件的密级一旦在涉密信息系统中被标定,就不能由其他人员随意修改。由于文件的内容没有发生变化,且外部环境也相对稳定,故此时应将密级标识与文件主体进行绑定,保证密级标识与文件主体不可分离不可篡改。

同时,应保证文件的标密工作对用户透明,不影响用户对文件的正常操作使用。

1.1.2 基于HMAC的优化完整性校验

为防止密级标识被攻击者非法篡改,使用完整性校验机制保证密级标识的安全。但是如果仅对密级标识本身进行完整性校验,仍然存在安全问题。系统在一段时间内会使用固定的密钥,密级标识对应的密级校验值也会相对固定,攻击者可以明确得到各个密级与其校验值的对应关系。在此情况下,密级标识和密级校验值有可能被攻击者从文件头部整体替换,以达到文件降密或其它攻击目的。例如,攻击者拦截系统中的文件,将密级标识字段由 “机密”改为 “秘密”,同时将平时在系统内窃听到的 “机密”密级校验值替换为 “秘密”密级校验值,再发送给接收者,这时接收者生成的用以验证的校验值会与接收到的校验值完全一致,不会意识到文件密级已被攻击者降密,造成高密低传的严重后果。

为了实现密级标识与文件主体的绑定,将密级标识与文件内容两者融合在一起进行校验,防止密级标识和校验值被攻击者从文件中整体替换。虽然两份文件的密级可能相同,但是由于文件正文部分的差异,会使得两份文件的密级校验值不相同。在文件传输过程中,如果攻击者篡改了密级标识字段,由于其无法通过窃听经验伪造相应的密级校验值,文件接收端生成的密级校验值就会与接收到的校验值不匹配,使接收端意识到密级被恶意篡改。

选择使用HMAC算法进行完整性校验。HMAC是基于哈希函数的 MAC算法[6],该算法利用哈希函数,以一个密钥和消息作为输入,生成一个消息摘要作为输出。设H为一个哈希函数,key为通信双方事先约定的密钥,i_pad和o_pad为两个常数,M为输入的消息,则输出的校验值HMAC (key,M)可简单表示成HMAC (key,M)=H [H [M]]。

利用HMAC算法具有两轮哈希过程的独特性质[7],在第一轮哈希过程中,将密级标识与文件内容融合在一起进行哈希运算,可以保证密级标识与文件主体不可分离;在第二轮哈希过程中,将密钥与第一轮得到的哈希值一起进行哈希运算,可以防止密级标识被攻击者恶意篡改。基于HMAC算法的完整性校验机制如图1所示。

图1 基于HMAC算法的完整性校验机制

1.1.3 文件系统过滤驱动技术

使用文件系统过滤驱动技术实现文件标密工作,可以做到标密工作对用户透明,不影响用户对文件的正常操作使用。

文件系统过滤驱动程序是由程序员根据特定需要自行设计实现的内核模式驱动程序[8],并挂接在已有的文件驱动程序上,通过拦截I/O管理器和存储设备驱动之间的I/O请求包 (I/O request package,IRP),对文件驱动行为进行修改,以提供需要的附加新功能。由于文件系统过滤驱动运行在内核层,因此具有更高的处理速度和效率[9]。

通过将文件标密操作以文件系统过滤驱动的形式插入到内核层,可以实现在底层对文件进行标密。这样,可以保证对密级标识的处理操作对用户透明,不影响用户的正常使用。

1.2 密级标识动态管控

1.2.1 动态管控需求

在涉密信息系统内,文件处在实时动态流转的过程中,文件被创建并进入系统后,会在多个用户之间进行流转,会有多个合法用户对文件进行反复地打开、关闭、编辑、修改。同时,系统的外部环境也处在实时变化中,会由于某些敏感事件的发生而提高文件的涉密等级,也会随着时间的推移,将一些涉密文件逐渐解密[10]。因此,文件的密级其实是处在不断变化中的,对密级标识与信息主体不可分离不可篡改的描述,也是主要针对文件状态相对静止的时刻。当文件密级出于某些原因需要改变时,必须保证文件密级能够在定密机构审核通过的情况下从文件主体中顺利解绑,修改密级后再重新绑定。

1.2.2 添加标志位的文件头结构

为实现动态管控,在涉密信息系统内对全部文件采用统一的文件格式,并在文件头部添加8个标志位,分别为ISSECRT、ISOPEN、ISEDIT、ISMARK、ISCHECK、ISPASS、ISAUDIT、ISERR。其中,为了方便讨论,本文默认认为系统内的文件内容始终以密文形式存储,ISSECRT值始终为1。方案定义的文件头结构如图2所示,其中灰色部分为新添加的标志位。

图2 文件头结构

文件头各标志位定义描述如表1所示。

表1 文件头标志位描述

1.2.3 基于标志位的密级标识状态描述

根据文件头中标志位的不同取值,可以得到文件密级标识当前所处的不同状态[11]。在实际应用中,对文件标志位进行实时监控,当发现文件密级标识的状态出现异常时,判断可能存在的针对密级标识的攻击和非法操作,并进行告警或人为干预[12]。对密级标识各个状态的描述如表2所示。

当文件处在相对静止的状态时,密级标识处在状态1,此时文件处于关闭状态,密级标识正常,密级管理服务器内保存的密级标识审计信息完整;当文件被用户打开但没有修改文件内容时,密级标识处在状态2,由于文件内容没有被修改,所以密级标识不变;当用户对文件内容进行了编辑时,密级标识处在状态3,此时由于文件内容已发生变化,故之前的密级标识失效;当新修改的密级标识经由定密机构审核时,密级标识会经历状态4、状态9,状态5和状态6,审核通过后,密级标识会重新回到状态1;状态7和状态8是非常危险的状态,此时文件的密级标识非法异常,系统会发出告警。以上描述的密级标识状态转换如图3所示,其中圆圈代表密级标识的状态,圆圈内是文件头各标志位的值,箭头上的文字表示引起密级标识状态改变的条件。

表2 密级标识状态描述

图3 密级标识状态转换

1.2.4 HOOK技术

在涉密信息系统中,文件的初始创建人必须完成对其创建的文件进行初始标密的工作,否则文件在创建之后将不具有密级标识。同时,若用户对文件内容进行了修改,在关闭文件之前,必须对文件进行重新标密。

为了防止用户忘记对文件标密,使用HOOK技术在应用层对用户行为进行监控。钩子 (hook)技术运行在应用层,是一个处理Windows消息的程序段[13],通过系统调用把钩子挂入系统。在发出的特定消息没有到达目的窗口前,钩子程序会先捕获该消息,这时钩子函数可以对消息进行加工处理,也可以不作处理而继续传递消息,还可以强制结束消息的传递[14]。

用户终端运行的操作系统一般为Windows系统。当用户新建或打开一个文件时,钩子监视到创建窗口的消息,并通知标密管理软件开启对该文件的实时监控;当用户单击鼠标关闭文件编辑程序 (office,PDF,auto CAD等)窗口时,Windows会发送关闭窗口的消息给文件编辑程序,在消息没有到达程序窗口前,钩子会先拦截该消息[15],并通知标密管理软件审核当前文件的密级。若文件密级符合规范,钩子会将拦截的关闭窗口消息释放,使其继续向下传递;若文件密级不符合规范,钩子会强制终止传递该消息,并拒绝关闭文件编辑程序,同时由标密管理软件生成密级异常提示。

2 文件密级标识全程管控系统

2.1 总体框架

系统的逻辑结构如图4所示。

系统的技术实现原理如图5所示。

2.2 各部分功能

标密管理软件运行在涉密信息系统内每个用户终端的操作系统后台,对文件密级标识进行实时监控。标密管理软件将根据文件头部标志位对文件密级标识所处的状态进行判断,并在密级标识出现异常时进行告警。

定密机构对文件密级标识进行审核。文件密级发生变化后,标密管理软件会代理生成一个文件密级审核的申请,由定密机构审核文件密级是否符合要求。

密级管理服务器记录密级审计日志和文件访问控制信息。涉密信息系统内,每份文件对应有一个记录访问控制信息的文件,记录允许对用户进行访问的用户列表和禁止对文件进行访问的用户列表;同时每份文件还对应有一个密级审计日志文件,用以对文件密级标识的所有操作进行全程审计,包括合法操作和非法操作。对这两个文件,文件主体不方便携带,需要将其委托给专门的存储设备代为管理,以备事后追查,故系统中使用密级管理服务器专门存储维护这些信息。

2.3 系统工作流程

2.3.1 初始创建文件(1)用户A创建一个进程,用以发起新建文件的操作;(2)在用户A客户端后台运行的标密管理软件捕获到用户A的新建文件操作,开启对文件的实时监控;

(3)用户A对文件进行编辑,编辑完成后,用户A点击关闭文件的按钮;若用户A尚未对文件进行标密,则标密管理软件阻止文件关闭,并强制用户A对文件标密;

(4)用户A对文件标明密级后,标密管理软件将密级标识上传到定密机构进行审核;

(5)密级审核通过后,标密管理软件为新建的文件创建对应的密级审计日志,并将上述操作作为一条日志记录写入密级审计日志,上传至密级管理服务器。

2.3.2 文件在涉密信息系统内流转

当用户A创建的文件流转到合法用户B处时:(1)用户B创建一个进程,用以发起打开文件的操作;(2)在用户B客户端后台运行的标密管理软件捕获到用户B的打开文件操作,开启对文件的实时监控;

(3)用户B对文件进行编辑,编辑完成后,用户B点击关闭文件的按钮;若用户B尚未对文件重新标密,则标密管理软件阻止文件关闭,强制用户B对文件标密;

(4)用户B对文件标定密级后,标密管理软件将密级标识上传到定密机构进行审核;

(5)密级审核通过后,标密管理软件将上述操作作为一条日志记录写入密级审计日志,上传至密级管理服务器。

2.3.3 非法用户操作

(1)非法用户C创建一个进程,用以发起打开文件的操作;

(2)在非法用户C客户端后台运行的标密管理软件捕获到非法用户C的打开文件操作,登陆密级管理服务器获取文件的访问控制信息,发现用户C为非法用户;

(3)标密管理软件禁止非法用户C对文件的访问,生成告警信息,并将上述操作作为一条日志记录写入密级审计日志,上传至密级管理服务器。

2.3.4 删除文件

(1)合法用户D创建一个进程,发起删除文件的操作;

(2)在合法用户D客户端后台运行的标密管理软件捕获到合法用户D的删除文件操作,登陆密级管理服务器获取文件的访问控制信息,发现用户D具有删除文件的权限;

(3)标密管理软件允许合法用户D删除文件,并将上述操作作为一条日志记录写入密级审计日志,上传至密级管理服务器。

2.4 系统分析

(1)正确性

系统内与密级标识相关的几类事件总结为:

1)文件被合法用户打开、编辑、标密,且新密级审核通过,密级标识状态变换为:1→2→3→4→9→5→6→1,密级标识状态可以实现闭环;

2)文件被合法用户打开、编辑,但未重新标定密级或新标定的密级不正确,密级审核不通过,密级标识状态变换为:1→2→3→4→9→5→ (4→9→5→…)→7→8,密级标识状态无法实现闭环;

3)在文件内容不变的情况下,文件密级被合法用户修改,且新密级审核通过,密级标识状态变换为:1→4→9→5→6→1,密级标识状态可以实现闭环;

4)在文件内容不变的情况下,文件密级被合法用户修改,新密级审核不通过,密级标识状态变换为:1→4→9→5→ (4→9→5→…)→7→8,密级标识状态无法实现闭环;

5)在文件内容不变的情况下,文件密级被非法用户修改,此时生成密级非法异常信息,密级标识状态变换为:1→7→8,密级标识状态无法实现闭环。

通过对几类事件的分析可知,如果对文件密级的操作正确,那么基于文件头部标志位的密级标识状态均可以实现闭环;如果攻击者对文件密级进行非法操作,密级标识状态便无法实现闭环,据此可以判断密级标识出现了异常。由此可证明系统设计的正确性。

(2)安全性

该系统可以从应用层和内核层两个层面保证文件密级标识的安全。当攻击者从应用层攻击文件密级,试图通过文件编辑程序打开文件并修改文件密级时,监控文件编辑程序窗口的钩子会发觉这一非法操作并向标密管理软件告警;当攻击者从内核层攻击文件密级,试图修改存储在物理存储设备上的文件密级时,文件系统过滤驱动程序会拦截这一非法的I/O请求包,并向标密管理软件告警。

2.5 实现效果

该系统可以为涉密信息系统内流转的文件,包括文本、图片、实验数据、工控机床代码文件进行统一的密级标识,并达到了预期的功能和安全性要求,可以为涉密信息系统内文件的密级标识提供安全保障,实现了密级标识的全程管控。

3 结束语

本文通过使用全新文件头格式,在密级标识字段后添加若干标志位,并结合HMAC完整性校验技术、钩子技术、文件系统过滤驱动技术,设计并实现了一个涉密信息系统文件密级标识全程管控系统。在该系统中,用户终端后台运行标密管理软件,定密机构审核文件密级标识,密级管理服务器记录密级审计日志。该系统全面提升了密级标识本身的安全性,实现了涉密信息系统文件密级标识的全程统一管控。

[1]LIU Yanming,DONG Qingkuan,LI Xiaoping.Study on enhancing integrity for BLP model [J].Journal on Communications,2010,31 (2):100-106 (in Chinese).[刘彦明,董庆宽,李小平.BLP模型的完整性增强研究 [J].通信学报,2010,31(2):100-106.]

[2]GU Qianjun,WANG Yue.Analysis and research of the security of BLP model [J].Computer Engineering,2006,32 (22):157-158 (in Chinese).[谷千军,王越.BLP 系统的安全性分析与研究 [J].计算机工程,2006,32 (22):157-158.]

[3]QIN Sujuan.Research on key techniques of secret level marking system for vector graphics [D].Harbin:Harbin Institute of Technology,2009:16-18 (in Chinese).[秦素娟.矢量电子图纸密级标识系统关键技术研究 [D].哈尔滨:哈尔滨工业大学,2009:16-18.]

[4]WANG Ruina,SUI Zhiyuan,FANG Yong.A secret level identification adding method for binary document [J].Journal of Beijing Electronic Science and Technology Institute,2011,19(4):10-15 (in Chinese). [王蕊娜,隋智远,方勇.一种二值文档密级标识添加方法 [J].北京电子科技学院学报,2011,19 (4):10-15.]

[5]BIAN Li,CHEN Xingyuan,WANG Yongwei.File classified protection model based on multi-dimensional label [J].Computer Engineering,2011,37 (13):132-138 (in Chinese).[边力,陈性元,汪永伟.基于多维标识的文件分级保护系统 [J].计算机工程,2011,37 (13):132-138.]

[6]Henk C A Van Tilborg,Sushil Jajodia.Encyclopedia of cryptography and security [M].USA:Springer-Verlag New York Inc,2011:51-54.

[7]YU Hongbo.Cryptanalysis of hash functions and HMACNMAC [D].Jinan:Shandong University,2007:36-37 (in Chinese).[于红波.杂凑函数以及HMAC_NMAC的安全性分析 [D].济南:山东大学,2007:36-37.]

[8]LI Wei,CHEN Hao,LIU Peng.File protection system based on driver [J].Advances in Intelligent and Soft Computing,2013 (163):773-780.

[9]ZENG Peng.Key technologies of file secret classification mark in kernel-level [D].Harbin:Harbin Institute of Technology,2010:29-32 (in Chinese). [曾鹏.内核级文件密级标识关键技术研究 [D].哈尔滨:哈尔滨工业大学,2010:29-32.]

[10]WANG Wenyu,CHEN Shangyi.Key technology and design of security classification management system for electronic file[J].Information Security and Communications Privacy,2009:113-117(in Chinese).[王文宇,陈尚义.电子文件密级管理系统的关键技术与设计 [J].信息安全与通信保密,2009:113-117.]

[11]YAN Cuicui.Research on states monitoring model of cooperative workflow engine [D].Nanjing:Nanjing University of Aeronautics and Astronautics,2007:44-46 (in Chinese).[闫翠翠.协同工作流机状态监控模型研究 [D].南京:南京航空航天大学,2007:44-46.]

[12]YE Jun.A framework for state monitor software and its application [J].Computer Simulation,2008,25 (4):271-273 (in Chinese).[叶俊.状态监控软件通用框架设计及应用 [J].计算机仿真,2008,25 (4):271-273.]

[13]XIE Yumin.Research on reverse locating of key functions in windows application [D].Zhengzhou:The PLA Information Engineering University,2009:31-34 (in Chinese).[谢裕敏.Windows应用程序关键函数的逆向定位技术研究 [D].郑州:解放军信息工程大学,2009:31-34.]

[14]CHEN Hao.Research on software auto-testing technology based on message mechanism [D].Changsha:Hunan University,2010:15-19 (in Chinese).[陈浩.基于消息机制的软件自动测试技术研究 [D].长沙:湖南大学,2010:15-19.]

[15]ZHAO Qin,HUANG Ling.Design of automatic test system based on windows messages [C]//Guilin:Proceeding on Academic Conference of Guangxi Computer Society,2010 (in Chinese).[赵钦,黄玲.基于 Windows消息机制的自动检测系统的设计 [C]//桂林:广西计算机学会2010年学术年会论文集,2010:23-26.]

猜你喜欢

密级管理软件校验
仓储管理软件在物流自动化解决方案中的应用与发展
使用Excel朗读功能校验工作表中的数据
如何做好国有企业密级档案的管理工作
基于区块链技术的多密级数据安全存储系统设计
炉温均匀性校验在铸锻企业的应用
电子式互感器校验方式研究
共享电单车的管理软件
浅谈微电子故障校验
密级“совершенно секретно”是“绝密”还是“机密”?
“2008年度中国管理软件行业评选”