一句话:提出“可达性鸿沟”概念:自动化安全测试要触发系统内部功能,不仅需要输入,还需构造运行环境与配置。
该文指出,当前自动化安全测试(尤其是 fuzzing)都隐含假定了一种与被测系统交互的方式,例如命令行、网络访问、可放大的执行或 fuzz driver。然而,要真正扩展安全测试规模,仅靠“发送输入”远远不够:为测试某个特定功能,往往需要在特定文件中开启配置选项、搭建特定运行时环境、编写源代码通过网络与被测系统交换消息,或者发起系统调用(如测试设备驱动)。作者将“为触发系统内部特定功能而同时构造所需环境与输入”这一挑战命名为可达性鸿沟(reachability gap),并主张要规模化自动安全测试,必须首先解决该鸿沟。这是一篇立场/愿景类论文,未给出具体方法实现或实验评估,而是重新界定问题范围,为后续研究指明方向。
In order to scale automated security testing, we must first solve the reachability gap. Existing approaches to test specific features of a software system always assume some way of interacting with the system. For instance, the most popular approach, fuzzing, either assumes command line access, network access, an execution to amplify, or so-called fuzz drivers to send generated inputs to the system’s process or its components. Yet, scaling security testing requires so much more than sending inputs. To test a specific feature, we might need to enable specific configuration options in specific files, to set up a specific runtime environment, to write some source code to exchange messages with the system over the network, or to issue system calls to the OS kernel (e.g., to test a device driver). We call the challenge of producing both the environment and input required to trigger specific internal functionality in a system as the reachability gap.