Фаззинг-тестирование с учетом структуры данных, библиотека libblobstamper Cookbook - готовые рецепты

Доклад принят в программу конференции
Николай Шаплов
Postgres Professional

Эксперт в области фаззинг-тестировния

e-mail: dhyan@nataraj.su
matrix: @dhyan:nataraj.su
Тезисы

Фаззинг исследование предполагает тестирование программы случайными набором данных. Однако в случае многоуровневой системы, прямой фаззинг входных данных приводит по сути к тестированию лишь верхнего уровня системы, например синтаксического анализатора, с минимальной возможностью прохода на нижележащие уровни.

Для преодоления этого препятствия предполагается использовать фаззинг-тестирование с учетом структуры данных (Structure Aware Fuzzing). При SAF тестировании генерируются формально валидные (синтаксически верные или структурно корректные), но фактически случайные данные, что позволяет подвергнуть тестированию уровни системы лежащие за синтаксическим анализатором.

Библиотека LibBlobStamper, созданная в недрах компании Posrgres Professional, позволяет решать задачи построения SAF-тестов как для случая строковых (синтаксических) так и для бинарных (структурных) входных данных.

В данном докладе рассказывается о проблематике Structure Aware Fuzzing'а, приводится краткий обзор имеющихся инструментов и проводится наглядная демонстрация того как задачи SAF-фаззинга могут быть решены с использованием библитеки LibBolbStamper.

Другие доклады секции Cookbook - готовые рецепты