Pull to refresh

Comments 7

Отличный материал, спасибо за подборку и анализ! В этом году ещё ждем релиза AFLSmart.

d1g1 спасибо за подборку! А вы у себя пробовали использовать какую — нибудь версию из dyninst на проектах? На тестах он работает ок, но как только дело доходит до реального использования, сразу начинает падать/ломаться/сливаться.

Не за что) dyninst версия, наверное, одна из немногих, с которой не пришлось пока поработать.
Спасибо за статью!
AFL и libFuzzer имеют один и тот же принцип, но компилируются разными компиляторами. Существуют-ли кейсы когда лучше использовать один вместо другого?

Когда я фаззил кодеки, AFL быстрее находил баги (видимо более рандомно распределяет комбинации инпута), а libFuzzer как будто работает дольше (видимо больше комбинаций проверяет). Может это потому, что AFL смотрит что внутри экзешника что-то стриггерилось (у него там мапа специальная есть) и начинает эти места лучше проверять, делает ли так-же libFuzzer я не вкурсе.

Может это потому, что AFL смотрит что внутри экзешника что-то стриггерилось (у него там мапа специальная есть) и начинает эти места лучше проверять, делает ли так-же libFuzzer я не вкурсе.

Насколько я понимаю, там ещё отдельное искусство выбора того, какие мутации более перспективные — см., например, afl-rb и сравнение с другими подходами. Также можно посмотреть в документации на тему используемого в AFL подхода и мотивации выбрать именно такой.

Sign up to leave a comment.