基于块的协议分析方法在安全测试中的优点--spike

1基于块的协议方法

掌握了该方法可以做到以下几点:

利用协议中的所有已知因素;

并消除未知因素的影响;

智能缩减程序的潜在输入空间。

2更多意义上是一个框架

它提供了许多API

运行语言类C

它更多的强调我们可以充分利用对待测试协议的了解或者类似协议的了解

3它的本质

该框架的作者是基于这样一个思路

我们最好简单地将协议看作是一种字符长串,而不是嵌套(大盒中又有小盒),这其实是将协议扁平化。

该框架的精髓在于将协议扁平化,并可自动计算其长度。

4创建SPIKE框架

提供基于块的协议建模的数据结构,被大家称作“spike”。

这是一个简单的结构列表,包含块大小信息和字节队列。

例如:

1 s_block_size_binary_bigendian_word("somepacketdata");

2 s_block_start("somepacketdata");

3 s_binary("01020304");

4 s_block_end("somepacketdata");

上述脚本,执行以下操作

1将4个空字节推入SPIKE的队列,并分配一个名为“somepacketdata”的块监听器,将监听器的内

状态设为一个big endian字。

我觉得其意思就是分配存储块,并设标示,同时指示按big endian存储一个字。

2标示块的开始,搜索标示为“somepacketdata”的块监听器,同时更新其内部“start”指针。

3将4个字节(0x01020304)推入队列。

4标示块的结束,同时监听器的大小确定。

5用SPIKE表示数据类型,简单统一

对多种数据类型的支持,操作方式几乎一致

例如:s_binary()

6自动FUZZING

协议以线形状态表示,其中的某些部分是变量。

变量可以以一种很简单的方式添加进来

这部分的意思好像是对于任何类型的变量都有对应的函数(API),我们简单添加就可以了,而不用关心细节。

7结果可测量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值