[发明专利]用户程序运行方法、系统、装置、设备和存储介质在审
申请号: | 202111406718.7 | 申请日: | 2021-11-24 |
公开(公告)号: | CN114168362A | 公开(公告)日: | 2022-03-11 |
发明(设计)人: | 程书意;毛文安;冯富秋 | 申请(专利权)人: | 阿里巴巴(中国)有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/4401 |
代理公司: | 北京太合九思知识产权代理有限公司 11610 | 代理人: | 刘戈;孙明子 |
地址: | 310052 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用户 程序 运行 方法 系统 装置 设备 存储 介质 | ||
1.一种用户程序运行方法,其特征在于,包括:
响应于用户程序的内核态运行操作,根据操作系统中的钩子函数,获取所述用户程序对应的机器码文件和待探测函数;
响应于所述操作系统中内核对所述待探测探函数的执行,将所述机器码文件写入所述内核部署的预设探测框架,以得到与所述用户程序对应的内核模块;
根据所述内核模块,在所述操作系统的内核态下运行所述用户程序。
2.根据权利要求1所述的方法,其特征在于,所述用户程序包括eBPF程序。
3.根据权利要求1或2所述的方法,其特征在于,所述获取所述用户程序对应的机器码文件和待探测函数,包括:
获取所述用户程序对应的字节码文件;
编译所述字节码文件,以得到所述机器码文件。
4.根据权利要求3所述的方法,其特征在于,所述编译所述字节码文件,之前所述方法还包括:
根据所述字节码文件,校验所述用户程序的安全性。
5.根据权利要求1或2所述的方法,其特征在于,所述将所述机器码文件写入所述内核部署的预设探测框架,以得到与所述用户程序对应的内核模块,包括:
在所述预设探测框架中存储的备选函数参数中,确定与所述用户程序对应目标函数参数;
根据所述目标函数参数和所述机器码文件,生成所述内核模块。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
响应于所述操作系统的启动操作,加载驱动程序;
根据所述操作系统中的钩子函数,获取所述用户程序发送的数据库建立请求;
发送所述数据库建立请求至所述驱动程序,以由所述驱动程序建立所述用户程序对应的数据库。
7.根据权利要求6所述的方法,其特征在于,所述获取所述用户程序对应的机器码文件和待探测函数之后,所述方法还包括:
根据驱动程序提供的第一接口,将所述字节码文件中辅助函数的函数标识转换成函数地址;
按照所述函数地址,访问所述数据库。
8.根据权利要求7所述的方法,其特征在于,所述按照所述函数地址,访问所述数据库,包括:
所述用户程序在操作系统的内核态下运行时,按照所述函数地址,根据所述驱动程序提供的所述第一接口,读取所述用户程序对应的数据库中的数据;
所述用户程序在操作系统的用户态下运行时,按照所述函数地址,根据所述驱动程序提供的第二接口,读取所述数据库中的数据。
9.一种用户程序运行系统,其特征在于,部署在操作系统中,所述用户程序安装于所述操作系统内;所述用户程序运行系统包括:所述操作系统中的钩子函数以及部署在所述操作系统的内核中的预设探测框架;
所述钩子函数,用于响应于所述用户程序的内核态运行操作,获取所述用户程序对应的机器码文件和待探测函数;
所述用户程序运行系统,用于响应于所述操作系统的内核对所述待探测函数的执行,将所述机器码文件写入所述预设探测框架,以得到与所述用户程序对应的内核模块;根据所述内核模块,在所述操作系统的内核态下运行所述用户程序。
10.根据权利要求9所述的系统,其特征在于,所述系统还包括:编译器,用于编译字节码文件,以得到所述机器码文件。
11.根据权利要求9所述的系统,其特征在于,所述系统还包括:驱动程序;
所述操作系统,用于响应于所述操作系统的启动操作,加载驱动程序;
所述驱动程序,用于根据所述操作系统中的钩子函数,获取所述用户程序发送的数据库建立请求;
发送所述数据库建立请求至所述驱动程序,以由所述驱动程序建立所述用户程序对应的数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111406718.7/1.html,转载请声明来源钻瓜专利网。