RUS  ENG
Full version
JOURNALS // Prikladnaya Diskretnaya Matematika. Supplement // Archive

Prikl. Diskr. Mat. Suppl., 2021 Issue 14, Pages 140–146 (Mi pdma550)

Mathematical Foundations of Computer Security

Extended grammar-based fuzzing algorithm for JavaScript Engines

M. S. Nedyak

ÎÎÎ «ÁÈÇÎÍ», ã. Òîìñê

Abstract: JavaScript engine security continues to be critical for user safety. Unfortunately, modern fuzzing algorithms cover only a small part of the entire engine. JavaScript engine requires highly structured input — JavaScript programs that are syntactically and semantically correct. The most of generated input struggle to pass syntax and semantic correctness checks. In this paper, we describe the extension of the grammar-based fuzzing algorithm. We propose a way of describing grammar for fuzzing using a set of JavaScript source codes. Grammars constructed with our method cover larger part of JavaScript language in comparison with grammars created by describing grammar rules. Another change of the basic algorithm is controlling the context in the mutation process. It allows filtering a lot of inputs that don't give new results. Our experiments show that the improved algorithm has increased speed of finding new paths in the target program.

Keywords: fuzzing, JavaScript.

UDC: 004.052

DOI: 10.17223/2226308X/14/31



© Steklov Math. Inst. of RAS, 2024