КЛИЕНТ
ПАО «Банк «Санкт-Петербург» — один из крупнейших российских частных банков. Банк предоставляет полный спектр банковских услуг физическим и юридическим лицам, работает с критически чувствительной информацией: данными клиентов, финансовыми транзакциями, платёжными инструментами. Банк находится под пристальным надзором Банка России и обязан соблюдать жёсткие требования регулятора в области информационной безопасности.
ОТРАСЛЬ
Банковский сектор и финансовые услуги. Требования Банка России обязывают финансовые организации тщательно анализировать защищённость исходного кода всех приложений. Предоставление детального отчёта с классификацией уязвимостей и наглядным отображением векторов атак является ключевым доказательством соблюдения этих требований.
ЗАДАЧА
Заказчик обратился с запросом на проведение анализа исходного кода критичных банковских приложений. Для выполнения проекта необходимо было решить ряд задач: обеспечить легальный доступ к коду и тестовому контуру в условиях строгого режима ИБ банка; воспроизвести сборку банковского ПО; задействовать инженеров, понимающих финансовую бизнес-логику, чтобы выявлять критичные уязвимости информационной безопасности, а не просто формальные нарушения coding standards; а также подготовить работающие proof-of-concept.
Ключевой вопрос, которым задаётся любой банк: что такое уязвимость в информационной безопасности применительно к банковским приложениям — это не только техническая ошибка в коде, но и ошибка бизнес-логики, способная нанести прямой финансовый ущерб.
ПРОБЛЕМАТИКА
- Ключевая проблематика связана с особой критичностью банковских приложений.
- Стандартные инструменты статического анализа способны выявить значительную часть технических уязвимостей, но они часто бессильны против ошибок бизнес- логики, которые в банковском ПО как раз являются наиболее опасными.
- Дополнительная сложность — режим работы с банком: ограниченный и строго регламентированный доступ к коду, необходимость работать в защищённом контуре.
РЕШЕНИЕ
Для решения задачи была применена методология комплексного покрытия — связка SAST, ручного анализа и DAST. Статический анализ (SAST) закрывает проблематику поиска уязвимостей непосредственно в коде. Ручной анализ в паре с динамическим тестированием (DAST) позволяет выявить уязвимости бизнес-логики. Для каждой найденной уязвимости был подготовлен PoC. По итогам работ был подготовлен детальный отчёт с классификацией уязвимостей по уровням критичности, описанием векторов атак и набором рекомендаций.
По сути, такой подход реализует полноценный пентест банковских приложений, охватывая как внешние, так и внутренние векторы атак, включая логику работы с транзакциями и авторизацией.
РЕЗУЛЬТАТЫ
- Банк получил не только точечные исправления и патчи, но и комплексную стратегию усиления безопасности приложений.
- Со стороны комплаенса — получено документальное подтверждение того, что банк выполнил требования по анализу защищённости исходного кода.
- Со стороны риск-менеджмента — выявлены конкретные уязвимости с оценкой их потенциального влияния на бизнес.
В перспективе развития проекта — выполнение дополнительных мероприятий по информационной безопасности в рамках требований Банка России (Положение 683-П, 716-П), что позволит банку поддерживать высокий уровень мониторинга и аудита информационной безопасности и оставаться в числе наиболее зрелых с точки зрения ИБ финансовых организаций.