C 程序漏洞检测与反应式系统学习测试技术
C 程序漏洞检测
在 C 程序的开发过程中,漏洞检测至关重要。我们可以通过定义漏洞检测条件(VDC)来描述漏洞,从而使用自动化测试进行检测。以下是一些常见的漏洞场景:
1. Calloc(buffer, buffer_size) / Fixed(buffer) ∧Result(buffer_size, user_input)∧Result(buffer_size, addition); Unchecked(buffer, NULL)
2. Calloc(buffer, buffer_size) / Fixed(buffer) ∧Result(buffer_size, user_input) ∧Result(buffer_size, addition) ∧Unchecked(buffer_size, buffer_bounds)
3. CopyVar(loop_counter, user_input) / Fixed(buffer) ∧Unchecked(loop_counter, counter_bounds); CopyData(buffer, user_input, loop_counter)
使用 VDC 编辑器,我们可以为每个漏洞场景构建 VDC 模型。
TestInv - Code 工具的应用
TestInv - Code 是一个基于模型的动态代码分析工具,用于分析执行跟踪并确定是否存在漏洞。创建的 VDC 是该工具所需的输入之一。以分析 xine - lib 为例,具体操作步骤如下:
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



