防止档案以加密形式外泄的防护方法

文档序号:6400041阅读:272来源:国知局
专利名称:防止档案以加密形式外泄的防护方法
技术领域
本发明是一种防止档案以加密形式外泄的防护方法,主要应用于机密防护(DataLeakage Prevention)系统。机密防护系统在进行档案的内容分析时,如果用户的文件已经过加密处理再对外传送,理论上机密防护系统就无法对这些密文进行内容分析并决定如何控管。本发明提出一个解决方案,防止机密文件以加密的形式对外泄露,属于机密防护领域的核心技术。
背景技术
机密防护系统需要进行档案的内容分析,以决定是否允许用户对外传送这些档案。但如果用户先将档案予以加密处理再对外传送,理论上机密防护系统就无法对这些密文进行内容分析的作业。某些机密防护系统采用全面禁止疑似密文档案对外传送的监控方式,但这涉及众多密文格式的辨识,也会限制用户的应用系统功能与便利性。而本专利从系统底层针对用户的加密及压缩行为进行监控,能防止机密档案被用户以加密形式对外泄露,也不至于影响用户的应用系统功能与便利性。其他防止机密档案对外泄露的传统技术,例如台湾地区专利公告号343301,“用以追踪信息外流状况的信息保全系统及方法”,提出的方法为:利用不同的安全策略来执行不同的数据保护方法,其重点为只要企业内部的数据要外流时,用户端就必须与特定的监视伺服端连线,取得授权之后才得以放行,或是由伺服端将数据予以转码之后再传出假数据。这个方法要求伺服端能够立即回应用户端的需求,增加了企业内部网络的负荷而影响到网络服务的速度及质量,也需要安装、维护特定的伺服系统才可防止机密数据的对外泄露。另于台湾地区专利公开号200839549,“一种档案外流追踪的方法”当中,可发现与本案有若干相似的技术构想。然而所述方案是利用用户端可辨识档案的文件名、档案容量大小、档案片段字符串的比对方法,以解决传统技术中无法立即追踪且迅速找到相关泄密档案及泄密者等问题。其另一目的在于防止用户端使用不该持有的档案进行非法的行为或将机密档案外流的情事发生,以达到追踪、监督与管理档案的功用。但该方案亦未如本专利针对用户将档案先加密后再对外传出的行为进行监控,理论上如果用户对外传送的文件已经过加密处理,则任何的机密防护系统将难以对这些密文的内容进行分析与控管的作业。本发明提出了一个解决方案,从系统底层针对用户的加密行为进行监控,可在第一时间管制机密文件被应用程序加密,从而提高了机密防护作业的效率与应用系统功能面。

发明内容
本发明专利目的在于建立一种防止档案以加密形式外泄的防护方法,主要应用于机密防护系统。当用户先对机密文件进行加密作业之后再对外传送密文时,理论上机密防护系统就无法进行这些密文档案的内容分析及控管,本发明提出一个解决方案,防止机密档案以加密的形式对外泄露,且不会限制应用系统的功能与可用性。机密防护系统在进行机密监控作业时,必须能够正确地判断一份文件的内容是否包含政策所定义的机密,以便执行适当的防护作业。但是在进行文件档案的内容分析时,如果用户对外传送的文件已经过加密处理,理论上机密防护系统就无法对这个密文档案进行内容分析以及后续的控管作业。本发明提出一种防止档案以加密形式外泄的防护方法,所述机密监控方法首先针对目标线程进行应用程序编程接口挂钩(API Hook)的处理,所挂钩的API为档案读写行为相关的系统API,例如kernel32.dll的ReadFile与WriteFile等API,在应用软件激活时置入这些挂钩进行监控,一旦某线程读取了机密档案之后,本发明系统即进入防止加密写档的保护状态,在此状态中所述线程所有写出档案的动作都会被分析,以判断所述程序是否将机密文件加密转码并写出密文档案,若分析结果认为所述线程已执行加密写文件的作业,则本发明系统将依机密防护政策所规定,进行警示、再加密、删除、稽核等防护作业,如此即可在第一时间防止应用程序将机密文件进行加密处理,从而避免用户后续对外传送机密密文档时的监控难题,为了能够辨识众多的加密文件格式以进行正确的防护作业,本发明采用一种基于信息熵值以及档案比对的综合分析方法,可有效地判断大多数加密算法所产生的密文文件格式。一种防止档案以加密形式外泄的防护方法,系于机密防护系统的内容分析与端点监控作业,所述的端点监控作业的方法包括下列步骤:步骤a.当所述机密防护系统侦测到用户启用应用程序时,则加载一个监控机密的动态函数库,并置入档案读写相关的应用程序编程接口挂钩;步骤b.当置入的所述应用程序编程接口挂钩在侦测到所述应用程序有读取档案时,则通过程序间通讯管道通知机密防护程序,进行所述档案的内容分析作业,以判断所述应用程序是否有将机密文件予以加密的行为;步骤c.所述应用程序于收到所述机密防护系统传回的内容分析结果时,若为非机密文件则允许其继续进行档案读写作业,对于机密文件则进入写档监控状态;步骤d.所述应用程序于所述写文件监控状态中将分析所有写出档案的格式,若判断为加密格式,则依照机密政策所订进行相应的防护作业。所述的机密防护程序,是以一个预安装于用户计算机系统的常驻程序,负责机密防护系统的政策加载与执行、内容分析、稽核记录作业,所述档案读写相关的应用程序编程接口挂钩,是指所述应用程序编程接口挂钩技术,针对所述应用程序进行读取档案、写出档案作业时必需使用的操作系统函数库,介入其间进行额外的监控处理,所述应用程序编程接口挂钩,在所述应用程序读取档案时,即进入相关所述挂钩的监控流程,所述监控流程利用程序间通讯管道通知所述机密防护程序,请求所述机密防护程序进行目标档案的内容分析作业,并取得分析结果,所述应用程序编程接口挂钩在控制加密写文件时,所述程序间通讯管道收到所述机密防护系统传回的内容分析结果时,若所述目标档案并非机密文件,则继续所述程序的所述档案读写,不做任何的防护,若为机密文件则进入所述写档监控状态,所述应用程序当进入所述写档监控状态时,将分析所有写出档案的格式,若判断其为加密格式则依照所述机密政策所订进行相应的防护作业,包括稽核、警示、再加密或删除档案作业,若写出的档案并非加密格式,则继续所述程序的所述档案读写,不做任何的防护,所述分析所述档案是否为加密格式的方法,基于信息熵值以及档案长度的比对分析,其步骤为:a.检查并过滤所述应用程序写出的档案即为原档案的情形,以免误判密文格式;
b.检查并过滤所述应用程序写出的档案为Base64编码的情形,以免误判密文格式;c.计算已写出档案内容的熵值,若熵值低于某一预设(内定)的门坎值则视为非加密格式;d.若所述档案内容的熵值高于所述门坎值,则进一步分析所述档案内容是否为预设的压缩格式(比如,常用的压缩格式),以避免压缩格式造成误判的情形;e.若所述档案内容不是预设的压缩格式则再进行所述档案内容长度的比对分析,以决定所述写出的所述档案内容是否为加密格式。其中依据所述档案内容长度进行比对分析的方法,其步骤为:a.计算原档案内容压缩后的长度作为参考值;b.进行与所述写出档案长度的比较;c.作为所述比较基准的密文档案长度为:原档案内容压缩后的长度的特定倍数范围,以及所述原档案内容长度的特定倍数范围,两者均为密文长度;d.若所述写出档案的长度符合所述密文档案长度,则判断写出的档案为密文格式,否则即为非密文格式。本发明所提供的防止档案以加密形式外泄的防护方法,与前述引证案及其他传统技术相互比较时,更具有下列的优点:1.本发明的防止档案以加密形式外泄的防护方法,应用程序将机密文件进行加密处理的第一时间进行防护作业,从而避免后续用户对外传送密文档时的监控难题。2.本发明的防止档案以加密形式外泄的防护方法,不会限制用户的应用系统功能与便利性。3.本发明的防止档案以加密形式外泄的防护方法,采用一种基于信息熵值以及档案比对的综合分析方法,可以有效地判断大多数加密算法所产生的密文文件格式。


图1为本发明防止档案以加密形式外泄的防护方法实施例的系统架构图;图2为本发明防止档案以加密形式外泄的防护方法实施例的加密应用程序监控流程图;图3为本发明防止档案以加密形式外泄的防护方法实施例的密文格式分析流程图;附图标记说明110 用户;120机密文件;130加密应用程序;140 档案;150计算机系统;160动态函数库;170机密管理中心;180机密防护系统程序;
200 260加密应用程序监控流程;300 380密文格式分析流程。
具体实施例方式请参考图1,为本发明防止档案以加密形式外泄的防护方法实施例的系统架构图,由图中可知,用户110于操作计算机系统150时,所启用的加密应用程序130会读取机密文件120再进行转码加密的作业,当加密应用程序130启动时会先加载本发明的机密监控动态函数库160,加载方式可利用操作系统提供的机制或由机密防护系统程序180持续监视所有程序的启动并由远程置入,当加密应用程序130读取某一机密文件120时,预置于加密应用程序130的动态函数库160所监控的API挂钩,即利用程序间通讯(Inter ProcessCommunication)的方式通知机密防护系统程序180,进行所述档案的内容分析,以便加密应用程序130判断是否已读取含有机密内容的档案而须进入加密写档的防护状态,若在此防护状态中加密应用程序130写出了某一个档案140,此时应用程序130会立即分析所述写出的档案140是否为加密档案,若经判断为加密档案则依机密防护政策所示删除所述档案140,或是进行再加密、隔离、稽核等防护作业,而机密防护系统程序180则将此事件记录上传至机密管理中心170伺服端进行稽核管理。请参考图2,为本发明防止档案以加密形式外泄的防护方法实施例的加密应用程序监控流程图,当系统侦测到有加密应用程序启动200时即进入侦测与分析的处理流程,首先进行档案读写作业相关API的挂钩设置210,以监控其后续的加密写档相关行为,当所述线程读取了某一档案220时,读档相关的API挂钩,例如Kernel32.dll的ReadFile,立即会以具名管线(Named Pipe)的方法通知机密防护程序进行所述档案的内容分析230,判断所述档案分析的结果是否为加密231,若所述档案分析的结果为无机密内容,则不需进行加密写文件的防护,应用程序可继续完成其档案读写的作业270,若分析结果表示已读取的档案为机密文件,则需进行此应 用程序写文件作业的监控240,接下来如果所述应用程序有任何写出档案的行为250,则写档相关的API挂钩,例如Kernel32.dll的WriteFile与CloseHandle会先查出档案与路径名称再进行是否为一般文件格式251或加密档案252的分析,若分析结果251表示已写出的档案为一般文件格式,则可继续完成其档案读写的作业270,若不为一般文件格式252,则进行是否为加密档案的分析252,再依机密防护政策所示进行警示、再加密、稽核或删除等相关防护作业260。若所述档案分析的结果251不是密文格式则无需进行防护,应用程序可继续完成其档案读写的作业270。请参考图3,为本发明防止档案以加密形式外泄的防护方法实施例的密文格式分析流程图,首先读取已写出的档案内容300,接着与原档案进行内容的相互比较310,判断是否相同311,经过比对后若两者内容相同即表示不是密文格式而传回False值380,并结束密文格式的分析流程,否则再判断档案内容是否为Base64编码格式312,若为Base64编码格式,则进行译码作业320,然后再回到上述的档案内容比对流程310,若不是Base64编码格式,则计算数据内容熵(Entropy)值330,熵值是一种基于信息论(InformationTheory)关于不确定性(Uncertainty)的数学度量,如下所示:H(X) = 1gb - -
ti ρ(χ
其表示单位通常为bits/byte,最小值趋近于0,最大值趋近于8,本发明将他应用于密文文件格式的判断,一般而言,若计算出的熵值偏高则代表所述档案内容的编码组合相当随机,且难以进一步压缩所述档案内容,大多数的密文档案、已压缩过的档案或是多媒体影音文件等格式,都是具有高熵值的档案内容,判断熵值是否大于门槛值331,若计算结果所述档案内容的熵值小于内定的门坎值,例如小于7.0,则传回False值380结束密文格式的分析流程,否则,若所述档案内容的熵值大于内定门坎值,则进行档案内容是否为一般压缩格式的分析332,在此所谓的一般压缩格式是指ZIP、GZIP、RAR、ARJ、LZH等常见的文件压缩格式,当判断所述档案内容为压缩格式时则进一步分析是否属于压缩加密的格式333,分析结果若不是压缩加密格式则传回False值360,否则即传回True值结束密文格式分析流程370 ;若之前判断所述档案内容并非一般的压缩格式,则继续进行与原档案内容的比较,在这里计算压缩长度340,利用档案长度的比较350以进一步判断所述写出的档案内容是否为密文格式351,这是基于一般的加密算法所产制的密文档案长度,通常会等于或稍大于原来的明文档案长度Lo,但因为许多加密程序会整合压缩的功能,造成密文档案长度反较原档案长度为小,所以本方法于此处也需计算出原档案内容执行标准ZIP压缩后的长度Lc作为参考值340,而作为判断基准的密文可能长度Le则可定义为:所述原档案内容的压缩后长度Lc的0.8倍至Lc的1.3倍左右,以及原档案长度Lo至Lo的1.1倍左右,两者都是可能的密文长度Le。当写出的档案内容长度并非上述两种可能的密文长度时,则传回False值380结束流程,若为密文长度则可视为密文格式而传回True值370结束密文格式分析的流程。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
1.一种防止档案以加密形式外泄的防护方法,其特征在于,系于机密防护系统的内容分析与端点监控作业,所述的端点监控作业的方法包括下列步骤: 步骤a.当所述机密防护系统侦测到用户启用应用程序时,则加载一个监控机密的动态函数库,并置入档案读写相关的应用程序编程接口挂钩; 步骤b.当置入的所述应用程序编程接口挂钩在侦测到所述应用程序有读取档案时,则通过程序间通讯管道通知机密防护程序,进行所述档案的内容分析作业,以判断所述应用程序是否有将机密文件予以加密的行为; 步骤c.所述应用程序于收到所述机密防护系统传回的内容分析结果时,若为非机密文件,则允许其继续进行档案读写作业,对于机密文件,则进入写档监控状态; 步骤d.所述应用程序于所述写档监控状态中将分析所有写出档案的格式,若判断为加密格式则依照机密政策所订进行相应的防护作业。
2.根据权利要求1所述的防止档案以加密形式外泄的防护方法,其特征在于,所述的机密防护程序,是以一个预安装于用户计算机系统的常驻程序,用于机密防护系统的政策加载与执行、内容分析、稽核记录作业。
3.根据权利要求1所述的防止档案以加密形式外泄的防护方法,其特征在于,所述的档案读写相关的应用程序编程接口挂钩,是指所述应用程序编程接口挂钩技术,针对所述应用程序进行读取档案、写出档案作业时必需使用的操作系统函数库,介入其间进行额外的监控处理。
4.根据权利要求1所述的防止档案以加密形式外泄的防护方法,其特征在于,所述的应用程序编程接口挂钩,在所述应用程序读取档案时,即进入相关所述挂钩的监控流程,所述监控流程利用程序间通讯管道通知所述机密防护程序,请求所述机密防护程序进行目标档案的内容分析作业 ,并取得分析结果。
5.根据权利要求1所述的防止档案以加密形式外泄的防护方法,其特征在于,所述的应用程序编程接口挂钩在控制加密写档时,所述程序间通讯管道收到所述机密防护系统传回的内容分析结果时,若所述目标档案并非机密文件,则继续所述程序的所述档案读写,不做任何的防护,若为机密文件则进入所述写档监控状态。
6.根据权利要求5所述的防止档案以加密形式外泄的防护方法,其特征在于,所述的应用程序当进入所述写档监控状态时,将分析所有写出档案的格式,若判断其为加密格式,则依照所述机密政策所订进行相应的防护作业,包括稽核、警示、再加密或删除档案作业,若写出的档案并非加密格式,则继续所述程序的所述档案读写,不做任何的防护。
7.根据权利要求6所述的防止档案以加密形式外泄的防护方法,其特征在于,所述的分析所述档案是否为加密格式的方法,基于信息熵值以及档案长度的比对分析,其步骤为: 步骤a.检查并过滤所述应用程序写出的档案即为原档案的情形; 步骤b.检查并过滤所述应用程序写出的档案为Base64编码的情形; 步骤c.计算已写出档案内容的熵值,若熵值低于某一预设的门坎值则视为非加密格式; 步骤d.若所述档案内容的熵值高于所述门坎值,则进一步分析所述档案内容是否为预设的压缩格式;步骤e.若所述档案内容不是预设的压缩格式,则再进行所述档案内容长度的比对分析,以决定所述写出的所述档案内容是否为加密格式。
8.根据权利要求7所述的防止档案以加密形式外泄的防护方法,其特征在于,其中依据所述档案内容长度进行比对分析的方法,其步骤为: 步骤a.计算原档案内容压缩后的长度作为参考值; 步骤b.进行与所述写出档案长度的比较; 步骤c.作为所述比较基准的密文档案长度为:原档案内容压缩后的长度的特定倍数范围,以及所述原档案内容长度的特定倍数范围,两者均为密文长度; 步骤d.若所述写出档案 的长度符合所述密文档案长度,则判断写出的档案为密文格式,否则即为非密文格式。
全文摘要
本发明提出一个解决方案,目的为防止机密文件被用户以加密的形式对外泄露,相较于某些机密防护系统对任何无法分析的档案,采取全面性管制其对外传送的防护方式,或是基于若干启发式原则进行所有文件的外流控制,本发明从系统底层针对用户的加密行为进行监控,在机密文件可能被加密的状况中采取防范措施,不至于影响用户的应用系统功能与便利性,同时改善了机密监控作业的精确度。而本发明采用一种基于信息熵值以及档案比对的综合分析方法,可以有效地判断大多数加密算法所产生的密文文件格式。
文档编号G06F21/60GK103150499SQ20131007241
公开日2013年6月12日 申请日期2013年3月7日 优先权日2012年12月27日
发明者张明哲, 徐克华, 谢秉谚, 周淑羚, 张保忠 申请人:中华电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1