Как стать автором
Обновить

Современные Android-устройства достаточно безопасны и вот почему

Время на прочтение4 мин
Количество просмотров15K
Всего голосов 29: ↑24 и ↓5+19
Комментарии29

Комментарии 29

НЛО прилетело и опубликовало эту надпись здесь
В Linux наличие прав суперпользователя не лишает вас возможности использовать безопасную загрузку. В Android получение этих прав в подавляющем большинстве случаев требует разблокированный загрузчик, что создаёт дополнительные возможности для атаки при наличии у злоумышленника физического доступа к устройству (банально протроянить системный раздел, который в Android не шифруется). С заблокированным загрузчиком такой сценарий не прокатит — он откажется загружать

Реальность такой атаки на конкретного человека — другой вопрос.
дополнительные возможности для атаки при наличии у злоумышленника физического доступа
вот только в 99,9% это не злоумышленник, а юзер, купивший устройство за свои деньги. А злоумышленник, да при физическом доступе, подпаяется в конце концов куда-нить и всё сдампит с потрохами, от физического доступа защита — сейф.
Если у пользователя включено шифрование данных и защита при загрузке (запрос пароля), то всё, что сдампит злоумышленник — зашифрованные данные, которые он может пытаться расшифровать до тепловой смерти Вселенной.
НЛО прилетело и опубликовало эту надпись здесь
Как раз брутфорс очень затруднён. Если скачать зашифрованный раздел из флеш-памяти устройства, то не получится перебирать пароли без состояния Keymaster/Strongbox, которое должно быть неизвлекаемым. А перебирать полное пространство ключей будет слишком дорого.
банально протроянить системный раздел, который в Android не шифруется

он не шифруется, но он защищен dm-verity. Окей, на разлоченном устройстве перепаковываем boot image, и отключаем проверку в fstab. И… все равно не можем полноценно писать в system потому что ФС дедуплицирована, и измененный блок оказывается сразу во многих файлах. Посмотрите на Magisk, как он организует персистентность. Совсем не записью в /system, в него уже много лет никьо не пишет.

Вы правы, но это уже нюансы, можно и в /boot встроиться, как тот же Magisk. Суть в том, что открывается возможность подсунуть недоверенный исполняемый код.

А с Linux на традиционном десктопе такой не провернёшь — SecureBoot защищает.
А с Linux на традиционном десктопе такой не провернёшь — SecureBoot защищает.
вы правда используете у себя на десктопе SecureBoot с Linux, и шифруете все диски целиком?

на рабочем ПК — да

Всё, что вы перечислили, кроме Linux (но в ближайшие годы и это будет исправлено — сегодня появилась надежда, что ПО, которое пока намертво привязывает меня к Windows, сможет работать в Linux).

А так, да: SecureBoot и оба накопителя зашифрованы BitLocker, необходимая для расшифровки информация частично хранится в модуле TPM, частично в моей памяти.

Часть телефонов(например последние пиксили) позволяют использовать свой ключ для подписи(записав его в vbmeta и залочив загрузчик). В терминологии гугла это yellow уровень безопасности.
https://source.android.com/security/verifiedboot/boot-flow

Дело в том что ключей таких не один. И используются они для разных целей.
Одних только secure boot PK_HASH в современных Qualcomm аж три штуки. А приём с vbmeta влияет только на «хвост» доверенной загрузки, начиная с ядра андроида. (т.е. для частей, которые и так считаются недоверенными). Например подписать так XBL не получится, даже несекурную его часть.
>> А с Linux на традиционном десктопе такой не провернёшь — SecureBoot защищает.

SecureBoot активирован на всех телефонах давным давно.
Читаем внимательно «Окей, на разлоченном устройстве» — pазлочка здесь отключение SecureBoot для ядра ОС. Подчеркну, что весь остальной SecureBoot остаётся активным. И отключить его невозможно.

Кроме того хочу заметить, что в отличие от десктопа, на телефонах High Level OS/Rich OS (HLOS) aka Android имеет самые лоховские привилегии. И в модели безопасности считается априори недоверенной. Она всецелом опирается на уже существующие сервисы. Которые могут, например, самостоятельно раутить видеотрафик от камеры или же рисовать на экране, в отрыве от Linux ядра, и оно туда доступ иметь не будет.

До загрузки HLOS запускается целая кипа других компонентов (TrustZone, SecureMonitor, Hypervisor, RPM и т.д.). Причём даже UEFI загрузчик концептуально разделён на 2 части, одна из которых считается недоверенной (та, которая грузит HLOS).

Некоторые компоненты запускаются из HLOS но с проверкой firmware через SecureMode, через их собственный PBL на собственном процессоре, с аппартной изоляцией памяти от основного процессора. Например модем (в нём вся беспроводная связь сегодня, включая WiFi и BT). Отключить проверку таких компонент не получится. А для самых критических не поможет даже замена процессора/прошивание своего вендорского ключа. К ним не имеет доступ даже производитель телефонов.
Он опасен для производителей- с рутом пользователь может удалять навязчивые сервисы, улучшая производительность девайса и освобождая память.
лубянка негодуЭ
В любом случае, нужно всегда помнить о том, какому программному обеспечению следует доверять, а какому — нет. На любой платформе.

Спорный вопрос, ведь устанавливая платные приложения, рассчитываешь на то, что они уже безопасны для устройства.

800 посаженных на прошлой неделе мафиози лайкнули ваш пост.

Согласен. Я даже своему, собственноручно написанному, софту не не вполне доверяю
Но она связана с недостаточно жёсткой политикой Google на платформе.

Как по мне политика наоборот чрезмерно жесткая. Что у гугла что у яблока. Хорошо пока у андроида сохраняется возможность ПО не из магазинов ставить.
Для яблока есть Enterprise билды, которые так же можно ставить «откуда угодно» и если пользователь согласен доверять этому разработчику.

"электронный предохранитель" aka e-fuse, fprom естт не только у самсунга. у qualcomm они пережигаютмя с незапамятных времён при анлоке (2013 или даже раньше). Просто эта информация использовалась только как дигностическая, в сервиснвх центрах. Ну и заодно при первом анлоке стирались DRM ключи, понижая уповень widevine. С новыми версиями Google safety net приложения смогут получать неподделываемую информацию о состоянии устройства (разблокировано сейчас, было ли разблокировно хоть однажды). Неизвестно еще к чему это приведет. Рут однозначно перестанет быть скрываемым. Но вот если условный макдональдс откадется принимать заказ с такого устойства — эо будет весело.

Верифицировання загрузка


Опечатка

Спасибо!
Больше всего добивает практика вендоров прошить неудаляемые аппликации, типа фейсбука итд.
Вот зачем мне нужен рут, а то у жены папка «неудаляемое *****» висит

Убрать этот мусор можно и без рута — через pm uninstall -k --user 0, что локально деинсталлирует любые приложения (даже системные).

Всё описанное в статье — это как раз пример небезопасности. Это сложность. Это катастрофическая сложность во имя ничего. Те, кто писали игры на восьмиразрядных микроконтроллерах PIC для VGA мониторов меня поймут.

Да, про микроконтроллеры здесь несколько притянуто за уши, но ведь очевидно, для чего всё это. Для того, чтобы одиночным разработчикам было сложно получить доступ куда не нужно, а определённым группам лиц чтобы это сделать было бы просто.

А ещё для того, чтобы Гугл безнаказанно качал терабайты данных из пользователей, а сторонние приложения в правах были бы ограничены.

Если бы цель была — именно безопасность пользователей — всё было бы просто. Именно просто, с большой буквы. На столько просто, чтобы проверить всё мог один человек за не боле чем год. И доступ был бы, с небольшими ограничениями чуть ли не везде.

Вообще идеал — это ОС весом в пятьсот — семьсот килобайт максимум, обеспечивающая именно функции ОС, базовые — память, потоки, базовое взаимодействие с устройствами, файловая система. И всё это открытое. А то, что называется «Андройдом» крутиться как приложение.

И никаких board support package, всё простое и открытое. Да, процессор без этих сложных конвейеров с предсказаниями, да, с производительностью в три раза ниже за ту же энергию, но простой, понятный, и открытый.

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

Хотите реальный тест? Есть устройство. Первая атака. Нужно провести атаку с полным извлечением данных за десять минут доступа к устройству плюс время на перекачивание данных. Вторая атака. Нужно удалённо захватить полное управление устройством, в том числе писать и читать везде. За любую из этих атак — награда — от десяти миллиардов долларов и выше. (Да, я написал именно про десять миллиардов долларов). Если Гугл например не готов предложить такие деньги за атаку — вся эта якобы безопасность ничего, абсолютно ничего не стоит. Это всё — лишь пустой трёп внутри и около гугла.
>И никаких board support package, всё простое и открытое. Да, процессор без этих сложных конвейеров с предсказаниями, да, с производительностью в три раза ниже за ту же энергию, но простой, понятный, и открытый.

Да если современное железо упростить скорость и энергоэффективность только лучше станет
гладко было на бумаге да запутались в овраге.

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