著录项信息
专利名称 | 一种数据安全交换进程监管方法及系统 |
申请号 | CN201210248822.2 | 申请日期 | 2012-07-17 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2012-10-17 | 公开/公告号 | CN102739690A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6查看分类表>
|
申请人 | 中国人民解放军信息工程大学 | 申请人地址 | 河南省郑州市高新区科学大道62号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国人民解放军信息工程大学 | 当前权利人 | 中国人民解放军信息工程大学 |
发明人 | 陈性元;杜学绘;孙奕;张红旗;王超;夏春涛;曹利峰;毛琨;张东巍 |
代理机构 | 北京集佳知识产权代理有限公司 | 代理人 | 王宝筠 |
摘要
本发明公开了一种数据安全交换进程监管方法及系统,该方法包括:启动前对交换进程包括的交换程序的完整性进行认证;启动后接收交换进程的注册请求,对交换进程进行注册,产生注册信息;依据注册信息提取交换进程的实时行为数据,并对实时行为数据进行预处理;对经过预处理的实时行为数据建模,并依据预设规则对所建模型进行评估;依据评估结果对交换进程进行控制。可见,该方法通过对启动前静态方式的交换进程的认证及对启动后动态运行方式的交换进程的预处理、建模、评估及评估基础上对交换进程的控制,实现了对交换进程的整个生命周期的监管,从而实现了从交换进程监管的角度对数据交换进行保护的目的,进而提高了数据交换的安全性和可靠性。
1.一种数据安全交换进程监管方法,其特征在于,包括:
截获启动交换进程的请求;
对所述交换进程所包括的交换程序的完整性进行认证;
在交换进程启动后,接收所述交换进程的注册请求;
依据所述注册请求对所述交换进程进行注册,产生注册信息;所述注册信息包括所述
交换进程的进程控制符PID及所述交换进程所包括的交换程序的摘要信息;
依据所述注册信息提取所述交换进程的实时行为数据,并对所述实时行为数据进行预
处理,包括:根据交换进程的PID,提取所述交换进程的系统调用序列,作为所述实时行为数据;将所述系统调用序列中的每一系统调用替换为与之相应的系统调用序号,产生序号形式的系统调用序列;提取所述序号形式的系统调用序列的特征模式,并对所述特征模式进行编号,产生特征模式编号;对所述序号形式的系统调用序列进行压缩处理,则压缩处理后的系统调用序列为由所述系统调用序号以及所述特征模式编号混合构成的序列;
对预处理后的实时行为数据进行建模,获取建模模型,依据预设规则对所述建模模型
进行评估;包括:使用Markov模型λ=(Φ,π,P)对经过所述预处理的系统调用序列进行建模,其中:Φ={C1,C2,…,Ci,…,Cn,Cn+1},1≤i≤n,Ci表示系统调用或特征模式的状态,Cn+1表示之前没有出现过的系统调用的状态;π={πCi},πCi=NCi/N,π表示实时行为轨迹中不同系统调用或特征模式出现的概率,NCi表示状态Ci对应的系统调用或特征模式在压缩后的实时行为轨迹中出现的次数,N表示实时行为轨迹的长度,令πCn+1=min(πCi)/10;P=︱Pci,cj︱ (n+1)*(n+1),Pci,cj=Nci,cj/Nci,1≤i,j≤n,P表示不同系统调用或特征模式之间转换的概率,Pci,cj表示交换进程在t时刻处于状态Ci,t+1时刻处于状态Cj的概率,Nci,cj表示状态Ci和状态Cj相邻出现的次数,令Pci,cn+1=min(Pci,cj)/10;依据公式v(L)=πCi*Pci,ci+1*Pci+1,ci+2…*Pci+L-2,ci+L-1计算、检测长为L的状态短序列CiCi+1…Ci+L-2Ci+L-1的异常度,并对最近检测的k个状态短序列中异常度小于第一阈值的个数进行计数,当计数值大于第二阈值时,评估结果为异常;
依据所述评估的评估结果,控制所述交换进程的运行。
2.根据权利要求1所述的数据安全交换进程监管方法,其特征在于,所述对所述交换
进程所包括的交换程序的完整性进行认证的认证过程包括:
获取所述交换进程的启动文件的摘要信息;
依据所述摘要信息计算所述启动文件的摘要值;
对所述启动文件的摘要值以文档为单位分别进行级联,并对级联后的摘要值进行HASH
计算;
将所述HASH计算后的摘要值与预设值进行匹配,若匹配成功,则允许启动交换进程,
若不成功,则修复所述交换进程所包括的交换程序,转至执行获取所述交换进程的启动文件的摘要信息。
3.根据权利要求2所述的数据安全交换进程监管方法,其特征在于,所述启动文件包
括:可执行文件、动态链接库文件、配置文件和初始化文件。
4.根据权利要求1所述的数据安全交换进程监管方法,其特征在于,所述依据所述评
估的评估结果,控制所述交换进程的运行包括:
若评估结果为异常,则发出异常警报,并终止交换进程;
否则,继续对交换进程进行监管。
5.一种数据安全交换进程监管系统,基于如权利要求1~4任意一项所述的数据安全
交换进程监管方法,其特征在于,包括认证模块、注册模块、预处理模块、建模与评估模块以及控制模块,其中:
所述认证模块,用于接收启动交换进程的请求,对所述交换进程所包括的交换程序的
完整性进行认证;
所述注册模块,用于在交换进程启动后,接收所述交换进程的注册请求,并依据所述注册请求对所述交换进程进行注册,产生注册信息;
所述预处理模块,用于依据所述注册信息提取所述交换进程的实时行为数据,并对所
述实时行为数据进行预处理;
所述建模与评估模块,用于对预处理后的实时行为数据进行建模,获取建模模型,依据预设规则对所述建模模型进行评估;
所述控制模块,用于依据所述评估的评估结果,控制所述交换进程的运行。
6.根据权利要求5所述的数据安全交换进程监管系统,其特征在于,所述认证模块包
括:
获取模块,用于获取所述交换进程的启动文件的摘要信息;
计算模块,用于依据所述摘要信息计算所述启动文件的摘要值;
处理模块,用于对所述启动文件的摘要值以文档为单位分别进行级联,并对级联后的
摘要值进行HASH计算;
匹配模块,用于将所述HASH计算后的摘要值与预设值进行匹配,若匹配成功,则启动
交换进程,若不成功,则转至下述修复模块;
修复模块,用于修复所述交换进程所包括的交换程序,之后转至所述获取模块。
一种数据安全交换进程监管方法及系统\n技术领域\n[0001] 本发明属于计算机安全技术领域,尤其涉及一种数据安全交换进程监管方法及系统。\n背景技术\n[0002] 当前,随着社会信息化的飞速发展,对信息系统两方面的需求愈加凸显。其一是安全隔离的需求:信息安全是维护国家安全、社会稳定以及保障和促进信息化健康发展的基本策略,因此,为保证信息系统的安全,需要对拥有不同安全需求的信息系统进行安全域划分,并在划分的安全域边界采用安全隔离技术措施,以防止来自外部的非法攻击和内部的非法数据泄露;其二是信息共享的需求:信息的互通、资源的共享是现代信息技术的精神实质,是国家信息化建设的本质要求、故信息共享成为当前信息领域一大需求。在上述既要保证信息系统的安全,又要能够对信息系统进行数据交换、信息共享的背景下,安全交换技术应运而生。\n[0003] 目前的安全交换技术主要有硬件隔离技术、认证技术、XML(Extensible Markup Language,可扩展标记语言)技术以及专用通信协议技术。其中,硬件隔离技术,是通过专用硬件使不连通的两个或两个以上的网络进行网络之间的安全数据传输和资源共享的技术,该技术满足安全隔离的要求,可以防止黑客直接建立的攻击。但随着网络技术的发展对于黑客利用第三方进行的间接攻击如端口反弹型攻击等并不能起到很好的安全防护作用;\n认证技术认证的是交换节点,而不能对交换进程进行认证,即不能保证经过认证的可信节点上所运行的进程是否可信;XML技术很好地解决了安全交换中数据异构的问题,并且还可以通过XML的加密技术对所交换的数据进行保护,但却不能对交换进程本身的安全进行保护;专用通讯协议技术放弃了使用TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/因特网互联协议)的协议族,其应用特定的通信协议,提供专用的通信接口,来建立一条专用的交换通道,但这只保证了交换通道的安全,并不能避免交换进程被攻击后,攻击者利用这条通道窃取数据。\n[0004] 可见,上述方法均未对交换进程进行保护,进一步在交换过程被攻击时,数据交换的安全性降低。\n发明内容\n[0005] 有鉴于此,本发明的目的在于提供一种数据安全交换进程监管方法及平台,以实现从对交换进程监管的角度对数据交换进行保护,进而提高数据交换的安全性和可靠性。\n[0006] 为此,本发明提供如下技术方案:\n[0007] 一种数据安全交换进程监管方法,包括:\n[0008] 截获启动交换进程的请求;\n[0009] 对所述交换进程所包括的交换程序的完整性进行认证;\n[0010] 在交换进程启动后,接收所述交换进程的注册请求;\n[0011] 依据所述注册请求对所述交换进程进行注册,产生注册信息;\n[0012] 依据所述注册信息提取所述交换进程的实时行为数据,并对所述实时行为数据进行预处理;\n[0013] 对预处理后的实时行为数据进行建模,获取建模模型,依据预设规则对所述建模模型进行评估;\n[0014] 依据所述评估的评估结果,控制所述交换进程的运行。\n[0015] 优选的,所述注册信息包括所述交换进程的进程控制符PID及所述交换进程所包括的交换程序的摘要信息。\n[0016] 优选的,所述依据所述注册信息提取所述交换进程的实时行为数据,并对所述实时行为数据进行预处理包括:\n[0017] 根据交换进程的PID,提取所述交换进程的系统调用序列,作为所述实时行为数据;\n[0018] 将所述系统调用序列中的每一系统调用替换为与之相应的系统调用序号,产生序号形式的系统调用序列;\n[0019] 提取所述序号形式的系统调用序列的特征模式,并对所述特征模式进行编号,产生特征模式编号;\n[0020] 对所述序号形式的系统调用序列进行压缩处理,则压缩处理后的系统调用序列为由所述系统调用序号以及所述特征模式编号混合构成的序列。\n[0021] 优选的,所述对预处理后的实时行为数据进行建模,获取建模模型,依据预设规则对所述建模模型进行评估包括:\n[0022] 使用Markov模型λ=(Φ,π,P)对经过所述预处理的系统调用序列进行建模,其中:\n[0023] Φ={C1,C2,…,Ci,…,Cn,Cn+1},1≤i≤n,Ci表示系统调用或特征模式的状态,Cn+1表示之前没有出现过的系统调用的状态;\n[0024] π={πCi},πCi=NCi/N,π表示实时行为轨迹中不同系统调用或特征模式出现的概率,NCi表示状态Ci对应的系统调用或特征模式在压缩后的实时行为轨迹中出现的次数,N表示实时行为轨迹的长度,令πCn+1=min(πCi)/10;\n[0025] P= ︱Pci,cj︱ (n+1)*(n+1),Pci,cj=Nci,cj/Nci,1≤i,j≤n,P表示不同系统调用或特征模式之间转换的概率,Pci,cj表示交换进程在t时刻处于状态Ci,t+1时刻处于状态Cj的概率,Nci,cj表示状态Ci和状态Cj相邻出现的次数,令Pci,cn+1=min(Pci,cj)/10;\n[0026] 依据公式v(L)=πCi*Pci,ci+1*Pci+1,ci+2…*Pci+L-2,ci+L-1计算、检测长为L的状态短序列C1C2…Ci+L-2Ci+L-1的异常度,并对最近检测的k个状态短序列中异常度小于第一阈值的个数进行计数,当计数值大于第二阈值时,评估结果为异常。\n[0027] 优选的,所述对所述交换进程所包括的交换程序的完整性进行认证的认证过程包括:\n[0028] 获取所述交换进程的启动文件的摘要信息;\n[0029] 依据所述摘要信息计算所述启动文件的摘要值;\n[0030] 对所述启动文件的摘要值以文档为单位分别进行级联,并对级联后的摘要值进行HASH计算;\n[0031] 将所述HASH计算后的摘要值与预设值进行匹配,若匹配成功,则允许启动交换进程,若不成功,则修复所述交换进程所包括的交换程序,转至执行获取所述交换进程的启动文件的摘要信息。\n[0032] 优选的,所述启动文件包括:可执行文件、动态链接库文件、配置文件和初始化文件。\n[0033] 优选的,所述依据所述评估的评估结果,控制所述交换进程的运行包括:\n[0034] 若评估结果为异常,则发出异常警报,并终止交换进程;\n[0035] 否则,继续对交换进程进行监管。\n[0036] 一种数据安全交换进程监管系统,基于所述数据安全交换进程监管方法,包括认证模块、注册模块、预处理模块、建模与评估模块以及控制模块,其中:\n[0037] 所述认证模块,用于接收启动交换进程的请求,对所述交换进程所包括的交换程序的完整性进行认证;\n[0038] 所述注册模块,用于在交换进程启动后,接收所述交换进程的注册请求,并依据所述注册请求对所述交换进程进行注册,产生注册信息;\n[0039] 所述预处理模块,用于依据所述注册信息提取所述交换进程的实时行为数据,并对所述实时行为数据进行预处理;\n[0040] 所述建模与评估模块,用于对预处理后的实时行为数据进行建模,获取建模模型,依据预设规则对所述建模模型进行评估;\n[0041] 所述控制模块,用于依据所述评估的评估结果,控制所述交换进程的运行。\n[0042] 优选的,所述认证模块包括:\n[0043] 获取模块,用于获取所述交换进程的启动文件的摘要信息;\n[0044] 计算模块,用于依据所述摘要信息计算所述启动文件的摘要值;\n[0045] 处理模块,用于对所述启动文件的摘要值以文档为单位分别进行级联,并对级联后的摘要值进行HASH计算;\n[0046] 匹配模块,用于将所述HASH计算后的摘要值与预设值进行匹配,若匹配成功,则启动交换进程,若不成功,则转至下述修复模块;\n[0047] 修复模块,用于修复所述交换进程所包括的交换程序,之后转至所述获取模块。\n[0048] 本发明实施例提供的数据安全交换进程监管方法在交换进程启动前对所述交换进程所包括的交换程序的完整性进行认证;在其启动后对所述交换进程进行注册、依据所述注册信息提取所述交换进程的实时行为数据,并对所述实时行为数据进行预处理;进而对经过所述预处理后的实时行为数据进行建模,并依据预设规则对所建模型进行评估,最后依据评估结果对所述交换进程进行控制。\n[0049] 可见,本发明的方法通过对启动前静态方式的交换进程的认证以及对启动后动态运行方式的交换进程的预处理、建模、评估及评估基础上对交换进程的控制,实现了对交换进程的整个生命周期的监管,从而实现了从对交换进程监管的角度对数据交换进行保护的目的,进而提高了数据交换的安全性和可靠性。\n附图说明\n[0050] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。\n[0051] 图1是本发明实施例提供的数据安全交换进程监管方法的实施平台结构图;\n[0052] 图2是本发明实施例提供的交换进程监管架构示意图;\n[0053] 图3是本发明实施例提供的数据安全交换进程监管方法的流程示意图;\n[0054] 图4是本发明实施例提供的程序完整性认证的流程示意图;\n[0055] 图5是本发明实施例提供的程序完整性认证的具体实例图;\n[0056] 图6是本发明实施例提供的系统调用序列提取及预处理的流程示意图;\n[0057] 图7是本发明实施例提供的系统调用序列提取及预处理的具体实例图;\n[0058] 图8是本发明实施例提供的建模与评估过程流程示意图;\n[0059] 图9是本发明实施例提供的数据安全交换进程监管系统结构图。\n具体实施方式\n[0060] 为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结解释如下:\n[0061] 节点:节点分为交换主节点和交换从节点,节点实际是指一台电脑或者一个拥有独立物理地址和具有传送或接收数据功能的与网络相连的其他设备。\n[0062] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。\n[0063] 本发明实施例公开了一种数据安全交换进程监管方法,该方法所基于的平台,请参见图1,包括交换主节点和交换从节点,交换主节点在该平台中处于中心位置,交换从节点安装在该平台的各个终端上。\n[0064] 交换主节点以某种形式为用户提供管理界面,如B/S(Browser/Server,浏览器/服务器)模式等,使用户可以通过管理界面对各个交换从节点进行统一的配置,监控和管理,继而交换主节点将用户对于交换从节点的配置信息按照一定的格式转换为配置文件并下发给交换从节点,从而,在交换从节点启动之前,交换主节点可通过配置文件对交换从节点进行认证,以保证交换从节点的合法性。为了保证数据交换的安全性,防止交换进程被木马等恶意程序攻击,需要对交换进程进行实时的监管。交换主节点上运行监管服务,负责交换从节点之间的文件安全交换,交换从节点之间不能直接进行文件交换,即交换从节点将交换进程的行为上报到交换主节点,由交换主节点对交换进程的行为进行评估并裁决,进而,交换从节点根据裁决的结果,对交换进程进行终止/继续的控制,从而保证了数据交换的安全性。\n[0065] 上述平台在实施时,其功能具体可通过监管服务器和监管代理实现,并辅以相关的底层通信设施。请参见图1和图2,监管服务器位于交换主节点,负责存储与进程监管相关的信息,如程序静态完整性信息,程序备份及进程行为模型等;监管代理位于交换主节点和交换从节点,是进程监管的具体实施者,负责完整性认证、程序修复、进程注册,建模及评估等。\n[0066] 以下本发明实施例将基于上述平台对数据安全交换进程监管方法进行详细介绍。\n[0067] 请参见图3,其为本发明实施例提供的数据安全交换进程监管方法的流程图,该方法包括如下步骤:\n[0068] S1:截获启动交换进程的请求。\n[0069] S2:对上述交换进程所包括的交换程序的完整性进行认证。\n[0070] 具体地,请参见图4,对交换进程所包括的交换程序的完整性认证的详细过程为:\n[0071] S21:获取上述交换进程的启动文件的摘要信息。\n[0072] S22:依据摘要信息计算启动文件的摘要值。\n[0073] S23:对启动文件的摘要值以文档为单位分别进行级联,并对级联后的摘要值进行HASH计算。\n[0074] S24:将HASH计算后的摘要值与预设值进行匹配,若匹配成功,若匹配成功,则转至步骤S25;否则,转至步骤S26。\n[0075] S25;允许启动交换进程。\n[0076] S26:修复交换进程所包括的交换程序,之后转至步骤S21。\n[0077] 相应于上述平台,为保证数据交换的安全,交换进程需要在监管代理的控制下启动。即在交换进程加载前,监管代理对交换进程所包括的交换程序的完整性进行度量,并将度量结果上报到监管服务器;监管服务器根据度量结果进行裁决,并将裁决结果返回值监管代理;进而监管代理根据裁决结果决定是否允许启动交换进程。\n[0078] 参见图5,以下以发送进程SndP和接收进程RcvP为例,对上述完整性认证的过程进行详细介绍:\n[0079] 发送进程SndP和接收进程RcvP请求启动以进行交换任务。\n[0080] 监管代理接收到发送进程SndP和接收进程RcvP的启动请求,之后收集发送进程SndP和接收进程RcvP的相关启动文件。其中,相关启动文件包括.exe可执行文件、.dll动态链接库文件、.conf配置文件和.ini初始化文件等,发送进程SndP的相关启动文件包括F1.exe、L1.dll以及I1.ini,接收进程RcvP的相关启动文件包括F2.exe、L1.dll、L2.dll及C1.conf。\n[0081] 监管代理计算发送进程SndP和接收进程RcvP的相关启动文件的摘要值。具体地,对摘要值的计算可选择MD5(Message-Digest Algorithm5,消息摘要算法第五版)或SHA(Secure Hash Algorithm,安全散列算法)等。此处,将计算得出的发送进程SndP的相关启动文件F1.exe、L1.dll以及I1.ini的摘要值分别记为H1、H2、H6,将接收进程RcvP的相关启动文件L1.dll、F2.exe、L2.dll及C1.conf的摘要值分别记为H2、H3、H4和H5。\n[0082] 监管代理将上述发送进程SndP和接收进程RcvP的相关文件的摘要值分别进行级联,并再次进行HASH计算,得H[H1|H2|H6]和H[H2|H3|H4|H5],并以此作为认证交换进程所包括的交换程序的完整性认证的依据。\n[0083] 监 管 代 理 将 上 述级 联 结 果 以 二 元 组 的 形 式
发送至监管服务器,并请求监管服务器对其进行验证。\n[0084] 监管服务器将收到的二元组与该监管服务器内的数据库中的程序静态完整性信息进行匹配,若匹配成功,返回Authorized至监管代理,则监管代理允许启动交换进程;否则,返回Unauthorized至监管代理,并继续以下步骤。\n[0085] 监管代理接收到监管服务器返回的Unauthorized,则交换进程所包括的交换程序的完整性认证失败,说明程序遭到了篡改或破坏,则监管代理不允许启动交换进程,将该情况记录至监管服务器中,并对交换进程进行静态完整性修复,即监管代理重新从监管服务器的程序备份中下载交换进程所包括的交换程序,完成修复,之后重新对修复后的交换程序进行完整性认证。\n[0086] S3:在交换进程启动后,接收交换进程的注册请求。\n[0087] S4:依据注册请求对交换进程进行注册,产生注册信息。\n[0088] 其中,上述注册信息包括交换进程的PID(Process Identifier,进程控制符)及上述交换程序的摘要信息。交换进程的PID用于描述一个交换任务实例,交换程序的摘要信息包括交换进程的版本、功能、行为模型等信息。上述注册信息存储在监管代理的数据库中。\n[0089] 交换进程启动后,监管代理可根据交换进程的PID对其进行跟踪,以便后续对其进行实时监管及评估处理。\n[0090] S5:依据注册信息提取交换进程的实时行为数据,并对实时行为数据进行预处理。\n[0091] 当交换程序经过认证,交换进程启动后,交换程序的完整性即交换进程的静态完整性得到了保障,而正在运行的交换进程依然随时面临着被入侵、破坏的可能。因此,监管代理需提取交换进程的实时行为数据,并依据实时行为数据对交换进程的安全性和可靠性进行评估,完成对交换进程的监管。进程的行为可以在不同层次上进行描述,如库函数、系统调用、汇编代码。机器码等。本发明实施例将在系统调用层次对交换进程的描述作为优选,对于正常的系统调用来说,系统调用序列具有规律性,而当系统调用遭到破坏,其所对应的系统调用序列与正常时的系统调用序列会有较为明显的区别,本发明将该特点作为对交换进程进行评估的依据。\n[0092] 参见图6,在系统调用层次上,上述步骤5中提取及预处理的详细步骤如下:\n[0093] S51:根据交换进程的PID,提取交换进程的系统调用序列,作为实时行为数据。\n[0094] S52:将系统调用序列中的每一系统调用替换为与之相应的系统调用编号,产生序号形式的系统调用序列。\n[0095] S53:提取序号形式的系统调用序列的特征模式,并对特征模式进行编号,产生特征模式编号。\n[0096] S54:对序号形式的系统调用序列进行压缩处理,则压缩处理后的系统调用序列为由系统调用序号以及特征模式编号混合构成的序列。\n[0097] 参见图7,以下以Linux系统下对交换进程的实时行为数据的提取和预处理为例,对上述提取及预处理的过程进行详细描述:\n[0098] 在Linux系统下使用strace命令,以得到指定PID的交换进程的系统调用序列。\n具体命令为:strace–pPID,其中-p是指使用其后的PID来追踪交换进程,最终得到数据格式为sys_call(parameter1,parameter2…)的系统调用序列。\n[0099] 根据Linux内核中usr/include/sys/syscall.h里的系统调用与其序号的对应关系,将系统调用替换为系统调用序号,产生序号形式的系统调用序列。实现的过程为:利用Linux系统中的管道机制,使用命令strace-pPID|process将得到的上述系统调用序列重定向到数据预处理程序。其中,“|”表示管道,即将“|”前的程序的标准输出重定向到其后程序的标准输入,process为行为数据预处理程序,该process预处理程序对上述系统调用序列进行预处理并使其按格式输出,其中,sys_call_num为系统调用序号。\n[0100] 提取序号形式的系统调用序列的特征模式并对特征模式进行编号。对于序号形式的系统调用序列T,若其中的系统调用短序列l的支持度大于设定的阈值,则l称为系统调用序列T的特征模式。支持度是指系统调用短序列作为一个整体在系统调用序列中出现的概率。\n[0101] 则上述提取特征模式的过程为:利用公式 计算系统调用短序列l的\n支持度,其中len(T)表示系统调用序列T的长度,即含有的系统调用的个数,xT,l表示系统调用短序列在T中出现的次数。进而依据支持度及预设的阈值确定特征模式。\n[0102] 对特征模式的编号采用类似系统调用的编号的方式,由于一般的操作系统中,系统调用的个数不会超过300个,因此,为了避免混淆,对特征模式使用大于300的数字进行编号。\n[0103] 本实施例中,对提取的特征模式作进一步处理:寻找长度为1的特征模式,即满足最低支持度的单个系统调用;在此基础上,将相邻的两个长度为1的特征模式合并为长度为2的特征模式;然后,再将上述长度为2的特征模式与其相邻的长度为1的特征模式进行合并,得长度为3的特征模式;依此类推,直到没有新的更长的特征模式出现。在上述基础上,构建特征模式库,在构建时,为了压缩特征模式库的大小,进而使系统调用序列更为简洁,具体采用长度优先原则,即若存在较长的特征模式,就不再单独列举其包含的较短的特征模式。\n[0104] 最后,对序号形式的系统调用序列进行压缩,压缩后的系统调用序列为由上述系统调用序号与上述特征模式编号混合构成的序列。\n[0105] S6:对预处理后的实时行为数据进行建模,获取建模模型,依据预设规则对上述建模模型进行评估。\n[0106] 前已述及,对于正常的交换进程来说,其系统调用序列具有较强的规律性,本实施例通过使用Markov模型对系统调用序列进行建模与评估来揭示系统调用序列是否具有该规律性,进而判断交换进程是否存在异常。\n[0107] 监管代理从监管服务器中下载交换进程的进程行为模型,即上述Markov模型,将其存入监管代理数据库中,并基于该Markov模型,对预处理后的系统调用序列进行建模和评估。监管代理数据库中数据存储的字段如下述表1所示:\n[0108] 表1\n[0109] \n 字段 描述\n Pid 用于描述交换任务实例\n Id 程序的唯一标识,采用程序的摘要值\n ver 程序的版本号\n func 交换进程的功能,如交换进程、接收进程等\n pro_bhv 进程行为模型\n[0110] 参见图8,以下对基于上述Markov模型的建模与评估过程进行描述,其包括:\n[0111] S61:使用Markov模型对经过预处理后的系统调用序列进行建模,得建模模型。\n[0112] 其中,Markov模型具体为λ=(Φ,π,P),Φ为预处理后的系统调用序列的状态集合,π表示实时行为轨迹中不同系统调用或特征模式出现的概率,P表示不同的系统调用或特征模式之间转换的概率。\n[0113] 首先,获取预处理后的系统调用序列的状态集合Φ,Φ={C1,C2,…,Ci,…,Cn,Cn+1},其中,Ci表示系统调用或特征模式的状态,1≤i≤n。出现在压缩后的系统调用序列中的每个不同的系统调用或特征模式都与唯一的状态Ci对应,此处,增加一个特殊状态Cn+1,用于表示之前没有出现过的系统调用的状态。\n[0114] 之后,计算预处理后的系统调用序列中不同系统调用或特征模式出现的概率,即上述Markov模型的参数π,其中,π={πCi},πCi的值具体可依据公式πCi=NCi/N计算,NCi表示状态Ci对应的系统调用或特征模式在压缩后的系统调用序列中出现的次数,N表示系统调用序列的长度。对于特殊状态Cn+1,在训练充分的情况下,其相应系统调用对应的该状态出现的概率很小,令πCn+1=min(πCi)/10。\n[0115] 最后,计算不同的系统调用或特征模式之间转换的概率,即上述Markov模型的参数P,P具体为状态转移概率矩阵,P= ︱Pci,cj︱ (n+1)*(n+1),其中,1≤i,j≤n,元素Pci,cj表示交换进程在t时刻处于状态Ci,t+1时刻处于状态Cj的概率。Pci,cj的值具体可依据如下公式进行计算:Pci,cj=Nci,cj/Nci,其中,Nci,cj表示状态Ci和状态Cj相邻出现的次数。相应地,令特殊状态与其他状态之间的转移概率为Pci,cn+1=min(Pci,cj)/10。则进程行为模型建立。\n[0116] S62:对上述建模模型进行评估。\n[0117] 进行评估的评估过程为:依据公式v(L)=πCi*Pci,ci+1*Pci+1,ci+2…*Pci+L-2,ci+L-1计算、检测长为L的状态短序列C1C2…Ci+L-2Ci+L-1的异常度,并对最近检测的k个状态短序列中概率小于第一阈值的个数进行计数,当计数值大于第二阈值时,发出异常警报。\n[0118] 具体地,异常度反映系统调用的状态短序列与正常交换进程相应的正常模型的匹配程度,异常度的值越小,则表示其系统调用的状态短序列与正常模型的匹配度越低,则其对应的交换进程异常的可能性越大,反之,异常度的值越大,表示其对应的交换进程异常的可能性越小。其中,由于0≤πCi*Pci,ci+1*Pci+1,ci+2…*Pci+L-2,ci+L-1≤1,故0≤v(L)≤1。\n[0119] 本实施例中,依据上述公式对长为L的状态短序列的异常度的检测具体采用LFC(Local Frame Count,局部帧计数)方法。帧是一个固定长度k(如20)的窗口,在检测过程中,帧窗口会随着检测点不断向前滑动,用来记录最近检测的k个状态短序列中异常度小于阈值v的状态短序列。并对帧中小于阈值v的记录数进行计数,当计数值大于2时认为交换程序出现了一次异常,并发出异常警报。\n[0120] S7:依据评估的评估结果,控制交换进程的运行。\n[0121] 具体地,若评估结果为异常,则发出异常警报,并终止交换进程;否则,继续对交换进程进行监管。\n[0122] 本发明实施例提供的数据安全交换进程监管方法在交换进程启动前对交换进程所包括的交换程序的完整性进行认证;在其启动后对交换进程进行注册、依据注册信息提取交换进程的实时行为数据,并对实时行为数据进行预处理;进而对经过预处理后的实时行为数据进行建模,并依据预设规则对所建模型进行评估,最后依据评估结果对交换进程进行控制。\n[0123] 可见,本发明的方法通过对启动前静态方式的交换进程的认证以及启动后动态运行方式的交换进程的预处理、建模、评估及评估基础上对交换进程的控制,实现了对交换进程的整个生命周期的监管,从而实现了从交换进程监管的角度对数据交换进行保护的目的,进而提高了数据交换的安全性和可靠性。\n[0124] 在本发明其他实施例中,上述数据安全交换进程监管方法还可包括:\n[0125] 对上述控制交换进程的运行的控制结果进行审计。\n[0126] 具体地,监管服务器中包括了审计信息数据库,监管代理将上述控制结果上传至监管服务器,进而监管服务器将该结果记录至审计信息数据库中。\n[0127] 相应于上述数据安全交换进程监管方法,本发明实施例还提供了一种数据安全交换进程监管系统,参见图9,该数据安全交换进程监管系统包括认证模块100、注册模块\n200、预处理模块300、建模与评估模块400以及控制模块500,其中:\n[0128] 认证模块100,用于接收启动交换进程的请求,对上述交换进程所包括的交换程序的完整性进行认证。\n[0129] 具体地,认证模块100包括获取模块、计算模块、处理模块、匹配模块和修复模块,其中:\n[0130] 获取模块,用于获获取交换进程的启动文件的摘要信息。\n[0131] 计算模块,用于依据摘要信息计算启动文件的摘要值。\n[0132] 处理模块,用于对启动文件的摘要值以文档为单位分别进行级联,并对级联后的摘要值进行HASH计算。\n[0133] 匹配模块,将HASH计算后的摘要值与预设值进行匹配,若匹配成功,则启动交换进程,若不成功,则转至修复模块。\n[0134] 修复模块,用于修复交换进程所包括的交换程序,之后转至获取模块。\n[0135] 注册模块200,用于在交换进程启动后,接收交换进程的注册请求,并依据注册请求对交换进程进行注册,产生注册信息。\n[0136] 预处理模块300,依据注册信息提取交换进程的实时行为数据,并对实时行为数据进行预处理。\n[0137] 建模与评估模块400,用于对预处理后的实时行为数据进行建模,获取建模模型,依据预设规则对上述建模模型进行评估。\n[0138] 控制模块500,用于依据上述评估的评估结果,控制交换进程的运行。\n[0139] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。\n[0140] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。法律信息
- 2015-07-15
- 2012-12-12
实质审查的生效
IPC(主分类): H04L 29/06
专利申请号: 201210248822.2
申请日: 2012.07.17
- 2012-10-17
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-07-14
|
2009-12-31
| | |
2
| |
2009-06-03
|
2008-10-31
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |