[发明专利]识别释放后使用存储器损坏漏洞的根本原因的设备、方法与介质有效
申请号: | 201680012420.9 | 申请日: | 2016-02-25 |
公开(公告)号: | CN107430536B | 公开(公告)日: | 2021-10-01 |
发明(设计)人: | J·E·戈特施利希;G·A·波卡姆;C·L·佩雷拉 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 刘瑜;王英 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 识别 释放 使用 存储器 损坏 漏洞 根本原因 设备 方法 介质 | ||
1.一种用于识别程序的释放后使用存储器损坏漏洞的潜在根本原因的计算设备,所述计算设备包括:
存储器分配模块,其用于利用最近最少使用(LRU)存储器分配器来编译所述程序;
重放模块,用于响应于对所述程序的编译并基于所述程序的执行日志来对所述程序的执行进行重放,其中,所述执行日志包括导致所述释放后使用存储器损坏漏洞的所述程序的已执行指令的有序集合;
损坏候选者识别模块,用于(i)响应于检测到释放后使用存储器地址访问,将对所述程序进行的释放后使用存储器地址访问和与释放后使用存储器损坏漏洞的出现相关联的存储器地址进行比较,以及(ii)响应于检测到对所述程序进行的释放后使用存储器地址访问和与所述释放后使用存储器损坏漏洞的出现相关联的存储器地址之间的匹配,将对所述程序进行的所述释放后使用存储器地址访问作为所述释放后使用存储器损坏漏洞的根本原因的候选者记录到候选者列表中。
2.根据权利要求1所述的计算设备,还包括候选者过滤模块,其用于过滤所述候选者列表以减少所述候选者列表中的候选者的数量。
3.根据权利要求2所述的计算设备,其中,过滤所述候选者列表包括:
从所述候选者列表中选择候选者;
从所述程序的执行中移除与选定候选者相关联的一个或多个指令,以生成经修改的程序;
对所述经修改的程序进行重放;以及
响应于确定对所述经修改的程序进行重放导致所述释放后使用存储器损坏漏洞,从所述候选者列表中移除所述选定候选者。
4.根据权利要求3所述的计算设备,其中,所述一个或多个指令是由所述程序的单个指令组成的。
5.根据权利要求3所述的计算设备,其中,所述一个或多个指令是由所述程序的最近分支指令组成的。
6.根据权利要求3所述的计算设备,其中,所述一个或多个指令是由与所述选定候选者的存储器访问相对应的指令组成的。
7.根据权利要求3所述的计算设备,其中,所述一个或多个指令包括所述程序的指令集。
8.根据权利要求7所述的计算设备,其中,所述指令集包括在最近分支指令和与所述选定候选者的存储器访问相对应的指令之间定义的指令集。
9.根据权利要求1所述的计算设备,其中,编译所述程序包括使所述程序的存储器分配器过载。
10.根据权利要求1所述的计算设备,其中,对所述程序的执行进行重放包括利用二进制插桩技术对所述程序的执行进行重放。
11.一种用于识别程序的释放后使用存储器损坏漏洞的潜在根本原因的计算设备,所述计算设备包括:
用于利用最近最少使用(LRU)存储器分配器来编译所述程序的单元;
用于响应于所述程序的编译并基于所述程序的执行日志对所述程序的执行进行重放的单元,其中所述执行日志包括导致释放后使用存储器损坏漏洞的所述程序的已执行指令的有序集合;
用于响应于检测到释放后使用存储器地址访问将对所述程序进行的释放后使用存储器地址访问和与释放后使用存储器损坏漏洞的出现相关联的存储器地址进行比较的单元;以及
用于响应于检测到对所述程序进行的释放后使用存储器地址访问和与释放后使用存储器损坏漏洞的出现相关联的存储器地址之间的匹配,将对所述程序进行的释放后使用存储器地址访问作为所述释放后使用存储器损坏漏洞的根本原因的候选者记录到候选者列表中的单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680012420.9/1.html,转载请声明来源钻瓜专利网。