Improving fuzzing performance by applying interval mutations (Movsisyan Hovhannes, ISPRASOPEN-2019) — различия между версиями

Материал из 0x1.tv

 
(Batch edit: replace PCRE (\n\n)+(\n) with \2)
 
(не показано 12 промежуточных версий этого же участника)
{{eng}}
;{{SpeakerInfo}}: {{Speaker|Оганес Мовсисян}}
<blockquote>
В докладе представлен новый подход для генерации эффективных входных данных для
фазз тестирования. Большинство программ перед началом выполнения основного кода проверяют
формат входных данных. Часто такие приложения читают служебную информацию из входного
файла и определяют поддерживается ли данный формат или нет. Входные файлы, с невалидным
форматом отбрасываются. Эффективный фаззинг программ, которые проверяют служебную
информацию входных данных является актуальной задачей. Мутация входных файлов часто
приводит к генерации невалидной сервисной информации, и программа заканчивается до того, как
исполнится ее основной код. 

Чтобы решить эту задачу, мы разработали и внедрили три специальных
плагинов в платформуEnglish translation of http://0x1.tv/20191206AF

This talk presents a novel approach of generation effective inputs for fuzz testing. Most applications check input format before performing basic calculations. That kind of applications usually parse service information of input file to decide whether input is supported or not. Input formats which are not supported are discarded and the application finishes its execution immediately. For example, the service information of ELF (Extensible Linking Format) file should start with following data "0x7f 'E' 'L' 'F'". If a file does not contain this information in header then it will not be considered as ELF. Effective fuzzing of an application which has input validation stage is a relevant and important problem. Random changes of input files usually malform service data and the target application finishes its work without main code execution. This makes fuzzing process inefficient.

To solve this problem, we have designed and implemented two special plugins for ISP-Fuzzer. The first plugin connects fragments of input data and corresponding executed basic blocks of the target program. Based on that information we can determine potential fragments (critical fragments) of input data which should not be mutated for new test case generation. The second plugin is designed for interval mutations. It mutates input file escaping critical fragments detected by the first plugin. Experimental results prove the effectiveness of proposed method.
* Первый плагин предназначен для собирания трасс выполнения.
* Второй плагин связывает фрагменты входных данных с выполненными базовыми блоками целевой программы. С помощью этой информации определяются потенциальные интервалы входных данных, которые не должны мутироваться при генерации нового теста. 
* Последний плагин разработан для интервальных мутаций. Эти мутации модифицируют входной файл, оставляя нетронутыми заданные интервалы. 

Эффективность предложенного метода доказана многочисленными экспериментами. 
</blockquote>

{{VideoSection}}
{{vimeoembed|378879956240322408|800|450}}
{{youtubelink|}}|HYVnL8jMKac}}
{{letscomment}}

{{SlidesSection}}
[[File:Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf|left|page=-|300px]]

{{----}}
[[File:{{#setmainimage:Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019)!.jpg}}|center|640px]]
{{LinksSection}}
* https://www.ispras.ru/proceedings/isp_31_2019_5/isp_31_2019_5_79/
<!-- * [ Talks page on site] -->
<!-- <blockquote>[©]</blockquote> -->

{{fblink|2484091281843878}}                                          
{{vklink|1627}}                                          
<references/>


<!-- topub -->



{{stats|disqus_comments=10|refresh_time=2020-01-28T13:30:2021-08-31T16:24:16.480545.593993|vimeo_plays=215|youtube_comments=0|youtube_plays=048}}

[[Категория:ISPRASOPEN-2019]]
[[Категория:Fuzzing]]

Текущая версия на 12:19, 4 сентября 2021

Speaker
Оганес Мовсисян.jpg
Оганес Мовсисян

English translation of http://0x1.tv/20191206AF

This talk presents a novel approach of generation effective inputs for fuzz testing. Most applications check input format before performing basic calculations. That kind of applications usually parse service information of input file to decide whether input is supported or not. Input formats which are not supported are discarded and the application finishes its execution immediately. For example, the service information of ELF (Extensible Linking Format) file should start with following data "0x7f 'E' 'L' 'F'". If a file does not contain this information in header then it will not be considered as ELF. Effective fuzzing of an application which has input validation stage is a relevant and important problem. Random changes of input files usually malform service data and the target application finishes its work without main code execution. This makes fuzzing process inefficient.

To solve this problem, we have designed and implemented two special plugins for ISP-Fuzzer. The first plugin connects fragments of input data and corresponding executed basic blocks of the target program. Based on that information we can determine potential fragments (critical fragments) of input data which should not be mutated for new test case generation. The second plugin is designed for interval mutations. It mutates input file escaping critical fragments detected by the first plugin. Experimental results prove the effectiveness of proposed method.

Video

on youtube

Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.

Slides

Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019).pdf
Повышение производительности фаззинга за счет применения интервальных мутаций (Оганес Мовсисян, ISPRASOPEN-2019)!.jpg

Links


Plays:53   Comments:0