删除或更新信息,请邮件至freekaoyan#163.com(#换成@)

攻击网页浏览器:面向脚本代码块的ROP Gadget注入

本站小编 Free考研考试/2022-01-02

摘要:即时编译机制(just-in-time compilation)改善了网页浏览器执行JavaScript脚本的性能,同时也为攻击者向浏览器进程注入恶意代码提供了便利.借助即时编译器,攻击者可以将脚本中的整型常数放置到动态代码缓存区,以便注入二进制恶意代码片段(称为gadget).通过常数致盲等去毒化处理,基于常数的注入已经得到有效遏制.证实了不使用常数转而通过填充脚本代码块也能实施gadget注入,并实现图灵完备的计算功能.在编译一段给定的脚本代码时,即时编译器生成的动态代码中通常存在着一些固定的机器指令序列.这些指令序列的存在性不受常数致盲和地址空间布局随机化等安全机制的影响,同时,这些指令序列中可能蕴涵着攻击者期望的gadget.在实施攻击时,攻击者可以汇集特定的脚本代码块来构造一个攻击脚本,再借助即时编译器来注入gadget.在x86-64架构上评估了这种注入攻击在SpiderMonkey和GoogleV8这两个开源即时编译引擎上的可行性.通过给这两个引擎输入大量的JavaScript脚本,可以得到较为丰富的动态代码块.在这些动态代码块上的统计分析结果表明,这两个引擎生成的动态代码中都存在图灵完备的gadget集合.在实际攻击场景中,攻击者可以利用的脚本集合完全包含且远远多于实验用的脚本.因此,攻击者可以采用该方法注入需要的gadget,以便构造出实现任意功能的ROP(return-orientedprogramming)代码.



Abstract:Modern Web browsers introduce just-in-time (JIT) compilation mechanism to improve their performance on executing JavaScript applications. However, this mechanism has already been abused by attackers to inject malicious code. For instance, as JIT compilers may place JavaScript integers into code-cache in the form of operands of machine instructions, attackers can inject return-oriented programming (ROP) gadgets by crafting JavaScript integers. Fortunately, integer-based injection attacks have already been mitigated by techniques such as constant blinding. This work demonstrates that attackers can also inject ROP gadgets by using JavaScript code blocks instead of integer values. The idea of this injection scheme is based on the observation that the dynamic code generated by JIT compilers for a given JavaScript code snippet always has some immutable machine instruction sequences. The existence of these sequences is not affected by security mechanisms including constant blinding and address randomization. Moreover, these instruction sequences may contain ROP gadgets needed by attackers. Therefore, attackers can use JavaScript code blocks to obtain these gadgets in their attacks. The proposed injection scheme on SpiderMonkey and GoogleV8 is evaluated by running on x86-64 architecture. These two JIT engines are fed with JavaScript applications from well-known benchmarks and got a great many of dynamic code blocks. Statistical results show that Turing-complete sets of gadgets can be got in these code blocks. In real word attack senarios, the available JavaScript applications can be used by an adversary contain and are far more than those from benchmarks. Therefore, an adversary can apply the proposed scheme to inject gadgets for constructing ROP code to conduct arbitrary computation.



PDF全文下载地址:

http://jos.org.cn/jos/article/pdf/5626
相关话题/代码 序列 实验 计算 脚本

  • 领限时大额优惠券,享本站正版考研考试资料!
    大额优惠券
    优惠券领取后72小时内有效,10万种最新考研考试考证类电子打印资料任你选。涵盖全国500余所院校考研专业课、200多种职业资格考试、1100多种经典教材,产品类型包含电子书、题库、全套资料以及视频,无论您是考研复习、考证刷题,还是考前冲刺等,不同类型的产品可满足您学习上的不同需求。 ...
    本站小编 Free壹佰分学习网 2022-09-19
  • MAS环境中一种基于反馈可信度的多维信誉计算方法
    摘要:在分布式体系结构的MAS(multi-agentsystem)中,Agent之间通过彼此的交互,协调完成共同的任务,但是由于没有中心化的管理权威可以依赖,导致对网络中Agent信誉信息进行判断存在一定的困难.传统的基于评价反馈的信誉评估方法存在反馈评价属性信息利用不足以及缺少确保反馈评价信息可 ...
    本站小编 Free考研考试 2022-01-02
  • 代码知识图谱构建及智能化软件开发方法研究
    摘要:智能化软件开发正在经历从简单的代码检索到语义赋能的代码自动生成的转变,传统的语义表达方式无法有效地支撑人、机器和代码之间的语义交互,探索机器可理解的语义表达机制迫在眉睫.首先指出了代码知识图谱是实现智能化软件开发的基础,进而分析了大数据时代智能化软件开发的新特点以及基于代码知识图谱进行智能化软 ...
    本站小编 Free考研考试 2022-01-02
  • 基于代码结构知识的软件文档语义搜索方法
    摘要:自然语言文本形式的文档是软件项目的重要组成部分.如何帮助开发者在大量文档中进行高效、准确的信息定位,是软件复用领域中的一个重要研究问题.提出了一种基于代码结构知识的软件文档语义搜索方法.该方法从软件项目的源代码中解析出代码结构图,并以此作为领域特定的知识来帮助机器理解自然语言文本的语义.这一语 ...
    本站小编 Free考研考试 2022-01-02
  • 引入序列信息的残基相互作用网络比对算法
    摘要:残基相互作用网络比对,对于研究蛋白质结构与功能的关系具有重要意义.在基于网络拓扑信息进行网络比对的MAGNA算法基础上,将蛋白质的序列信息(即残基匹配度)引入到其优化函数中,确定拓扑信息和序列信息对比对的影响程度,提出适合于残基相互作用网络比对的SI-MAGNA算法.实验结果表明,SI-MAG ...
    本站小编 Free考研考试 2022-01-02
  • 基于运行特征监控的代码复用攻击防御
    摘要:针对代码复用的攻击与防御已成为网络安全领域研究的热点,但当前的防御方法普遍存在防御类型单一、易被绕过等问题.为此,提出一种基于运行特征监控的代码复用攻击防御方法RCMon.该方法在分析代码复用攻击实现原理的基础上定义了描述程序正常运行过程的运行特征模型RCMod,并提出了验证程序当前运行状态是 ...
    本站小编 Free考研考试 2022-01-02
  • ICOMDT:一个面向动态任务的交互计算模型
    摘要:近年来,包含动态任务的交互式系统得到了广泛的应用.基于现有对用户与动态任务交互的研究,提出一个面向动态任务的定量化可计算的交互模型ICOMDT,用于解释用户与动态任务的交互行为,并实现用户意图预测.更具体地,将ICOMDT应用于运动目标选择任务,设计了两个实验以验证模型的有效性.实验1收集用户 ...
    本站小编 Free考研考试 2022-01-02
  • 运行时代码随机化防御代码复用攻击
    摘要:代码复用攻击日趋复杂,传统的代码随机化方法已无法提供足够的防护.为此,提出一种基于运行时代码随机化的代码复用攻击防御方法LCR.该方法在目标程序正常运行时,实时监控攻击者企图获取或利用gadgets的行为,当发现监控的行为发生时,立即触发对代码进行函数块级的随机化变换,使攻击者最终获取或利用的 ...
    本站小编 Free考研考试 2022-01-02
  • NSFC计算机图像与视频处理领域项目关键词分析
    摘要:关键词能够反映出一份项目申请书的主要研究内容.统计了国家自然科学基金计算机图像与视频处理领域2014年~2018年申请与资助项目关键词,并分别从关键词标引量、关键词词频等方面进行分析,探讨其与资助率的关系.最后,运用定量的方法,透过热频关键词的内容变化,分析近5年来的计算机图像与视频处理领域的 ...
    本站小编 Free考研考试 2022-01-02
  • 恶意代码演化与溯源技术研究
    摘要:恶意代码溯源是指通过分析恶意代码生成、传播的规律以及恶意代码之间衍生的关联性,基于目标恶意代码的特性实现对恶意代码源头的追踪.通过溯源可快速定位攻击来源或者攻击者,对攻击者产生一定的震慑打击作用,具有遏制黑客攻击、完善网络安全保障体系的重要作用和价值.近年来,网络安全形势愈加严峻,归类总结了学 ...
    本站小编 Free考研考试 2022-01-02
  • 移动边缘网络中计算迁移与内容缓存研究综述
    摘要:随着移动设备数量的爆炸性增长以及许多新兴应用的出现,移动网络的流量呈指数级增长.传统的集中式网络架构由于回程链路负载过重、时延较长,无法满足移动用户的需求.因此,提出了将网络能力从核心网开放至边缘网的新体系结构,即移动边缘计算(MEC).移动边缘计算能够在移动蜂窝网络的边缘提供轻量级的云计算和 ...
    本站小编 Free考研考试 2022-01-02