【技术实现步骤摘要】
本专利技术属于应用程序
,尤其涉及。
技术介绍
内存破坏漏洞(memory corrupt1n bugs)广泛存在于使用C/C++等低级语言编写的程序中,栈溢出、堆溢出、释放后重用等漏洞均属于内存破坏漏洞。攻击者利用此类漏洞,可以控制应用程序内存中的数据、代码,改变程序行为甚至劫持程序的控制流。现有技术中有以下两种处理方式:VTGuard:VTGuard是部署在IE浏览器中的一项虚函数表保护技术。其基本思想是:在每个虚函数表中插入一个私密的cookie,并在虚函数被调用时进行检查,当前表中的cookie和对应的cookie是否一致,如果不一致则会禁止此次调用。该方案能够有效减少虚函数表重用攻击,但对虚函数表破坏和虚函数表注入攻击无效。SafeDispatch:SafeDispatch是基于编译器的虚函数表劫持攻击防御方案,它首先对整个程序的类关系进行分析,推断出程序中有效的虚函数表集合及虚函数集合;接着在虚函数被调用时进行安全校验,检查当前虚函数及虚函数表是否在有效集合中,若不在则禁止此次调用。对于虚函数的检查,将带来7%的额外开销;对于虚函数表的 ...
【技术保护点】
一种针对虚函数表劫持攻击的防御方法,其特征在于,包括:步骤一、构建有效虚函数表集合和有效虚函数集合;有效虚函数表集合用于存储虚函数表指针,虚函数表指针指向虚函数表;有效虚函数集合用于存储虚函数表,虚函数表用于存储虚函数指针,虚函数指针指向虚函数;步骤二、确定可执行程序中可能被虚函数表劫持攻击、需要被保护的对象和对象中的虚函数,分析得到虚函数数据的读取地址和虚函数的调用地址;其中,虚函数数据包括:虚函数表指针和虚函数表;步骤三、在可执行程序的运行过程中,采用动态二进制插装方式,在虚函数数据的读取地址处插装备份回调函数,在虚函数的调用地址处插装校验回调函数;步骤四、当可执行程序 ...
【技术特征摘要】
【专利技术属性】
技术研发人员:胡昌振,王勇,闫海林,冉宇辰,杨亚峰,
申请(专利权)人:北京理工大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。