Fuzzing Notes ~FuzzingNotes
There's one author on this blog: Nataraj (Nikolay Shaplov)
В данный момент я работаю fuzzing-инженером в комании Postgres Professional.
В современной индустрии, как в мировой так и тем более в отечественной, фаззинг-исследования достаточно новая тема. Многие вещи приходится делать “впервые и вновь”, причем иногда не только в личном масштабе.
В этом блоге я буду делиться с коллегами заметками о своих текущих fuzzing-изысканиях. Тут могут оказаться как и полезные инструкции, так и заметки в стиле “Я видил Мидведя”.
Latest articles
Подготовка окружения для исследуемого процесса с испольнованием btrfs
Часто при фаззинге сложных проектов может оказаться, что для нормальной работы каждому экземпляру исследуемой программы нужна собственная директория с данными, которую не плохо бы перед каждым новым прогоном исследуемой программы возвращать в исходное состояние. В данном посте в формате "заметок" я расскажу как мне удалось сделать восстановление окружения при фаззинге postgres'а, используя btrfs под фаззером Crusher.
Подмена сетевых вызовов в большом проекте на примере postgres
Тема фаззинга сетевой подсистемы, по крайней мере в рамках опенсорсного сообщетсва, крайне мало разработана. Существует инструмент afl-net, который работает для относительно не сложных случаев, с потенциально не очень большим количеством внутренних состояний системы. При этом у него есть ряд своих ограничений, там никак не рассматривается возможность дозированного поступления данных или внезапного разрыва соединения, и т.п. Для случая нашей системы т.е. postgres, я решили попробовать опереться на собственные силы: подменить сетевые системные вызовы на свои собственные и передавать данные пришедшие из фаззера так как мне будет нужно.