Процессы и архитектура AppSec
На senior-уровне безопасность — это не список атак, а процесс и архитектура: как встроить контроли в жизненный цикл разработки, как заранее найти угрозы проектированием, как оценить и приоритизировать найденное и как спроектировать систему устойчивой к компрометации отдельных её частей. Здесь мыслят не «уязвимостями», а этапами, импактом и границами доверия.
Ловушки этого уровня — про подмену процесса точечной мерой: «безопасность — это один пентест перед релизом», «любая SQLi критична вне контекста», «TLS закрывает всё», «шифрование в СУБД защитит данные от админов». Каждая из них проваливает системный вопрос. Разбор — по слоям: от безопасного SDLC до защиты данных при разделении обязанностей.
Карта темы
- Безопасный SDLC — сдвиг влево и какой контроль (
SAST,SCA,DAST, фаззинг, пентест) на каком этапе. - Моделирование угроз — систематический перебор векторов и сопоставление каждому серверного контроля.
- Безопасная загрузка файлов — ранжирование векторов по импакту и защита потока загрузки.
- Триаж уязвимостей — оценка критичности по реальному импакту, а не по классу уязвимости.
- Вопросы интейка в прод — что выяснить у команды перед выводом системы в продакшн.
- Разделение обязанностей — защита данных от самих DB-админов на уровне приложения.
Частые ошибки и ловушки
| Ошибка | Последствие |
|---|---|
| Сводить безопасность к одному пентесту перед релизом | Дефекты доходят до прода, ранние дешёвые проверки пропущены |
Путать этапы SAST (код) и DAST (запущенное приложение) | Контроль ставят не туда, где он что-то видит |
| Ранжировать векторы по простоте попытки, а не по импакту | Мелочь в топе, RCE через загрузку — «потом» |
| Ставить критичность по классу уязвимости вне контекста | Каждая SQLi «критична», severity оторван от реального импакта |
| Полагаться на шифрование в СУБД против DB-админов | Движок расшифровывает при чтении — админ видит данные |
| Считать факт логина достаточной авторизацией на объект | IDOR — доступ к чужому счёту при валидной сессии |
Значение для собеседований
Это высокоприоритетная тема для senior-ролей: проверяют системное мышление, а не знание отдельных атак. Кандидат, который сопоставляет контроль этапу, оценивает баг по импакту и проектирует защиту от привилегированного инсайдера, выглядит как инженер, которому можно доверить архитектуру.
Что обычно проверяют:
- Где в
SDLCприменяютсяSAST,SCA,DAST, фаззинг и пентест и почему именно там. - Как систематически перебрать векторы (моделирование угроз) и сопоставить каждому серверный контроль.
- Как оценить критичность находки по импакту с учётом наименьших привилегий.
- Что спросить перед выводом системы в прод и как защитить данные от DB-админов.
Типичный неверный ответ: «навесим WAF и TLS, а перед релизом закажем пентест — этого хватит». На деле безопасность встраивается на каждом этапе, критичность задаёт импакт, а периметровые меры не заменяют серверную авторизацию, разделение обязанностей и раннюю проверку кода.