PDF malware

1.PDF文件完全可视的结构

< Towards Adversarial Malware Detection : Lessons Learned from PDF-based Attacks>
1.内容储存的一般结构
Header // 由%引入,单文本包含PDF版本信息
Body
在这里插入图片描述
//一系列的对象,定义了文件执行操作,还可以包含压缩的,未压缩的嵌入式数据,每个对象都有一个唯一的参考号,通常由序列号0 obj1,number为正确的对象号,每个对象以endobj结束。
第一个数 : 对象数
第二个数:编辑次数
《》:内部是对象的内容
Cross-Reference(X-Ref) Table
在这里插入图片描述
// 偏移量列表,指示文件中每个对象的位置,这样就提供了精确位置指示,交叉引用表由标记xref引入,其后是数字序列,其最后一个指示文件中对象的总数。
0 8:对象是从0开始对象8结束
0000000000 65535f: 0000000000 是起始地址 65535是生产号,也是最大生产号 不可修改,f是free
后续 000000009 为第一个对象的地址 00000是生产号 , 0未编辑过。 n代表类型 可编辑
Trailer
在这里插入图片描述
//尾Trailer 开始
size 8 :代表对象数有8个
root 1 0 R :代表根对象的对象号为1
553:为Cross reference table 的偏移地址,可以在里面找到所有的对象的相对地址,进而访问。
PDF恶意软件的运行方式
JavaScript和/ JS用于执行JavaScript代码
/ Names,/ OpenAction,/ AA用于执行自动操作
/ EmbeddedFile和/ F用于打开嵌入式文件
/ AcroForm执行表单
相关的漏洞
在这里插入图片描述
Javascript-based Attacks被分为以下四种攻击
1.API-based overflow
通常利用错误的参数解析来分析属于PDF解析库的特定API调用,使攻击者能够执行缓冲区溢出或基于ROP(return-oriented programming)的攻击,一种利用代码复用作为手段的攻击。
2.Use-After-Free
基于使用之前已释放(但未重新初始化)的内存区域,通常会使程序崩溃,但是,可能允许易受攻击的程序中执行任意代码。
3.Malformed Data
在运行解压缩时压缩格式错误的数据触法,此类型数据通常储存在流中。
4.Type confusion
可能会影响void指针作为参数接受的函数,通常检查指向对象的某些字节来推断指针类型。但可以操作这些字节使得无效指针类型也可以识别为有效,从而允许执行任意代码。
Actionscript-based Attacks被分为三种攻击
通过Adobe Reader对Adobe Flash技术的支持使得Flash内容可视化,利用Reader的一种方法是通过嵌入恶意的ShockWave Flash(SWF)文件和ActionScript 代码来触发其Flash组件的漏洞。 通常,此代码与javascript结合使用。
1.memory Corruption
当内存中特殊指针指向其他被攻击者控制的内存区域时被某种方式损坏,可能会发生此漏洞。
2.ByteCode Verification
此漏洞使攻击者可以在未初始化的内存区域执行代码
3.Corrupted File Loading
解析特定的,损坏的视频文件时触发漏洞
Flash马上被弃用,且需两部分运行才可以触发1.actionscript 2.javascript。
File Embedding
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值