Cover Image

Корпоративная мобильность на Android: троянский конь для критической информационной инфраструктуры

 30 Декабрь 2022    Импортозамещение

Об авторе: Дмитрий Алтухов, известный российский IT-специалист, глава ряда IT-компаний,  последние 10 лет CIO Группы «Интер РАО»

Вместо предисловия: небольшая, но важная историческая справка

Сегодня положение дел в мире мобильных операционных систем кажется устоявшимся и нерушимым – на рынке всего две операционных системы: с долей более 70% доминирует Google Android и 25–30% рынка занимает Apple iOS.

А можем ли мы представить ситуацию, когда рынок мобильных операционных систем выглядел совсем по-другому? Не было ни Android, ни iOS, 70% рынка занимала операционная система Palm OS, и почти 30% – операционная система Windows Mobile…

Именно так выглядел рынок 22 года назад, в 2000 году. Термин «смартфон» ещё не был общепринятым, но уже были «персональные цифровые ассистенты» (PDA) и начиналась эра совмещения PDA и сотовых телефонов.

В 1984 году британская компания Psion выпустила первый в мире «карманный компьютер» Psion Organiser. Конечно, этому устройству было далеко до современных смартфонов, но, тем не менее, для того времени это был настоящий прорыв в мобильность.

Первый в истории «персональный цифровой ассистент» Newton выпустила компания Apple в 1993 году. Кстати, автором термина «Personal Digital Assistant» (PDA) является Джон Скалли, бывший в то время генеральным директором Apple. И, хотя с рыночной точки зрения устройство оказалось сырым и не очень удачным, началась важная эпоха управления носимыми устройствами с использованием сенсорных экранов. Одновременно и производители компьютеров пытались реализовать концепцию мобильности, выпуская субноутбуки на базе Microsoft Windows, а в 1996 году Nokia выпустила первый полноценный бизнес-коммуникатор, представлявший собой гибрид компьютера и мобильного телефона

В первые годы XXI века началась гонка смартфонов. Появились телефоны на базе мобильных операционных систем Palm OS и Windows Mobile, а с 2001 года на рынок вышли телефоны Nokia с новой операционной системой Symbian. Всего за три года смартфоны на базе Symbian захватили более половины рынка, а в 2007 году, к моменту выхода на рынок первого Apple iPhone, рыночная доля Symbian составляла до 70%, как сейчас у Android.

В 2007 году мобильная связь стала повсеместной, объём продаж всех мобильных телефонов в 2007 году достиг 1,15 миллиарда штук, из них у Nokia – 435 миллионов штук, а в 2008 году – 1,22 миллиарда, из них у Nokia – 468 миллионов штук. Ежегодные продажи смартфонов также исчислялись десятками миллионов: Nokia в 2007–2008 годах продала более 120 миллионов устройств с ОС Symbian, а общий объём продаж всех Apple iPhone (оригинальный iPhone и iPhone 3G) в этот же период составил всего около 13 миллионов устройств. Будущий чемпион мобильного рынка, Android, стал заметен только в 2009 году, так как первый телефон, HTC Dream (в США – T-Mobile G1) поступил в продажу в конце октября 2008 года. Через пять лет, к декабрю 2013 года, рыночная доля Android составляла уже более 50%, а об устройствах на базе Symbian почти никто уже и не вспоминал.

В отличие от рынка настольных операционных систем, где существуют массовая Microsoft Windows, нишевая Mac OS и множество вариантов Unix-подобных систем (это и коммерческие версии Linux, и разнообразные дистрибутивы с открытым исходным кодом), на мобильном рынке ситуация всегда была ближе к олигополии. Связано это, прежде всего, с тем, что мобильные операционные системы значительно сильнее интегрированы с аппаратным обеспечением, имеют более высокие требования к оптимизации процессов системы для обеспечения приемлемого уровня энергопотребления с точки зрения времени работы устройства от аккумулятора.

Попробуем разобраться, хорошим ли выбором является столь распространённая и популярная мобильная операционная система Android для использования сотрудниками и выполнения бизнес-задач.

Является ли Android важным направлением бизнеса для Google

Считается, что Google – технологическая компания, разрабатывающая программное обеспечение, однако это не совсем так как, если внимательно посмотреть на структуру выручки. Сегодня более 81% выручки Google приходится на доходы от рекламы, 7,5 % – доходы от облачных услуг, и менее 11% – в категории «приложения, устройства и контент». К последней категории относятся все доходы от магазинов приложений, книг, кино, музыки, продаж собственных телефонов и различных устройств. Где-то в этой категории и сам Android, но доходы от операционной системы в финансовой отчётности Google никак не выделяются. Никаких доходов от лицензирования операционной системы Google не получает, за исключением небольших доходов от сертификации устройств производителей, которые заключили с Google соглашение о распространении «полноценной» версии Android. Становится понятно, что основной бизнес Google – не разработка программного обеспечения, а реклама и аналитика данных пользователей. Все услуги и продукты для Google (включая и Android) – не более чем инструмент для получения доступа к пользователям и их данным круглосуточно, 365 дней в году.

Операционная система Android с 2003 года разрабатывалась небольшим стартапом из Калифорнии в качестве прошивки для цифровых фотоаппаратов. В 2005 году Google приобрёл этот стартап примерно за 50 миллионов долларов. Достаточно вспомнить, что доминирующей операционной системой на рынке мобильных устройств в это время была Symbian, где не было места для поиска и сервисов Google. Зато становилось очевидно, что в ближайшие годы будет активно развиваться использование Интернета именно с мобильных устройств. Все мобильные операционные системы в то время были проприетарными, с закрытым исходным кодом, и Google нашёл уникальный маркетинговый ход – анонсировал первую в мире мобильную операционную систему «с открытым исходным кодом», что должно было привлечь как можно больше производителей устройств. Первая бесплатная и открытая мобильная ОС, – что может быть лучше?

И действительно, это сработало. В альянс Open Handset Alliance, основанный Google, вошли производители телефонов, либо не зарабатывающие на Symbian, либо не очень довольные конкуренцией с контролирующей ОС Nokia. Например, первый телефон был выпущен тайваньской компанией HTC, которая до этого в основном выпускала устройства на базе Windows Mobile. Другие участники альянса, в частности, Samsung, LG и Sony Ericsson выпускали в 2008–2009 годах телефоны как на базе Symbian, так и Android.

Есть ещё одна важная техническая особенность ранних версий Android: её архитектура была достаточно простой, архитектурно явно не выделялся слой аппаратных абстракций (HAL), предназначенный для скрытия различий в аппаратном обеспечении от основной части ядра операционной системы, а это значит, что архитектурно драйверы не изолированы от основных компонентов ОС, и каждый новый телефон означал новый проект. Сам Google не имел опыта разработки драйверов для различных компонентов смартфонов (материнская плата, экран, камера, беспроводные модули WiFi и Bluetooth) и надеялся переложить на производителей микросхем, электронных компонентов и телефонов.

Интересно, что в первых версиях все приложения Google поставлялись с открытым исходным кодом и входили в состав операционной системы, но спустя пару лет, при выделении отдельно лицензируемого набора сервисов, API и приложений, известного сейчас как Google Mobile Services (GMS), новые версии приложений просто перестали включаться в состав операционной системы.

Итак, выпуская сравнительно сырую систему на рынок, делая её «открытой» и бесплатной – Google просто пытался поменять правила игры и подорвать доминирующее положение Symbian. Это ему успешно удалось, но, как мы видим, истинной целью было завоевание рынка мобильного поиска и рекламы.

Лицензионные соглашения: «железная хватка» Google

Пользователям не так важно, как называется мобильная ОС, для потребителя на первом месте стоит удобство использования телефона и наличие необходимых приложений. И вот здесь начинаются существенные различия двух основных версий Android.

Действительно, существует версия Android c открытым исходным кодом, Android Open Source Project, сокращённо AOSP. Но это не совсем та система, что работает на массовых телефонах крупнейших международных производителей.

В состав AOSP входят базовые референтные приложения, такие как камера, календарь, контакты, но многие из них не обновляются годами и не поддерживают новые API. Это, скорее, наследие первых версий Android, когда Google ещё не полностью выделил отдельно лицензируемый пакет GMS.

Более того, Android не является «честным» ПО с открытым исходным кодом. И вот почему! Разработка ПО с открытым исходным кодом обычно ведётся сообществом разработчиков, таким образом осуществляется не только вклад различных разработчиков в развитие, но и в некоторой степени обеспечивается информационная безопасность, так как код видят множество участников процесса разработки. Google же разрабатывает каждую новую версию Android самостоятельно, внутри корпорации, «за закрытой дверью». Только после завершения разработки каждой версии Android Google публикует исходный код, и сообщество разработчиков получает к нему доступ. Исходный код Android формально «открыт», его можно скачать и скомпилировать, и даже получить работающую ОС в программном эмуляторе…

Но есть два важных момента. Во-первых, драйверы аппаратного обеспечения в виде исходных кодов в полном объёме отсутствуют, и каждый разработчик устройств должен решать эту задачу самостоятельно. Во-вторых, размер исходного кода современного Android не предполагает, что кто-то с ним будет по-настоящему разбираться. Сегодня «исходники» системы состоят из более 150 миллионов строк (40 миллионов строк сам Android и более 110 миллионов строк – код библиотек и компонентов с открытым исходным кодом). Ежегодно Google вносит значительные изменения в код, как минимум, это несколько миллионов строк. Говорить о форках (ответвлениях, производных версиях) со значительной переработкой исходного кода или независимом от Google развитии AOSP практически невозможно. Даже самые известные производные системы, такие как Amazon Fire OS и LineageOS, в значительной степени используют код AOSP «как есть», разрабатывая свои интерфейс, надстройки и приложения. Форки также используют для разработки инструменты Google – сам SDK, а также IDE Android Studio, которая основана на бесплатной версии IntelliJ IDEA компании JetBrains (покинувшей РФ). В отличие от нейтральной лицензии Apache 2.0 самого AOSP, лицензия SDK Android Studio не является свободной, допускает создание только «совместимого» (на усмотрение Google) ПО и регулируется законодательством США (включая экспортные и санкционные ограничения).

И, наконец, говоря об открытости, нужно упомянуть «The Four Opens», набор из четырёх принципов (открытое сообщество, открытый дизайн, открытая разработка и открытый исходный код), которые были созданы Open Infrastructure Foundation (ранее – OpenStack) как способ гарантировать, что пользователи получат все преимущества, связанные с открытым исходным кодом, включая возможность взаимодействия с сообществом и влияния на будущее развитие программного обеспечения. Разработка AOSP этим принципам открытого ПО не соответствует.

«Настоящий» же Android на всех рынках, кроме китайского — это не AOSP, а сертифицированные Google телефоны с GMS. Состав пакета GMS может немного отличаться в зависимости от региона, но обычно включает такие ключевые приложения и сервисы, как:

  • Google Play Services
  • Google Play Store
  • Google Chrome
  • Поиск Google
  • YouTube и YouTube Music
  • Gmail
  • Google Disk
  • Карты Google
  • Google Photo.

Многие основные приложения Android зависят от облака Google и возможностей пакетов GMS, таких как API SafetyNet (безопасность) и Firebase Cloud Messaging (пуш-уведомления).

И вот здесь окончательно закачивается миф об «открытом исходном коде Android». GMS – это проприетарный пакет, Google его не раздаёт всем желающим.

Участники Open Handset Alliance (производители Android-устройств с сервисами Google) связаны несколькими важными конфиденциальными юридическими соглашениями.

Что это за соглашения? «Соглашение о защите от фрагментации» (Anti Fragmentation Agreement, AFA) – запрет на производство устройств на базе форков исходного кода Android, которые Google на своё усмотрение объявляет «несовместимыми». Сейчас это называется ACC (Android Compatibility Commitment, «Подтверждение совместимости с Android». Только производители, заключившие первое соглашение, могут рассчитывать на лицензирование и предустановку на устройство GMS, причём на условиях, которые диктует Google, что регулируется «Соглашением о распространении мобильных приложений» (Mobile Application Distribution Agreement, MADA). Именно это соглашение обязывает производителей устанавливать единственный поиск по умолчанию и выносить приложения Google на первые экраны. Кроме кнута есть, конечно, и пряник, «Соглашения о разделение выручки» (Revenue Sharing Agreements) – непубличные соглашения о выплате части доходов производителям устройств, где установлены поиск Google… Серьёзно обращать внимание на «особенности» лицензионных соглашений Google начали ближе к 2014 году, когда стало ясно, что на рынке осталось только две мобильных ОС: Android и iOS.

Хотя первая попытка «бунта на корабле» произошла ещё в 2012 году. В середине 2011 году облачное подразделение Alibaba выпустило на китайском рынке первый телефон W700 локального производителя K-Touch с «собственной» Aliyun OS и набором облачных сервисов Alibaba. Не слишком успешно, по китайским стандартам, тем не менее продано было 200 тысяч устройств за первые три месяца и более миллиона за первый год. На самом деле, конечно же, это был форк на базе AOSP, но Google никак не отреагировал, так как внутренний рынок Китая закрыт для Google (всем так казалось). В начале 2012 года более крупный международный производитель Acer, выпускающий телефоны с GMS, сделал попытку выпустить телефон Acer CloudMobile A800, также на китайском рынке. Но всё оказалось не так просто. Acer, видимо, не совсем внимательно прочитал соглашения с Google, и Google поставил Acer перед простым выбором: либо отменить выпуск «несовместимого» устройства без GMS в Китае, либо вообще лишиться права производить телефоны с GMS…

В России также происходили похожие события. С 2011 года за счёт широкого распространения Android с GMS (58% в 2012 и 86% в 2014 году) начала активно расти доля рынка поисковой системы Google. «Яндекс» обнаружил, что не может стать поиском по умолчанию, и что предустановка приложений на первых экранах невозможна. А первые экраны важны, так как большинство покупателей телефонов не меняют поисковую систему и пользуются приложениями, которые всегда на виду.

С момента приобретения в 2011 году петербургской компании SPB Software «Яндекс» почти три года работал над собственной прошивкой «Яндекс.Кит» на основе AOSP. Набор сервисов и приложений «Яндекс» позволил создать вполне конкурентный продукт – все сервисы от Google заменили сервисами «Яндекса» (карты, браузер, календарь и т. д.), сделали и собственный магазин Яндекс.Store.

«Яндекс» договорился о выпуске телефонов: вышли ограниченным тиражом Huawei Honor 3 Yandex и Explay Flame; затем вмешался Google – Fly и Prestigio были вынуждены свернуть выпуск моделей, а затем и Explay оказался в такой же ситуации. История закончилась ожидаемо – через год, в 2015-м, «Яндекс» закрыл проект и обратился с жалобой в ФАС. В 2017 году после штрафов (не слишком больших) Google заключил мировое соглашение с ФАС и «пообещал» не препятствовать конкуренции.

В последние восемь лет в отношении Google вели расследования антимонопольные органы не только России, но и США, Великобритании, Европейского союза, Индии, Южной Кореи и других стран. Google не пугают даже значительные штрафы, он отлично зарабатывал на своей монополии, пока шли многолетние разбирательства с антимонопольными органами и менялось законодательство.

Рынок России для Google слишком мал, чтобы идти на какие-либо компромиссы. Размер выручки в России практически не влияет на глобальные результаты Google. Весной 2022 года Google выключил все платежи и монетизацию приложений в Google Play, всю рекламу и монетизацию во всех своих продуктах (YouTube, AdSense и т. д.), начал произвольно (как и Apple) отключать свои облачные сервисы (пуш-уведомления) и удалять приложения из магазинов. Да, в Android есть прямая загрузка приложений, но российские магазины не панацея – в потребительском сегменте Google контролирует ОС: если будет команда – любой телефон с GMS может быть отключён, независимо от того, верите вы или нет в такое вероломство американского «партнёра»… Можно лишь привести аналогию: в 2014 году уход двух основных платёжных систем был бы критичен для безналичных платежей в РФ. За прошедшие годы была создана национальная система платёжных карт. В 2022 году благодаря НСПК было не всегда удобно, но шока не было.

Насколько разумно применять устройства с Android в корпоративной среде

В корпоративной мобильности можно выделить два основных сценария применения:

  • Специальное устройство с одним или несколькими специализированными приложениями (мобильный обходчик, контролёр, курьер, почтальон, переписчик) для выполнения узкоспециальных функций, например, для сбора данных с приборов, не оснащённых телеметрией, в качестве платёжного терминала и т.д.
  • Деловая мобильность общего назначения: сотрудники используют устройство для выполнения «обычных» рабочих задач, звонки, почта, календарь, мессенджеры, и т.д.

С точки зрения организации работы есть два базовых подхода:

  • Организация обеспечивает сотрудников корпоративными устройствами.
  • Сотрудники используют собственные устройства (BYOD, Bring Your Own Device).

В реальности картина корпоративной мобильности более многообразна, но для наших целей остановимся на упрощённой модели. При использовании BYOD главной проблемой является сложность централизованного управления устройствами – использовать EMM (MDM) систему юридически можно только в случае согласия работника передать устройство под полное управления работодателя. Если организация выдаёт устройства сотрудникам, то вопрос управления как бы решается, но проблемы на этом не заканчиваются…

EMM системы управляют устройством на уровне политик, поддерживаемых операционной системой. Но что делать, если система не является доверенной и не сертифицирована ФСТЭК и ФСБ?

Ни Apple, ни Google никогда не пытались сертифицировать свои системы, в отличие от Microsoft, все последние версии настольной и серверной ОС которой имели сертификаты соответствия ФСТЭК до 31 марта 2002 года, когда их действие было прекращено. И почему-то никого не смущает, что рядом с сертифицированными «стационарными» ОС все последние годы свободно гуляли сотрудники со смартфонами на базе мобильных iOS и Android. Конечно, где положено, сотрудники сдают телефоны на входе, но человеческий фактор никто не отменял.

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

Главный вопрос, всегда интересующий бизнес, – «насколько возможно удалённое управление устройством и несанкционированное получение информации с него»? И более важный для IT-специалистов вопрос: «А как устроено обновление и устранение критических ошибок безопасности»?

Итак, выбор корпоративной ОС:

  • Apple iOS – при наличии интернет-соединения устройство и ОС полностью контролируются производителем, исходный код закрыт, официально в РФ устройства более не поставляются. Обновления ОС и патчи для критических уязвимостей регулярно выпускаются Apple, способ обновления – «по воздуху» (OTA).
  • Android с GMS – хотя исходный код формально открыт, но при наличии интернет-соединения устройство и ОС полностью контролируются производителем. Обновления ОС и патчи для критических уязвимостей регулярно выпускаются Google и вендорами телефонов с GMS, способ обновления – OTA. Сейчас задержка обновления устройств в лучшем случае составляет примерно 1 месяц для флагманов.
  • Android на основе AOSP: исходный код формально открыт, устройство может контролироваться как производителем, так и заказчиком. Обновления как OTA, так и через полный образ в зависимости от контракта. Обновления ОС и патчи для критических уязвимостей – в зависимости от производителя.

Ответ на первый вопрос становится очевиден: в случае Apple iOS и Android с GMS невозможно полностью исключить блокировку всего устройства или части функционала, дистанционное удаление всех данных или несанкционированный доступ к информации со стороны производителя или третьей стороны, например государственных органов страны, в которой зарегистрирован производитель ОС или устройства. Только в случае правильно выбранного производителя устройства с AOSP заказчик может существенно снизить эти риски. Вероятность наличия недокументированных и бэкдоров функций в формально открытом коде довольно низкая, но полноценный независимый аудит безопасности AOSP не проводился.

Гораздо хуже обстоит ситуация со своевременностью и полнотой обновлений безопасности. С 2015 года Google выпускает ежемесячные обновления безопасности, устраняющие найденные уязвимости, включает их в код AOSP. Однако реализация их в новой прошивке и обновление устройств возложены на производителей.

До 2017 года Android обновлялся через полную замену прошивки. В результате новую версию ОС мог выпустить только производитель устройства, а они не были склонны каждый год выпускать обновления. Это приводило к ещё большей фрагментации и большому количеству устройств со старыми версиями Android.

В Android 8 Google начал переход к модульным обновлениям «нижних слоёв» ОС, выделив полноценный слой аппаратной абстракции (в рамках Project Treble), разделив обновления фреймворков Android и драйверов «железа». Следующий шаг был сделан в Android 10 – Project Mainline, с одной стороны, ещё больше изолирует ОС от «железа», с другой же – обеспечивает для Google централизацию обновлений, связанных с ключевыми компонентами нижнего уровня: сетевой стек, Wi-Fi, Bluetooth, DNS. В это же время Google ввёл новую формулу для сертифицированных телефонов «два релиза ОС, три года обновлений». Но по факту следуют ей далеко не все производители телефонов с GMS.

Обновления же Android в варианте AOSP лежат на совести каждого производителя устройств и разработчика форка. Исправления, связанные с безопасностью, публикуются, но их дальнейшая судьба Google не интересует. Форки, как правило, отстают минимум на одну версию. Самый известный форк LineageOS сейчас основан на Android 12.

Итак, имея телефон на основе AOSP, остаётся только надеяться на наличие процесса обновлений у производителя. Обновления, кстати, выпускаются сейчас лишь для версий 10–13. Если у вас Android ниже 10 версии, а таких устройств немало – то риски оценивайте сами.

Хорошим примером будет самое свежее обновлении безопасности Google от декабря 2022 года: в нём устранены более 80 уязвимостей для Android версий с 10 по 13, из них 4 – критические (3 – исполнение произвольного кода, 1 – кража данных). Довольно сложно предсказать, когда эти обновления дойдут до основной массы телефонов – даже крупнейший производитель Android-телефонов Samsung выпускает такие обновления с отставанием примерно в месяц.

В заключение необходимо отметить, что формального запрета использовать иностранные мобильные ОС в корпоративном сегменте в России на данный момент нет. Ограничения по использованию иностранного ПО с 2025 года сегодня касаются только значимых объектов КИИ. Отсутствуют нормативные документы, определяющие требования и профили безопасности корпоративных мобильных платформ, регламенты использования мобильных платформ. Таким образом, выбор пока каждый заказчик делает сам. Нередко это выбор иностранной ОС, не сертифицированной, которая своевременно обновляется, но управляется из США. Либо, в случае AOSP и форков, не получает обновления (совсем или вовремя) и по определению является уязвимой. Хороший ли это выбор – решайте сами…