摘要
本发明公开了一种基于程序多维变异的协议逻辑漏洞挖掘方法。首先,基于RFC协议标准,自动定位程序中负责写入报文的缓冲区写函数和用于标识协议状态的状态变量;随后,进行多维变异,包括内容级变异(字段替换、字段复用和字段删除)和序列级变异(报文重复和报文跳过),产生语法合法但语义异常的变异报文;最后,基于RFC标准定义的协议状态机,插桩程序的状态变量进行监控,使用一致性测试方法检测同一变异输入下多个协议实现状态机行为的差异性,自动化发现协议实现对RFC规范的违反,归类为逻辑漏洞。本发明方法能够自动化挖掘密码协议实现中降级攻击、重复扩展、缺失扩展等典型漏洞,在多个协议实现中共发现49个逻辑问题。
技术关键词
漏洞挖掘方法
报文
协议状态机
一致性测试方法
程序
逻辑
执行一致性测试
字段
发现协议
序列
定义
语义
策略
处理器
计算机
标识