Меню

Как выглядит счетчик knox

Secured by Knox — механизмы мобильной безопасности Samsung

Если у вас телефон Samsung, то вы, возможно, замечали на экране загрузки фразу «Secured by Knox». Что это вообще значит? Под катом – описание платформы мобильной безопасности, предустановленной на большинстве смартфонов и планшетов Samsung. Это первый русскоязычный обзор того, какие механизмы вообще существуют в решении Knox.

Введение

В 2019 году компания Samsung Electronics отметила 50 лет, а еще этот год отмечен другой круглой датой – 10 лет с момента выпуска первого устройства линейки Galaxy — GT-I7500. Вот так выглядела эта модель:

По сегодняшним меркам телефон имел очень скромные характеристики: экран размером 3.2 дюйма и процессор с тактовой частотой всего в 528 МГц, работал под управлением одной из первых версий ОС Android. Собственно говоря, в 2009 году модель не была уникальной: на рынке были устройства на открытой ОС Android со схожими аппаратными характеристиками на платформе ARM. Было понятно, что для успеха нужна «изюминка», выделяющая компанию из общего ряда.

Несомненно, открытость операционной системы повлияла на успех ОС Android: по оценкам IDC на октябрь 2019 она установлена на 87% проданных смартфонах, и это число продолжает расти. Но и тогда, и сейчас, вопрос безопасности Android – одна из часто обсуждаемых тем.

Samsung представила платформу Knox, как ответ на вызовы в области информационной безопасности мобильных устройств. Первая редакция Knox (старое название «SAFE» или «Samsung for Enterprise») вышла в 2012 году вместе с Galaxy S3.

Последняя на сегодняшний день мажоритарная версия платформы (3.0) была выпущена вместе с Galaxy S9 в 2018. Актуальная версия на момент написания статьи — 3.4. Название Knox происходит от Форт-Нокса – одного из самых защищенных хранилищ золотых запасов в мире.

Что же такое Knox? Сейчас под этим названием (или уже правильнее брендом) понимается всё, что связано в Samsung с мобильной безопасностью. Сюда относят менеджер паролей Samsung Pass, Защищённая папка, платёжный сервис Samsung Pay, и целое семейство корпоративных решений, но в основе этого лежит платформа Knox.

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

Сюда включаются следующие принципы:

  • Безопасность системы строится на аппаратном корне доверия (HW Root of Trust).
  • Контроль безопасности устройства должен начинаться в момент загрузки.
  • Мониторинг безопасности обязателен и регулярен во время работы устройства.
  • В системе должен быть заложен механизм, позволяющий доказать свою целостность сторонним системам.
  • Основная ценность устройства – данные пользователя. Их защита является приоритетом системы.

Особое внимание при разработке платформы Knox уделяется специфическим корпоративным требованиям к безопасности устройств. Мобильные телефоны стали рабочим инструментом: это не только всем привычная офисная работа (почта, мессенджеры, офисный пакет), но и более экзотические варианты: телефон в качестве кассового аппарата, сканера на складе, или даже гида в музее. Для компаний важна возможность управления этими мобильными рабочими местами.

Платформа Knox решает и эту задачу:

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

Далее подробно об устройстве платформы Samsung Knox.

Построение доверенной среды

Перед тем, как углубиться в рассмотрение отдельных механизмов, нужно пару слов сказать об основе всех аппаратных механизмов защиты платформы Knox – архитектуре TrustZone-based Integrity Measurement Architecture (TIMA). Она базируется на ARM TrustZone Framework.

В парадигме TrustZone существует 2 «мира» (области):

  • Secure («Безопасный»)
  • Normal или Non-secure («Обычный» или «Небезопасный» мир)

Их разделение осуществляется на аппаратном уровне и контролируется отдельным компонентом, который называется Monitor. Выглядит это примерно следующим образом:


Источник: www.arm.com

Функционал телефона делится между этими двумя областями следующим образом:

Secure World:

  • «Чувствительные» вычисления (например, шифрование).
  • Защита критичной информации.
  • Мониторинг состояния ядра ОС, запущенной в Normal World.
  • Доступ к памяти и устройствам, помеченным как Secure (может быть осуществлён только из Secure World).

Normal World:

  • Выполнение основной ОС и всех пользовательских приложений.
  • Приложения, запущенные в Secure World, наиболее привилегированы, и могут получать доступ к ресурсам обеих сред (и Secure World, и Normal World). Приложения из Normal World ни при каких условиях не могут получить доступ к ресурсам Secure World напрямую.

От основ перейдем к самим механизмам защиты в платформе Knox.

Аппаратный корень доверия

Уже в момент производства на заводе, во время установки программного обеспечения (ПО), на мобильном устройстве создаются криптографические ключи. Рассмотрим 2 основных ключа:

  • Device Unique Hardware Key (DUHK) или Уникальный аппаратный ключ устройства. Уникальный для каждого устройства симметричный ключ, который создается непосредственно на устройстве с использованием аппаратного генератора случайных чисел. Информация, зашифрованная этим ключом, может быть расшифрована только на том же самом устройстве. DUHK доступен только модулю аппаратного шифрования и не доступен никакому ПО на устройстве. С помощью DUHK шифруются остальные криптографические ключи на устройстве. Когда мы говорим, что какой-то компонент привязан к устройству, чаще всего подразумевается применение именно этого ключа.
  • Device Root Key (DRK) или Корневой ключ устройства. Уникальная для каждого устройства пара ассиметричных ключей (RSA), подписанная корневым сертификатом (X.509) Samsung. DRK защищен с помощью DUHK и доступен только из Secure World. Он однозначно идентифицирует устройство и подтверждает, что оно произведено Samsung.
Читайте также:  Счетчик учета электроэнергии трехфазный цэ6803в

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


Производство устройств на фабрике Samsung Electronics, г. Гуми, Южная Корея

Загрузка устройства

Безопасная загрузка (Secure Boot)

Процесс загрузки устройства состоит из цепочки загрузчиков, каждый из которых проверяет подпись следующего компонента, после чего запускает его. Если проверка не проходит, процесс загрузки прерывается. Данный механизм называется Secure Boot, в своей работе он использует Samsung Secure Boot Key (SSBK) – асимметричную пару ключей в аппаратном хранилище.
Secure Boot гарантирует загрузку устройства только с помощью доверенных загрузчиков Samsung. Если один из загрузчиков скомпрометирован, то запуск устройства прерывается, предотвращая потенциальную компрометацию устройства.

Доверенная загрузка (Trusted Boot)

Secure Boot путем проверки подписи решает проблему сторонних загрузчиков, но не решает проблему старых, неактуальных версий, потенциально несущих в себе ряд известных уязвимостей. Поэтому разработан механизм доверенной загрузки Trusted Boot, работающий поверх Secure Boot. Он проверяет актуальность версии загрузчика. Результаты проверки записываются в защищённую память в TrustZone Secure World и могут быть использованы для будущих проверок.

Knox Verified Boot (KVB)

В момент начала загрузки ОС активируется ещё один механизм, называемый Knox Verified Boot. KVB – расширение механизма Android Verified Boot (AVB). Помимо стандартных метрик, контролируемых AVB, KVB также учитывает результаты, полученные Trusted Boot и Secure Boot (т.е. целостность загрузчиков и их актуальность). За счёт выполнения всех операций KVB в загрузчике, данная проверка является надёжной и безопасной (процедура осуществляется вне проверяемого объекта).

Компонент Knox Verified Boot является достаточно новым и поддерживается устройствами, начиная с Samsung S10, работающих под управлением операционной системы Android P или более поздних версий.

Графически процесс загрузки устройства, защищённого механизмами Knox можно представить следующим образом:

Аппаратный флаг Knox Warranty Bit

Knox Warranty Bit — функция безопасности, позволяющая зафиксировать факт установки неофициальной версии системного программного обеспечения на устройство. Устройства со сработавшим Warranty Bit не могут использовать некоторый функционал, например, Knox Workspace. Флаг не может быть возвращён в исходное состояние. Он гарантирует, что устройство Samsung ранее запускалось только с доверенной ОС.


Рис. Слева кастомная прошивка, KNOX WARRANTY VOID 0x1

Аппаратная блокировка возврата к старым версиям ПО (Rollback Prevention)

Старые версии загрузочных компонентов могут содержать уязвимости. Rollback prevention – функция, блокирующая возврат на более старую версию ОС. Минимальная версия загрузчика, возможная для прошивки, хранится в защищённой области. Минимальная возможная версия ядра ОС хранится в самом загрузчике. При штатном обновлении системы, минимально допустимые версии загрузчика и ОС повышаются. Вернуться на предыдущую или более раннюю версию невозможно.

Вернуться с Android P на Android O невозможно.

Контроль целостности доверенной среды

После запуска целостность системы нужно регулярно проверять. Для этого в Knox существует несколько механизмов.

Компонент Periodic Kernel Measurement (PKM)

Компонент Real-time Kernel Protection (RKP)

Trusted Boot защищает от загрузки измененного ядра, но ядро может быть подвергнуто атаке во время работы устройства. Необходим постоянный мониторинг целостности кода и критичных данных. RKP – это мониторинг безопасности, расположенный в изолированной среде – либо в ARM TrustZone Secure World, либо в «тонком» гипервизоре, защищенном аппаратными расширениями виртуализации.

RKP использует специальные методы, чтобы контролировать управление памятью в Normal World, перехватывать критичные запросы и оценить их влияние до того, как произойдёт их выполнение. Механизм защиты ядра в реальном времени дополняет периодические проверки целостности ядра (PKM).

Таким образом, Real-Time Kernel Protection – это гарантия защиты от выполнения вредоносного кода на уровне ядра ОС.

Проверка целостности доверенной среды

Мобильные устройства не работают изолированно, обычно они являются частью какой-то более масштабной системы, например, являются клиентами сервера, вычислительными узлами и пр. И чтобы система могла стабильно и безопасно работать, она должна быть уверена, что все её компоненты «здоровы» и являются теми, за кого себя выдают. Это достаточно непростая задача, в рамках платформы Knox она решается с помощью механизма удалённой аттестации.

Удалённая аттестация устройства (Knox Attestation)

Удалённая аттестация позволяет сторонней системе сделать вывод о состоянии конечного устройства. Проверяются, в частности, следующие параметры:

  • измерения, собранные в процессе доверенной загрузки Trusted Boot;
  • логи нарушений безопасности от механизмов PKM и RKP с момента последней перезагрузки;
  • состояние Knox Warranty Bit;
  • различные идентификаторы устройства, такие как IMEI.
Читайте также:  Хорошая скакалка с счетчиком

Аттестационное сообщение формируется в ARM TrustZone Secure World. Оно является корректным, даже если ОС в Normal World скомпрометирована.

Помимо проверки отдельных параметров, аттестация также оценивает состояние системы в целом. Только когда измерения, собранные Trusted Boot соответствуют эталонным значениям, и значение Knox Warranty Bit не изменено, аттестация считается пройденной.

Аттестационное сообщение не может быть подделано, так как оно подписано с использованием ключа аттестации Samsung Attestation Key (SAK), производного от корневого ключа Samsung. Удалённый сервер может проверить целостность сообщения, используя корневой ключ Samsung. Подпись содержит сгенерированную на серверной стороне криптографическую «добавку» (случайное число, используемое только один раз), чтобы не дать атакующему возможность использовать старое корректное аттестационное сообщение на уже скомпрометированном устройстве.

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

Защита данных

Данные являются основной ценностью мобильного устройства и требуют отдельных механизмов защиты.

Шифрование внутреннего хранилища

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

Система Security Enhancements (SE) for Android

Samsung Knox использует расширение безопасности для Android (Security Enhancement for Android, SE for Android), которое добавляет механизм принудительного (мандатного) контроля доступа Mandatory Access Control (MAC) в ОС.

SE для Android предоставляет два уровня защиты MAC:

  1. Защита на уровне ядра
  2. Защита на уровне промежуточного ПО Android

Цели SE для Android включают в себя изоляцию данных и приложений, ограничения прав системных процессов, в том числе выполняемых от имени супер-пользователя.

Контейнеризация Knox

Одним из частных случаев применения механизма SE for Android является контейнер Knox.
Контейнер разделяет приложения и данные на два независимых пространства: обычную и защищённую области. Данные защищённой области хранятся во внутренней памяти в зашифрованном виде. Ключи шифрования, в свою очередь, шифруются с помощью DUHK-ключа, т.е. они привязаны к конкретному устройству. В случае компрометации устройства (срабатывание Knox Warranty Bit, Trusted Boot и пр.) доступ к контейнеру блокируется.

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

Технология контейнеризации используется в нескольких продуктах Samsung, таких как Secure Folder и Knox Workspace.

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

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

Дополнительные источники по теме:

Автор: Владимир Карачаров,
Manager, B2B Pre/Post Sales
Business Development Team
Samsung R&D Institute Russia

Источник



Записки мастера. Как распознать следы ремонта. Часть 2

Макс Любин

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

Если факт обладания новым телефоном для вас принципиален, существует еще несколько способов обезопасить себя от покупки не нового гаджета.

Самое простое и очевидное – проверить соответствие серийных номеров и IMEI на коробке, на корпусе самого устройства, а также в меню телефона.

Для этого в номеронабирателе набираем комбинацию *#06#. Устройство покажет нам номер IMEI, который и необходимо сверить с номером, указанным на коробке и корпусе смартфона.

Если номера на экране не совпадают с номерами на коробке и корпусе, с большой долей вероятности перед вами телефон, который либо прошивали, либо ремонтировали, либо украли.

Проверить, был ли телефон в ремонте, был ли активирован и когда, можно с помощью многочисленных интернет-сервисов. Для этого вам снова потребуется IMEI или серийный номер.

У многих производителей есть официальный сервис, где можно проверить факт наличия электронной гарантии. Вот пример такого сервиса от Samsung (картинка кликабельна). Тут будет указан не только статус гарантии, но и произведенные гарантийные ремонты, если таковые были.

Нередко в ремонт попадают телефоны после неудачных манипуляций с прошивками. В таком случае мастер просто прошивает телефон заводской прошивкой и с чистым сердцем отдает клиенту. Например, у телефонов Samsung есть такой замечательный сервис KNOX, который очень не любят поклонники Root и очень любят мастера сервисных центров, так как этот самый KNOX имеет счетчик, который на данный момент практически нереально обнулить.

Читайте также:  Плата по счетчику при бойлере

То есть, если телефон прошивали, то при входе в режим загрузчика в верхней части экрана будет строка warranty void: 0x1 (2).

В данном случае единица говорит о том, что телефон прошивался, а цифра в скобках означает количество прошивок. Это справедливо для телефонов Samsung с их сервисом KNOX. Также обратите внимание на строку System status. Там должно быть указано «Official». Если там указано «Custom», то, например, Samsung Pay на таком смартфоне работать уже не будет никогда.

Попасть в режим загрузчика можно на выключенном телефоне, зажав определенную комбинацию клавиш. Опять же на примере Samsung, это одновременное зажатие клавиш питания, увеличения громкости и кнопки Home. После включения клавиши не отпускать до появления диалогового меню, в котором вам для продолжения предложат нажать клавишу увеличения громкости.

У смартфонов других производителей сервис KNOX отсутствует, и проверить факт прошивки так просто не выйдет. Однако сам режим загрузчика все равно может поведать о многом.

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

Для того, чтобы проверить матрицу, необходимо зайти в тестовое меню, набрав в номеронабирателе комбинацию *#0*#. В открывшемся меню находим пункт sub key, кликаем по нему и затем нажимаем клавишу увеличения громкости. Откроется серое поле, на котором можно посмотреть, есть ли дефекты матрицы и цветопередачи.

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

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

Еще один способ — использование специального тестера.

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

Еще один интересный способ подойдет для устройств на базе Android 7.

Чтобы им воспользоваться, необходимо установить один из файловых менеджеров, имеющих доступ к корневой папке, например, Root Explorer, Solid Explorer, ES-проводник.

Затем перейти по пути: Sys/class/power supply/battery

Найти в этой дирректории файлы fg_fullcapnom и fg_cycle, и открыть их для просмотра любым текстовым редактором.

Fg_ fullcapnom даст нам значение остаточной емкости АКБ в мАч, которое необходимо умножить на два.

Fg_cycle покажет количество циклов зарядки.

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

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

Заключение

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

Источник