arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 2408.00433cs.SE
收藏

ShellFuzzer:基于语法的 Shell 解释器模糊测试

ShellFuzzer: Grammar-based Fuzzing of Shell Interpreters

Riccardo Felici, Laura Pozzi, Carlo A. Furia

AI总结:

本文提出 ShellFuzzer,一种结合基于语法的生成与随机变异来自动生成大量 shell 脚本以测试 Unix shell 解释器的技术,并在 mksh 中发现了 8 个此前未知的问题,其中 7 个已获维护者确认并修复。

摘要:

尽管 Unix shell 长期以来广受欢迎并在操作系统中扮演基础性角色,但它很少成为学术研究的对象。特别是,尽管编译器测试取得了显著进展,但几乎没有工作将自动化测试技术应用于检测 shell 解释器中的故障和漏洞。针对这一重要不足,我们提出了 ShellFuzzer:一种通过自动生成大量 shell 脚本来测试 Unix shell 解释器的技术。ShellFuzzer 将基于语法的生成与选择性随机变异相结合,以产生具有可预测特征(例如,符合语言标准、且无破坏性行为)的多样化 shell 程序。在我们的实验评估中,ShellFuzzer 生成的 shell 程序暴露了 8 个此前未知的问题,这些问题影响了近期版本的 mksh(符合 POSIX 标准的 shell);shell 维护者确认了其中 7 个问题,并在该 shell 开源实现的最新修订版中予以解决。

英文摘要:

Despite its long-standing popularity and fundamental role in an operating system, the Unix shell has rarely been a subject of academic research. In particular, regardless of the significant progress in compiler testing, there has been hardly any work applying automated testing techniques to detect faults and vulnerabilities in shell interpreters. To address this important shortcoming, we present ShellFuzzer: a technique to test Unix shell interpreters by automatically generating a large number of shell scripts. ShellFuzzer combines grammar-based generation with selected random mutations, so as to produce a diverse range of shell programs with predictable characteristics (e.g., valid according to the language standard, and free from destructive behavior). In our experimental evaluation, ShellFuzzer generated shell programs that exposed 8 previously unknown issues that affected a recent version of the mksh POSIX-compliant shell; the shell maintainers confirmed 7 of these issues, and addressed them in the latest revisions of the shell's open-source implementation.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑