title

text

Николай Шаплов
Николай Шаплов Postgres Professional Fuzzing Engeener
16:40 26 сентября
45 мин

Fuzzing-исследование PostgreSQL. Как мы искали и что мы нашли

Фаззинг-исследование, это когда мы подаем в программу (или ее часть) случайные входные данные (на самом деле случайность весьма условна) и смотрим что из этого получится. И так много раз на многих процессорах.

Фаззинг исследование большого монолитного программного комплекса всегда не простая задача требующая неординарных решений. В этом докладе я расскажу что и как мы искали при помощи фаззинга и к каким результатам оно привело.

  • Исследование функций парсинга типов данных (input-функции): для разогрева;
  • Исследование функций реализующих операции между типами (op-функции): тут лучше учитывать структуру;
  • Фаззинг сетевой подсистемы: давайте притворимся, что мы POSIX-вызовы, так дешевле;
  • Восстановление дискового контекста: нужен день сурка.

Рассказ о смешных багах и нелепые жесты руками входят в комплект поставки.

Видео

Видео доступно участникам мероприятия, выполнившим вход в личный кабинет

Другие доклады

  • А
    Алена Рыбакина Postgres Professional Младший разработчик
    А
    Андрей Лепихов Postgres Professional Программист
    45 мин

    Перепланирование безнадежных запросов в реальном времени

    За время своего существования, PostgresPro накопил пул проблемных кейсов, когда запрос выполнялся неадекватно долго или, требуя чрезмерно больших ресурсов, не выполнялся вообще. Почти всегда в нашей практике это связано с выбором неоптимального плана запроса. В нашем повествовании мы расскажем о весьма нетрадиционной попытке решения этой проблемы методом перепланирования запросов. Расскажем что это, как это работает, кому может помочь и перспективах применения данной фичи.

  • В
    Владимир Ситников PostgreSQL JDBC maintainer Performance Engineer
    45 мин

    Прагматичный рассказ про b-tree индексы для разработчиков приложений

    • Доклад о том, как в PostgreSQL работают "обычные индексы". Доклад будет крайне полезен как тем, кто начинает работать с базами данных, так и тем, кто работал, но подзабыл. Если доклад попадёт в золотые подборки "обязательно посмотреть на on-boarding'е разработчика", то цель достигнута.
      В докладе рассмотрим:
      • Как индекс ускоряет поиск
      • Нужно ли индексировать условия where
      • Нужно ли индексировать условия в order by
      • Нужно ли индексировать внешние ключи (foreign keys)
      • Что делать, если критериев поиска несколько
      • В каком порядке указывать колонки в индексе
      • Случаи, когда индекс замедляет работу, и как снизить влияние индекса на приложение

  • Артем Сергиенко
    Артем Сергиенко Postgres Professional Инженер
    22 мин

    Харденинг кластерного ПО

    Hardening — процесс усиления защищенности системы с целью снижения рисков от возможных угроз. В своем докладе, я расскажу как защитить служебные кластерные коммуникации с помощью TLS соединений, во избежание случайного или несанкционированного доступа к хранилищам ETCD и REST API Patroni.

  • Борис Пищик
    Борис Пищик Postgres Professional Технический консультант
    Александр Котин
    Александр Котин Postgres Professional Старший технический менеджер продукта
    45 мин

    Новый адаптивный оптимизатор запросов - AQO 2.0

    Расскажем про технику адаптивной оптимизации запросов, ключевые возможности новой версии расширения AQO и стабилизацию планов при помощи SR_PLAN. + Краткое (10 мин.) демо от Александра Котина