View in Telegram
Любопытный доклад вышел в видео-подкасте OffByOne Security в прошлую субботу, 14 сентября 2024 г. - "Fuzzing from First Principles" (cлайды, видео, конспект дискуссии) за авторством Алисы Esage Шевченко. Затравка у доклада следующая: Гугл со своими фаззинг-движками, обертками для большого количества опенсорс проектов и десятками тысяч машин постоянно фаззит эти проекты и тем не менее в них находят уязвимости (как примеры проектов: 0-day в v8 и Chrome), которые находят тоже с помощью фаззинга. Как так? "Ex. You spent three months writing a custom coverage-guided fuzzer and it didn’t find any bugs in time budget. Meanwhile, your friend wrote a “dumb” specialized fuzzer in a day and found a bug to win the contest in an hour. Who fuzzed smarter?" Далее короткий конспект доклада от Алисы: "В своей модели я рассматриваю два экстремальных уровня приложения теорвера к фаззингу. На низком уровне - это оценка вероятностей прохождения фаззером конкретных условных развилок в коде программы. На высоком уровне - интерпретация фаззера, программы, и ее уязвимостей как распределения вероятностей входных данных, которые они генерируют/принимают. Основное предназначение модели - направлять исследовния в области практических улучшений фаззинга. Привожу простые и наглядные примеры того, как это работает, из своих исследовательских проектов за последние 10 лет. Модель также применима к аналитическим задачам. Анализ прикладных техник фаззинга через перспективу данной теоретической модели позволяет вскрыть неудобную правду, которую фаззинг комьюнити "заметает под ковер": чистая эффективность фаззинга составляет не более 1%, этот показатель падает в глубину программы, разработчики ЭТО масштабируют на вычислительные облака и называют "умным фаззингом". Я считаю, что масштабирование разумно, когда оно приумножает эффективный и продуктивный процесс - но масштабирование прогрессивно убыточного процесса?! Бесспорно, данный подход позволяет найти больше уязвмостей за единицу времени, при этом по сути он умножает непродуктивность. Фаззинг, который преимущественно жжет электричество и портит климат - это не умный фаззинг, это сумасшествие в погоне за выгодой. Мы можем лучше, да? Другой пример: модель позволяет формализовать, и свести к конкретным цифровым показателям, как именно фаззинг с обратной связью от покрытия кода контролирует экспоненциальный рост сложности анализа в глубину программы. В свою очередь, количественная оценка прикладного процесса открывает возможности для автоматизированной оптимизации алгоритмов фаззинга - то, что сейчас разработчики и исследователи делают "наощупь" эмпирическим путем. Это новая теоретическая модель фаззинга, аналоги которой мне не встречались. Есть буквально несколько штук академических публикаций, которые используют тот же самый математический инструмент для узкоспециализированного анализа эмпирических показателей, полученных в процессе фаззинга. Однако, никто никогда не пытался вывести универсальную формулировку модели, нацеленную на оптимизацию алгоритмов и кода фаззинга. В этой презентации моя задача была простыми словами передать суть модели, не слишком углубляясь в математику и формальные доказательства."
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Find friends or serious relationships easily