Уязвимости в процессе десериализации недоверенных данных известны более 10 лет, включены в OWASP Top 10 и за последние несколько лет наделали много шума в индустрии. Начнем с обзора исследований этого типа атак, посмотрим, где мы находимся сейчас и насколько хорошо проработана эта тема, в чем сложность поиска такого рода уязвимостей и какие новые подходы нам ждать в ближайшем будущем.
Разберем, какие .NET-сериализаторы (и в каких конфигурациях) уязвимы, какие инструменты мы можем использовать на практике для поиска уязвимостей, какие payload’ы известны для .NET-приложений. В том числе посмотрим на созданные Михаилом инструменты статического анализа для поиска потенциальных недостатков в коде приложений. Использование инструментов будет проиллюстрировано на примерах уязвимостей, найденных Михаилом в продуктах Microsoft за время его участия в bug bounty.
Разберем best practices в разработке для избежания ошибок использования сериализаторов и подходы снижения рисков эксплуатации таких уязвимостей.