Безопасность периферийных процессоров на компьютерах Mac
Все современные компьютерные системы оснащаются множеством встроенных периферийных процессоров, которые предназначены для таких задач, как подключение к сети, работа с графикой, управление питанием или управление шинами данных. Эти периферийные процессоры часто имеют узкое назначение и гораздо меньшую мощность, чем у основного ЦП. Встроенные периферийные устройства, не имеющие достаточных средств защиты, становятся мишенью для злоумышленников, которые ищут легкие способы заражать операционную систему. Заразив прошивку периферийного процессора, злоумышленник может атаковать программное обеспечение в главном процессоре или напрямую перехватить конфиденциальные данные (например, устройство Ethernet может видеть содержимое незашифрованных пакетов).
По возможности Apple ведет работу по уменьшению количества необходимых периферийных процессоров и стремится не использовать структуры, для которых требуется прошивка. А если использование отдельных процессоров с собственной прошивкой является обязательным, принимаются меры, направленные на то, чтобы не позволить злоумышленнику удержаться в этом процессоре. Это обеспечивается одним из двух способов:
процессор запускается, чтобы загрузить проверенную прошивку из основного процессора при запуске;
периферийный процессор реализует собственную безопасную последовательность загрузки, проверяя свою прошивку при каждой загрузке Mac.
Apple проверяет реализации сторонних поставщиков и улучшает их решения, следя за тем, чтобы те обладали требуемыми свойствами, например:
обеспечение максимальной криптографической стойкости;
отказ от использования прошивок с известными недостатками;
отключение интерфейсов отладки;
подписание прошивки с помощью криптографических ключей, которые хранятся в аппаратных модулях системы безопасности (HSM), контролируемых Apple.
В последние годы Apple помогает некоторым внешним поставщикам внедрить те же структуры данных манифеста Image4, код проверки и инфраструктуру подписей, которые используются чипом Apple.
Если невозможно обойтись без хранилища и невозможно реализовать хранилище с безопасной загрузкой, система требует, чтобы перед помещением в постоянное хранилище обновления прошивки были подписаны с использованием криптографических методов и проверены.