Спасибо за плюс и за содержательный комментарий! Полностью согласна, классический пример с переполнением буфера в духе «переписать return address» без защиты стека сегодня скорее учебный, чем боевой.
Задача была показать на простых и понятных примерах, как привычные C‑шные паттерны и сокеты всё ещё открывают базовые векторы атак в реальных C++‑проектах, и как их можно закрывать средствами самого C++. Простые примеры всегда облегчают понимание темы, а сложных кейзов в работе всегда предостаточно.
Спасибо за уточнение! В C++17 действительно уточнили последовательность операций для ++i + 1 — теперь это не UB, а строго определённое поведение (i увеличивается один раз, затем прибавляется 1.
Раньше, до C++17, такой пример мог подпасть под неопределённое поведение. Cогласна — неудачный выбор примера. Лучше будет что-то вроде i++ + ++i. Буду аккуратнее с примерами в следующих материалах! 😊
Отличная статья, которую легко читать. По сути все почти многие принципы из книги, я неосознанно применяла раньше. Понравилась идея развернутого анализа таких книг. Я бы с удовольствием прочитала подобный обзор по книгам Даниэль Канеман. Думай медленно… решай быстро, Нассим Талеб. Черный лебедь: Под знаком непредсказуемости, Игорь Рызов. Переговоры с монстрами
Это же просто Prometheus для баз данных! Здорово! Если БД находится в загруженном состоянии ~ 1000сессий например, с постоянной высокой нагрузкой, насколько сильно такой мониторинг будет влиять на саму БД?
Хорошая статья с хорошо подобранными аналогиями. Так лучше всего укладывается функциональность запчастей непроcтоq k8s в голову. Будут ли примеры развертки?
Честно говоря, GCC 15 в работе пока не использую, поэтому актуальным примером под него не поделюсь.
Все санитайзеры грешат false positive — это их плата за чувствительность
Спасибо за плюс и за содержательный комментарий!
Полностью согласна, классический пример с переполнением буфера в духе «переписать return address» без защиты стека сегодня скорее учебный, чем боевой.
Задача была показать на простых и понятных примерах, как привычные C‑шные паттерны и сокеты всё ещё открывают базовые векторы атак в реальных C++‑проектах, и как их можно закрывать средствами самого C++.
Простые примеры всегда облегчают понимание темы, а сложных кейзов в работе всегда предостаточно.
Спасибо за тёплые слова и ценный фидбек! Рад, что статья оказалась полезной!
Да,
/fsanitize=addressдействительно появилась в VS 2019/2022 — отличная новость для Windows-разработки. Приятно узнать об этом от вас, спасибо! 😊Крутой ресурс! В закладки однозначно!
Спасибо за уточнение! В C++17 действительно уточнили последовательность операций для ++i + 1 — теперь это не UB, а строго определённое поведение (i увеличивается один раз, затем прибавляется 1.
Раньше, до C++17, такой пример мог подпасть под неопределённое поведение. Cогласна — неудачный выбор примера. Лучше будет что-то вроде i++ + ++i. Буду аккуратнее с примерами в следующих материалах! 😊
Отличная статья, которую легко читать. По сути все почти многие принципы из книги, я неосознанно применяла раньше.
Понравилась идея развернутого анализа таких книг. Я бы с удовольствием прочитала подобный обзор по книгам Даниэль Канеман. Думай медленно… решай быстро, Нассим Талеб. Черный лебедь: Под знаком непредсказуемости, Игорь Рызов. Переговоры с монстрами
Сколько человек загуглили слово багбаунти?)
Это же просто Prometheus для баз данных! Здорово!
Если БД находится в загруженном состоянии ~ 1000сессий например, с постоянной высокой нагрузкой, насколько сильно такой мониторинг будет влиять на саму БД?
Хорошая статья с хорошо подобранными аналогиями. Так лучше всего укладывается функциональность запчастей непроcтоq k8s в голову. Будут ли примеры развертки?