
Комментарии 6
А вот ссылка на разбор всех решений, которые нам предложили коллеги на Хабре и не только для реализации клонирования: https://habr.com/ru/articles/1009826/
MDM таки оказался самый подходящий под нужды Мастерской. Но вдруг кому-то подойдет другой из перечисленных.
Используете ли вы Secure Enclave для хранения ключей «Адама» с привязкой к бинарнику? Понимаю, что Ваша команда из проверенных сотрудников, но всё равно угроза смещается с разработчика на администратора, владеющего «Адамом».
Следующая угроза, как мне видится,- это человеческий фактор и физический доступ к ABM-аккаунту: администратор может добавить в ABM устройство, которое не является новым Mac mini (например, подставное) или добавить устройство, но перенаправить его на свой MDM-сервер, а не на «Адама» (если он имеет доступ к настройкам MDM в ABM). Минимизировать можно наверное ведя логи, что подписи остаются, что устройство было добавлено именно в authorised ABM и именно с указанием вашего MDM. Чтобы логи не подделали нужно, чтобы каждая последующая строчка зависила от предыдущей (как в blockchain).
Если устройство удаляется из ABM, то оно теряет связь с «Адамом» и больше не получает обновлений конфигурации. Но что мешает злоумышленнику после удаления переустановить macOS и пройти активацию заново — уже без вашего MDM (поскольку ABM больше не привязано)? Получится «чистый» Mac, который можно обойти. Здесь получается, что физическая безопасность устройства на плечах его владельца.
На этапе активации новый Mac получает от Apple URL вашего MDM-сервера («Адама»). Предположим, злоумышленник смог подменить DNS или иным образом перенаправить трафик на свой сервер, который выдаёт себя за «Адама». Как новый Mac проверяет подлинность «Адама»? Если вы используете публичное TLS с пиннингом сертификата — это хорошо, но сертификат должен быть выпущен доверенным центром (или Apple). Если сертификат «Адама» самоподписанный, то при первом подключении устройство должно будет его принять (человек нажимает «доверять»). Или я невнимательно прочитал все статьи?
Парни из команды говорят, какие-то ответы в тексте есть, но вопросы хорошие, обещали ответить лично. Принесу их ответ в комменты.
А еще спрашивают - не хотите свои гипотезы по уязвимостям принести к нам на bug bounty MyBox? ;)
К сожалению я архитектуру Apple знаю только теоретически - macbook использую как обычный пользователь, т.к. слишком мало кейсов по кибербезопасности встречалось по жанной экосистеме. Единственная от меня польза в этом направлении - это разработка сценариев атаки на основе архитектурного описания экосистемы и описание решений по защите.
Слушайте, звучит очень любопытно. Как минимум 100% будем очень вас ждать, когда появится (а точно появится) еще задачка по организации защиты, экспертиза 100% чертовски ценная.
А вот и ответ лида продукта (не сокращали, как есть, так есть):
По пунктам:
Доверять одноме человеку при создании первого бокса, Адама, нельзя.
Создают Адам “коллегиально” недоверенные друг другу личности. Собрались с условным “пивом”, посмотрели что это верное железо (купленное у рандомных реселлеров), посмотрели что инсталлер верный (его хеш совпадает с хешом бинарника на кибериспытаниях), инсталлер на кибериспытаниях и его не взломали
Создали
В качестве подтверждения - подписали публичный ключ первого бокса, своими ключами.
Т.е. пользователь теперь будет доверять только тем боксам. Который был создан доверенным. Т.е. буквально зашиваем публичный ключ первого доверенного бокса в МП, чтобы подтвердить что цепочка подписей до него верная.
Далее АБМ, а точнее привязка МДМ сервера к АБМ. Она происходит также через ключи. Подделать АБМ нельзя. Если подсунуть другой “бокс” (который создан из тех же бинарников или похожих) - в нем не будет самого важного, подписи тех людей который подтверждали что всё хорошо.
Еще далее: привязать устройство к другому МДМ серверу нельзя (ну точнее там ограничение) и это ничего не даст с т.з. доступа к данным.
Сама установка: ABM через МДМ даёт невозможность подменить МДМ сервер (через ssl pinning) и гарантирует устанавливаемое ПО (его подменить нельзя в процессе, после скачивания и до распаковки/запуска)
Как проверяется валидность железа? через подпись эппл, т.н. Аттестат (ACME сервер + Attestation). На всех этапах адам видит что он взаимодействует с корректным железом, тем же самым. Если в процессе все прошло ОК - то “Адам” подписывает новый бокс. Пользователь может отследить цепочку подписей до доверенного корня.
Факт удаления устройства из АБМ - не влияет на уже установленное ПО, оно продолжает работать. Т.е. установка через МДМ нужна для доверенного процесса в который не могут вмешаться люди.
Клонирование устройства на Mac mini через ABM/MDM: что не так с решением и почему оно лучшее из возможного