LINUX.ORG.RU

Существует ли одноплатник без TrustZone с открытым Uboot и поддержкой в mainline Linux kernel ?

 ,


1

2

На базе Cortex ядра v7 с TrustZone их немало, например, на чипах Allwinner.

Правильно ли я понимаю, что у плат с чипом ARM v7-A Cortex:

OrangePI - Allwinner Cortex A7 (ARM v7)

Cubitruck - Allwinner Cortex A7 (ARM v7)

Beaglebone Black - Texas Instruments Sitara - Cortex A8 (ARM v7)

открытые загрузчики и поддержка в mainline ядре Linux, т.е. на них можно установить любое последнее ядро, собрав его в кросскомпиляторе, например на Gentoo хосте? Т.е. единственный недостаток у них с точки зрения неизвестности - это наличие TrustZone?

А что с более старыми ядрами типа ARM9/ARM11 (v5/v6)?

https://ru.wikipedia.org/wiki/Список_архитектур_ARM



Последнее исправление: simoshina (всего исправлений: 2)

и Beaglebone Black открытые загрузчики и поддержка в mainline ядре Linux, т.е. на них можно установить любое последнее ядро, собрав его в кросскомпиляторе, например на Gentoo хосте?

да

Harald ★★★★★
()
Ответ на: комментарий от Harald

Какие еще варианты самых открытых в плане загрузчика, дров дисплея хотя бы без 3D?

simoshina
() автор топика

Т.е. единственный недостаток у них с точки зрения неизвестности - это наличие TrustZone

В чём недостаток-то?

anonymous
()
Ответ на: комментарий от anonymous

В чём недостаток-то?

Вдруг там троян сидит в TrustZone? Это как-то можно проконтролировать? Нельзя ли полностью отключить TrustZone аналогично IntelME?

simoshina
() автор топика

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

zloy_starper ★★★
()
Ответ на: комментарий от zloy_starper

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

В Libreboot это не так? Там все открыто?

simoshina
() автор топика
Ответ на: комментарий от simoshina

Вдруг там троян сидит в TrustZone? Это как-то можно проконтролировать? Нельзя ли полностью отключить TrustZone аналогично IntelME?

В IntelME трояны пихает интель.

В TrustZone трояны пихает програмизд. Если бутлодер и ядро тебе туда ничего не записало, то ничего там нет. Можешь сам затолкать. Ближайший аналог от интелья, афаик, Intel SGX.

anonymous
()
Ответ на: комментарий от zloy_starper

Получается, на ARM до uboot еще какое-то нечто запускается, которое инициализирует оборудование подобно X86 BIOS?

И проконтролировать потом, добавилось ли что-то в TrustZone на этом шаге будет затруднительно?

simoshina
() автор топика
Ответ на: комментарий от anonymous

А что безопаснее? i586 SMM или ARM v7 TrustZone? Над чем можно получить больше своего контроля? Отключить, например.

факт наличия SMM, именуемого иногда Ring −2, вызывает небеспочвенные опасения у специалистов касательно появления руткитов и прочих троянов, которые не будут брезговать добавлять в BIOS свой резидентный модуль — имея с этого профит в виде повышенной живучести и скрытности, так как выпилить их можно будет только перешивкой биоса, причем — только на программаторе. И совершенно ненапрасно, поскольку первый такой V2P был написан ещё в 1998-ом…

simoshina
() автор топика
Ответ на: комментарий от simoshina

Получается, на ARM до uboot еще какое-то нечто запускается, которое инициализирует оборудование подобно X86 BIOS?

Да, обычно есть какой-то блоб непосредственно от разработчика конкретной SoC. И их не открывают. Единственный полностью открытый загрузчик, известный мне, загрузчик Biakal-T1. Но там MIPS, и ядро из семейства, где ничего подобного TrustZone и всякой прочей виртуализации нет.

И проконтролировать потом, добавилось ли что-то в TrustZone на этом шаге будет затруднительно?

Ну не факт. Надо разбираться в тонкостях TrustZone. Не исключено, что она может быть так устроена, что это можно будет обнаружить как-то.

zloy_starper ★★★
()
Ответ на: комментарий от anonymous

https://habr.com/en/post/309618/

К счастью, SoC'и с включенным secure boot довольно редки и их стараются не продавать всем подряд. Поэтому у вас скорее есть возможность заменить trusted OS на свою. Правда, ещё остается ROM-код с которым вы не сможете сделать почти ничего. И если secure monitor зашит в ROM-код, то опять же у вас проблемы. Но, есть SoC'и, на которых вы сможете устанавливать свой secure monitor. Например — Renesas RCAR H3. Так что ещё не всё потеряно.

simoshina
() автор топика
Ответ на: комментарий от simoshina

Получается, на ARM до uboot еще какое-то нечто запускается, которое инициализирует оборудование подобно X86 BIOS?

И да и нет. Обычно это маленькая бутявка, которая инициализирует память и минимально необходимую периферию и грузит что-то с NVRAM/MMC/USB. На BIOS не тянет, но нечто запускается. В Allwinner'ах это BROM

Как правило, начальный загрузчик маленький и виден в адресном пространстве после загрузки. Для Allwinner - https://github.com/DrSchottky/Allwinner-BROM-dumper например, там же есть и дампы некоторых.

Так что проверить что оно там делает несложно.

И проконтролировать потом, добавилось ли что-то в TrustZone на этом шаге будет затруднительно?

В Allwinner это неперезаписываемая ROM, так что добавить туда что-либо физически невозможно.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от Stanson

В Allwinner это неперезаписываемая ROM, так что добавить туда что-либо физически невозможно.

А можно программатором вычитать содержимое этого БРОМа?

И убедиться, что оно совпадает с тем, что читает дампер и то, что по объему оно совсем не страшное, хотя кто мешает ему уже в рантайме вытянуть из интернета что-то более интересное и запустить в TrustedZone вместе с собой.

simoshina
() автор топика
Ответ на: комментарий от simoshina

А можно программатором вычитать содержимое этого БРОМа?

Нет. Оно на кристалле и к адресу-данным самого ROM снаружи вряд-ли можно добраться. Хотя, наверно, можно, например, через JTAG попытаться считать или отладку запустить.

И убедиться, что оно совпадает с тем, что читает дампер и то, что по объему оно совсем не страшное, хотя кто мешает ему уже в рантайме вытянуть из интернета что-то более интересное и запустить в TrustedZone вместе с собой.

Это масочный ROM, так что можно на кристалл в мелкоскоп посмотреть.

А то, что оно ничего из интернета не тянет убедиться можно и без этого - достаточно поснифиить при загрузке.

По крайней мере за Allwinner'ом такого никто не замечал.

Stanson ★★★★★
()
Ответ на: комментарий от anonymous

boot0 и boot1 - это что?

boot0 и boot1 это вместо u-boot очень укушенный бутлоадер - на MMC обычно лежат. Сырцы - https://github.com/allwinner-zh/bootloader/tree/master/basic_loader

Исходники к BROM чтоли есть?

В общем - да. https://github.com/hno/Allwinner-Info/tree/master/BROM

Stanson ★★★★★
()

Что-нибудь на Freescale. За новые не скажу, но оказывается imx6 поддерживается и оч хорошо.

Про Allwinner уже сказали, да.

a1batross ★★★★★
()
Последнее исправление: a1batross (всего исправлений: 1)
Ответ на: комментарий от a1batross

Что-нибудь на Freescale. За новые не скажу, но оказывается imx6 поддерживается и оч хорошо.

Про Allwinner уже сказали, да.

Так ведь это все с TrustZone на базе ARM v7?

А хотелось бы без TrustZone на базе ARM v5/v7.

simoshina
() автор топика
Ответ на: комментарий от simoshina

Ты бы лучше вот о чём подумал: в современных интернетах работает только одно правило приватности, «не отсвечивай!». Ты со своими четвёрками, нестандартными одноплатниками и эпатажными тредами - как маяк на фоне тёмной ночи.

Да, тобой уже однозначно заинтересовались. И да, твоя проблема - не в железе.

anonymous
()
Ответ на: комментарий от simoshina

TZ там пустой по умолчанию. При желании можешь написать что-нибудь сам.

a1batross ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.