一种文件组的安全审计方法、装置及计算机可读存储介质与流程

文档序号:31711620发布日期:2022-10-04 19:26阅读:43来源:国知局
一种文件组的安全审计方法、装置及计算机可读存储介质与流程

1.本发明涉及文件安全判断技术领域,尤其涉及一种linux系统中文件组的安全审计方法及系统。
技术背景:
2.随着大数据及人工智能的普及发展,以及数据中台,人工智能中台,算法中台概念的提出,大规模集群已成为诸多企业的基础设施。通过在集群中提供诸如kvm,docker等方式,完成诸如人工智能算法的算法开发,算法训练,算法模型部署等场景。
3.现有管理集群的方式有openstack,k8s等,当有新用户需要实例使用时,其均从镜像中心下载之前已经准备好的基础镜像并实例化,通过开启jupyter,cloud9等webide提供web终端给用户完成交互式算法开发,并通过诸如模型部署单元方式关联模型仓库完成模型的发布,现有的linux安全审计软件如auditd等允许root用户开启对linux系统进行文件访问,文件删除修改等诸多审计,而selinux软件也提供了linux系统中的主动防御能力。
4.但是,上述软件有着较为严重的问题:
5.(1)有些场景,用户仍需要root用户完成,如自定义镜像亦或是基于yum源完成底层环境的自定义,即存在root的权限下放;
6.(2)不论是否提供root权限给予用户,用户均可上传诸多集群不允许的软件,如nmap进行多机端口扫描;
7.(3)尚未有较好的linux系统集群软件安全审计程序以辅助管理员完成集群的软件安全管理,且同时针对特定集群中特定软件或者一类相同行为软件的禁止;
8.(4)无法提供较为灵活的方式,允许管理员进行动态的扩大或缩小集群对软件的允许程度;
9.(5)无法复用之前的审计结果,造成同一个文件计算多次;
10.(6)有些功能过于复杂,计算量过大,会极大影响实例中cpu资源,从而造成用户体验的下降。
11.本发明实施例提出一种文件组的安全审计方法及系统,根据系统和软件的安全审计结果对文件组的运行进行安全控制,有效的保障了文件的运行安全。


技术实现要素:

12.本发明的目的是提供一种文件组的安全审计系统及方法,以解决当前尚未有针对集群式的针对特定软件或者一类相同行为软件的禁止问题,同时能够解决在无视是否root权限下进行灵活且方便的软件允许范围的放大或缩小的问题,且在几乎不占用实例资源基础上持续不断的完成集群的软件安全审计工作。
13.一种文件组的安全审计方法,其特征在于,在linux系统中针对文件组进行安全审计,包括:
14.获取可执行文件,根据所述可执行文件建立文件组,所述文件组包含该可执行文
件和与该可执行文件关联的至少一个动态链接文件。
15.执行第一次安全等级判定,所述第一次安全等级判定用于判定可执行文件的安全等级。
16.优选的,将可执行文件的识别码在中心数据库中遍历,若遍历出相同的识别码,则可执行文件的安全等级为第一安全等级,所述文件组的安全等级为第一安全等级。
17.优选的,若未遍历出相同的识别码,则将中心数据库中的特征在可执行文件的特征列表中遍历;
18.若遍历出相同的特征,则可执行文件的安全等级为第一安全等级,所述文件组的安全等级为第一安全等级;
19.若未遍历出相同的特征,则可执行文件的安全等级为第二安全等级,并执行第二次安全等级判定。
20.若可执行文件的安全等级为第一安全等级,则文件组为第一安全等级。
21.若可执行文件的安全等级不为第一安全等级,则进行第二次安全等级判定,所述第二次安全等级判定用于判定文件组中所有动态链接文件的安全等级。
22.优选的,分别将每个动态链接文件的识别码在安全等级数据库中遍历,所述识别码与动态链接文件一一对应;
23.若安全等级数据库中包含相同的识别码,则将所述安全等级数据库中的识别码对应的安全等级确定为所述动态链接文件的安全等级;
24.优选的,若识别码对应的安全等级为第一安全等级,则动态链接文件对应的安全等级为第一安全等级;
25.若识别码对应的安全等级为第三安全等级,则动态链接文件对应的安全等级为第三安全等级。
26.若安全等级数据库中未包含相同的识别码,则进行第三次安全等级判定。
27.优选的,将中心数据库中的特征分别在未遍历出相同识别码的动态链接文件的特征列表中遍历;
28.若遍历出相同的特征,则所述动态链接文件的安全等级为第一安全等级;
29.若未遍历出相同的特征,则所述动态链接文件的安全等级为第三安全等级。
30.根据所有动态链接文件的安全等级确定文件组的安全等级。
31.优选的,计算文件组中安全等级为第三安全等级的动态链接文件数量与所有动态链接文件数量的比值,所述比值确定为文件组的安全指数;
32.将所述安全指数与预设安全阈值进行比较,若文件组安全指数不大于预设安全阈值,所述文件组的安全等级为第一安全等级,若文件组安全指数大于预设安全阈值且小于1,所述文件组为第二安全等级,若文件组安全指数为1,所述文件组中的可执行文件为第三安全等级。
33.本发明还包括一种文件组的安全审计装置,所述装置包括:
34.文件获取模块,所述模块可获取系统中可执行文件,并获取文件组,所述文件组包含该可执行文件和该可执行文件关联的至少一个动态链接文件;
35.第一次安全等级判定模块,所述模块可执行第一次安全等级判定,用于判定可执行文件的安全等级;
36.第二次安全等级判定模块,所述模块可执行第二次安全等级判定,用于判定所有动态链接文件的安全等级;
37.第三次安全等级判定模块,所述模块可将中心数据库中的特征分别在未遍历出相同识别码的动态链接文件的特征列表中遍历;
38.文件组安全等级判定模块,所述模块可根据所有动态链接文件的安全等级确定文件组的安全等级,计算文件组中安全等级为第三安全等级的动态链接文件数量与所有动态链接文件数量的比值;。
39.优选的,文件组安全等级判定模块包括根据可执行文件的安全等级确定文件组的安全等级,若可执行文件的安全等级为第一安全等级,则可执行文件对应的文件组安全等级为第一安全等级。
40.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现以上的方法和步骤。
附图说明:
41.图1为本发明中是linux系统中文件组安全审计流程。
42.图2为本发明中文件组安全等级判断的具体流程。
具体实施方式:
43.下面详细描述本发明的实施例,所述实施例的示例在附图中示出。其中,下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制,下面的实施例中,为了表述方便,以“危险”指代第一安全等级,以“无”指代第二安全等级,以“安全”指代第三安全等级。
44.实施例1:
45.s100,获取可执行文件,根据所述可执行文件建立文件组,所述文件组包含该可执行文件和与该可执行文件关联的至少一个动态链接文件,该步骤具体为:
46.获取可执行文件,通过可执行文件拉取文件组,该文件组中含有一个可执行文件和至少一个动态链接文件,以及所有文件的识别码和文件类型,文件组如下:
47.文件内容识别码文件类型ldd/usr/bin/nmap000000a可执行文件libpcre.so.3=》/lib/x86_64-linux-gnu/libpcre.so.31动态链接文件libpcap.so.0.8=》/usr/lib/x86_64-linux-gnu/libpcap.so.0.82动态链接文件libssl.so.1.0.0=》/lib/x86_64-linux-gnu/libssl.so.1.0.03动态链接文件libcrypto.so.1.0.0=》/lib/x86_64-linux-gnu/libcrypto.so.1.0.04动态链接文件liblua5.2.so.0=》/usr/lib/x86_64-linux-gnu/liblua5.2.so.05动态链接文件liblua5.2-lpeg.so.2=》/usr/lib/x86_64-linux-gnu/liblua5.2-lpeg.so.26动态链接文件liblinear.so.3=》/usr/lib/x86_64-linux-gnu/liblinear.so.37动态链接文件libstdc++.so.6=》/usr/local/gcc/lib64/libstdc++.so.68动态链接文件libm.so.6=》/lib/x86_64-linux-gnu/libm.so.69动态链接文件libgcc_s.so.1=》/usr/local/gcc/lib64/libgcc_s.so.110动态链接文件libc.so.6=》/lib/x86_64-linux-gnu/libc.so.611动态链接文件libpthread.so.0=》/lib/x86_64-linux-gnu/libpthread.so.012动态链接文件
libdl.so.2=》/lib/x86_64-linux-gnu/libdl.so.213动态链接文件libblas.so.3=》/usr/lib/libblas.so.314动态链接文件
48.s200,执行第一次安全等级判定,所述第一次安全等级判定用于判定可执行文件的安全等级,该步骤具体为:
49.将“nmap”的识别码000000a在中心数据库的中遍历,
50.s210,若中心数据库中有相同的识别码,若该识别码对应的安全等级为危险,则将“nmap”文件的安全等级定义为危险,若该识别码对应的安全等级为安全,则将“nmap”文件的安全等级定义为安全,
51.s220未遍历出相同的识别码,则将中心数据库中的特征在可执行文件的特征列表中遍历,该步骤具体为:
52.若中心数据库中没有与“nmap”文件相同的识别码,则将中心数据库中的特征在“nmap”文件中遍历;
53.例如中心数据库中的特征包括“可上网”、“可复制”,判断“nmap”文件是否具有“可上网”和/或“可复制”的两个特征,如果有,则将“nmap”文件的安全等级定义为危险。如果没有,则将“nmap”文件的安全等级定义为可疑。
54.s300,若可执行文件的安全等级为第一安全等级,则文件组为第一安全等级,该步骤具体为:
55.若“nmap”的安全等级为危险,则文件组的安全等级为危险,
56.s400,若可执行文件的安全等级不为第一安全等级,则进行第二次安全等级判定,该步骤具体为:
57.判断动态链接文件“libpcap”的安全等级。
58.s410,分别将每个动态链接文件的识别码在安全等级数据库中遍历,所述识别码与动态链接文件一一对应;
59.若安全等级数据库中包含相同的识别码,则将所述安全等级数据库中的识别码对应的安全等级确定为所述动态链接文件的安全等级;
60.若安全等级数据库中未包含相同的识别码,则进行第三次安全等级判定。
61.该步骤具体为:
62.将所述动态链接文件对应的识别码“1”在安全等级数据库中遍历:若遍历出相同识别码,即安全等级数据库如下:
63.若未遍历出相同的识别码,即安全等级数据库中没有与“libpcap”对应的识别码,则判断中心数据库中特征中是否存在于“libpcap”的特征中,
64.s420,若识别码对应的安全等级为第一安全等级,则动态链接文件对应的安全等级为第一安全等级;
65.若识别码对应的安全等级为第三安全等级,则动态链接文件对应的安全等级为第三安全等级。
66.所述步骤具体包括:则将“libpcap”的安全等级定义为安全,若识别码对应的安全等级为危险,则将所述动态链接文件的安全等级定义为危险。
67.若识别码对应的安全等级为安全,则将“libpcap”的安全等级定义为安全,若识别码对应的安全等级为危险,则将“libpcap”文件的安全等级定义为危险。
68.s500,第三次安全等级判定包括:将中心数据库中的特征分别在未遍历出相同识别码的动态链接文件的特征列表中遍历;
69.若遍历出相同的特征,则所述动态链接文件的安全等级为第一安全等级;
70.若未遍历出相同的特征,则所述动态链接文件的安全等级为第三安全等级。
71.该步骤具体包括:
72.将中心数据库中“可上网”、“可复制”的特征在“libpcap”的特征列表中遍历,是否具有“可上网”和/或“可复制”的特征,如果“libpcap”的特征列表中有“可复制”的特征,则将“libpcap”的安全等级定义为危险。如果没有“可上网”和/或“可复制”的特征,则将“libpcap”的安全等级定义为安全。
73.将“libpcap”文件判断的文件安全等级记录到安全等级数据库中,基于以上的情形可得到以下两种可能的安全等级数据库:可得到以下两种可能的安全等级数据库:
74.根据上述步骤依次将文件组中的动态链接文件的安全等级判断完成,并将安全等级记录在安全等级数据库中,此处举一例示出:
75.[0076][0077]
s600,计算文件组中安全等级为第三安全等级的动态链接文件数量与所有动态链接文件数量的比值,所述比值确定为文件组的安全指数;
[0078]
将所述安全指数与预设安全阈值进行比较,若文件组安全指数不大于预设安全阈值,所述文件组的安全等级为第一安全等级,若文件组安全指数大于预设安全阈值且小于1,所述文件组为第二安全等级,若文件组安全指数为1,所述文件组中的可执行文件为第三安全等级。
[0079]
所述步骤具体包括:
[0080]
获取“nmap”所对应文件组的动态链接文件的数量,示例中的所述文件组的动态链接个数为14个;
[0081]
获取“nmap”所对应文件组的安全动态链接文件的数量,示例中所述文件组的安全动态链接文件的数量为8个;
[0082]
计算所述安全动态链接文件的占比,示例中的所述占比q=8/14,即57%;
[0083]
将q与管理员设置的“nmap”文件组的安全阈值p进行比较:
[0084]
若设定本次实施例中“nmap”文件组的安全阈值p为50%,此时文件组安全等级在区间(p,1)中,所以所述文件组的安全等级为可疑。
[0085]
若设定本次实施例中“nmap”文件组的安全阈值p为60%,此时文件组安全等级在区间[0,p]中,所以所述文件组的安全等级为危险。
[0086]
实施例2:
[0087]
本实施例还提供了一种文件组安全审计装置的实施例:
[0088]
该装置具体包括:
[0089]
文件获取模块,该模块可获取系统中可执行文件,并获取文件组,所述文件组包含该可执行文件和该可执行文件关联的至少一个动态链接文件;
[0090]
第一次安全等级判定模块,所述模块可执行上述实例中的第一次安全等级判定,用于判定可执行文件的安全等级;
[0091]
第二次安全等级判定模块,所述模块可执行上述实例中的第二次安全等级判定,用于判定所有动态链接文件的安全等级;
[0092]
第三次安全等级判定模块,所述模块可将中心数据库中的特征分别在未遍历出相同识别码的动态链接文件的特征列表中遍历;
[0093]
文件组安全等级判定模块,所述模块可根据所有动态链接文件的安全等级确定文件组的安全等级,计算文件组中安全等级为第三安全等级的动态链接文件数量与所有动态链接文件数量的比值,所述模块还可以根据可执行文件的安全等级确定文件组的安全等级,若可执行文件的安全等级为第一安全等级,则可执行文件对应的文件组安全等级为第一安全等级。
[0094]
实施例3:
[0095]
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上实施例中的方法步骤。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1