|
Эта публикация цитируется в 5 научных статьях (всего в 5 статьях)
Combining dynamic symbolic execution, code static analysis and fuzzing
[Комбинирование динамического символьного исполнения, статического анализа кода и фаззинга]
A. Yu. Gerasimova, S. S. Sargsyanb, S. F. Kurmangaleeva, J. A. Hakobyanb, S. A. Asryanb, M. K. Ermakova a Ivannikov Institute for System Programming
b Yerevan State University, System Programming Laboratory
Аннотация:
В этой статье описывается новый подход для динамического анализа программ. Он совмещает динамическое символьное исполнение программ и статический анализ кода программ с фаззингом для повышения эффективности каждого из методов. В процессе фаззинга восстанавливаются вызовы по вычисляемым адресам и расширенный граф вызовов передается модулю статического анализа. Это позволяет улучшить вычисление путей исполнения программы в процессе статического анализа. Открытые новые пути исполнения в программе передаются модулю динамического символьного исполнения для генерации новых наборов внешних данных программы с целью исполнения и анализа программы по открытым путям исполнения. Новые наборы входных данных передаются модулю фаззинга для увеличения покрытия программы с их использованием в качестве затравки. Предложенный подход может быть использован в рамках классического алгоритма работы фаззинга с целью достижения высокого покрытия кода программы тестовыми наборами. Также предложенный метод может использоваться для направленного анализа путей и фрагментов кода программы. В этом случает фаззер формирует набор адресов и передает их модулю статического анализа. Статический анализ формирует набор путей, которые приводят к исполнению инструкций по этим адресам от точки входа в программу. Далее модуль динамического символьного исполнения используется для построения наборов входных данных для прохождения по этим путям. Результаты экспериментов показывают высокую эффективность обнаружения программных ошибок при применении предложенного метода.
Ключевые слова:
фаззинг, направленный фаззинг, статический анализ, обнаружение путей исполнения, динамическое символьное исполнение.
Образец цитирования:
A. Yu. Gerasimov, S. S. Sargsyan, S. F. Kurmangaleev, J. A. Hakobyan, S. A. Asryan, M. K. Ermakov, “Combining dynamic symbolic execution, code static analysis and fuzzing”, Труды ИСП РАН, 30:6 (2018), 25–38
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp375 https://www.mathnet.ru/rus/tisp/v30/i6/p25
|
Статистика просмотров: |
Страница аннотации: | 232 | PDF полного текста: | 151 | Список литературы: | 28 |
|