Как писать безопасный код и отслеживать угрозы в реальном времени? Рассказала команда GMONIT

18 сентября мы провели технический вебинар «Когда разработчику нужно задуматься об ИБ? Observability безопасности», где обсудили, как создать надежное ПО и зачем применять инструменты мониторинга.
Тимлид команды разработки GMONIT Юрий Махоткин назвал основные причины возникновения уязвимостей. Он отметил, что многие ошибки появляются не из-за недостатка профессиональных навыков, а вследствие того, что вопросы безопасности отходят на второй план: например, хакеры воспринимаются как нечто далекое и абстрактное по сравнению с прикладными задачами.
Отдельное внимание уделил влиянию сложной бизнес-логики на качество кода. Участники узнали о конструкциях, которые часто становятся источником сбоев. Среди них:
- реализация ролевых моделей доступа;
- логика, зависящая от времени или меняющихся состояний;
- распределенная логика между UI, сервисами, командами, сторонними API;
- разные конфигурации на проде (он-прем, A/B-тесты и др.);
- неявные допущения и race conditions;
- строковый матчинг и регулярные выражения;
- избыточное количество условных операторов (if-ы).
Также спикер рассказал про 10 рэд флагов в процессе разработки — действиях ИТ-специалистов, которые приводят к узким местам в ПО. Юрий предложил использовать подход SRI (Security Risk Indicator) — индикатор уверенности в наличии рисков безопасности.
Зрители трансляции услышали, насколько важен постоянный мониторинг приложений для раннего выявления угроз. В качестве средств защиты привел:
- Observability платформу GMONIT, которая сокращает время и затраты на поиск технических сбоев за счет комплексного покрытия ИТ-систем и предиктивного анализа метрик.
- Service map, демонстрирующий активную эксплуатацию SSRF.
- Поиск уязвимостей в зависимостях.
- Анализ процессов на хостах для обнаружения подозрительной активности, например запуска новых процессов или нетипичного роста потребления ресурсов.
Кроме того, эксперт напомнил о необходимости учитывать модель STRIDE еще на этапе проектирования архитектуры, чтобы изначально минимизировать вероятность возникновение инцидентов.
В завершении онлайн-мероприятия предложил разработчикам настольную игру «Elevation of Privilege (EoP) Threat Modeling Card Game» от Microsoft, которая помогает в игровой форме отрабатывать навыки моделирования угроз.