【技术实现步骤摘要】
栈溢出的检测装置和电子设备
本申请涉及计算机
,尤其涉及一种栈溢出的检测装置和电子设备。
技术介绍
无论是带有操作系统还是不带操作系统,栈溢出都是导致系统不稳定的重要原因之一,因此需要及时地检测是否存在栈溢出的情况。目前,检测栈溢出的方法主要有两类,1)判断栈寄存器的值是否超过了预设的地址边界;2)以特殊值初始化栈空间,通过判断栈边界初始值是否改变来判断是否有越界事件。但是,上述方式需要中央处理器能够在运行时,实时地检测栈寄存器的值,当处于操作系统(OperatingSystem,OS)场景下时,由于栈寄存器的值可以是任意值,因此无法准确地判断是否出现栈溢出。而当不处于OS场景下时,又无法实时判断是否出现栈溢出。
技术实现思路
本技术提供一种指纹识别装置和电子设备,可以在不修改内核的情况下,及时准确地判断出栈溢出异常。第一方面,本技术实施例提供一种栈溢出的检测方法;该方法包括:根据栈边界配置寄存器中的栈边界信息,确定当前访问内存地址是否为非法访问事件;若为非法访问 ...
【技术保护点】
1.一种栈溢出的检测装置,其特征在于,包括:内存保护单元、栈寄存器、栈边界配置寄存器;其中:/n所述内存保护单元与所述栈边界配置寄存器通信连接,用于从所述栈边界配置寄存器中获取栈边界信息;/n所述内存保护单元与所述栈寄存器通信连接,用于从所述栈寄存器中获取栈顶地址;/n所述内存保护单元,还用于根据所述栈边界信息和所述栈顶地址判断是否出现栈溢出。/n
【技术特征摘要】
1.一种栈溢出的检测装置,其特征在于,包括:内存保护单元、栈寄存器、栈边界配置寄存器;其中:
所述内存保护单元与所述栈边界配置寄存器通信连接,用于从所述栈边界配置寄存器中获取栈边界信息;
所述内存保护单元与所述栈寄存器通信连接,用于从所述栈寄存器中获取栈顶地址;
所述内存保护单元,还用于根据所述栈边界信息和所述栈顶地址判断是否出现栈溢出。
2.根据权利要求1所述的装置,其特征在于,所述内存保护单元,具体用于:
根据所述栈边界信息确定中央处理器的当前访问地址是否为非法访问事件;
若为非法访问事件,则判断所述当前访问地址是否处于栈寄存器指示的栈顶地址和栈底地址之间;
若所述当前访问地址处于栈寄存器指示的栈顶地址和栈底地址之间,则确定为栈溢出。
3.根据权利要求1所述的装置,其特征在于,还包括:与所述内存保护单元通信连接的中断控制器;
所述内存保护单元,还用于:向中断控制器发送触发信号;
中断控制器,用于根据所述触发信号,中断中央处理器的内存访问。
4.根据权利要求1所述的装置,其特征在于,所述内存保护单元通过中央处理器暴露的栈寄存器访问端口从所述栈寄存器中获取所述栈顶地址...
【专利技术属性】
技术研发人员:银国超,
申请(专利权)人:深圳市汇顶科技股份有限公司,
类型:新型
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。