1.一种OS内核数据对象的提取方法,其特征在于,包括:
设置一个数据对象指针数组;
根据所述数据对象在运行过程中形成的链接关系,将所述数据对象进行分组,得到多种链接组,以使得每个所述数据对象均处于所述链接组中;如果通过一个数据对象能够找寻到另一个数据对象,则两个数据对象之间具有链接关系,不同的链接组之间不存在链接关系;
将每个所述链接组对应的首地址均存放于所述数据对象指针数组中;其中,所述首地址能够链接到对应的所述链接组中所有的所述数据对象;当所述数据对象为无链接关系的独立数据对象,则将所述独立数据对象的地址作为所述首地址,直接存放于所述数据对象指针数组中;
从所述数据对象指针数组提取多个所述首地址,并通过对应的所述链接组内的链接关系实现对所述链接组中所有的所述数据对象的提取;
将通过所述数据对象指针数组提取的所述数据对象输出到验证端,以使得所述验证端能够验证所述OS内核系统的完整性。
2.根据权利要求1所述的一种OS内核数据对象的提取方法,其特征在于,所述数据对象为静态数据对象,包括链表数据对象、树型数据对象、独立数据对象和图型数据对象。
3.根据权利要求2所述的一种OS内核数据对象的提取方法,其特征在于,所述将每个所述链接组对应的首地址均存放于所述数据对象指针数组中包括:所述数据对象为链表数据对象,则将所述链表数据对象的头结点所对应的地址作为所述首地址,存放于所述数据对象指针数组中。
4.根据权利要求2所述的一种OS内核数据对象的提取方法,其特征在于,所述将每个所述链接组对应的首地址均存放于所述数据对象指针数组中还包括:所述数据对象为树型数据对象,则将所述树型数据对象的根节点所对应的地址作为所述首地址,存放于所述数据对象指针数组中。
5.根据权利要求1所述的一种OS内核数据对象的提取方法,其特征在于,在所述将每一个所述链接组对应的首地址均存放于所述数据对象指针数组中之前,所述方法还包括:所述数据对象为动态分配的数据对象,在创建后直接链接到一个所述链接组中。
6.根据权利要求5所述的一种OS内核数据对象的提取方法,其特征在于,在所述数据对象为动态分配的数据对象,在创建后直接链接到一个所述链接组中之后,所述方法还包括:判断所述动态分配的数据对象是否链接到所述链接组中;
若是,则不再将所述动态分配的数据对象重复存入所述数据对象指针数组;
若否,则将所述动态分配的数据对象存入所述数据对象指针数组。
7.一种OS内核数据对象的提取装置,其特征在于,至少包括:
数据对象指针数组插入模块,用于设置一个数据对象指针数组;
分组模块,用于根据所述数据对象在运行过程中形成的链接关系,将所述数据对象进行分组,得到多种链接组,以使得每个所述数据对象均处于所述链接组中;如果通过一个数据对象能够找寻到另一个数据对象,则两个数据对象之间具有链接关系,不同的链接组之间不存在链接关系;
存放模块,用于将每个所述链接组对应的首地址均存放于所述数据对象指针数组中;
其中,所述首地址能够链接到对应的所述链接组中所有的所述数据对象;当所述数据对象为无链接关系的独立数据对象,则将所述独立数据对象的地址作为所述首地址,直接存放于所述数据对象指针数组中;
提取模块,用于根据所述数据对象指针数组的指针,提取多个所述首地址,并通过对应的所述链接组内的链接关系实现对所述链接组中所有的所述数据对象的提取;将通过所述数据对象指针数组提取的所述数据对象输出到验证端,以使得所述验证端能够验证所述OS内核系统的完整性。
8.一种存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1‑6任一项所述的OS内核数据对象的提取方法。