
Fuzzing-исследование PostgreSQL. Как мы искали и что мы нашли
Фаззинг-исследование, это когда мы подаем в программу (или ее часть) случайные входные данные (на самом деле случайность весьма условна) и смотрим что из этого получится. И так много раз на многих процессорах.
Фаззинг исследование большого монолитного программного комплекса всегда не простая задача требующая неординарных решений. В этом докладе я расскажу что и как мы искали при помощи фаззинга и к каким результатам оно привело.
- Исследование функций парсинга типов данных (input-функции): для разогрева;
- Исследование функций реализующих операции между типами (op-функции): тут лучше учитывать структуру;
- Фаззинг сетевой подсистемы: давайте притворимся, что мы POSIX-вызовы, так дешевле;
- Восстановление дискового контекста: нужен день сурка.
Рассказ о смешных багах и нелепые жесты руками входят в комплект поставки.
Видео
Видео доступно участникам мероприятия, выполнившим вход в личный кабинет