фаззинг

  • ХабрахабрФото Что такое фаззинг и зачем он нужен?

    Что такое фаззинг и зачем он нужен?

    Всем привет! Меня зовут Кирилл, я старший разработчик в группе «Полигоны и ограничения доставки» в Ozon. Cегодня я расскажу про фаззинг, встроенный в Go: что это такое, зачем он нужен в разработке программного обеспечения и как с его помощью найти баг в дикой природе open-source-коде (рассмотрим на примере). Что такое фаззинг? Фаззинг — это техника тестирования программного обеспечения, часто автоматическая…

    Читать далее »
  • ХабрахабрФото От взлома Firefox до подготовки к Апокалипсису. Как польский хакер Михал Залевски попал в «Матрицу»

    От взлома Firefox до подготовки к Апокалипсису. Как польский хакер Михал Залевски попал в «Матрицу»

    Как говорят философы, лучший код — код, которого нет или который не нужно поддерживать. Эта мудрость объясняет, почему некоторые выдающиеся разработчики не пишут много нового кода, а наоборот — ставят целью поиск и удаление лишнего. К ним относится хакер-самоучка Михал Залевски (Michal Zalewski), который входит в список самых влиятельных представителей индустрии ИБ. Он построил успешную карьеру от технического специалиста польского интернет-провайдера до…

    Читать далее »
  • ХабрахабрФото Где искать баги фаззингом и откуда вообще появился этот метод

    Где искать баги фаззингом и откуда вообще появился этот метод

    Подход фаззинг-тестирования родился еще в 80-х годах прошлого века. В некоторых языках он используется давно и плодотворно — соответственно, уже успел занять свою нишу. Сторонние фаззеры для Go были доступны и ранее, но в Go 1.18 появился стандартный. Мы в «Лаборатории Касперского» уже успели его пощупать и тестируем с его помощью довольно большой самостоятельный сервис. Меня зовут Владимир Романько, я…

    Читать далее »
  • ХабрахабрФото Где искать баги фаззингом и откуда вообще появился этот метод

    Где искать баги фаззингом и откуда вообще появился этот метод

    Подход фаззинг-тестирования родился еще в 80-х годах прошлого века. В некоторых языках он используется давно и плодотворно — соответственно, уже успел занять свою нишу. Сторонние фаззеры для Go были доступны и ранее, но в Go 1.18 появился стандартный. Мы в «Лаборатории Касперского» уже успели его пощупать и тестируем с его помощью довольно большой самостоятельный сервис. Меня зовут Владимир Романько, я…

    Читать далее »
  • ХабрахабрФото Фаззинг JS-движков с помощью Fuzzilli

    Фаззинг JS-движков с помощью Fuzzilli

    fuzzilli – это фаззер для javascript-движков от команды googleprojectzero. Его отличительная черта – это FuzzIL, промежуточный язык, который можно мутировать и затем транслировать в js. Этот язык обеспечивает мутированному js семантическую валидность: даже после нескольких раундов изменений в коде остается логика, с которой движок будет работать. В этом списке V8, Spidermonkey, XS и duktape уже поддерживают работу с fuzzilli. А…

    Читать далее »
  • ХабрахабрФото [Перевод] Фаззинг сокетов: Apache HTTP Server. Часть 3: результаты

    [Перевод] Фаззинг сокетов: Apache HTTP Server. Часть 3: результаты

    Прим. Wunder Fund: наш СТО Эмиль по совместительству является известным white-hat хакером и специалистом по информационной безопасности, и эту статью он предложил как хорошее знакомство с фаззером afl и вообще с фаззингом как таковым. В первой части этой серии статей я рассказал о том, как организовать фаззинг Apache HTTP Server с привлечением кастомных мутаторов. Во втором материале я раскрыл вопрос создания перехватчиков ASAN, которые позволяют выявлять ошибки…

    Читать далее »
  • ХабрахабрФото [Из песочницы] Фаззинг тестирование веб-интерфейса. Расшифровка доклада

    [Из песочницы] Фаззинг тестирование веб-интерфейса. Расшифровка доклада

    В начале этого года Тензор проводил митап в городе Иваново, на котором я выступил с докладом про эксперименты с фаззинг-тестированием интерфейса. Тут расшифровка этого доклада. Когда обезьяны заменят всех QA? Можно ли отказаться от ручного тестирования и UI автотестов, заменив их фаззингом? Как будет выглядеть полная диаграмма состояний и переходов для простого TODO приложения? Пример реализации и о том, как…

    Читать далее »
  • ХабрахабрФото DevSecOps: организация фаззинга исходного кода

    DevSecOps: организация фаззинга исходного кода

    Узнав результаты голосования, проведённого в одной из наших прошлых статей, мы решили более подробно обсудить вопрос организации фаззинга. Кроме того, в рамках онлайн-встречи по информационной безопасности "Digital Security ON AIR" мы представили доклад, основанный на нашем опыте в DevSecOps, где также рассказали об этой интересной теме. Записи всех докладов можно посмотреть на нашем Youtube-канале. Если же вы предпочитаете текстовый формат,…

    Читать далее »
  • ХабрахабрФото Greybox Fuzzing на примере AFLSmart

    Greybox Fuzzing на примере AFLSmart

    Наверное, все слышали про крутой фаззер AFL. Многие используют его как основной фаззер для поиска уязвимостей и ошибок. Недавно появился форк AFL, AFLSmart, который имеет интересное развитие идеи. Если верить документации, он может мутировать данные по заранее подготовленной модели, в то время как AFL применяет рандомные низкоуровневые операции. Однако, есть несколько подводных камней. Рассказываем об AFLSmart и разбираемся, что у…

    Читать далее »
  • ХабрахабрФото [Перевод] Тот день, когда я полюбил фаззинг

    [Перевод] Тот день, когда я полюбил фаззинг

    В 2007 году я написал пару инструментов для моддинга космического симулятора Freelancer. Ресурсы игры хранятся в формате “binary INI” или “BINI”. Вероятно, бинарный формат выбрали ради производительности: такие файлы быстрее загружать и читать, чем произвольный текст в формате INI. Бинарные файлы трудно модифицировать напрямую, поэтому естественный подход — преобразовать их в текстовые INI, внести изменения в текстовом редакторе, затем преобразовать обратно…

    Читать далее »


Кнопка «Наверх»