[发明专利]基于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/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top