Комментарии 24
Код Samsung Teegris закрыт, а по функционалу все Trustzone OS ± одинаковы. В статье в целом идёт речь о подходе к адаптации конкретного Open-Source решения с использованием стандартных механизмов, которые предоставляет ARM TrustZone.
QSEE не упомянута в статье. Ее интересной фишкой является поддержка сторонних реализаций TrustZone. Чем активно пользуется Самсунг в своих Qualcomm телефонах.
Действительно, реализаций TEE существует достаточно много, перечислять их все наверное нет особого смысла, так как статья в целом не обзорная по реализациям. Насчёт QSEE могу сказать, что по моим сведениям сейчас Qualcomm препятствует запуску сторонних реализаций на своих типах, позволяя разрабатывать только TA под QSEE. Third-party разработчикам от этого легче не становится, так как TA подписываются вендором смартфона, и сторонние TA вряд ли могут на это рассчитывать.
P.S. если есть информация про запуск именно сторонних реализаций самой TrustZone OS на современных чипах Qualcomm — буду рад если поделитесь ссылкой.
Странно что была упомянута Google Trusty, стоящая на горстке Хромобуков. А массовая QSEE, наверное даже самая массовая, учитывая телефоны Samsung на Qcom и устройства Qcom Iot — оказалась пропущенной.
>> сторонние TA вряд ли могут на это рассчитывать.
все вендоры SoC ограничивают доступ Secure World. А Qualcomm вообще наглухо закрыла даже возможность модификации SecureWorld (я сейчас про ОС и загрузку, не про ТА) всем, кроме себя. Даже производителям телефонов нельзя.
ТА поставляют небольшое количество производителей, и влезть в их список почти невозможно.
>> если есть информация про запуск
Сводим вместе:
— Qualcomm dualsigning (sdm835+) недвусмысленно говорит о том, что никакая другая TEE запущена быть не может.
— упоминание Trustonic в утёкших BSP. Вспоминаем что за TEE использовал самсунг до TeeGRIS.
— Прикидываем, сколько бы стоила Самсунгу поддержка их самодеяетельности (я про Knox/RKP) для двух разных TEE
— Думаем, почему Exynos не продаётся в US, не забываем про лицензии, CDMA, и в какой стране находится Qualcomm. Кто мог бы взвалить на себя реализацию и поддержку вложенной TEE, учитывая пред. пункты.
— Смотрим что за файлы лежат в прошивке самсунг для Qualcomm.
Я бы поспорил, что добавление защитных механизмов для ядра — это хорошая идея. Лучше упростите бекпортинг из mainline, и держите ядро всегда свежим. Гугл вот пришёл постепенно к этому мнению с их GKI.
Даже с ресурсами Samsung их RKP-поделие все эти годы успешно ломают (я лично обходил все ограничения на S8, позже другие товарищи обошли на S10/S20).
Кроме того, любой лишний код — это дополнительная поверхность атаки. Что наглядно продемонстрировали p0 в публикации «Mitigations are attack surface, too».
И никакие TEE не помогут вам с BootROM эксплоитами. Только вот железо вы не делаете, и на неуязвимый чип перейти не сможете.
PS: глянул я список телефонов. Беда-пичаль.
TEE — это не серебряная пуля. Только комплекс мер будет уменьшать риски, описанных вами угроз, в том числe аппаратно-программный secureboot.
Мы готовы поддержать доверенное железо партнёров, например работаем с отечественными silicon вендорами.
1) sailfish телефоны вычеркнуты из Авроры потому что у вас нет вендорских ключей? (а, стало быть, секуребут не включить) Например обе Xperia — самое интересное по железу, что у вас было.
2) Те, оба-два телефона, что доступны к покупке — вы получаете от китайских ODM с непрожжёными фьюзами? Или же они уже всё прожгли, и поделились с вами приватным ключом? (это очень важное различие!)
Ну, во-первых, Sailfish и Аврора как дистрибутивы различаются, и все дальше расходятся. Во-вторых, наши заказчики не готовы покупать дорогие телефоны Sony для персонала в поле (например, работник склада), во всяком случае пока более востребованы недорогие устройства с поддержкой. Некоторые модели производятся вообще в РФ и это не отверточная сборка — в СМИ были репортажи с линий, будет интересно, гляньте, около полугода назад. А по secureboot настолько большая тема, что лучше напишем статью на Хабр!
Смешно. Телефон на древнем msm8940 за 110 тысяч они покупать готовы, а Сони (которой сегодня тысяч 10 цена по железу) — дорого.
>> Некоторые модели производятся вообще в РФ и это не отверточная сборка
И они получаются дешевле китайских? (заказчики не готовы покупать дорогие). Не верю (ц)
>> СМИ были репортажи с линий, будет интересно, гляньте, около полугода назад.
где глянуть-то?
>> А по secureboot настолько большая тема, что лучше напишем статью на Хабр!
Меня не интересует статья. Достаточно коротких ответов да-да/нет-нет.
Если вы когда-либо занимались secureboot, то должны понимать почему «да-да/нет-нет» тут не работает: у разных аппаратных платформ разная модель корня доверия. Поэтому мы лучше напишем статью, чтобы был контекст.
Каких, например?
И как быть с Qualcomm и double-sign. Вам, по-факту, недоступны процессоры, архитектурно свежее 2016 года.
>> например работаем с отечественными silicon вендорами.
Хорошая шутка.
Даже последний PinePhone получился изрядным *****. Хотя там используются буржуйские более-менее современные компоненты.
В Pinephone используется long-term индастриал чип с 10-летним выпуском и этим он хорош
охотно верю
>> Все ли чипы являются мобильными -нет
тоже верно, скорее даже никакие не являются
>> В Pinephone используется long-term индастриал чип с 10-летним выпуском
Вы о Qualcomm в модеме или о Allwinner для HLOS?
В любом случае, нашим «аналогам» до них — как раком до луны, особенно до Qualcomm.
>> и этим он хорош
Не надо рассказывать мне сказок. У меня PinePhone есть в наличии. Самая жирная модель с 3Gb. Стоковая прошивка октября 2020. Полное ###но. Практически по всем пунктам (лень расписывать каждый). Да, концептуально он хорош. Да, возможно софтово всё решаемо. И может быть ещё через 1-3-5-10 лет разработчики допилят прошивку. Но по-факту, здесь и сейчас, на выходе имеем кусок чего-то, а не телефон.
С другой стороны, это честный телефон. По честной цене (1/10 от ваших телефонов), честно разработанный самостоятельно (без гос. поддержки), честно открытый — без вендор-локов. И без вранья про супер-безопасность.
Выложена версия 3.1.0.11, от 22 окт 2019,
тогда как актуальная у sailfish/aurora сегодня 3.4.0, от 13 окт 2020
Почему сертифицированная аврора имеет версию 3.2.2 (отстаёт от основной почти на год), и такой версии нет среди версий sailfish?
Почему бюллетень безопасности всего один, за сентябро-октябрь 2020. Очень короткий. А баги, закрытые в нём, датируются аж 2008 и 2017 годами(!!!). (посмотрел всего две, очень удивился датам)
Как только скачать исходники, а не целиком весь SDK? Вообще хотелось бы иметь GIT доступ в реальном времени, по-типу AOSP.
> Почему на сайте sailfish последний дроп исходников был аж полтора года назад?
Не знаю, это вопрос к другой компании
Sailfish и Аврора это разные дистрибутивы, у них есть общая история и есть некоторые общие компоненты опять же в силу истории, но релизные циклы разнятся, как и фичи/компоненты, как и процесс производства.
Именно поэтому, как вы верно заметили, есть Аврора 3.2.2. Актуальную информацию по релизам Авроры можно посмотреть на auroraos.ru. Мы будем развивать этот ресурс, и обновлять информацию, в том числе по CVE.
Далеко не все компоненты ОС Аврора являются открытыми. А вы хотели бы контрибьютить в компоненты? Что-то вложили в AOSP?
Но как так вышло, что сертификат безопасности ФСТЭК России №4220 вы получили 10.02.2020, а 13-летние баги стали исправлять спустя почти год?
>> Далеко не все компоненты ОС Аврора являются открытыми.
Всё что GPL и было публично выпущено — вы обязаны предоставить по запросу.
Кстати, пользуясь случаем, публично запрашиваю архивы исходников всех выпущенных Linux ядер для всех созданных устройств.
Опубликуйте, пожалуйста, ссылки для скачивания, в вашем ответе мне.
>> А вы хотели бы контрибьютить в компоненты?
Нет.
>> Что-то вложили в AOSP?
А вы?
Если я не ошибаюсь, то GPL требует предоставлять по запросу исходники только того и только тем, кто легально получил бинарники.
У меня есть и устройство, в полной комплектации. И все бинарники - я сделал полный EDL дамп.
С устройством, как я и предполагал, никакой копии не было приложено т- е.сотрудник ОМП тут рядом просто нагло врёт, (что и так было очевидно).
Где мне получить исходники ?
ЗЫ: уверен, или проигнорят, или начнут спекуляции насчёт законности приобретения. Купил за свои личные деньги. Ниоткуда не крал.
В AOSP лично я не котрибьютил, в Linux ядро контрибьютил, если вы лично про меня спрашивали.
Просто вы интересовались git, я думал вы разработчик и интересуетесь по существу.
Мне кажется вы упускаете важную деталь в GPL лицензии.
>> потом решили что не хватает спойлера, добавили спойлер
Точно добавили? А то вдруг он всегда там был… Это же легко проверяется.
>> а оказалось что спойлер бракованный, и эта партия спойлеров уже 13 лет как бракованная,
Угу может оторваться и убить кого-нибудь.
И не только спойлер. Ещё и руль 4 года бракованный, и тормоза. И бог ещё весть что, если копнуть по-серъёзному.
>> но он вам нужен, вы его починили и обновили тех. паспорт.
Обновили? И какой теперь номер сертификата?
>> Просто вы интересовались git, я думал вы разработчик и интересуетесь по существу.
Но задали-то вы другой вопрос. Нет, я не хочу разививать ваши компоненты. Да, я хочу посмотреть что и как у вас происходит.
>> Мне кажется вы упускаете важную деталь в GPL лицензии.
Верно. Вы можете заявить, что к каждому телефону прикладываете полную копию всех GPL исходников (п3.а). Это проверить для меня невозможно, и придётся «джентльменам верить на слово».
В то же время другие производители не жонглируют пунктами лиценции, а просто открывают код превентивно (Google, Sony, Samsung, Xiaomi, Nokia etc.), или же по-запросу (п.3.b). Даже ZTE, даже к своему прототипу, который использовался только для внутреннего тестирорования и никогда не поступал в розничную продажу. После первого же обращения выложила код ядра на GitHub. Не спрашивая никаких доказательств, что этот прототип действительно есть на руках (впрочем он был, и не один).
Защита ядра Linux из ARM Trustzone: как усилить Linux Kernel Runtime Guard и предотвращать последствия zero-day