[发明专利]基于运行时随机化的JavaScript引擎内存信息泄露防御方法及系统在审
申请号: | 202010532973.5 | 申请日: | 2020-06-12 |
公开(公告)号: | CN111797388A | 公开(公告)日: | 2020-10-20 |
发明(设计)人: | 沈志东;陈维英 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06F21/52 | 分类号: | G06F21/52;G06F21/55;G06F9/455 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 罗飞 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 运行 随机化 javascript 引擎 内存 信息 泄露 防御 方法 系统 | ||
1.基于运行时随机化的JavaScript引擎内存信息泄露防御方法,其特征在于,包括:
S1:对基于JavaScript引擎的运行时随机化系统进行初始化设置;
S2:监测JavaScript引擎运行过程中会导致内存信息泄露的风险行为,如果风险行为发生则触发运行时随机化系统执行;
S3:当运行时随机化系统被触发后,调整空指令在内存中的占位的大小,实现对JavaScript引擎的随机化;
S4:管理运行时随机化系统运行过程中的内存,对运行时随机化系统在运行时产生的内存垃圾进行回收管理。
2.如权利要求1所述的防御方法,其特征在于,S1具体包括:
S1.1:增加JavaScript引擎空指令NOP;
S1.2:执行脚本时,生成带有NOP指令的字节码数组。
3.如权利要求1所述的防御方法,其特征在于,S2具体包括:
S2.1:通过监控JavaScript脚本的调用函数Invoke()来监测引擎运行过程中会导致内存信息泄露的风险行为;
S2.2:当Invoke()函数被调用后,则判定风险行为发生,此时触发运行时随机化操作。
4.如权利要求1所述的防御方法,其特征在于,S3具体包括:
S3.1:当运行时随机化系统被触发后,获取与JavaScript脚本函数对应的字节码数组;
S3.2:对获取的字节码数组中空指令NOP的占位进行修改,实现对内存的随机化操作。
5.如权利要求1所述的防御方法,其特征在于,S4具体包括
S4.1:对于被替换的旧的内存空间,进行即时处理;
S4.2:调用JavaScript引擎GC对运行时随机化系统运行过程中的内存进行管理。
6.基于运行时随机化的JavaScript引擎内存信息泄露防御系统,其特征在于,包括:
初始化模块,用于对基于JavaScript引擎的运行时随机化系统进行初始化设置;
随机化触发模块,用于监测JavaScript引擎运行过程中会导致内存信息泄露的风险行为,如果风险行为发生则触发运行时随机化系统执行;
随机化操作模块,用于当运行时随机化系统被触发后,调整空指令在内存中的占位的大小,实现对JavaScript引擎的随机化;
内存管理模块,用于管理运行时随机化系统运行过程中的内存,对运行时随机化系统在运行时产生的内存垃圾进行回收管理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010532973.5/1.html,转载请声明来源钻瓜专利网。