安全策略生成方法、装置、存储介质及电子设备与流程

未命名 08-25 阅读:89 评论:0


1.本技术涉及信息安全技术领域,具体而言,涉及一种安全策略生成方法、装置、存储介质及电子设备。


背景技术:

2.通过安全策略可以对目标应用程序进行多方面的访问控制,例如对目标应用程序的文件系统、资源、网络、capability、mount、signal和ptrace等的访问进行控制,从而保证系统的安全。
3.在实际应用中,配置安全策略的工作人员需要对目标应用程序进行分析并对目标应用程序的功能进行了解,同时需要对系统的安全策略具有一定的了解。因此针对目标应用程序开发的安全策略文件的质量与工作人员的经验和能力有关,开发的安全策略质量不稳定,系统的安全性无法保证。
4.因此,如何为目标应用程序制定符合安全性要求的安全策略成为业界亟待解决的技术问题。


技术实现要素:

5.本技术提供一种安全策略生成方法、装置、存储介质及电子设备,用以解决现有技术中如何为目标应用程序制定符合安全性要求的安全策略的技术问题。
6.第一方面,本技术提供了一种安全策略生成方法,包括:
7.基于目标应用程序在各个初始安全策略下的访问控制信息,确定所述目标应用程序的多个访问控制策略;
8.基于所述多个访问控制策略对应的频繁项集,生成所述目标应用程序的基础安全策略;
9.基于所述目标应用程序在所述基础安全策略下的访问控制信息,对所述基础安全策略进行更新,生成所述目标应用程序的安全策略。
10.在一些实施例中,所述基于所述多个访问控制策略对应的频繁项集,生成所述目标应用程序的基础安全策略,包括:
11.基于各个访问控制策略对应的资源类型,对所述多个访问控制策略进行分类,得到各个资源类型对应的访问控制策略;
12.基于各个资源类型对应的访问控制策略中的频繁项集,生成所述目标应用程序的基础安全策略。
13.在一些实施例中,所述基于所述多个访问控制策略对应的频繁项集,生成所述目标应用程序的基础安全策略,包括:
14.基于任一访问控制策略在所述多个访问控制策略中出现的次数,以及所述初始安全策略的数量,确定所述任一访问控制策略的支持度;
15.基于支持度大于或等于第一阈值的访问控制策略,确定所述频繁项集。
16.在一些实施例中,所述基于所述多个访问控制策略对应的频繁项集,生成所述目标应用程序的基础安全策略,包括:
17.基于各个访问控制策略组合在所述多个访问控制策略中出现的次数,以及所述初始安全策略的数量,确定各个访问控制策略组合的支持度;所述访问控制策略组合包括至少两个访问控制策略;
18.基于支持度大于或等于第二阈值的访问控制策略组合,确定所述频繁项集;
19.基于所述频繁项集,生成所述目标应用程序的基础安全策略。
20.在一些实施例中,所述基于支持度大于或等于第二阈值的访问控制策略组合,确定所述频繁项集,包括:
21.确定当前候选频繁项集;
22.将所述当前候选频繁项集中访问控制策略组合的数量与预设数量进行对比;
23.若所述当前候选频繁项集中访问控制策略组合的数量小于预设数量,将所述当前候选频繁项集确定为所述频繁项集;
24.若所述当前候选频繁项集中访问控制策略的数量大于或等于预设数量,则基于所述当前候选频繁项集确定新的访问控制策略组合;
25.将支持度大于或等于第二阈值的新的访问控制策略组合确定为下一候选频繁项集。
26.在一些实施例中,所述基于所述目标应用程序在所述基础安全策略下的访问控制信息,对所述基础安全策略进行更新,包括:
27.获取所述目标应用程序在所述基础安全策略下的访问控制信息;
28.在所述访问控制信息与所述基础安全策略中的访问控制策略不匹配的情况下,基于匹配失败的访问控制信息,生成访问控制更新策略;
29.基于所述访问控制更新策略,对所述基础安全策略进行更新。
30.在一些实施例中,所述初始安全策略是基于如下步骤获得的:
31.对所述目标应用程序进行黑盒测试,得到第一初始安全策略;
32.基于所述目标应用程序对应的历史安全策略,确定第二初始安全策略;
33.基于所述第一初始安全策略和/或所述第二初始安全策略,得到所述初始安全策略。
34.第二方面,本技术提供了一种安全策略生成装置,包括:
35.确定模块,用于基于目标应用程序在各个初始安全策略下的访问控制信息,确定所述目标应用程序的多个访问控制策略;
36.生成模块,用于基于所述多个访问控制策略对应的频繁项集,生成所述目标应用程序的基础安全策略;
37.更新模块,用于基于所述目标应用程序在所述基础安全策略下的访问控制信息,对所述基础安全策略进行更新,生成所述目标应用程序的安全策略。
38.第三方面,本技术提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的方法。
39.第四方面,本技术提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述程序时实现上述的方
法。
40.本技术提供的安全策略生成方法、装置、存储介质及电子设备,通过获取目标应用程序在各个初始安全策略下的访问控制信息,可以确定目标应用程序的多个访问控制策略;通过多个访问控制策略对应的频繁项集,可以根据频繁项集生成目标应用程序的基础安全策略;通过确定目标应用程序在基础安全策略下的访问控制信息,可以在基础安全策略的基础上进行更新,从而自动为目标应用程序生成安全策略,无需依靠工作人员的经验和能力,降低了安全策略的开发难度,提高了开发的安全策略的质量稳定性,增强了系统的安全性。
附图说明
41.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
42.为了更清楚地说明本技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1为本技术一个实施例提供的安全策略生成方法的流程示意图;
44.图2是本技术一个实施例提供的安全策略生成装置的结构示意图;
45.图3是本技术一个实施例提供的电子设备的结构示意图。
具体实施方式
46.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
47.需要说明的是,本技术中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
48.本技术实施例提供的安全策略生成方法适用于终端(终端设备),包括各种具有卫星通信功能的手持设备、车载设备、可穿戴设备、计算设备、或连接到无线调制解调器的其它处理设备,例如,手机、平板、台式笔记本以及可以运行应用程序的智能设备,包括智能汽车的中央控制台等。具体可以指用户设备(user equipment,ue)、接入终端、用户模块、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。
49.终端设备还可以是卫星电话、智能手机、无线数据卡、无线调制解调器、机器类型
通信设备、可以是无绳电话、会话启动协议(session initiation protocol,sip)电话、无线本地环路(wireless local loop,wll)站、个人数字处理(personal digital assistant,pda)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备或可穿戴设备,虚拟现实(virtual reality,vr)终端设备、增强现实(augmented reality,ar)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、5g网络或者未来通信网络中的终端设备等。
50.图1是本技术一个实施例提供的安全策略生成方法的流程示意图,如图1所示,该方法包括步骤110、步骤120和步骤130。该方法流程步骤仅仅作为本技术一个可能的实现方式。
51.步骤110、基于目标应用程序在各个初始安全策略下的访问控制信息,确定目标应用程序的多个访问控制策略。
52.具体地,本技术实施例提供的安全策略生成方法的执行主体为安全策略生成装置,该装置可以为终端中独立设置的硬件设备,也可以为运行在终端中的软件程序。
53.目标应用程序为待进行安全策略开发的计算机程序。初始安全策略为初始设立的目标应用程序对系统资源进行访问的权限规则。
54.访问控制信息为目标应用程序对系统资源进行访问的权限信息,例如,目标应用程序分析处理文件(file)、数据总线(dbus)和套接字(socket)资源的权限信息、目标应用程序在执行过程中需要的capability和调用ptrace系统的权限信息等。
55.访问控制策略为限制目标应用程序对某些资源的访问,或限制对某些控制功能的使用的方法。
56.初始安全策略中包括多个访问控制策略。通过对目标应用程序的访问控制信息进行解析,可以得到目标应用程序的访问控制策略。
57.例如有n个初始安全策略,n个初始安全策略可以组成一个初始安全策略集s,初始安全策略集s可表示为s={s1,s2,

sn},si指第i个初始安全策略。对初始安全策略集中各个初始安全策略的访问控制信息进行处理后,可以得到各个初始安全策略的访问控制策略。
58.若第i个初始安全策略对应m个访问控制策略,则第i个初始安全策略的访问控制策略可表示为si={f
i1
,f
i2
,
…fim
},其中f
ij
指根据第i个初始安全策略的第j个访问控制信息所得到的访问控制策略。
59.步骤120、基于多个访问控制策略对应的频繁项集,生成目标应用程序的基础安全策略。
60.具体地,访问控制策略对应的频繁项集是指在目标应用程序的各个初始安全策略对应的访问控制策略中频繁出现的策略。
61.频繁项集有两种确定方式:
62.第一方面、至少两个访问控制策略可以组成访问控制策略组合,多个访问控制策略组合中有相同的访问控制策略,访问控制策略组合中的访问控制策略在各个初始安全策
略中同时出现的频率高,且满足一定阈值条件,则该访问控制策略组合组成的集合就是频繁项集。
63.第二方面,可选的,本技术实施例中在各个初始安全策略中频繁出现,且满足一定阈值条件的访问控制策略组成的集合,也可以为频繁项集。
64.将频繁项集中的访问控制策略添加到基础安全策略模板中,即可得到目标应用程序的基础安全策略。
65.步骤130、基于目标应用程序在基础安全策略下的访问控制信息,对基础安全策略进行更新,生成目标应用程序的安全策略。
66.具体地,将目标应用程序在系统中运行,系统中配置了目标应用程序的基础安全策略。获取目标应用程序在基础安全策略下的访问控制信息,根据访问控制信息对基础安全策略进行更新,从而得到目标应用程序最终的安全策略。
67.本技术实施例提供的安全策略生成方法,通过获取目标应用程序在各个初始安全策略下的访问控制信息,可以确定目标应用程序的多个访问控制策略;通过多个访问控制策略对应的频繁项集,可以根据频繁项集生成目标应用程序的基础安全策略;通过确定目标应用程序在基础安全策略下的访问控制信息,可以在基础安全策略的基础上进行更新,从而自动为目标应用程序生成安全策略,无需依靠工作人员的经验和能力,降低了安全策略的开发难度,提高了开发的安全策略的质量稳定性,增强了系统的安全性。
68.需要说明的是,本技术每一个实施方式可以自由组合、调换顺序或者单独执行,并不需要依靠或依赖固定的执行顺序。
69.访问控制策略对应的资源类型可以分为file资源、socket资源、capability资源、挂载(mount)资源、ptrace资源、signal资源、source资源和dbus资源等。
70.可以根据资源间和资源内两种角度来获取频繁项集。资源内的频繁项集即同一资源类型的访问控制策略的频繁项集;资源间的频繁项集,即不同资源类型的访问控制策略的频繁项集。
71.资源间的频繁项集的获取:可以直接获取所有访问控制策略,并确定所有访问控制策略中的频繁项集,从而生成目标应用程序的基础安全策略。该方法使得获取的频繁项集更精确,提高了安全策略的开发效率。
72.资源内的频繁项集可以通过如下实施例提供的方法进行获取。
73.在一些实施例中,步骤120包括:
74.基于各个访问控制策略对应的资源类型,对多个访问控制策略进行分类,得到各个资源类型对应的访问控制策略;
75.基于各个资源类型对应的访问控制策略中的频繁项集,生成目标应用程序的基础安全策略。
76.具体地,可以对各个访问控制策略按照资源类型进行分类,然后确定各个资源类型对应的访问控制策略中的频繁项集,从而生成目标应用程序的基础安全策略。
77.本技术实施例提供的安全策略生成方法,可以通过对多个访问控制策略进行分类,并获取各个资源类型对应的访问控制策略中的频繁项集,可以降低系统的运算量,提高了安全策略的开发效率。
78.在一些实施例中,步骤120包括:
79.基于任一访问控制策略在多个访问控制策略中出现的次数,以及初始安全策略的数量,确定任一访问控制策略的支持度;
80.基于支持度大于或等于第一阈值的访问控制策略,确定频繁项集。
81.具体地,本技术实施例的支持度可以为各个访问控制策略在多个访问控制策略中出现的次数占初始安全策略的数量的比重。
82.将任一访问控制策略在多个访问控制策略中出现的次数除以初始安全策略的数量,可以得到该访问控制策略的支持度。
83.例如,访问控制策略f
ij
在所有访问控制策略中出现的次数为r,初始安全策略的数量为n,则访问控制策略f
ij
的支持度为r除以n。
84.可选的,还可以将任一访问控制策略在同一资源类型的访问控制策略中出现的次数除以初始安全策略的数量,得到各个资源类型的各个访问控制策略的支持度。
85.例如,访问控制策略f
ij
的资源类型为file资源,访问控制策略f
ij
在file资源对应的访问控制策略中出现的次数为q,则访问控制策略f
ij
的支持度为q除以n。
86.将各个访问控制策略的支持度与预设的第一阈值进行对比,将支持度大于或等于第一阈值的访问控制策略组成集合,该集合即为频繁项集。
87.本技术实施例提供的安全策略生成方法,通过计算各个访问控制策略的支持度,可以得到频繁项集,提高了安全策略与目标应用程序的匹配度,提高了系统的安全性。
88.在一些实施例中,步骤120包括:
89.基于各个访问控制策略组合在多个访问控制策略中出现的次数,以及初始安全策略的数量,确定各个访问控制策略组合的支持度;访问控制策略组合包括至少两个访问控制策略;
90.基于支持度大于或等于第二阈值的访问控制策略组合,确定频繁项集;
91.基于频繁项集,生成目标应用程序的基础安全策略。
92.具体地,可以将至少两个访问控制策略进行关联,得到多个访问控制策略组合。
93.获取各个访问控制策略组合在多个访问控制策略中出现的次数,即获取访问控制策略组合中的访问控制策略同时在多个访问控制策略中出现的次数。将各个访问控制策略组合在多个访问控制策略中出现的次数除以初始安全策略的数量,可以得到各个访问控制策略组合的支持度。
94.例如,访问控制策略组合{f
i1
,f
i2
}中的f
i1
和f
i2
同时在多个访问控制策略中出现的次数为w,初始安全策略的数量为n,则访问控制策略组合{f
o1
,f
i2
}的支持度为w除以n。
95.可选的,还可以将至少两个同一资源类型的访问控制策略进行关联,得到各个资源类型下的多个访问控制策略组合。
96.获取各个访问控制策略组合在同一资源类型的多个访问控制策略中出现的次数。将各个访问控制策略组合在同一资源类型的多个访问控制策略中出现的次数除以该资源类型的初始安全策略的数量,可以得到各个访问控制策略组合的支持度。
97.例如,f
i1
和f
i2
的资源类型均为file资源,访问控制策略组合{f
i1
,f
i2
}在file资源对应的多个访问控制策略中同时出现的次数为b,file资源对应的初始安全策略的数量为a,则访问控制策略组合{f
i1
,f
i2
}的支持度为w除以a。
98.将各个访问控制策略组合的支持度与预设的第二阈值进行对比,将支持度大于或
等于第二阈值的访问控制策略组合组成集合,该集合即为频繁项集。
99.其中,第二阈值可以小于上述的第一阈值。阈值的设置数值越大,代表得到的访问控制策略更通用,目标应用程序对应的权限限制也更严格。
100.将频繁项集中的访问控制策略添加到基础安全策略模板中,即可得到目标应用程序的基础安全策略。
101.本技术实施例提供的安全策略生成方法,通过计算各个访问控制策略组合的支持度,可以将各个访问控制策略进行关联,得到频繁项集,并生成目标应用程序的基础安全策略,从而自动为目标应用程序生成安全策略,提高了开发的安全策略的质量稳定性,增强了系统的安全性。
102.在一些实施例中,基于支持度大于或等于第二阈值的访问控制策略组合,确定频繁项集,包括:
103.确定当前候选频繁项集;
104.将当前候选频繁项集中访问控制策略组合的数量与预设数量进行对比;
105.若当前候选频繁项集中访问控制策略组合的数量小于预设数量,将当前候选频繁项集确定为频繁项集;
106.若当前候选频繁项集中访问控制策略的数量大于或等于预设数量,则基于当前候选频繁项集确定新的访问控制策略组合;
107.将支持度大于或等于第二阈值的新的访问控制策略组合确定为下一候选频繁项集。
108.具体地,若频繁项集中的访问控制策略数量过多,则生成的安全策略过于复杂且通用性可能较低,因此可以对频繁项集中访问控制策略组合的预设数量进行限定。预设数量可以根据实际情况来进行设置,例如可以设置1、2或3等。
109.确定当前的候选频繁项集,将当前候选频繁项集中访问控制策略组合的数量与预设数量进行对比。
110.若当前候选频繁项集中访问控制策略组合的数量小于预设数量,则将当前候选频繁项集确定为频繁项集。
111.若当前候选频繁项集中访问控制策略的数量大于或等于预设数量,即当前的候选频繁项集中访问控制策略组合的数量较多,需要减少当前候选频繁项集中访问控制策略组合的数量。将当前的候选频繁项集中的访问控制策略组合进行关联组合,计算关联组合后的访问控制策略组合的支持度,将支持度大于或等于第二阈值的新的访问控制策略组合确定为下一候选频繁项集。
112.进一步将下一候选频繁项集中访问控制策略组合的数量与预设数量进行对比。
113.若该下一候选频繁项集中访问控制策略组合的数量小于预设数量,则将该下一候选频繁项确定为频繁项集。否则继续对该下一候选频繁项中的访问控制策略组合进行关联组合并计算支持度,直至候选频繁项集中访问控制策略组合的数量小于预设数量。
114.本技术实施例提供的安全策略生成方法,通过将当前候选频繁项集中访问控制策略组合的数量与预设数量进行对比,可以控制频繁项集中访问控制策略组合的数量,使得生成的安全策略与目标应用程序更匹配,提高了安全策略的准确度。
115.在一些实施例中,步骤130包括:
116.获取目标应用程序在基础安全策略下的访问控制信息;
117.在访问控制信息与基础安全策略中的访问控制策略不匹配的情况下,基于匹配失败的访问控制信息,生成访问控制更新策略;
118.基于访问控制更新策略,对基础安全策略进行更新。
119.具体地,可以将目标应用程序在配置了基础安全策略的系统中运行,并获取目标应用程序在基础安全策略下的访问控制信息。将访问控制信息与基础安全策略中的访问控制策略进行匹配。
120.若两者相匹配,则不需要对基础安全策略进行更新,基础安全策略即为目标应用程序的安全策略。
121.若两者不匹配,则生成匹配失败的访问控制信息对应的访问控制更新策略,将访问控制更新策略添加至基础安全策略中,从而得到目标应用程序的安全策略。
122.例如,可以根据linux系统中的apparmor对基础安全策略进行更新,从而生成目标应用程序的安全策略。
123.可以在linux系统中开启apparmor,基础安全策略可以以complain模式应用到系统中;将目标应用程序在系统中运行,生成审计日志。审计日志中记载了目标应用程序在基础安全策略下的访问控制信息。
124.对该审计日志进行分析,查找apparmor=“denied”且profile=“目标应用程序”的日志项。
125.若审计日志中不存在上述日志项,即访问控制信息与基础安全策略中的访问控制策略匹配,则不需要对基础安全策略进行更新,基础安全策略即为目标应用程序的安全策略。
126.若审计日志中存在上述日志项,即访问控制信息与基础安全策略中的访问控制策略不匹配,则需要根据该日志项分析目标应用程序需要的访问控制信息。
127.获取匹配失败的访问控制信息,生成匹配失败的访问控制信息对应的访问控制更新策略,将访问控制更新策略添加至基础安全策略中,从而得到目标应用程序的安全策略。
128.可选的,开发人员可以根据实际需求判断匹配失败的访问控制信息的权限设置是否是安全合理的。若是安全合理的,则对基础安全策略进行更新,否则可以忽略该匹配失败的访问控制信息。
129.本技术实施例提供的安全策略生成方法,通过获取目标应用程序在基础安全策略下的访问控制信息,对基础安全策略进行更新,提高了生成的安全策略的安全性,使得安全策略的保护范围更全面。
130.在一些实施例中,初始安全策略是基于如下步骤获得的:
131.对目标应用程序进行黑盒测试,得到第一初始安全策略;
132.基于目标应用程序对应的历史安全策略,确定第二初始安全策略;
133.基于第一初始安全策略和/或第二初始安全策略,得到初始安全策略。
134.具体地,本技术实施例通过黑盒测试的方法,从目标应用程序的功能上分析,获取第一初始安全策略。
135.还可以获取历史安全策略,将历史安全策略作为第二初始安全策略。历史安全策略可以是技术人员编写的。
136.可以将第一初始安全策略作为初始安全策略;也可以将第二初始安全策略作为初始安全策略;还可以将第一初始安全策略和第二初始安全策略均作为初始安全策略。
137.本技术实施例提供的安全策略生成方法,通过黑盒测试和/或历史安全策略,得到初始安全策略,使得生成的安全策略的安全防护更全面。
138.在一些实施例中,该方法包括:
139.步骤一、获取初始安全策略集。
140.初始安全策略集中包括多个初始安全策略,初始安全策略可以通过如下两种方式获取:
141.(1)采用黑盒测试的方式,从目标应用程序的功能上分析并获取目标应用程序全方位的初始安全策略。
142.(2)技术人员根据实际应用中目标应用程序的安全策略编写历史安全策略,将该历史安全策略作为初始安全策略。
143.步骤二、获取访问控制策略。
144.初始安全策略集确定后,遍历初始安全策略集中的初始安全策略,对目标应用程序在当前初始安全策略下对各个资源的访问控制信息进行分析处理,得到当前初始安全策略对应的多个访问控制策略。具体处理过程如下:
145.分析各个初始安全策略的file、dbus和socket:分析处理file、dbus和socket资源的权限,记录文件访问路径,若为绝对路径直接记录该路径即可,若为可选的多个路径则分别记录;记录对应资源的权限,记录目标应用程序对该资源的操作权限。
146.分析各个初始安全策略的资源限制:分析处理在目标应用程序执行过程中对资源的使用权限,记录资源类型;记录资源使用范围。
147.分析各个初始安全策略需要的capability:记录目标应用程序在执行过程中需要的capability。
148.分析各个初始安全策略的mount:对系统挂载情况进行分析。
149.分析各个初始安全策略的ptrace:分析ptrace系统调用,记录权限控制信息。
150.分析各个初始安全策略的signal:分析系统进程间的信号,记录发送方信号和接收方信号。
151.分析include文件:该include语句用于提取其他apparmor配置文件的组成部分。记录include文件的名称;查找该文件的内容是否已被记录,若没有则提取该文件内容并保存;重复提取这个过程,直到初始安全策略集中所有include文件均被访问。
152.处理之后的数据结构如下所示:
153.例如,初始安全策略集中有n个初始安全策略,初始安全策略集可表示为s={s1,s2,

sn},si指第i个初始安全策略。对初始安全策略集中各个初始安全策略进行处理后,得到各个初始安全策略的访问控制策略和include配置文件集。
154.若第i个初始安全策略对应m个访问控制策略,则第i个初始安全策略的访问控制策略可表示为si={f
i1
,f
i2
,
…fim
},其中f
ij
指根据第i个初始安全策略的第j个访问控制信息所得到的访问控制策略。
155.若include文件共有e个,则include配置文件集可表示为c={c1,c2,
…ce
},ci={f
i1
,f
i2
,
…fil
},其中ci指第i个include配置文件集中的访问控制信息,l指第i个include
配置文件集中共有l个访问控制信息。
156.其中,include配置文件中的访问控制信息为通用的访问控制信息,初始安全策略的访问控制信息为目标应用程序对应的访问控制信息。
157.步骤三、生成基础安全策略。
158.可以通过独立访问控制策略和访问控制策略频繁项集两种方式生成目标应用程序的安全策略:
159.这两种方式均采用支持度作为评估标准,即单个访问控制策略或访问控制策略组合在访问控制策略中出现的次数占初始安全策略数量n的比重。
160.(1)独立访问控制策略。
161.若一个访问控制策略在大多数访问控制策略中出现,则可以认为该访问控制策略对应的操作大多数用户会用到,该访问控制策略同样适应于大多数的用户。
162.遍历s中的初始安全策略,得到所有出现过的访问控制策略、出现的次数、所属资源类型。将这些数据进行处理,将处理后的数据记为k;
163.设置第一阈值为计算k中每个访问控制策略的支持度,将支持度大于或等于第一阈值的访问控制策略添加到基础安全策略模板中,得到基础安全策略。
164.(2)访问控制策略频繁项集。
165.访问控制策略频繁项集为通过关联规则的方式选择具有关联性的关联访问控制策略,从而弥补独立访问控制策略下的可能漏掉的安全策略。
166.可以采用关联规则中apriori的方法来生成资源间和资源内的频繁项集。
167.将第二阈值设置为频繁项集中访问控制策略组合的数量的预设数量设置为k。
168.资源间频繁项集的生成过程如下:
169.把k作为初始候选频繁项集i0;
170.计算当前候选频繁项集i
t
中各个访问控制策略组合的支持度,删除支持度小于的访问控制策略组合,得到新的候选频繁项集i
t+1
;t为当前候选频繁项集的生成序号;
171.若i
t+1
中访问控制策略组合数量小于k,则i
t+1
即为最终生成的频繁项集;否则基于i
t+1
中访问控制策略组合的连接生成新的候选频繁项集i
t+2
;将i
t+2
中不符合预设条件的访问控制策略组合删除,直到新的候选频繁项集中访问控制策略组合数量小于k。
172.把最终的候选频繁项集中访问控制策略添加到基础安全策略模板中,得到基础安全策略。
173.资源内频繁项集生成过程与资源间频繁项集生成过程,除了初始的候选频繁项集不同之外其他过程相同。
174.资源内初始的候选频繁项集的获取需要以资源类型对k进行分类,生成各个资源类型的候选频繁项集集合i={i
file
,i
source
,i
capability
,i
mount
,i
ptrace
,i
signal
,i
dbus
,i
socket
}。
175.遍历i,可以得到最终的基础安全策略。
176.步骤四、生成目标应用程序的安全策略。
177.根据基础安全策略生成目标应用程序的apparmor安全策略,具体过程如下:
178.在系统中开启apparmor,把基础安全策略以complain模式应用到系统中;运行目
标应用程序一段时间,生成对应的审计日志;对审计日志进行分析,查找apparmor=“denied”且profile=“目标应用程序”的日志项。
179.若不存在该日志项,则基础安全策略即为目标应用程序的apparmor安全策略。
180.若存在,遍历该日志项,分析目标应用程序需要的权限及对应的系统操作,技术人员根据实际需求判断该操作是否是安全合理的。若合理,则在基础安全策略中添加对应资源的权限的访问控制策略,更新基础安全策略,生成用户最终的apparmor安全策略。否则忽略该项权限。
181.本技术实施例提供的安全策略生成方法,通过获取访问控制策略,生成基础安全策略,从而生成目标应用程序的安全策略,可以自动的为目标应用程序生成apparmor安全策略,降低了apparmor安全策略开发的难度,提高了系统的安全性。
182.下面对本技术实施例提供的安全策略生成装置进行描述,下文描述的安全策略生成装置与上文描述的安全策略生成方法可相互对应参照。
183.图2是本技术一个实施例提供的安全策略生成装置的结构示意图,如图2所示,该装置包括确定模块210、生成模块220和更新模块230。
184.确定模块210,用于基于目标应用程序在各个初始安全策略下的访问控制信息,确定目标应用程序的多个访问控制策略;
185.生成模块220,用于基于多个访问控制策略对应的频繁项集,生成目标应用程序的基础安全策略;
186.更新模块230,用于基于目标应用程序在基础安全策略下的访问控制信息,对基础安全策略进行更新,生成目标应用程序的安全策略。
187.具体地,根据本技术的实施例,确定模块、生成模块和更新模块中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。
188.或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。
189.根据本技术的实施例,确定模块、生成模块和更新模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。
190.或者,确定模块、生成模块和更新模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
191.本技术实施例提供的安全策略生成装置,通过获取目标应用程序在各个初始安全策略下的访问控制信息,可以确定目标应用程序的多个访问控制策略;通过多个访问控制策略对应的频繁项集,可以根据频繁项集生成目标应用程序的基础安全策略;通过确定目标应用程序在基础安全策略下的访问控制信息,可以在基础安全策略的基础上进行更新,从而自动为目标应用程序生成安全策略,无需依靠工作人员的经验和能力,降低了安全策略的开发难度,提高了开发的安全策略的质量稳定性,增强了系统的安全性。
192.在一些实施例中,生成模块具体用于基于各个访问控制策略对应的资源类型,对多个访问控制策略进行分类,得到各个资源类型对应的访问控制策略;基于各个资源类型
对应的访问控制策略中的频繁项集,生成目标应用程序的基础安全策略。
193.在一些实施例中,生成模块具体用于基于任一访问控制策略在多个访问控制策略中出现的次数,以及初始安全策略的数量,确定任一访问控制策略的支持度;基于支持度大于或等于第一阈值的访问控制策略,确定频繁项集。
194.在一些实施例中,生成模块具体用于基于各个访问控制策略组合在多个访问控制策略中出现的次数,以及初始安全策略的数量,确定各个访问控制策略组合的支持度;访问控制策略组合包括至少两个访问控制策略;基于支持度大于或等于第二阈值的访问控制策略组合,确定频繁项集;基于频繁项集,生成目标应用程序的基础安全策略。
195.在一些实施例中,基于支持度大于或等于第二阈值的访问控制策略组合,确定频繁项集,包括:
196.确定当前候选频繁项集;将当前候选频繁项集中访问控制策略组合的数量与预设数量进行对比;若当前候选频繁项集中访问控制策略组合的数量小于预设数量,将当前候选频繁项集确定为频繁项集;若当前候选频繁项集中访问控制策略的数量大于或等于预设数量,则基于当前候选频繁项集确定新的访问控制策略组合;将支持度大于或等于第二阈值的新的访问控制策略组合确定为下一候选频繁项集。
197.在一些实施例中,更新模块具体用于获取目标应用程序在基础安全策略下的访问控制信息;在访问控制信息与基础安全策略中的访问控制策略不匹配的情况下,基于匹配失败的访问控制信息,生成访问控制更新策略;基于访问控制更新策略,对基础安全策略进行更新。
198.在一些实施例中,安全策略生成装置还包括获取模块,用于对目标应用程序进行黑盒测试,得到第一初始安全策略;基于目标应用程序对应的历史安全策略,确定第二初始安全策略;基于第一初始安全策略和/或第二初始安全策略,得到初始安全策略。
199.在此需要说明的是,本技术实施例提供的安全策略生成装置,能够实现上述安全策略生成方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
200.图3为本技术一个实施例提供的电子设备的结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(communications interface)320、存储器(memory)330和通信总线(communications bus)340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑命令,以执行安全策略生成方法,该方法包括:
201.基于目标应用程序在各个初始安全策略下的访问控制信息,确定目标应用程序的多个访问控制策略;基于多个访问控制策略对应的频繁项集,生成目标应用程序的基础安全策略;基于目标应用程序在基础安全策略下的访问控制信息,对基础安全策略进行更新,生成目标应用程序的安全策略。
202.此外,上述的存储器中的逻辑命令可以通过软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所
述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
203.本技术实施例提供的电子设备中的处理器可以调用存储器中的逻辑指令,实现上述方法,其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
204.本技术实施例还提供一种非暂态计算机可读的存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法。
205.其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
206.本技术实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述方法。
207.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
208.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
209.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。

技术特征:
1.一种安全策略生成方法,其特征在于,包括:基于目标应用程序在各个初始安全策略下的访问控制信息,确定所述目标应用程序的多个访问控制策略;基于所述多个访问控制策略对应的频繁项集,生成所述目标应用程序的基础安全策略;基于所述目标应用程序在所述基础安全策略下的访问控制信息,对所述基础安全策略进行更新,生成所述目标应用程序的安全策略。2.根据权利要求1所述的安全策略生成方法,其特征在于,所述基于所述多个访问控制策略对应的频繁项集,生成所述目标应用程序的基础安全策略,包括:基于各个访问控制策略对应的资源类型,对所述多个访问控制策略进行分类,得到各个资源类型对应的访问控制策略;基于各个资源类型对应的访问控制策略中的频繁项集,生成所述目标应用程序的基础安全策略。3.根据权利要求1所述的安全策略生成方法,其特征在于,所述基于所述多个访问控制策略对应的频繁项集,生成所述目标应用程序的基础安全策略,包括:基于任一访问控制策略在所述多个访问控制策略中出现的次数,以及所述初始安全策略的数量,确定所述任一访问控制策略的支持度;基于支持度大于或等于第一阈值的访问控制策略,确定所述频繁项集。4.根据权利要求1所述的安全策略生成方法,其特征在于,所述基于所述多个访问控制策略对应的频繁项集,生成所述目标应用程序的基础安全策略,包括:基于各个访问控制策略组合在所述多个访问控制策略中出现的次数,以及所述初始安全策略的数量,确定各个访问控制策略组合的支持度;所述访问控制策略组合包括至少两个访问控制策略;基于支持度大于或等于第二阈值的访问控制策略组合,确定所述频繁项集;基于所述频繁项集,生成所述目标应用程序的基础安全策略。5.根据权利要求4所述的安全策略生成方法,其特征在于,所述基于支持度大于或等于第二阈值的访问控制策略组合,确定所述频繁项集,包括:确定当前候选频繁项集;将所述当前候选频繁项集中访问控制策略组合的数量与预设数量进行对比;若所述当前候选频繁项集中访问控制策略组合的数量小于预设数量,将所述当前候选频繁项集确定为所述频繁项集;若所述当前候选频繁项集中访问控制策略的数量大于或等于预设数量,则基于所述当前候选频繁项集确定新的访问控制策略组合;将支持度大于或等于第二阈值的新的访问控制策略组合确定为下一候选频繁项集。6.根据权利要求1所述的安全策略生成方法,其特征在于,所述基于所述目标应用程序在所述基础安全策略下的访问控制信息,对所述基础安全策略进行更新,包括:获取所述目标应用程序在所述基础安全策略下的访问控制信息;在所述访问控制信息与所述基础安全策略中的访问控制策略不匹配的情况下,基于匹配失败的访问控制信息,生成访问控制更新策略;
基于所述访问控制更新策略,对所述基础安全策略进行更新。7.根据权利要求1所述的安全策略生成方法,其特征在于,所述初始安全策略是基于如下步骤获得的:对所述目标应用程序进行黑盒测试,得到第一初始安全策略;基于所述目标应用程序对应的历史安全策略,确定第二初始安全策略;基于所述第一初始安全策略和/或所述第二初始安全策略,得到所述初始安全策略。8.一种安全策略生成装置,其特征在于,包括:确定模块,用于基于目标应用程序在各个初始安全策略下的访问控制信息,确定所述目标应用程序的多个访问控制策略;生成模块,用于基于所述多个访问控制策略对应的频繁项集,生成所述目标应用程序的基础安全策略;更新模块,用于基于所述目标应用程序在所述基础安全策略下的访问控制信息,对所述基础安全策略进行更新,生成所述目标应用程序的安全策略。9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的安全策略生成方法。10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至7任一项所述的安全策略生成方法。

技术总结
本申请公开了一种安全策略生成方法、装置、存储介质及电子设备,其中方法包括:基于目标应用程序在各个初始安全策略下的访问控制信息,确定所述目标应用程序的多个访问控制策略;基于所述多个访问控制策略对应的频繁项集,生成所述目标应用程序的基础安全策略;基于所述目标应用程序在所述基础安全策略下的访问控制信息,对所述基础安全策略进行更新,生成所述目标应用程序的安全策略。本申请提供的方法和装置,可以自动为目标应用程序生成安全策略,降低了安全策略的开发难度,提高了开发的安全策略的质量稳定性。发的安全策略的质量稳定性。发的安全策略的质量稳定性。


技术研发人员:闫利华
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2023.04.14
技术公布日:2023/8/22
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐