Защищая С++

  • Поток 1
  • Очно
  • 15:00
  • RU

В статье
https://imgur.com/gallery/huZRM
автор размышляет на тему сравнения языков программирования с различными видами оружия. С++ предлагается сравнять с нунчаками: в умелых руках - это эффективный инструмент, а в руках новичка - опасность для собственного здоровья. Это сравнение очевидно навеяно мнением об С++ как небезопасном языке программирования. Некоторые новые языки даже используют это мнение для собственного продвижения.
Но какие конкретно опасности скрываются за термином «небезопасный»? Развёрнутый ответ очевидно поднимет несколько направлений, одним из которых будет кибербезопасность.
В докладе я хочу показать простые примеры эксплуатации уязвимостей C/C++ кода:
* выполнение shell-кода на стеке
* Возврат в libc
* Переписывание vptr
* Переполнение кучи
Но главный упор сделать на средства защиты от подобных атак:
* канарейка на стеке
* ASLR
* Неисполнимые области
* Тестирование и санитайзеры
* Fuzzing
* SDL процессы

Презентация

Павел Филонов

Research Development Team Lead, Kaspersky Lab, Москва, Россия

Участвовал в разработке систем Max Patrol SIEM в роли С++ разработчика и Kaspersky MLAD в роли Data Scientist'а. Член программного комитете конференции C++ Russia. Специализируется на темах CI/ML/performance.

Посмотрите видео доклада