PyREUnpacker:一种基于动态分析的自动化脱壳系统

来源 :华中科技大学 | 被引量 : 1次 | 上传用户:xy_lfr
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
目前大量的恶意软件和良性软件都通过加壳来保护自己。有数据显示,从网上下载的恶意软件中,有58%都是加壳程序,这58%的加壳程序中又有35%使用了自定义壳,因此研究一种更好的自动化脱壳方法变得越来越有必要。本文设计并实现了PyREUnpacker,一种基于动态分析的PE(Portable Executable,可移植的可执行文件)文件自动化脱壳系统。通过将样本置于虚拟机中运行,PyREUnpacker动态分析样本的运行状态,监控并保存样本脱壳状态。通过WX-then-CALL(Written-then-Executed-then-CALL,写入后执行再调用)模型和最大ESP(Extended Stack Pointer,栈顶指针寄存器)搜索算法,PyREUnpacker能够在对样本所用的加壳算法未知的情况下,实现自动化脱壳。PyREUnpacker主要由5个模块构成:加壳检测模块、脱壳分析模块、内存dump模块、镜像处理模块和PE修复模块。加壳检测模块对待测样本进行特殊的熵值计算,并根据获得的熵值计算对应的加壳概率,通过加壳概率来判断样本是否加壳。脱壳分析模块将加壳样本置于虚拟环境中运行,通过监控其运行过程中的内存写入、指令执行、指令跳转和API(Application Programming Interface,应用程序接口)调用行为,来判断样本的脱壳进度,并通过内存dump模块保存内存数据,在结束分析后,脱壳分析模块还会结合WX-then-CALL模型和最大ESP搜索算法来寻找OEP(Original Entry Point,原始入口地址)。内存dump模块会对进程内存空间进行分析,保存可用的内存区域与信息,用于镜像处理模块的处理。镜像处理模块首先对不同时间点生成的内存镜像进行筛选,选择合适的基础PE镜像文件,再根据OEP的位置来合并堆中数据,得到一个PE镜像文件。最后,PE修复模块会对PE镜像文件进行EP修复、IAT(Import Address Table,导入地址表)修复以及节区权限修复。测试结果表明,PyREUnpacker的加壳识别准确率达到了85.0%,能够检测出绝大多数的加壳程序,同时,脱壳成功率达到了82.5%,高于对比测试的自动化脱壳工具的53%,表明PyREUnpacker能够对大多数的加壳程序实现自动化脱壳,从而提高恶意代码分析的效率。
其他文献
随着计算机软件及硬件技术不断完善和成熟,以及当前影像测量市场的需求极大地促进了影像测量系统的发展。国外的影像测量系统技术发展非常成熟,并且已经商业化,然而国内的影像测量系统大多是基于国外软件接口进行二次开发。在这两个背景下,通过对影像测量系统需求的分析,实现了影像测量仪几何元素构造系统。首先介绍了开发工具和环境,Qt开发平台用来设计与用户进行数据交互的界面,Open CASCADE提供了几何元素类
学位
随着越来越多的人从农村迁居到城市,小区的规模越发壮大,由于疏于管理防范等原因也引发了许多安全问题,越来越多的居民开始担忧小区的安全情况,因此小区的安全防控也越发显得重要。为了保护居民的生命健康和财产安全,借助目标检测等相关技术实现小区的自动化实时安全监控与报警。小区的周界检测系统是智能监控系统的一个方向,它可以实现摄像头视频流的读取和解码、人体检测、多路摄像头并行处理、危险区域标记和告警等功能。系
学位
随着工业的发展,工厂产品测量对测量精度和效率的要求越来越高,影像测量仪作为高精度仪器,如何减小其误差、提高其精度受到行业内广泛研究。构建数学模型、利用软件完成影像测量仪误差补偿的方法以其经济、高效等特点,在行业内广泛应用。拥有精确度高、稳定性强、热膨胀系数小、耐腐蚀性好等特点的线纹尺,常用于长度测量工具中作为测量校准光学部件。利用线纹尺进行影像测量仪的定位误差补偿方法,即基于交互的误差补偿,需要人
学位
在人工髋关节使用一段时间后,可能需要进行翻修。在含有髋关节假体的CT影像中分割出非假体部分,并对不同骨组织给予不同的标签,是翻修髋关节手术规划的需要。自动化地准确分割出临床需要的组织将对医生提供有力的辅助。鉴于深度学习在图像分割中取得的成就,采用深层卷积神经网络作为框架。在网络模型的选择上,为了避免随着深度的加深可能出现的网络退化情况,选用了带有残差机制的3D-Res Unet网络,并在该网络的扩
学位
利用CT图像对髋关节疾病进行诊断时,需要对髋关节骨组织进行多标签分割。显然,基于深度学习的医学影像分割效果超越了传统图像分割技术,但是,该方法需要大量有标签的数据进行监督学习,而标记CT图像目标组织需要耗费相当多的人力资源。对此,设计并实现一套基于传统方法的多标签分割方法,得到接近最优的分割结果,以此为基础进行少量的人工修正,可以有效地减少人工工作量。设计的传统图像分割算法分为髋关节的粗分割和精细
学位
I/O性能已成为高性能运算系统性能提升的瓶颈。I/O日志(trace)作为系统在运行过程中记录的I/O请求信息,已被广泛应用于I/O性能分析之中。但是由于传统trace收集工具存在着资源消耗大等缺点,制约了性能评估准确性的提升。因此,trace生成工具应运而生。另一方面,生成对抗网络作为发展最迅速的生成模型之一,已经成功应用于计算机视觉、加密与安全等领域,并且在实值序列数据的生成方面具有很大的潜力
学位
COStream是一门高效的数据流编程语言,通过将通信与计算分离凸显出程序的高并行性,从而充分利用多核平台的性能。但在任务划分方面,COStream现有划分算法不具有普适性,划分各个阶段的界限模糊不清;在数据传输方面,编译器底层的缓冲区设计不够系统化,且COStream作为支持并行编程的语言,其线程同步机制也存在优化的空间。针对现有COStream任务划分存在的问题,将任务划分细分为两个阶段进行优
学位
光缆是一种电信线,在架设光缆时,如果架设的光缆与原本已经架设好的电线发生交越或搭挂,这种电信线与电力线发生交越或搭挂的场景被称为三线交越。在这种场景下,即便光缆与电力线没有直接接触,但二者可能发生耦合感应,影响光缆的寿命,也可能引起强电入侵,对人身安全产生威胁。由于上述原因,发生交越的光缆部分必须加装保护套。目前,检验光缆架设规范主要由人工完成,导致检察员工作量大。从人工施工采集获得的图像中自动检
学位
构建高质量的、大规模的数据集是机器学习取得良好效果的前提和动力。数据集的构建通常由研究人员根据实验需求进行手工标注,然而由于手工标注工作量较大、工作内容枯燥无味,往往导致标注成本过高、标注效率低下。随着机器学习领域的发展,如何提升标注效率成为亟待解决的问题。为了提升标注效率,设计并实现了一个半自动视频图像标注系统,支持对视频图像数据进行手工标注,支持调用各类视频图像处理算法预测标注结果、人工对预测
学位
通用目标检测卷积神经网络算法精度不断提升,随之而来的是计算量与参数量的爆发式增长。与之相反的是,新兴的智能交通、自动驾驶与智能安防等领域都使用嵌入式AI设备,这给卷积神经网络算法提出了新的挑战。对高性能目标检测网络进行深层次的压缩,让网络参数量大幅度降低,这在计算资源匮乏的嵌入式AI设备上部署目标检测卷积神经网络是至关重要的。昇腾NPU使用定制的达芬奇架构,如何实现快速卷积计算过程,充分发挥昇腾N
学位