System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及系统调用设置方法,具体涉及基于linux内核的系统调用合法性校验的系统调用设置方法。
技术介绍
1、随着互联网、物联网的快速发展,网络和信息安全事件不断出现,因此信息安全越来越受到各个行业的广泛重视,在linux操作系统中,内核提供了用户进程与内核交互的一组接口。实际上提供这些接口主要是为了保证系统稳定可靠,避免应用程序恣意妄行。但是在操作系统中,大量的系统调用接口直接暴露给应用程序,潜在的增加了系统受攻击面。然而并不是所有的系统调用都被需要,而且不安全的代码滥用系统调用会对系统造成安全威胁。而linux内核中已有的seccomp–berkley packet filter(seccomp-bpf)安全模块技术用来限制某一进程可用的系统调用,它是一种减少linux内核暴露的机制。seccomp-bpf技术是一段可执行指令,该指令被安装到内核后,每次系统调用都会经过该bpf过滤器,只有匹配的系统调用号才允许继续访问内核。此技术是内核层面,所以在上层应用中并没有找到对用户来说比较合适和灵活的设置工具。
2、目前对上层应用来说并没有具体的设置工具,现在的技术只是有一些封装好的接口供上层应用调用,但此种方法比较繁琐,并不能灵活的设置用户需要放开或者禁止的系统调用,而且此种方法必须要写进上层应用的代码中,这对整个系统来说无疑是不可行的。
技术实现思路
1、为解决已有技术存在的不足,本专利技术提供了一种系统调用设置方法,包括如下步骤:
2、步骤s1:传入应
3、步骤s2:解析传入的参数,并将解析出的系统调用名保存在全局数组中;
4、步骤s3:记录文件:将解析出的应用程序以及系统调用名保存到文件中;
5、步骤s4:获取系统调用名的系统调用号,并将系统调用号保存到全局数组中;
6、步骤s5:基于全局数组,将应用程序可以访问的系统调用封装为bpf策略集合;
7、步骤s6:将应用程序以及其所对应的bpf策略集合传入内核,使策略生效。
8、其中,所述步骤s5中,所封装的bpf策略集合中,一个完整的bpf指令包括四组指令:
9、第一组为初始化系统调用号加载器;
10、第二组为指定具体的系统调用号;
11、第三组为符合第二组指定的系统调用号需要做的操作;
12、第四组为不符合第二组指定的系统调用号需要做的操作。
13、其中,所述步骤s5中,第三组中符合第二组指定的系统调用号需要做的操作为允许使用对应的系统调用,第四组中不符合第二组指定的系统调用号需要做的操作为禁止使用对应的系统调用。
14、本专利技术提供的系统调用设置方法,所封装的策略集合中,由于结构体数组中间的对象用来封装第二组和第三组指令,并且第二组和第三组指令需要成对出现,由此本专利技术把第二组和第三组指令的封装做成一个循环,通过把获取到的系统调用号依次对结构体对象赋值,可做到同时支持多个系统调用号同时做允许使用的操作。
本文档来自技高网...【技术保护点】
1.系统调用设置方法,其特征在于,包括如下步骤:
2.如权利要求1所述的系统调用设置方法,其特征在于:所述步骤S5中,所封装的bpf策略集合中,一个完整的bpf指令包括四组指令:
3.如权利要求2所述的系统调用设置方法,其特征在于:所述步骤S5中,第三组中符合第二组指定的系统调用号需要做的操作为允许使用对应的系统调用,第四组中不符合第二组指定的系统调用号需要做的操作为禁止使用对应的系统调用。
【技术特征摘要】
1.系统调用设置方法,其特征在于,包括如下步骤:
2.如权利要求1所述的系统调用设置方法,其特征在于:所述步骤s5中,所封装的bpf策略集合中,一个完整的bpf指令包括四组指令:
3.如...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。