Как стать автором
Поиск
Написать публикацию
Обновить
78.84
Samsung
Все дело в Samsung

Магия KNOX и её разоблачение: изучаем OEMConfig от Samsung

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров7.7K

Каждый теперь может попробовать OEMConfig от Samsung под названием Knox Service Plugin. OEMConfig — это специфические настройки устройства от производителя, которые доступны на его устройствах. Пока они есть только на Samsung. Если не согласны, пишите в комментариях.

Перенастройка кнопок, запрет обновлений Android, блокировка облачного GalaxyAI, голосовых вызовов или оптимизации батареи, включение и выключение устройства при подаче и отключении питания и многое другое. KNOX — это не только таинственная безопасность inside.

В статье обзор безоблачного Windows приложения KME Direct, которое позволяет всё это делать.

«– Пардон! – отозвался Фагот, – я извиняюсь, здесь разоблачать нечего, все ясно. Нет, виноват! Разоблачение совершенно необходимо» М. Булгаков «Мастер и Маргарита»
«– Пардон! – отозвался Фагот, – я извиняюсь, здесь разоблачать нечего, все ясно. Нет, виноват! Разоблачение совершенно необходимо» М. Булгаков «Мастер и Маргарита»

Раньше доступ к этим фишкам требовал использования MDM, который поддерживает KSP, или самостоятельного программирования своего DO (Device Owner) приложения с использованием лицензионного ключа KPE (Knox Platform for Enterprise). В этой же статье речь пойдёт о возможности использовать весь спектр настроек KSP для первоначальной настройки устройства, вытащенного из коробки, или после factory reset. Это всё достаточно прикольно, чтобы узнать подробности.

Теперь не нужно ни лицензионного ключа, ни программирования. Даже MDM (Mobile Device Management) система не нужна, — для экспериментов достаточно в роли заглушки test DPC с GitHub для активации Android Enterprise, как в примере ниже.

Что вообще такое Knox Mobile Enrollment (KME)

Вообще Knox Mobile Enrollment (KME) — это облачный сервис, который используют, чтобы не возиться с установкой по QR‑коду своих MDM на новых устройствах. Порядок действий простой: продавец (официальный дистрибьютор по KNOX) добавляет серийные номера партии в систему и всё происходит out‑of‑the‑box при первом включении Android Setup Wizard.

Результат тот же, что и при самолепной ручной установке MDM через QR код. Случись factory reset, и устройство всё равно вернётся под контроль корпоративной системы управления и её политик безопасности, потому что помечено в облаках Samsung как корпоративное. Пользоваться им по‑другому KME не даст, что ни выдумывай, от корпоративного контроля никуда не уйдёшь и красть устройства просто бессмысленно.

MDM политики компании контролируют мобильное устройство через KME
MDM политики компании контролируют мобильное устройство через KME

В чём смысл KME Direct?

On-premise вариант KME представляет собой Windows‑приложение для развёртывания MDM‑агента на устройства через QR‑код внутри корпоративной сети. Это не автоматизация, тогда в чём смысл?

В чём ценность? В нём можно активировать новые устройства и устанавливать свой MDM агент вообще без доступа к интернету и Google сервисам (полностью закрытый контур). Иногда такое востребовано, но главное не в этом, а в том, что можно конфигурировать устройство через OEM Config от Samsung, называемый Knox Service Plugin. Без использования зарубежных облачных MDM.

Чтобы скачать само приложение KME Direct необходима регистрация с использованием непубличного mail сервиса. У кого сейчас нет корпоративной почты или личного почтового домена?

Первый шаг. Регистрация и скачивание приложения

Регистрируйтесь на сайте www.samsungknox.com через Samsung account с email непубличного сервиса и дождитесь одобрения. Затем скачайте по этой ссылке и активируйте приложение kme_direct_v1.9.7.exe. knox_service_plugin_ v1.4.99.apk - это актуальная версия плагина KSP, из которого мы с помощью установленного приложения, вытащим KSP XML схему, которую отредактируем и затем через QR код «скормим» устройству в качестве конфигурационного файла при первом запуске. Общая логика такая.

KES_v2.2.59.apk актуальная версия Knox Enrollment Service, если вдруг на устройстве его не окажется
KES_v2.2.59.apk актуальная версия Knox Enrollment Service, если вдруг на устройстве его не окажется

Второй шаг. Настройки сервера и скачивание XML схемы KSP

Проверяем настройки веб сервера, если не удобней использовать свой в любой локации
Проверяем настройки веб сервера, если не удобней использовать свой в любой локации

Смотрим в настройки приложения и убеждаемся, что веб сервер приложения доступен в нашей внутренней сети по WiFi. Затем выбираем создать профиль, нажимаем галочку Expert mode и кликаем Configuration profile, нажимаем Extract XML файл и подгружаем скачанный файл KSP плагина.

Скачиваем полученный файл XML_template_for_KSP

Третий шаг. Настройка конфигурации устройства в XML схеме KSP


Например, для того, чтобы настроить автоматическое включение устройства при подключении к питанию и выключение при его отключении делаем следующее. Ставим значение true в строке:

<entry key="doPoliciesIsControlled" type="b">true</entry>

В следующем разделе меняем doSettingsIsControlled, doSettingsAutoStartUp, doSettingsPowerOFF на true

<entry key="doSettings" type="B">
 <entry key="doSettingsIsControlled" type="b">true</entry>
  <entry key="doSettingsHideBackUpAndReset" type="b">false</entry>
 <entry key="doSettingsHideAirplaneMode" type="b">false</entry>
 <entry key="doSettingsHideLanguage" type="b">false</entry>
 <entry key="doSettingsHideLockScreen" type="b">false</entry>
 <entry key="doSettingsHideBluetooth" type="b">false</entry>
 <entry key="doSettingsHideDeveloper" type="b">false</entry>
 <entry key="doSettingsHideWiFi" type="b">false</entry>
 <entry key="doSettingsSystemLocale" type="B">
 <entry key="doSettingsSystemLocaleLanguage" type="s"></entry>
 <entry key="doSettingsSystemLocaleCountry" type="s"></entry>
</entry>
<entry key="doSettingsMobileDataEnable" type="b">true</entry>

<entry key="doSettingsAutoStartUp" type="b">true</entry>
<entry key="doSettingsPowerOFF" type="b">true</entry>

<entry key="doSettingsInputMethod" type="B">
<entry key="doSettingsNoBatteryMode" type="b">false</entry>
<entry key="doSettingsPowerSavings" type="B">
<entry key="doSettingsPowerSavingIsEnabled" type="b">false</entry>
<entry key="doSettingsPowerSavingLimitCPU" type="b">false</entry>
<entry key="doSettingsPowerSavingReduceBrightness" type="b">false</entry>

Для запрета обновлений меняем значения на противоположные в выделенных строках:

<entry key="doFotaUpdate" type="B">
<entry key="doFotaUpdateIsControlled" type="b">true</entry>
<entry key="doFotaUpdateOTA" type="b">false</entry>
<entry key="doFotaUpdateRecoveryMode" type="b">true</entry>
<entry key="doFotaUpdateAutoUpdate" type="b">false</entry>
<entry key="doFotaUpdateInstallLaunchClient" type="b">false</entry>
</entry>

Бывают такие политики безопасности, что запрещают облачные функции Galaxy AI:

<entry key="doAdvancedRestrictions" type="B">
<entry key="doAdvancedRestrictionsIsControlled" type="b">true</entry>
<entry key="doAdvancedRestrictionsOnDeviceAi" type="b">true</entry>

<entry key="doAdvancedRestrictionsRemoteControl" type="b">true</entry>
</entry>

Через запятую перечислить имена пакетов, которые надо исключить из Android оптимизации батареи:

<entry key="doAppMgmtIsControlled" type="b">true</entry>
<entry key="doAppMgmtBatteryWhitelist" type="s">com.myapp1</entry>

Аккуратнее следите за остальные строками в этом разделе, когда делаете doRestrictionsIsControlled true, потому что можете активировать запрет сброса устройства, а описываемые настройки делаются с KME Direct при первом включении или после factory reset и вы это устройство уже никогда не сбросите.

<entry key="doRestrictionFactoryReset" type="b">true</entry>

Если все эти вещи делаются через MDM систему, то в ней же можно и отключить эти настройки или вообще сделать factory reset из самой системы, а вот настроив через KME Direct эту опцию вы устройство уже никогда не перенастроите. Осторожнее с этими настройками. Закирпичивание вполне реально.

Поставим это поле в значение true, чтобы KSP плагин не исчезал из списка приложений и можно было увидеть ошибки применения политик: <entry key=”verboseMode” type=”b”>true</entry>

Схема очень большая и многофункциональная, поэтому остановлюсь с примерами. Подробнее можно почитать в разделе Configure Advanced Policies по ссылке общей документации по Knox Service Plugin.

Четвертый шаг. Создаём Deployment profile

Мы создали файл конфигурации устройства и теперь нам нужно создать deployment профиль, к которому он пойдёт довеском. В своём примере я использовал эмуляцию MDM агента в виде test DPC (device policy controller) с GitHub. Сначала настраиваем WiFi соединение, информация о котором загрузится через QR код. Я использую этот скриншот, чтобы показать, в каком месте можно поставить галочку, чтобы устройство не лезло в интернет и google сервисы во время активации. Вернее оно не будет настойчиво переживать, если интернета не будет.

Иногда компании работают полностью в отдельной от интернета сети. Вообще опция не новость для Android Enterprise, но я хотя бы лично проверил её работоспособность. В теории теория и практика неразличимы, на практике это не так.

Возможность для offline deployment
Возможность для offline deployment

Далее надо указать admin receiver component name (PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME) и для testDPC.apk это com.afwsamples.testdpc/com.afwsamples.testdpc.DeviceAdminReceiver. Signature checksum приложение вытаскиваем из apk самостоятельно и с этим уже не надо заморачиваться.

Можно загрузить корневой сертификат. Например, от Минцифры
Можно загрузить корневой сертификат. Например, от Минцифры

На последней странице выбираем конфигурацию, которые мы настраивали выше. Загружаем скачанные apk для плагина и Knox Enrollment Service (бывает, что нужно обновление, если устройство древнее). Можете настроить установку каких-то своих приложений, которые нужны вашим пользователям.

Добавляем файл XML KSP конфигурации в наш deployment профиль
Добавляем файл XML KSP конфигурации в наш deployment профиль

Скачиваете два файла с первым и вторым QR кодом. Включаете устройство и на самом первом экране после включения (если оно только из коробки или после factory reset) рисуете на экране пальцем большой плюс. Это действие вызывает в меню, в котором можно выбрать чтение QR кода. По очереди читаете оба.

Устройство подключится к WiFi сети, будут скачаны и установлены все приложения, устройство загрузится и будет настроено как мы определили. Такая кастомизация своими руками.

Заключение

Не для всех и не все популярные EMM/MDM системы в настоящее одинаково доступны. Насколько я знаю ни одна отечественная EMM/MDM не поддерживает Knox Service Plugin, поэтому вариант настройки недоступных, но полезных опций с помощью совершенно безоблачной KME Direct, которая ещё и обеспечивает offline enrollment устройств считаю актуальным для многих компаний в нашей стране.

Теги:
Хабы:
+14
Комментарии0

Публикации

Информация

Сайт
www.samsung.com
Дата регистрации
Дата основания
1938
Численность
Неизвестно
Местоположение
Южная Корея
Представитель
Татьяна Волкова