S-Tracker:基于栈异常的shellcode检测方法
系统的开放性、交互性和软件自身的缺陷导致桌面计算机系统和服务器系统长期遭受恶意代码和漏洞利用的攻击。特别地,严重的软件漏洞能够触发外部代码(shellcode)的执行,攻击者可以远程下载和加载攻击模块,达到控制受害者系统的目的。因此,检测shellcode可及时发现和阻止攻击者实施攻击。Shellcode是软件漏洞攻击过程中的一个关键要素,也是检测漏洞攻击的基础.根据shellcode的API函数及系统调用对栈帧的影响,本文定义了EBP异常、Ret异常和长度异常,并在此基础上提出了基于栈异常的shellcode检测方法S-Tracker.该方法遍历特定敏感API函数的栈帧链,检测异常、定位漏洞函数和Shellcode代码,并采用栈帧重构解决了栈帧中的EBP缺失或破坏的问题.实验结果表明,S-Tracker能有效检测到基于普通shellcode、混合型shellcode、以及纯ROP shellcode的攻击行为,具备追踪shellcode大致位置和EIP跳转函数的功能,且其性能开销较小、没有误报.此外,与微软EMET(Enhanced Mitigation Experience Toolkit)工具相比,S-Tracker在内核层实现,更加难以被攻击者绕过.
信息安全 外部代码检测 栈帧重构 栈异常
国内会议
湖北恩施
中文
1-12
2014-09-13(万方平台首次上网日期,不代表论文的发表时间)