Банковское обозрение

Финансовая сфера

  • Безопасная разработка банковских приложений
11.04.2019 Best-practice
Безопасная разработка банковских приложений

Как внедрение анализатора уязвимости приложений помогло лаборатории Ак Барс Цифровые Технологии наладить выпуск безопасных приложений для нужд Ак Барс Банка



Инновационная лаборатория «Ак Барс Цифровые Технологии», являющаяся структурным подразделением Ак Барс Банка, занимается развитием цифровой экосистемы Банка — всего спектра внутреннего программного обеспечения — для осуществления его операционной деятельности. Кроме того, Лаборатория совершенствует каналы дистанционного банковского обслуживания корпоративных и розничных клиентов Банка — это веб, мобильные приложения и др.

Таким образом, в стенах Лаборатории «Ак Барс Цифровые Технологии» рождается большое количество цифровых продуктов, над повышением качества которых мы неустанно работаем.

Как пришли к решению использовать статический анализ

О необходимости использования систем статического анализа безопасности кода в команде Лаборатории «Ак Барс Цифровые Технологии» задумались в 2017 году — в тот момент, когда собственных приложений у Лаборатории стало больше одного и количество создаваемого разработчиками кода начало интенсивно расти. В этот момент команде безопасности просто-напросто перестало хватать глаз и рук для ручного анализа кода. К тому же Лаборатория начала внедрять в производственный процесс концепцию непрерывной интеграции и доставки (CI/CD) для сокращения времени разработки и обновления своих продуктов. В итоге стало понятно, что без автоматизированной системы анализа кода есть вероятность упустить довольно серьезные уязвимости и ошибки в коде. Так компания пришла к необходимости выбора подходящего анализатора.

В процессе выбора в компании рассматривали как отечественные, так и зарубежные решения данного класса. Был сформулирован ряд собственных критериев оценки и пожеланий к системе. В первую очередь это возможность встраивания в SDLC (жизненный цикл разработки ПО), возможность интеграции с трекерами задач, с системой управления репозиториями кода, наличие API для интеграции с системами управления уязвимостями (метриками). Также компанию интересовала поддержка Swift и Objective-C — языков разработки мобильных приложений для iOS.

Свою роль в выборе решения, конечно, сыграла дружественная лицензионная и ценовая политика разработчика выбранного анализатора Solar appScreener — компании Ростелеком-Solar. Отдельно следует отметить возможность проверки с помощью анализатора Solar appScreener обфусцированного (запутанного) кода.

Как работает выбранный анализатор кода

Solar appScreener состоит из двух основных частей: системы анализа, обрабатывающей исходный и бинарный коды, и системы отчетности, предоставляющей рекомендации по устранению обнаруженных уязвимостей и недекларированных возможностей, а также настройке WAF. Принцип работы решения прост: в интерфейс системы в раздел «Новый проект» необходимо загрузить либо ссылку на приложение из Google Play или App Store, либо файл приложения с локального компьютера, либо приложение из репозитория и запустить процесс сканирования.

После запуска система осуществляет процесс статического анализа приложения восемью различными методами, а также с помощью технологий анализа исполняемых файлов на основе деобфускации (распутывания) и декомпиляции (воссоздания исходного кода) и с применением собственной технологии Fuzzy Logic Engine для снижения числа ложных срабатываний (false positive) и пропуска уязвимостей (false negative).

После завершения анализа система выдает детальные рекомендации по устранению уязвимостей с описанием способов их эксплуатации, а также рекомендации по настройке защитных экранов уровня приложений (WAF).

 

 

Как проходило внедрение

Сначала Лаборатория «Ак Барс Цифровые Технологии» осуществила пилотное внедрение анализатора кода Solar appScreener. Для своих нужд компания предпочла использовать локальную версию решения. В рамках проекта перед исполнителями отдельно была поставлена задача развертывания модуля сканирования исходного кода iOS-приложений, написанного на языке Objective-C. Для этого требовалось осуществить настройку корректной работы анализатора со средой разработки Лаборатории под MacOS, что команда технических специалистов Solar appScreener оперативно реализовала, единожды выехав в офис заказчика.

Далее вся поддержка пилотного проекта велась удаленно, в специально созданном с этой целью чате для групповой работы. Фактически Лаборатория внедряла решение своими руками, встраивая автоматизированный процесс сканирования кода на уязвимости в свой жизненный цикл разработки и активно консультируясь по различным техническим вопросам с разработчиком решения. Пилотный проект длился полгода, после чего в Лаборатории приступили к коммерческому использованию продукта. Поставку решения осуществил провайдер IT-услуг компания ICL-КПО ВС.

КОММЕНТАРИЙ ЭКСПЕРТА

Даниил Чернов, руководитель направления Solar appScreener компании Ростелеком-Solar

В процессе реализации проекта внедрения от Лаборатории к нам поступала ценная обратная связь по повышению удобства использования продукта. Лаборатория «Ак Барс Цифровые Технологии» приняла активное участие в бета-тестировании нового интерфейса, реализованного в версии Solar appScreener 3.0. «Ак Барс Цифровые Технологии» — один из наиболее активных пользователей нашего анализатора, очень плотно работающий с продуктом. В целом, наши заказчики вносят весомый вклад в развитие решения Solar appScreener, по сути, являясь частью нашей команды тестирования.

Встраивание безопасности в цикл разработки

Этап первый, организационный. Согласовать все со всеми

При встраивании анализатора кода в жизненный цикл разработки необходимо учитывать, что этим действием вы создаете в цикле разработки дополнительный шаг, который вызывает некоторые задержки в выпуске сборок — задержки могут составлять от 10 минут до получаса. Соответственно этот шаг не всегда позитивно воспринимается разработчиками. Помимо них в процесс вовлечены инженеры, которые осуществляют непосредственное встраивание анализатора в систему CI. Кроме того, в схеме задействованы специалисты по информационной безопасности, работающие с результатами сканирования, менеджеры проектов, владельцы систем и т.д., и обычно у всех складывается свое мнение и свое видение того, как должен быть выстроен процесс.

В данном случае необходимо объяснить всем участникам, как оптимальная версия процесса будет помогать конкретным участникам и как не будет мешать остальным. Также необходимо иметь на руках заранее согласованный с вышестоящим руководством план принятия решений в случае, если не удалось договориться с кем-то из участников процесса.

Этап второй, технический. Интеграция с системой CI/CD

Интеграция Solar appScreener с CI/CD позволила Лаборатории «Ак Барс Цифровые Технологии» автоматизировать процесс поиска уязвимостей в исходном коде и информирования о них разработчиков / специалистов по информационной безопасности. До реализации такой интеграции сотрудникам приходилось проводить сканирование в ручном режиме. Как этот процесс теперь выглядит в компании? Разработчик пишет часть кода и размещает ее в репозитории. Система CI/CD, реагируя на полученный триггер, сама забирает код из репозитория и отправляет его на сканирование в анализатор. Solar appScreener сканирует код и возвращает результат в систему CI/CD или отправляет по e-mail специалисту по информационной безопасности. Таким образом, разработчики и ИБ-специалисты оперативно узнают о наличии уязвимостей в коде и могут инициировать меры по их устранению.

Что получили в результате внедрения

В результате реализованного проекта существенно ускорилось выявление ошибок и дефектов в разрабатываемом коде, неверных настроек. Процесс обнаружения уязвимостей стал намного более оперативным и эффективным: найденные дефекты подробно описываются системой, и это позволяет более качественно их отрабатывать.

С точки зрения влияния на бизнес-процессы «Ак Барс Цифровые Технологии» значительно ускорились в части выпуска новых версий программного обеспечения для нужд Ак Барс Банка. Благодаря полнофункциональному программному интерфейсу (API) системы Solar appScreener удалось без проблем встроить ее в процесс SDLC и максимально автоматизировать данный этап.

Следует отметить ориентированность команды разработчиков Solar appScreener на оперативное решение возникавших в процессе внедрения кейсов и минимизацию ложноположительных срабатываний системы — это существенно улучшает процесс ее использования.

Отчетность перед регуляторами

Банк как заказчик ПО обязан соблюдать Положение № 382-П Банка России «О требованиях к обеспечению защиты информации при осуществлении переводов денежных средств…» в части обеспечения безопасности кода используемых приложений. Соответственно Лаборатория как разработчик решений для Ак Барс Банка должна предоставлять Банку полный комплект отчетных документов и технических заключений, предписываемых регулятором в данной области. В частности, подтверждение того, что процедура обеспечения безопасности кода является неотъемлемой частью процесса разработки Лаборатории «Ак Барс Цифровые Технологии». С помощью отчетности, автоматически генерируемой анализатором Solar appScreener, Лаборатория дает Банку экспертное техническое заключение о безопасности кода разрабатываемых ею приложений.

Также флагманский продукт Банка — система ДБО для физических лиц — подпадает под требования международного стандарта PCI DSS. Соответственно подготовка части отчетно-технической документации для Банка в этой связи возложена на Лабораторию «Ак Барс Цифровые Технологии». С помощью автоматически генерируемой отчетности Solar appScreener Лаборатория теперь имеет возможность более оперативно предоставлять Банку необходимую документацию по соответствию разрабатываемого ею ПО требованиям PCI DSS для прохождения Банком ежегодной процедуры аудита.