一种保护信创服务器Linux系统时间的方法与流程

文档序号:36479657发布日期:2023-12-25 09:02阅读:72来源:国知局
一种保护信创服务器的制作方法

本发明属于系统时间管理,尤其是一种保护信创服务器linux系统时间的方法。


背景技术:

1、目前大部分服务器可以使用ntp、自研校时程序进行网络校时,确保服务器时间的同步性和准确度。在实际使用过程中,难免会遇到时钟源不正确的情形,此时,对时间要求比较高的服务器应用就会做出错误的响应,例如删除了不该删除的文件,无法正常录像等错误行为。


技术实现思路

1、本发明的目的在于克服现有技术的不足,提出一种保护信创服务器linux系统时间的方法,能够用于对时间依赖度高的服务器,确保时间在可控的合理范围,防止系统时间骤减或暴增带来的各种异常。

2、本发明解决其技术问题是采取以下技术方案实现的:

3、一种保护信创服务器linux系统时间的方法,包括以下步骤:

4、步骤1、构建钩子函数;

5、步骤2、使用步骤1中构建的钩子函数替代服务器系统中的时间设置函数;

6、步骤3、当服务器系统进行时间修改时,服务器系统内核执行到被替代的时间设置函数位置,并进入步骤1中的钩子函数;

7、步骤4、钩子函数对传入的时间修改参数进行校验,判断是否在合理范围,若在合理范围则修改时间,否则返回参数错误,同时时间不变。

8、而且,所述步骤1的具体实现方法为:在开源工程khook的源码中,声明并实现钩子函数,其中声明的格式为时间修改函数do_settimeofday64。

9、而且,所述步骤2的具体方法为:编译生成内核ko模块文件,注册到服务器系统内核中,在khook源码中,添加操作系统内核时间设置函数的钩子函数,用于替代对应的时间设置函数,在替代前将原始函数的地址暂存以供后续调用。

10、而且,所述步骤4中钩子函数对传入的时间修改参数进行校验的具体实现方法为:钩子函数体内实现对应的参数判断逻辑,时间设置函数的参数类型是结构体timespec64,将该参数的成员变量tv_sec转换成年月日时分秒,便于做日期或者时间的合理性判断,若在合理范围内,就调用暂存的原始函数,否则返回参数失败。

11、本发明的优点和积极效果是:

12、本发明通过构建钩子函数;使用构建的钩子函数替代服务器系统中的时间设置函数;当服务器系统进行时间修改时,服务器系统内核执行到被替代的时间设置函数位置,并进入钩子函数;钩子函数对传入的时间修改参数进行校验,判断是否在合理范围,若在合理范围则修改时间,否则返回参数错误,同时时间不变。本发明利用操作系统内核的hook技术(基于开源工程khook),不需要修改和重新编译内核源码,也不需要修改上层应用程序源码,只需要在内核中注册一个ko文件,就能实现对时间修改函数的参数进行合理化判断。



技术特征:

1.一种保护信创服务器linux系统时间的方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种保护信创服务器linux系统时间的方法,其特征在于:所述步骤1的具体实现方法为:在开源工程khook的源码中,声明并实现钩子函数。

3.根据权利要求1所述的一种保护信创服务器linux系统时间的方法,其特征在于:所述步骤2的具体方法为:编译生成内核ko模块文件,注册到服务器系统内核中,在khook源码中,添加操作系统内核时间设置函数的钩子函数,用于替代对应的时间设置函数,在替代前将原始函数的地址暂存以供后续调用。

4.根据权利要求1所述的一种保护信创服务器linux系统时间的方法,其特征在于:所述步骤4中钩子函数对传入的时间修改参数进行校验的具体实现方法为:钩子函数体内实现对应的参数判断逻辑,时间设置函数的参数类型是结构体timespec64,将该参数的成员变量tv_sec转换成年月日时分秒,便于做日期或者时间的合理性判断,若在合理范围内,就调用暂存的原始函数,否则返回参数失败。


技术总结
本发明涉及一种保护信创服务器Linux系统时间的方法,通过构建钩子函数;使用构建的钩子函数替代服务器系统中的时间设置函数;当服务器系统进行时间修改时,服务器系统内核执行到被替代的时间设置函数位置,并进入钩子函数;钩子函数对传入的时间修改参数进行校验,判断是否在合理范围,若在合理范围则修改时间,否则返回参数错误,同时时间不变。本发明利用操作系统内核的hook技术(基于开源工程khook),不需要修改和重新编译内核源码,也不需要修改上层应用程序源码,只需要在内核中注册一个ko文件,就能实现对时间修改函数的参数进行合理化判断。

技术研发人员:于宏志,王思俊,吴迪,李辰,陈澎祥,杜庆雨
受保护的技术使用者:天地伟业技术有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1