首页 . 理学 . 计算机科学技术 . 信息安全 . 信息系统安全 . 软件安全 . 软件安全防御

指令随机化

/Instruction-Set Randomization, ISR/
条目作者贾春福

贾春福

最后更新 2022-01-29
浏览 127
最后更新 2022-01-29
浏览 127
0 意见反馈 条目引用

一种旨在抵御代码注入攻击以保护提供远程服务(例如,HTTP,DNS等)的服务器的防御技术。

英文名称
Instruction-Set Randomization, ISR
又称
指令集随机化
所属学科
计算机科学技术

该技术通过使用随机密钥在程序执行前对其中的原始指令加密、运行时动态解密的方式,使得同一系统中每个进程都具有不同的指令集。由于攻击者在远程访问服务器的场景下无法直接获取目标进程的指令集或密钥,其注入的恶意代码会在执行时因被解密为错误的指令而失效。该技术同样适用于防范脚本和解释性语言的代码注入攻击(例如,SQL注入)。

2003年,G.S.凯西(Gaurav S. Kc)等人首次提出了指令集随机化这一技术,他指出代码注入攻击的成因是攻击者已知目标机器的指令集(例如,x86机器码,SQL查询语句等),而指令集随机化技术通过加密指令的方式随机化进程的指令集,有效阻止攻击者注入的外部代码被正常执行。但该方案仅适用于静态链接(即不使用外部动态链接库)的程序,且因采用虚拟机翻译等原因导致开销较大。2005年,A.N.索瓦雷尔(Ana Nora Sovarel)等人首次提出了对抗指令集随机化技术的猜测攻击。2010年,G.波托卡利迪斯(Georgios Portokalidis)等人利用动态插桩框架Intel PIN替代了虚拟机翻译技术,在一定程度改善了性能开销问题,不仅首次支持动态链接库,采用的多次随机化手段也能够对抗猜测攻击。

由于性能开销大、技术实现和特定架构相关、以及难以较好解决猜测攻击等问题,指令集随机化技术尚未被实际应用在操作系统中。


  • Wartell R, Mohan V, Hamlen K W, et al.Binary Stirring: Self-randomizing Instruction Addresses of Legacy x86 Binary Code.Proceedings of the 2012 ACM conference on Computer and communications security (CCS),2012,157-168.

相关条目

阅读历史

    意见反馈

    提 交

    感谢您的反馈

    我们会尽快处理您的反馈!
    您可以进入个人中心的反馈栏目查看反馈详情。
    谢谢!