Дмитрий Мельник - Безопасный компилятор: надежная оптимизация и улучшение защищенности кода

Поділитися
Вставка
  • Опубліковано 15 тра 2024
  • Ближайшая конференция: С++ Russia 2024, 24 мая (online), 2-3 июня (offline, Москва)
    Подробности и билеты: jrg.su/W8skjE
    - -
    К появлению уязвимостей в программах могут приводить не только ошибки, допущенные программистом, или злой умысел, но и агрессивные оптимизации, применяемые компилятором. Такая опасность возникает прежде всего для кода, содержащего конструкции с неопределенным поведением (undefined behavior), появление которых в программе может быть связано как с недостаточным знанием стандарта языка C, так и с попытками «эффективно» реализовать некоторую семантику (что иногда даже «срабатывает» для конкретной версии компилятора для заданной архитектуры). Тем не менее компилятор вправе выполнять оптимизации исходя из того, что исходный код написан в строгом соответствии со стандартом, и что в нем отсутствует неопределенное поведение.
    Дмитрий рассмотрел примеры кода с различными видами неопределенного поведения, а также неочевидные эффекты от его оптимизации современными версиями GCC и Clang. Он также показал разработанный ими безопасный компилятор на основе GCC, цель которого - предотвращать некорректные оптимизации кода, содержащего неопределенное поведение. Кроме того, спикер рассказал и про другие методы улучшения безопасности кода, применяемые как в безопасном компиляторе, так и в стандартном GCC, а также их влияние на производительность.
    Скачать презентацию с сайта С++ Russia - jrg.su/ATjyXh
  • Наука та технологія

КОМЕНТАРІ • 1

  • @lenin1st
    @lenin1st День тому

    7:28 что такое "сторы в память" и почему они "должны быть мёртвыми"?