title: ÐÐ¾Ð¸ÑÐº Ð¾ÑÐ¸Ð±Ð¾Ðº Ð² Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð¼ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ð¸ Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ ÑÐ°Ð·Ð·Ð¸Ð½Ð³Ð° Ð¸ ÑÐ°Ð½Ð¸ÑÐ°Ð¹Ð·ÐµÑÐ¾Ð²
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° ÑÐ¿ÐµÑÐ¸Ð°Ð»Ð¸ÑÑÐ°
titleType: Subtitle
title: Searching for bugs in software using fuzzing and sanitizers
Creators: name: ÐÑÑÐ°ÑÐ¸Ð½Ð°, ÐÐ°ÑÑÑ
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2021
Subjects: ÐÑÑÐ¸ÑÐ»Ð¸ÑÐµÐ»ÑÐ½ÑÐµ Ð¼Ð°ÑÐ¸Ð½Ñ ÑÐ»ÐµÐºÑÑÐ¾Ð½Ð½ÑÐµ
ÑÐ°Ð·Ð·Ð¸Ð½Ð³
Ð½Ð°Ð¿ÑÐ°Ð²Ð»ÐµÐ½Ð½ÑÐ¹ ÑÐ°Ð·Ð·Ð¸Ð½Ð³
ÑÐ°Ð·Ð·Ð¸Ð½Ð³ ÑÐµÑÐ¾Ð³Ð¾ ÑÑÐ¸ÐºÐ°
ÑÐ°Ð½Ð¸ÑÐ°Ð¹Ð·ÐµÑÑ
Ð¿Ð¾Ð¸ÑÐº Ð¾ÑÐ¸Ð±Ð¾Ðº
Ð¸Ð½ÑÑÑÑÐ¼ÐµÐ½ÑÐ°ÑÐ¸Ñ
fuzzing
directed fuzzing
greybox fuzzing
sanitizers
search for bugs in software
instrumentation

description: ÐÐ°Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð¿Ð¾ÑÐ²ÑÑÐµÐ½Ð° Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÐ¾Ð²Ð¼ÐµÑÑÐ½Ð¾Ð³Ð¾ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÐµÑÐ½Ð¸ÐºÐ¸ ÑÐ°Ð·Ð·Ð¸Ð½Ð³Ð° ÑÐµÑÐ¾Ð³Ð¾ ÑÑÐ¸ÐºÐ° Ð¸ Ð¾ÑÐ´ÐµÐ»ÑÐ½Ð¾Ð³Ð¾ ÐºÐ»Ð°ÑÑÐ° Ð¸Ð½ÑÑÑÑÐ¼ÐµÐ½ÑÐ¾Ð² ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑÐ¸ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐµ ÑÐ°Ð½Ð¸ÑÐ°Ð¹Ð·ÐµÑÐ¾Ð². Ð¦ÐµÐ»Ñ ÑÐ°Ð±Ð¾ÑÑ â ÑÐ¾ÐºÑÐ°ÑÐµÐ½Ð¸Ðµ Ð²ÑÐµÐ¼ÐµÐ½Ð¸ Ð¾Ð±Ð½Ð°ÑÑÐ¶ÐµÐ½Ð¸Ñ ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÑ ÐºÐ»Ð°ÑÑÐ¾Ð² Ð¾ÑÐ¸Ð±Ð¾Ðº Ð¿ÑÐ¸ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ð¸ ÑÐµÑÐ½Ð¸ÐºÐ¸ ÑÐ°Ð·Ð·Ð¸Ð½Ð³Ð°. Ð Ð´Ð¸Ð¿Ð»Ð¾Ð¼Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÐµ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ñ ÑÐµÑÐ½Ð¸ÐºÐ¸ ÑÐ°Ð·Ð·Ð¸Ð½Ð³Ð°, Ð¿Ð¾Ð¿ÑÐ»ÑÑÐ½ÑÐµ ÑÐµÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿ÑÐ¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑÐ°Ð·Ð·Ð¸Ð½Ð³Ð°, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð»ÐµÐ³Ð»Ð¸ Ð² Ð¾ÑÐ½Ð¾Ð²Ñ ÑÐ°Ð±Ð¾ÑÑ, Ð¸ ÑÐ°Ð½Ð¸ÑÐ°Ð¹Ð·ÐµÑÑ. ÐÑÐ¸Ð²ÐµÐ´ÐµÐ½Ñ Ð¿ÑÐ¸Ð¼ÐµÑÑ ÐºÐ¾Ð´Ð°, ÐºÐ¾ÑÐ¾ÑÑÐµ ÑÐ¾Ð´ÐµÑÐ¶Ð°Ñ Ð¾ÑÐ¸Ð±ÐºÐ¸, Ð½Ð¾ Ð½Ðµ Ð¿ÑÐ¸Ð²Ð¾Ð´ÑÑ Ðº ÑÐ±Ð¾Ñ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ñ, Ð½Ð¾ Ð»ÐµÐ³ÐºÐ¾ Ð¾Ð±Ð½Ð°ÑÑÐ¶Ð¸Ð¼Ñ ÑÐ°Ð½Ð¸ÑÐ°Ð¹Ð·ÐµÑÐ°Ð¼Ð¸. ÐÑÐµÐ´Ð»Ð¾Ð¶ÐµÐ½ Ð¿Ð¾Ð´ÑÐ¾Ð´ Ð¸ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½ Ð¸Ð½ÑÑÑÑÐ¼ÐµÐ½Ñ Ð½Ð°Ð¿ÑÐ°Ð²Ð»ÐµÐ½Ð½Ð¾Ð³Ð¾ ÑÐ°Ð·Ð·Ð¸Ð½Ð³Ð° Ðº Ð¸Ð½ÑÑÑÑÐ¼ÐµÐ½ÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð½ÑÐ¼ ÑÐ°Ð½Ð¸ÑÐ°Ð¹Ð·ÐµÑÐ°Ð¼Ð¸ Ð±Ð»Ð¾ÐºÐ°Ð¼ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ñ. Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð½ÑÐ¹ ÑÐ°Ð·Ð·ÐµÑ Ð±ÑÐ» Ð¿ÑÐ¾ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½ Ð½Ð° Ð½Ð°Ð±Ð¾ÑÐµ LAVA-M, Ð¸ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¾ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ðµ Ñ Ð¾ÑÐ¸Ð³Ð¸Ð½Ð°Ð»ÑÐ½Ð¾Ð¹ Ð²ÐµÑÑÐ¸ÐµÐ¹ AFL Ð½Ð° ÑÐ¾Ð¼ Ð¶Ðµ Ð½Ð°Ð±Ð¾ÑÐµ Ð´Ð°Ð½Ð½ÑÑ. Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð½ÑÐ¹ ÑÐ°Ð·Ð·ÐµÑ ÑÐ¼Ð¾Ð³ Ð½Ð°Ð¹ÑÐ¸ Ð±Ð¾Ð»ÑÑÐµ Ð¾ÑÐ¸Ð±Ð¾Ðº, ÑÐµÐ¼ AFL Ð¸ Ð¿ÑÐ¸ ÑÑÐ¾Ð¼ Ð½Ð°ÑÐµÐ» Ð¾ÑÐ¸Ð±ÐºÐ¸, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð½Ðµ Ð·Ð°Ð´Ð¾ÐºÑÐ¼ÐµÐ½ÑÐ¸ÑÐ¾Ð²Ð°Ð½Ñ Ð°Ð²ÑÐ¾ÑÐ°Ð¼Ð¸ Ð½Ð°Ð±Ð¾ÑÐ° Ð´Ð°Ð½Ð½ÑÑ Ð´Ð»Ñ ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÐ°Ð·Ð·ÐµÑÐ¾Ð² LAVA-M. ÐÑÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð½ÑÐ¹ Ð¿Ð¾Ð´ÑÐ¾Ð´ Ð´Ð¾ÐºÐ°Ð·Ð°Ð» ÑÐ²Ð¾Ñ ÑÑÑÐµÐºÑÐ¸Ð²Ð½Ð¾ÑÑÑ Ð¸ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½ Ð² Ð´ÑÑÐ³Ð¸Ñ Ð½Ð°Ð¿ÑÐ°Ð²Ð»ÐµÐ½Ð½ÑÑ ÑÐ°Ð·Ð·ÐµÑÐ°Ñ, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð¸Ð¼ÐµÑÑ Ð±Ð¾Ð»ÐµÐµ ÑÐ¼Ð½ÑÐµ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼Ñ Ð¼ÑÑÐ°ÑÐ¸Ð¸ Ð´Ð°Ð½Ð½ÑÑ, ÑÑÐ¾ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ ÐµÑÐµ Ð±Ð¾Ð»ÑÑÐµ ÑÐ¾ÐºÑÐ°ÑÐ¸ÑÑ Ð²ÑÐµÐ¼Ñ Ð¿Ð¾Ð¸ÑÐºÐ° Ð¾ÑÐ¸Ð±Ð¾Ðº.
description: This work is devoted to the research of the combined use of the gray box fuzzing technique and a separate class of testing tools in the software development of sanitizers. The purpose of the work is to reduce the time of detecting various classes of bugs using fuzzing techniques. Thesis explored fuzzing techniques, popular fuzzing solutions which formed the basis of the work, and sanitizers. Code examples are given that contain bugs but do not crash the program but are easily detectable by sanitizers. An approach is proposed and a tool of directed fuzzing towards program blocks instrumented by sanitizers is developed. The developed fuzzer was tested on the LAVA-M dataset and compared with the original AFL version on the same dataset. The developed fuzzer was able to find more errors than AFL at the same time and found bugs that are not documented by the authors of the dataset for testing fuzzers LAVA-M. The proposed approach has proven its effectiveness and can be implemented in other directed fuzzers that have smarter data mutation algorithms, which will further reduce the time for finding errors.