У нас вы можете посмотреть бесплатно Фаззинг на полной скорости: снижение накладных расходов на фаззинг за счет трассировки с учетом п... или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
Фаззинг на полной скорости: снижение накладных расходов на фаззинг за счет трассировки, управляемой покрытием кода — Стефан Надь Доклад на Симпозиуме IEEE по безопасности и конфиденциальности 2019 года 20–22 мая 2019 г. Сан-Франциско, Калифорния http://www.ieee-security.org/TC/SP2019/ Фаззинг, управляемый покрытием кода, является одним из наиболее успешных подходов к обнаружению программных ошибок и уязвимостей безопасности. Из трех его основных компонентов: (1) генерация тестовых случаев, (2) трассировка покрытия кода и (3) анализ сбоев, трассировка покрытия кода является доминирующим источником накладных расходов. Фаззеры, управляемые покрытием кода, отслеживают покрытие кода каждого тестового случая с помощью статической или динамической бинарной инструментации, или, в последнее время, с использованием аппаратной поддержки. К сожалению, трассировка всех тестовых случаев влечет за собой значительные потери производительности — даже когда подавляющее большинство тестовых случаев и информация об их покрытии отбрасываются, поскольку они не увеличивают покрытие кода. Чтобы исключить ненужную трассировку с помощью фаззеров, управляемых покрытием, мы вводим понятие трассировки, управляемой покрытием. Трассировка, управляемая покрытием, основана на двух наблюдениях: (1) только часть сгенерированных тестовых случаев увеличивает покрытие и, следовательно, требует трассировки; и (2) тестовые случаи, увеличивающие покрытие, со временем встречаются реже. Трассировка, управляемая покрытием, кодирует текущую границу покрытия в целевом бинарном файле таким образом, что он сам сообщает, когда тестовый случай создает новое покрытие — без трассировки. Это действует как фильтр для трассировки, ограничивая затраты на трассировку только тестовыми случаями, увеличивающими покрытие. Таким образом, трассировка, управляемая покрытием, жертвует увеличением времени обработки тестовых случаев, увеличивающих покрытие, ради уменьшения времени обработки тестовых случаев, не увеличивающих покрытие. Чтобы показать потенциал трассировки, управляемой покрытием, мы создаем реализацию на основе статического инструментария бинарных файлов Dyninst под названием UnTracer. Мы оцениваем UnTracer, используя восемь реальных бинарных файлов, широко используемых в сообществе фаззинга. Эксперименты показывают, что всего через час фаззинга средние накладные расходы UnTracer составляют менее 1%, а после 24 часов фаззинга UnTracer приближается к 0% накладных расходов, в то время как трассировка каждого тестового случая с помощью популярных трассировщиков бинарных файлов типа «белый ящик» AFL-Clang, AFL-QEMU и AFL-Dyninst приводит к накладным расходам в 36%, 612% и 518% соответственно. Мы также интегрируем UnTracer с современным гибридным фаззером QSYM и показываем, что за 24 часа фаззинга QSYM-UnTracer выполняет на 79% и 616% больше тестовых случаев, чем QSYM-Clang и QSYM-QEMU соответственно.