← Вернуться

Импортозамещение здесь и сейчас

Подводные камни разработки корпоративных мобильных приложений

Генеральный директор

Александр Шибаев

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


Импортозамещение — не просто модное слово. Этот процесс предполагает большую работу по изменению архитектуры ИТ-ландшафта в любой компании. Что касается финансовой сферы, то сейчас в банках созданы специальные подразделения, занятые вопросами замещения иностранного ПО и оборудования. Они проделывают огромную работу, анализируют все возможные серые зоны, которые в первую очередь относятся к критической инфраструктуре.

Все наши уважаемые клиенты, а это в основном банки из топ-30, автоматически попадают под понятие критической инфраструктуры. Банки подчиняются действию Указа Президента «О мерах по обеспечению технологической независимости и безопасности критической информационной инфраструктуры РФ», который гласит, что до 2025 года объекты критической инфраструктуры должны быть полностью переведены на независимые технологические решения. Это программные решения с открытым кодом либо программные решения, разработанные российскими специалистами и включенные в реестр отечественного ПО.

Есть задача перехода на отечественные процессоры, на отечественные компьютеры, отечественное ПО. Решаются в первую очередь глобальные задачи, такие как срочная замена банковского процессинга, переход на банковские системы российской разработки. О задачах меньшего масштаба в большинстве случаев не задумываются. И очень зря. 


Скрытые риски иностранных решений

В поле деятельности IW GROUP входит разработка мобильных приложений для многомиллионного числа клиентов российских банков. Мы создали 27 мобильных приложений для массового и корпоративного применения.

На первый взгляд кажется, ну какая угроза может быть для корпоративных мобильных приложений (и не только), если они сделаны российскими компаниями или даже силами собственных разработчиков предприятия? Что в них можно импортозамещать? Мы решили озадачиться этим вопросом и выяснить, так ли всё безопасно, как кажется на первый взгляд.

Мы проанализировали шесть мобильных приложений с аудиторией пользователей более 1 млн человек у каждого и пришли к выводу: во всех крупных корпоративных решениях найдется от трех до шести библиотек, которые были разработаны американскими, украинскими компаниями или другими представителями недружественных стран. Некоторые библиотеки не имеют открытого кода, не имеют аналогов в РФ. И оказывается, что под капотом вроде как «российской разработки» находятся библиотеки готовых функций, которые необходимо заменить.

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

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

А представьте, что внутри функционала по сканированию номера банковской карты лежит иностранная библиотека. И в случае содержания в себе вредоносного кода может сливать данные банковских карт.

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

Любые решения с открытым кодом позволяют компаниям, работающим с ними, проводить проверку на безопасность.


Топ-20 популярных библиотек с риском для дальнейшего использования

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

Из самого актуального для многих компаний, в том числе банков, — возникают критические проблемы с нотификацией и доставкой push-уведомлений. Технологии, которые стоят на стороне Google, можно обойти и заменить, а вот с Apple есть серьезные проблемы. Но все мы видим тенденции по сворачиванию технологий Apple, поэтому здесь особых страхов нет.

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

Android

  • Cicerone. Библиотека для навигации
    Страна: Россия/Нидерланды
  • Firebase и HMS. Облачные сервисы: пуш-уведомления, метрика, крашлитика и др.
    Страна: США
  • PdfViewPager и AndroidPdfViewer. Виджет Android, который может отображать PDF-документы, хранящиеся на SD-карте, связанные как активы или загруженные с удаленного URL-адреса.
    Страна: Испания, Польша
  • Security Jetpack. Безопасное управление ключами и шифрование данных
    Страна: США
  • Picasso и Glide. Для управления мультимедиа и загрузки изображений. Объединяет декодирование мультимедиа, кэширование памяти и диска, а также объединение ресурсов в простой и удобный интерфейс.
    Страна: США
  • CardIO. Обеспечивает быстрое и простое сканирование банковских карт
    Страна: США
  • PermissionsDispatcher. Декларативный API для обработки системных разрешений Android.
    Страна: Япония
  • Dagger. Библиотека для внедрения зависимостей
    Страна: США
  • Chucker. Упрощает проверку запросов/ответов HTTP(S). Предоставляет пользовательский интерфейс для проверки и обмена их содержимым
    Страна: Великобритания
  • Room предоставляет удобную обертку для работы с базой данных SQLite
    Страна: США
  • LeakCanary. Библиотека для обнаружения утечек памяти.
    Страна: США
  • Retrofit. Типобезопасный HTTP-клиент, который упрощает работу с api-запросами.
    Страна: США
  • RootBeer для проверки root-прав на устройстве.
    Страна: Великобритания


iOS

  • Alamofire и Moya. Библиотека для реализации клиент-серверного взаимодействия (сетевой слой). Страны: США, Канада

Предложение по замене: Реализацию можно заменить использованием нативной системы URL Loading System (URLSession).

  • SDWebImage и Kingfisher . Библиотека для загрузки и обработки изображений. Страна: США, Япония/Китай

Предложение по замене: Подходящих отечественных аналогов, распространяемых в свободном доступе с возможностью использовать в коммерческих целях - нет. Совсем скоро мы предоставим собственное бесплатное решение с использованием нативных средств и систем: URL Loading System, Core Image.

  • ReactiveKit, Bond и RxSwift. Библиотеки для реализации реактивного паттерна. Страны: Дания, США/Страны Европы

Предложение по замене: Реализацию можно заменить использованием нативного фреймворка Combine.

  • SnapKit. Библиотека для верстки экранных форм. Страна: Новая Зеландия.

Предложение по замене: Реализацию можно заменить использованием нативных инструментов и принципов AutoLayout или принципом декларативной верстки SwiftUI. 

  • AppsFlyer. Библиотека для реализации поддержки и отправки диплинков, универсальных ссылок. Для сбора продуктовой аналитики. Страна: США.

Предложение по замене: фреймворк AppMetrica. Разработчик - Yandex

  • Сторонние библиотеки для визуализации: IQKeyboardManager, PinCodeTextField, LGAlertView, iCarousel, NVActivityIndicatorView, SVPullToRefresh, LGSideMenuController, SwipeCellKit, JVFloatLabeledTextField, NotificationBannerSwift, BRYXBanner, SkeletonView, InputMask, ISPageControl, FSCalendar, TOCropViewController
  • Сторонние функциональные библиотеки: KeychainSwift, Zip 

Заявка на проект

Оставьте контакты, чтобы обсудить проект и условия сотрудничества, или позвоните: +7 (495) 023-04-95