Malicious document files used in targeted attacks often contain a small program called shellcode. It is often hard to prepare a runnable environment for dynamic analysis of these document files because they exploit specific vulnerabilities. In these cases, it is necessary to identify the position of the shellcode in each document file to analyze it. If the exploit code uses executable scripts such as JavaScript and Flash, it is not so hard to locate the shellcode. On the other hand, it is sometimes almost impossible to locate the shellcode when it does not contain any JavaScript or Flash but consists of native x86 code only. Binary fragment classification is often applied to visualize the location of regions of interest, and shellcode must contain at least a small fragment of x86 native code even if most of it is obfuscated, such as, a decoder for the obfuscated body of the shellcode. In this paper, we propose a novel method, o-glasses, to visualize the shellcode by recognizing the x86 native code using a specially designed one-dimensional convolutional neural network (1d-CNN). The fragment size needs to be as small as the minimum size of the x86 native code in the whole shellcode. Our results show that a 16-instruction-sequence (approximately 48 bytes on average) is sufficient for the code fragment visualization. Our method, o-glasses (1d-CNN), outperforms other methods in that it recognizes x86 native code with a surprisingly high F-measure rate (about 99.95%).


翻译:目标攻击中使用的恶意文档文件往往包含一个名为 shellcode 的小型程序。 通常很难为动态分析这些文档文件准备一个可运行的环境, 因为这些文档文件使用特定的弱点。 在这些情况下, 需要在每个文档文件中识别shellcode的位置来分析它。 如果开发代码使用 JavaScript 和 Flash 等可执行的脚本, 找到贝壳代码并不那么困难。 另一方面, 当贝壳代码不包含任何 JavaScript 或 Flash 时, 有时几乎不可能找到它的位置, 但它只包含本地的 x86 代码。 二元碎片分类通常用于将感兴趣的区域定位为可视化 。 在这些文件中, 贝壳代码至少必须包含一个 x86 本地代码的小片段, 即使大部分是模糊的, 比如 JavaScript 和 Flasholt 。 在本文中, 我们提出的一种新方法, oclicle, 通过一个专门设计的一维度 内存的本地代码( 1- N) o- oral oral cal comn net net network net net net net net net net net net net net net comm comm comm comm comm lax lax lax lax) lax lax lax lax le a le a le a laxxxx lex le ax le axxx le a licoldemodex le a le a lix lex lex le a lex lix lix lix le a licold le a le a le a le a le a le a le a le a le a le a le a le a le a lical le a le a le a le a le a le a le a le a le a le a le a le a le a le a le a le a lical lical lical le a le a le a li

0
下载
关闭预览

相关内容

shellcode是一段不依赖于上下文的可执行机器码。
《DeepGCNs: Making GCNs Go as Deep as CNNs》
专知会员服务
30+阅读 · 2019年10月17日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
144+阅读 · 2019年10月12日
开源书:PyTorch深度学习起步
专知会员服务
49+阅读 · 2019年10月11日
强化学习最新教程,17页pdf
专知会员服务
169+阅读 · 2019年10月11日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
计算机视觉最佳实践、代码示例和相关文档
专知会员服务
17+阅读 · 2019年10月9日
Transferring Knowledge across Learning Processes
CreateAMind
26+阅读 · 2019年5月18日
【泡泡一分钟】用于平面环境的线性RGBD-SLAM
泡泡机器人SLAM
6+阅读 · 2018年12月18日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
14+阅读 · 2017年11月16日
【推荐】YOLO实时目标检测(6fps)
机器学习研究会
20+阅读 · 2017年11月5日
可解释的CNN
CreateAMind
17+阅读 · 2017年10月5日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
【推荐】用Tensorflow理解LSTM
机器学习研究会
36+阅读 · 2017年9月11日
【推荐】深度学习目标检测概览
机器学习研究会
10+阅读 · 2017年9月1日
【推荐】TensorFlow手把手CNN实践指南
机器学习研究会
5+阅读 · 2017年8月17日
【推荐】(Keras)LSTM多元时序预测教程
机器学习研究会
24+阅读 · 2017年8月14日
Interpretable CNNs for Object Classification
Arxiv
20+阅读 · 2020年3月12日
Single-frame Regularization for Temporally Stable CNNs
Simplifying Graph Convolutional Networks
Arxiv
12+阅读 · 2019年2月19日
Feature Denoising for Improving Adversarial Robustness
Arxiv
15+阅读 · 2018年12月9日
Arxiv
3+阅读 · 2018年8月17日
VIP会员
相关VIP内容
《DeepGCNs: Making GCNs Go as Deep as CNNs》
专知会员服务
30+阅读 · 2019年10月17日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
144+阅读 · 2019年10月12日
开源书:PyTorch深度学习起步
专知会员服务
49+阅读 · 2019年10月11日
强化学习最新教程,17页pdf
专知会员服务
169+阅读 · 2019年10月11日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
计算机视觉最佳实践、代码示例和相关文档
专知会员服务
17+阅读 · 2019年10月9日
相关资讯
Transferring Knowledge across Learning Processes
CreateAMind
26+阅读 · 2019年5月18日
【泡泡一分钟】用于平面环境的线性RGBD-SLAM
泡泡机器人SLAM
6+阅读 · 2018年12月18日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
14+阅读 · 2017年11月16日
【推荐】YOLO实时目标检测(6fps)
机器学习研究会
20+阅读 · 2017年11月5日
可解释的CNN
CreateAMind
17+阅读 · 2017年10月5日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
【推荐】用Tensorflow理解LSTM
机器学习研究会
36+阅读 · 2017年9月11日
【推荐】深度学习目标检测概览
机器学习研究会
10+阅读 · 2017年9月1日
【推荐】TensorFlow手把手CNN实践指南
机器学习研究会
5+阅读 · 2017年8月17日
【推荐】(Keras)LSTM多元时序预测教程
机器学习研究会
24+阅读 · 2017年8月14日
Top
微信扫码咨询专知VIP会员