[发明专利]一种面向内核栈溢出防御的指令修改虚拟平台执行方法在审
申请号: | 201811511148.6 | 申请日: | 2018-12-11 |
公开(公告)号: | CN109635562A | 公开(公告)日: | 2019-04-16 |
发明(设计)人: | 薛迪;李静梅;吴伟飞;田乔;汪家祥 | 申请(专利权)人: | 哈尔滨工程大学 |
主分类号: | G06F21/52 | 分类号: | G06F21/52;G06F21/56;G06F9/455 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150001 黑龙江省哈尔滨市南岗区*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种面向内核栈溢出防御的指令修改虚拟平台的执行方法,属于计算机安全领域。本发明包括:建立备份栈、地址映射表和线程ID索引表;以跳转指令为分割点,从第一地址获取指令片段,插入第一控制指令和第二控制指令;如果指令片段存在call指令和ret指令,还需要插入第三控制指令和第四控制指令;单独存储第三指令片段,将第一地址和第二地址存入地址映射表;判断是否发生栈溢出攻击,如果发生栈溢出攻击,虚拟平台将进行栈溢出防御。本发明能够实时分析计算机运行时指令,以及监控call指令和ret指令。本发明的目的在于解决计算机终端中发生的栈溢出攻击可能造成的系统崩溃、数据丢失,甚至导致计算机终端被控制的危险。 | ||
搜索关键词: | 指令 控制指令 栈溢出攻击 虚拟平台 溢出 地址映射表 计算机终端 指令修改 防御 内核 计算机安全领域 单独存储 地址获取 实时分析 数据丢失 跳转指令 系统崩溃 分割点 索引表 备份 线程 监控 | ||
【主权项】:
1.一种面向内核栈溢出防御的指令修改虚拟平台执行方法,其特征在于:包括如下步骤:步骤一、在计算机终端启动时加载虚拟平台,初始化包括虚拟平台获取程序入口地址、虚拟平台初始化备份栈和虚拟平台初始化地址映射表;程序入口地址为第一地址,地址映射表为存储空间中以地址对形式存储的第一地址和第二地址,备份栈为备份原始程序中的压栈指令;步骤二、虚拟平台缓存第一地址的运行环境,包括各类地址寄存器的值;步骤三、虚拟平台通过地址映射表判断是否存在与第一地址对应的第二地址,如果存在,则直接修改地址寄存器的值,CPU跳转到以第二地址为入口地址的程序片段继续运行;如果不存在,则顺序执行步骤四;步骤四、虚拟平台从第一地址指向的指令开始顺序获取,直到获取的指令的操作码为JMP跳转指令,该跳转指令为第一跳转指令,虚拟平台获取第一跳转指令的原始地址和参数存储在第三地址中,然后虚拟平台将从入口地址到JMP指令的指令组成第一指令片段,该指令片段不包括第一跳转指令;步骤五、虚拟平台修改第一指令片段,在最后一条的后面以此增加第一控制指令和第二控制指令:第一控制指令为压栈指令,将第三地址压入栈中;第二控制指令为跳转指令,跳转指令的地址为虚拟平台的入口地址;经过上述修改,虚拟平台将第一指令片段修改为第二指令片段;步骤六、虚拟平台轮询第二指令片段,查找其中的call指令和ret指令,根据指令修改备份栈:如果存在call指令和ret指令,在call指令前插入第三控制指令,该指令为压栈指令,将返回地址和返回地址的地址压入备份栈;在ret指令前插入第四控制指令,该指令为弹栈指令,将备份栈中的返回地址和返回地址的地址弹出;修改过的第二指令片段称为第三指令片段;将第三指令片段存储在单独划出的存储空间,该存储空间仅为虚拟平台存储修改的指令片段,存储第三指令片段的内存地址为第二地址,将第二地址和第一地址作为一对地址对存储在地址映射表中,地址寄存器中的值也修改为第二地址的参数;步骤七、虚拟平台恢复计算机运行环境,入口地址为第二地址,在CPU中运行第二地址存储的指令片段;步骤八、CPU运行第三指令片段,在运行到call指令和ret指令时,通过压栈指令和弹栈指令比较备份栈和真实栈中的返回地址的地址判断是否发生栈溢出攻击;如果发生栈溢出攻击,虚拟平台进行栈溢出防御;步骤九、CPU运行完第三指令片段之后,根据第三指令片段中最后一条跳转指令,跳转到虚拟平台,虚拟平台根据第三地址获取下一段运行时指令片段,重复执行步骤二~步骤八,此时的第三地址为第一地址,建立面向内核栈溢出防御的指令修改虚拟平台。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201811511148.6/,转载请声明来源钻瓜专利网。