安全DMA控制器及数据搬运方法与流程

文档序号:23720497发布日期:2021-01-24 07:55阅读:来源:国知局

技术特征:
1.一种数据搬运方法,其特征在于,应用于安全dma控制器,用于阻断恶意程序利用dma控制器破坏关键内存数据,包括:接收用于指示dma控制器执行数据搬运操作的数据传输指令;判断所述数据传输指令中的目标地址是否指向系统关键内存区段;若是,则阻断所述数据传输指令,并触发异常;若否,则执行所述数据传输指令。2.根据权利要求1所述的数据搬运方法,其特征在于,在所述判断所述数据传输指令中的目标地址是否指向系统关键内存区段之前,还包括:判断所述数据传输指令的目标地址是否指向内存;若是,则再次判断所述数据传输指令中的目标地址是否指向系统关键内存区段;若否,则直接执行所述数据传输指令。3.根据权利要求1所述的数据搬运方法,其特征在于,在所述判断所述数据传输指令中的目标地址是否指向系统关键内存区段之前,还包括:根据所述数据传输指令中的目标地址与数据长度,确定目标地址区段;所述判断所述数据传输指令中的目标地址是否指向系统关键内存区段,具体包括:将所述目标地址区域与所述系统关键内存区段进行匹配;若所述目标地址区域与所述系统关键内存区段存在重叠,则阻断所述数据传输指令,并触发异常;否则,执行所述数据传输指令。4.根据权利要求1所述的数据搬运方法,其特征在于,在所述接收用于指示dma控制器执行数据搬运操作的数据传输指令之前,还包括:在系统上电或重启后的初始化阶段,获取所述系统关键内存区段;将获取到的所述系统关键内存区段写入预先设定的审核表中,并锁定所述审核表,使所述审核表在再次上电或重启之前只读。5.根据权利要求1所述的数据搬运方法,其特征在于,所述系统关键内存区段至少包括:操作系统代码段、只读数据区、系统调用表、中断向量表和用户自定义区段。6.一种安全dma控制器,其特征在于,包括:总线从接口,用以提供处理器通过总线对安全dma控制器进行配置与查询的接口;总线主接口,用以提供dma控制器通过总线进行从设备之间的数据搬运的接口;寄存器模块,包括:源地址寄存器,用以存储待搬运数据所在的地址;目的地址寄存器,用以存储待搬运数据所要搬运的目的地址;数据长度寄存器,用以存储所述待搬运数据的数据长度参数;使能寄存器,用以指示处理器已完成数据搬运操作配置;状态寄存器,用以指示数据搬运操作过程中的状态;审核模块,用以判断所述目的地址寄存器和/或数据长度寄存器中地址信息是否指向系统关键内存区段;若是,则阻断本次数据搬运操作,并更新所述状态寄存器以通知处理器处理本次事件;若否,则使能数据传输引擎;数据传输引擎,用以依据源地址寄存器、目的地址寄存器和数据长度寄存器中的信息,通过所述总线主接口进行数据搬运操作。7.根据权利要求6所述的安全dma控制器,其特征在于,所述审核模块,包括:
审核表,用以存储系统关键内存区段的地址;第一审核单元,用以对所述目的地址寄存器和/或数据长度寄存器中地址信息与所述审核表中系统关键内存区段的地址进行一一匹配,判断所述目的地址寄存器和/或数据长度寄存器中地址信息是否指向系统关键内存区段。8.根据权利要求6所述的安全dma控制器,其特征在于,所述审核表在系统上电或重启后的初始化阶段,完成其系统关键内存区段的初始化并锁定,使其在再次上电或重启之前只读。9.根据权利要求6所述的安全dma控制器,其特征在于,所述审核模块,还包括:第二审核单元,用以判断所述目的地址寄存器和/或数据长度寄存器中地址信息是否指向内存;若是,则使能第一审核单元;若否,则使能数据传输引擎。10.根据权利要求6所述的安全dma控制器,其特征在于,所述源地址寄存器、目的地址寄存器和数据长度寄存器构成一寄存器组;所述寄存器模块,包括多个所述寄存器组,用以描述多个不连续的目标地址区段。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1