Зацепила тема по уязвимостям — кто как сейчас с ними борется? Лично я заметил, что старые методы типа быстрых сканов и обновлений уже не спасают так, как раньше. Сейчас главное — не только проверять на известные дырки, но и смотреть цепочку логики в веб-приложении, где может попасть что-то непредсказуемое.
Например, если просто закрыть классические XSS и SQL-инъекции, это уже базовый минимум. Но дальше начинают всплывать более сложные баги — привязки сессий, неправильная обработка input’ов в нестандартных сценариях, да и еще куча мелких косяков, которые автоматикой не пробьёшь. Поэтому грамотный аудит с ручной проверкой — чуть ли не обязательный этап.
Проверять я обычно начинаю с базового — сканером, потом ручной анализ кода (если есть доступ), плюс внимание к библиотекам и внешним сервисам, которые тянут за собой разные уязвимости. Варианты решения — это всегда патчи, улучшение валидации, настройка политик безопасности (CSP, CORS и прочее) и логирование подозрительных действий.
Кто-то считает, что сейчас важно переключаться с поиска дыр на построение нормальной архитектуры безопасности, где даже если что-то и попадёт, то не взорвётся в полный доступ. И да, автоматизация в этом плане помогает, но исключительно как инструмент, а не волшебная палочка.
В общем, кто что думает — стоит ли сейчас больше времени вкладывать в сложный аудит и ремаркетинг архитектуры или стандартных мер сгодится для большинства случаев?