[发明专利]基于GCC的细粒度虚函数表劫持攻击防御方法有效
申请号: | 201710702166.1 | 申请日: | 2017-08-16 |
公开(公告)号: | CN107368742B | 公开(公告)日: | 2022-10-18 |
发明(设计)人: | 曾庆凯;邹振威 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 南京钟山专利代理有限公司 32252 | 代理人: | 戴朝荣 |
地址: | 210093*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了基于GCC的细粒度虚函数表劫持攻击防御方法,该种方法包括以下步骤:第一,收集类继承关系和类对应的虚函数表;第二,构建合法目标集合;第三,识别虚函数的调用点并插桩验证函数;第四,运行时生成验证数据;第五,虚函数调用的合法性验证。该种防御方法通过对源程序的中间码表示进行分析,获得较为准确的类的继承关系的情况下,以虚函数调用点的具体的对象类型和所调用的虚函数为依据,为虚函数调用点构造更为精确的合法目标集合,提升了虚函数表劫持攻击防御方法的准确性,同时也保证了防御方法的兼容性和性能。 | ||
搜索关键词: | 基于 gcc 细粒度 函数 劫持 攻击 防御 方法 | ||
【主权项】:
基于GCC的细粒度虚函数表劫持攻击防御方法,其特征是:在保证兼容性和性能的情况下,解决虚函数表劫持攻击防御方法存在的准确性问题,具体步骤如下:步骤1,收集类继承关系和类对应的虚函数表,GCC语法分析阶段构造类的继承关系图,并为每个类记录其所有的虚函数表指针;步骤2,构建合法目标集合,根据虚函数调用点分析出具体的对象类型、被调用函数以及类的继承关系等信息,为虚函数调用点生成模块内的合法目标集合,然后为程序生成构造初始化函数,该函数运行时构建全局的合法目标集合,作为运行时检测虚函数表劫持攻击的依据;步骤3,识别虚函数的调用点并插桩验证函数,针对GCC为程序生成的Gimple中间码进行分析, 遍历程序基本块识别出虚函数调用点,判断是否符合优化条件并选择对应的验证函数,插入到虚函数调用点,以便在程序执行时实施合法性验证;步骤4,运行时生成验证数据,程序执行前会先执行构造初始化函数,在运行时生成全局的合法目标集合,作为虚函数调用的合法性验证的依据;步骤5,虚函数调用的合法性验证,根据所插桩的验证函数,在虚函数调用执行时,将进行合法性验证:以合法目标集合为验证依据,验证目前虚函数调用的合法性,检测虚函数表劫持攻击。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710702166.1/,转载请声明来源钻瓜专利网。
- 上一篇:一种物理降温装置
- 下一篇:一种医用离心管蓄冷盒