首页> 外文期刊>Computers & Security >Using memory propagation tree to improve performance of protocol fuzzer when testing ICS
【24h】

Using memory propagation tree to improve performance of protocol fuzzer when testing ICS

机译:测试ICS时使用内存传播树提高协议模糊器的性能

获取原文
获取原文并翻译 | 示例

摘要

Protocol fuzzers are widely used for finding vulnerabilities and security bugs in the program. The main techniques used by protocol fuzzers can be divided into 2 categories: generation-based and mutation-based fuzzing. The generation-based fuzzing generates data messages using an official specification (i.e., grammar), while the mutation-based fuzzing performs random transformations on a prepared message. But these two types of fuzzing techniques are ineffective or inefficient when testing industrial control system (ICS), because many ICS protocols are unknown, undocumented or proprietary. The generation-based fuzzing cannot work well without specifications, while the mutation-based fuzzing cannot achieve high branch coverage. In this paper, we present Miff (abbreviation of the system using "M"P tree to "i"mprove per"f"ormance of "f"uzzer) that aims at automatically abstracting data models from ICS messages. The data model generated by Miff can be used to direct protocol fuzzers to test ICS. Miff has three processing stages: (1) by instrumenting and monitoring program execution, Miff obtains the execution context information, builds memory propagation (MP) tree for every byte in the message, and identifies protocol field boundaries based on the similarity between MP trees; (2) by using information-theoretic measures, Miff infers the type of every field; (3) according to analysis results of the first two stages, Miff decides the mutation strategy for every field, which combines with the field boundary and type information to form the data model. We have implemented a prototype of Miff and applied it into 4 open-source protocol fuzzers. Our experimental results show that, Miff can enable the generation-based fuzzing to test ICS even if the specification is absent, and improve the performance of the mutation-based fuzzing to achieve higher branch coverage with less test cases. (C) 2019 Elsevier Ltd. All rights reserved.
机译:协议模糊器被广泛用于查找程序中的漏洞和安全错误。协议模糊器使用的主要技术可以分为两类:基于世代和基于变异的模糊。基于世代的模糊化使用正式规范(即语法)生成数据消息,而基于变异的模糊化对准备的消息执行随机转换。但是,这两种类型的模糊测试技术在测试工业控制系统(ICS)时无效或效率低下,因为许多ICS协议是未知的,未记录的或专有的。没有规范,基于世代的模糊测试无法很好地工作,而基于变异的模糊测试则无法实现较高的分支覆盖率。在本文中,我们提出了Miff(旨在简化从ICS消息中自动提取数据模型的系统的缩写,即使用“ M” P树来“ i”改进“ f”警报器的“ f”性能)。 Miff生成的数据模型可用于指导协议模糊器测试ICS。 Miff具有三个处理阶段:(1)通过检测和监视程序执行,Miff获取执行上下文信息,为消息中的每个字节建立内存传播(MP)树,并基于MP树之间的相似性来标识协议字段边界; (2)利用信息理论方法,米夫推断出每个领域的类型; (3)根据前两个阶段的分析结果,米夫决定了每个场的变异策略,结合场边界和类型信息形成数据模型。我们已经实现了Miff的原型,并将其应用于4个开源协议模糊测试器。我们的实验结果表明,即使没有规范,Miff仍可以使基于世代的模糊测试ICS成为可能,并且可以提高基于突变的模糊测试的性能,从而以更少的测试用例实现更高的分支覆盖率。 (C)2019 Elsevier Ltd.保留所有权利。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号