北京青草莓科技有限公司

您好! 请登录 注册
图片展示

青草莓谈fuzzing: 聊一下模糊测试到底能发现哪些问题

发表时间: 2024-03-20 10:05:35

作者: 北京青草莓科技有限公司

浏览:

通常我们利用模糊测试来发现安全漏洞,但实际并不是所有模糊测试发现的问题都能够被漏洞利用,那些不能利用的问题也同样需要修改,来提升被测程序的健壮性 因此,在某些公司,模糊测试活动被划分到安全测试范畴,在另一些公司,模糊测试被划到可靠性测试范畴

模糊测试主要的形式

首先找到被测目标需要处理的不被信任的输入数据,然后通过模糊测试工具对数据进行变异,将变异后的数据输入给被测目标进行处理,来发现被测目标在处理变异数据的过程中产生的问题 



那么模糊测试到底能发现那些问题呢


在模糊测试过程中主要能观测到的问题类型大概有:

被测系统重启,

被测系统无响应,

某项服务无响应

某项服务明显异常等

一般在模糊测试的过程中我们都会添加监控器,一般通过主流监控器能发现的问题有:

被测系统ping不同,

被测系统服务端口无响应,

被测系统某项服务流程不能正常完成等

在测试的过程中或者测试之后,我们也可以通过被测系统的日志和debug命令来寻找错误,大概的问题有:

进程重启,

错误断言等



上边说的问题类型都是外在的表现,那么引起问题的根因类型大概有那些呢


我们可以通过对源代码的分析来寻找根因,某些被测语言支持地址消毒技术,我们也可以通过在测试的过程中打开地址消毒选项来寻找根因 


错误代码常见的根因有

全局变量,栈变异,堆变量的读写溢出

数组读写越界

内存泄露,内存多次释放,

内存变量,栈变量等释放后使用

变量未初始化使用

全局变量多线程错误访问

线程死锁等



上边发现的问题一般都是通过模糊测试的常用手段来发现


我们当然还可以利用模糊测试来发现被测目标的逻辑功能问题

发现逻辑问题在模糊测试的过程中一般并不常用,因为需要耗费大量的人力,想要发现某种逻辑问题,首先要将这个逻辑告诉模糊测试工具

比如一些系统存在非法的密码能够成功登录的问题,比如超长密码

想要利用模糊测试发现上述问题,首先要告诉模糊测试工具什么样的密码是非法密码,并且要能控制在这个测试过程中只变异非法密码

很显然,我么几乎要为每一种逻辑问题单独定制测试过程,



通常我们利用模糊测试来发现安全漏洞,但实际并不是所有模糊测试发现的问题都能够被漏洞利用,那些不能利用的问题也同样需要修改,来提升被测程序的健壮性 因此,在某些公司,模糊测试活动被划分到安全测试范畴,在另一些公司,模糊测试被划到可靠性测试范畴



北京青草莓科技有限公司(模糊测试-解决方案提供商)

wanghao@cyan-strawberry.com



青草莓谈fuzzing: 聊一下模糊测试到底能发现哪些问题
通常我们利用模糊测试来发现安全漏洞,但实际并不是所有模糊测试发现的问题都能够被漏洞利用,那些不能利用的问题也同样需要修改,来提升被测程序的健壮性 因此,在某些公司,模糊测试活动被划分到安全测试范畴,在另一些公司,模糊测试被划到可靠性测试范畴
长按图片保存/分享
0

热线电话

13810221242

Copyright @ 2018 北京青草莓科技有限公司.All Rights Reserved   京ICP备案号2023010646号     

公司地址:北京市海淀区中关村大街18号8层04-740

Copyright @ VillaGrandis All Rights Reserved 北京青草莓科技有限公司 版权所有        

ICP备案号180006020号-3

 

添加微信好友,详细了解产品
使用企业微信
“扫一扫”加入群聊
复制成功!
添加微信好友,详细了解产品
我知道了