Amd platform security processor что это в биосе lenovo
Перейти к содержимому

Amd platform security processor что это в биосе lenovo

  • автор:

О безопасности UEFI, часть заключительная

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

Если вам интересно, чем безопасности прошивки могут помочь STM , SGX и PSP — жду вас под катом.

Желая показать бунтарский дух и наплевательство на традиции, ссылки на предыдущие части не даю — сами ищите их там.

Часть седьмая. Технологии будущего

Несмотря на то, что все описываемые далее технологии уже давно представлены официально, рассказывать о них я все равно буду как о возможностях завтрашнего дня, по весьма прозаической причине — даже в такой быстроразвивающейся среде как UEFI от представления какой-то технологии до ее внедрения могут пройти годы (достаточно вспомнить PFAT , появившуюся еще в Haswell, но не внедренную толком до сих пор).

Про SGX и STM я уже упоминал в конце третьей части, поэтому начну рассказ с PSP, которым теперь без вариантов комплектуются все новые AMD APU.

AMD Platform Security Processor

Наблюдая за успехами Intel Management Engine, которым последние 5 лет оборудован каждый чипсет и SoC Intel, в AMD тоже решили не отставать от прогресса и встроить в свои SoC’и чего-нибудь эдакого.

Еще бы — хочется иметь аппаратный корень доверия, хочется нормальный генератор случайных чисел, хочется криптоускоритель и эмулятор TPM 2.0, в общем — много всего хочется, и реализовать это все не трудно — купи IP Core у какого-нибудь поставщика, напиши к нему прошивку и навесь на него побольше системных функций, чтобы пользователь твоей платформы даже не вздумал отключить то, за что столько денег уплочено.

В итоге в качестве IP Core купили ядро ARM Cortex-A5 с поддержкой технологии TrustZone, для эмуляции TPM 2.0 приобрели у Trustonic код TEE , остальное реализовали сами и представили получившийся SoC-внутри-SoC’а в 2013 году на очередном UEFI Plugfest.


Оригинальная схема PSP, про эмуляцию TPM речи тогда еще не шло.

Для обеспечения безопасности UEFI этот самый PSP предоставляет следующее: подсистему HVB, внутреннее хранилище для S3 BootScript, эмулятор TPM для реализации Measured Boot, генератор случайных чисел и ускоритель криптографических операций.

Hardware Validated Boot

Про эту технологию я уже рассказывал в первой части, теперь расскажу более подробно. Суть ее простая — PSP получает управление до старта BSP и проверяет, чтобы содержимое второй стадии его прошивки и стартового кода не было изменено, в случае успеха BSP стартует с ResetVector’а и машина загружается как обычно, а в случае неудачи пользователю показывают код ошибки на POST-кодере, а BSP крутит мертвый цикл до hard reset’а, после которого все повторяется заново.

HVB, таким образом, является аппаратным корнем доверия для системы, но защищает эта технология только PEI-том, проверка же всего остального — на совести авторов прошивки.


Оригинальная схема AMD HVB

По умолчанию HVB отключен на всех платформах и для включения необходима достаточно нетривиальное его конфигурирование, поэтому я пока и сам не испытывал технологию на практике (хотя непосредственно работаю с прошивками для второго поколения процессоров с PSP), и машин с включенным HVB на открытом рынке не видел.

Integrated TPM 2.0

К релизу Windows 10 рабочая группа TCG подготовила интересное нововведение: вместо использовавшегося ранее интерфейса TIS для взаимодействия с модулями TPM теперь можно использовать вызовы ACPI, что позволяет производителям процессоров реализовать TPM не на внешнем чипе, а прямо в чипсете, да еще и половину реализации сделать программной. Такое решение имеет как преимущества (заменить чипсет сложнее, чем чип TPM в корпусе SSOP-28), так и недостатки (vendor lock-in), но реализовали его на данный момент и Intel (в Skylake) и AMD (в APU с PSP). Стандарт TPM 2.0 поддерживается обоими решениями не целиком, а только настолько, чтобы система со встроенным TPM могла использовать BitLocker и получить сертификат Windows 10 Ready. Тем не менее, теперь полку пользователей TPM однозначно прибудет. Вместе с встроенным TPM появились также аппаратный ГСЧ и криптоускоритель, которые, при желании, можно использовать отдельно.

Secure S3 BootScript Storage

Еще одна фишка PSP — встроенный NVRAM, в котором можно безопасно хранить какие-то пользовательские данные. На данный момент AMD сохраняет туда S3 BootScript, что хорошо защищает систему от атак на него. При этом немного страдает время выхода из S3, но лишние 50-100 мс ради безопасности вполне можно терпеть.

К сожалению, у AMD с открытой документацией на PSP очень грустно, поэтому дать полезных ссылок не могу, все, что мог рассказать без нарушения NDA — уже рассказал.

Intel Software Guard Extensions

Вернемся теперь к технологиям Intel. Об SGX начали говорить около года назад, но для конечного пользователя она стала доступна всего несколько недель назад, когда Intel включила ее для процессоров Skylake в очередном обновлении микрокода. SGX — это новый набор инструкций, позволяющих приложениям создавать т.н. «анклавы», т.е. регионы памяти для кода и данных, аппаратно защищенные от доступа извне, даже если этот доступ производится из более привилегированных режимов исполнения вроде ring 0 и SMM.

Технология достаточно сложная для понимания и использования (почти 200 страниц Programming Reference), но потенциально очень мощная, поэтому Intel начала заниматься ее продвижением.


Принципиальная схема работы SGX, один из более 200 слайдов вот этой презентации, она же в виде 80-минутного видео.

Intel называет SGX «обратной песочницей», т.е вместо того, чтобы пытаться изолировать потенциально вредоносное или недоверенное ПО, при помощи SGX программа может изолировать себя от всего остального мира. Идея сходна с ARM TrustZone, но если у ARM мир делится на обычный и доверенный и они выполняются на разных ядрах, взаимодействуя только через вызов инструкции SMC , то у Intel ядро одно и то же, зато память делится обычную и безопасную:


Безопасный анклав посреди обычной памяти.

Мое отношение к этой технологии пока еще не сформировалось — я ее просто еще не пробовал, т.к. не работаю над Skylake в данный момент. Тем не менее, стараюсь не отставать от прогресса слишком уж сильно, поэтому читаю краем уха все, что пишут про SGX, к примеру:
Портал об SGX на сайте Intel.
Обзорная лекция об SGX с сайта Дармштадтского Технического Университета.
Обзорная статья NccGroup с кучей интересных ссылок.
Открытая платформа для написания своего кода для SGX.
И вообще, весь раздел про SGX на firmwaresecury.com.

Intel SMI Transfer Monitor

Вторая технология Intel, о которой я уже упоминал — STM. Первые упоминания о нем датированы 2009 годом, и после 6 лет разработки технология наконец-то была представлена в августе 2015. Суть ее простая: вместо диспетчера SMM в SMRAM запускается гипервизор, и все обработчики SMI выполняются в виртуализованном окружении, что позволяет запретить им вредоносные действия вроде изменения данных в памяти ядра и тому подобные.


Слайд из презентации STM на IDF2015.

Технология позволяет значительно уменьшить как «поверхность атаки» на обработчики SMM, так и разрушительность последствий взлома обработчиков SMI. К примеру, запретив доступ к MMIO чипсета для всех обработчиков, кроме используемого для обновления прошивки, можно защитить ее от остальных обработчиков, путь даже они взломаны атакующим и он имеет возможность выполнить в них произвольный код.
Самое главное преимущество — неприхотливость, для работы STM нужны только включенные VT-x/AMDV и правильные настройки уровней доступа. На данный момент предварительная поддержка STM реализована в EDK2 только для тестовой платы MinnowBoard Max, но в ближайшие полгода-год IBV адаптируют ее для своих платформ, и взлома SMM можно будет опасаться гораздо меньше. Понятно, что бесплатной безопасности не бывает, и STM вносит дополнительную сложность в итак не самый простой процесс инициализации SMM, плюс обработка SMI занимает больше времени (страшнее, на самом деле, то, что оно занимает еще более неопределенное время, опять страдают пользователи жестких ОСРВ), плюс виртуализацию незнающий пользователь платформы может отключить и STM не получится использовать в таких условиях. Тем не менее, я потыкал в STM веткой на MinnowBoard и могу сказать: чем скорее IBV внедрят её — тем лучше.

Заключение

Ну вот и подошел к концу этот цикл статей, надеюсь читателю было интересно.
Технологии развиваются быстро, и если завтра появится какая-то прорывная технология (или найдут зияющую дыру в существующих) — постараюсь о них написать.

В следующей статье будем укрощать SecureBoot — сгенерируем свои ключ PK и KEK, а параноики смогут запретить загрузку любых вещей, не подписанных их ключами. Спасибо за внимание.

Что такое AMD PSP и как он работает в вашем процессоре

Нет не то AMD выпустила консоль PSP. Это аббревиатуры AMD Платформа Безопасность процессор , также известная как AMD Secure Technology, и это безопасная среда выполнения, которую AMD интегрировала в свои процессоры. С 2013 , как только Intel делает со своей системой CSE. В этой статье мы расскажем вам почему эта система есть и как это работает в вашем процессоре AMD, и почему это важно перед лицом участившихся уязвимости .

По мере развития технологий становится все легче находить уязвимости и, следовательно, все труднее защищаться от них, особенно когда мы говорим о процессорах, «мозге» ПК. По этой причине и в попытке минимизировать риски и избежать проблем AMD создала собственную среду безопасности под названием AMD PSP или AMD Secure Technology, которая была интегрирована во все процессоры AMD и APU с 2013 года.

Что такое AMD PSP и как она работает

Что такое AMD PSP (процессор безопасности платформы)?

Как мы уже объясняли, PSP — это не аббревиатура от PlayStation Portable (который также, но не относится к AMD), но, в данном случае, процессор безопасности платформы, который также официально известен как Технология AMD Secure or Технология AMD Secure , Это механизм, интегрированный на аппаратном уровне в свои процессоры, который обеспечивает безопасную среду при выполнении любого типа приложения, чтобы предотвратить выполнение вредоносного программного обеспечения, которое может повредить оборудование или вызвать утечки информации .

Please enable JavaScript

Как мы уже упоминали ранее, эта технология работает аналогично Intel CSE, но имеет огромное различие, а именно в случае AMD он работает на аппаратном уровне а не уровень программного обеспечения. Согласно определению AMD, «Создается безопасная среда, которая разделяет ЦП в два «виртуальных мира», позволяющих выполнять самые деликатные задачи на этом защищенном процессоре, в то время как остальные выполняются в «мировом» стандарте. Это помогает обеспечить безопасное хранение и обработку конфиденциальных данных и надежных приложений, а также защитить целостность и конфиденциальность ключевых ресурсов. «

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

Этот маленький процессор внутри процессора имеет свой собственный ROM и SRAM Память изолированы от остальных системы, чтобы избежать любого типа атаки или утечки информации, содержащейся в нем. Кроме того, согласно AMD, он имеет встроенный сопроцессор для шифрования данных в соответствии с алгоритмами всех видов (они перечислены на рисунке выше).

Это предотвращает все уязвимости?

Точно нет. Фактически, в сентябре 2017 года аналитик безопасности Google сообщил об уязвимости в самой системе AMD PSP, в результате которой злоумышленник может получить доступ к паролям, сертификатам и другой конфиденциальной системной информации с помощью собственной системы безопасности AMD. Хорошая часть заключается в том, что AMD быстро исправила эту проблему простым обновлением прошивки.

В марте 2018 года израильская охранная компания допросила архитектуру AMD Zen (используемую в процессорах Ryzen, EPYC, Ryzen Pro и Ryzen Mobile), которая утверждала, что им удалось «внедрить» вредоносное ПО в саму систему AMD. PSP, это снова было исправлено AMD через обновление прошивки.

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

Процессор безопасности платформы AMD — AMD Platform Security Processor

Процессор AMD Platform Security ( PSP ), официально известный как AMD Secure Technology , является доверенной средой выполнения подсистемы включен примерно с 2013 годом в AMD микропроцессоры. Согласно руководству разработчика AMD, подсистема «отвечает за создание, мониторинг и поддержание среды безопасности», а «ее функции включают управление процессом загрузки, инициализацию различных механизмов, связанных с безопасностью, а также мониторинг системы на предмет любых подозрительных действий или событий и реализацию соответствующий ответ «. Критики опасаются, что его можно использовать как бэкдор, и это представляет угрозу безопасности. AMD отклонила запросы на открытие исходного кода кода, работающего на PSP.

PSP похож на Intel Management Engine для процессоров Intel.

СОДЕРЖАНИЕ

Подробности

Сама PSP представляет собой ядро ARM с расширением TrustZone, которое вставляется в кристалл основного процессора в качестве сопроцессора . В 2019 году группа безопасности из Берлина обнаружила, что проприетарная прошивка для PSP, подписанная AMD, распространяется через обычные файлы изображений UEFI (код, который загружает операционную систему), и поэтому ее можно легко проанализировать. Используя несколько рукописных инструментов на основе Python, они обнаружили, что прошивка PSP образа содержит приложение, напоминающее целую микрооперационную систему. Исследование флеш-чипа материнской платы ноутбука Lenovo ThinkPad A285 (хранящего прошивку UEFI) показало, что само ядро ​​PSP (как устройство) запускается перед основным процессором и что процесс загрузки его прошивки начинается непосредственно перед загрузкой базового UEFI. Они обнаружили, что микропрограмма запускается внутри той же системной памяти, что и приложения пользователя, с неограниченным доступом к ней (включая MMIO ), что вызывает опасения по поводу безопасности данных.

История безопасности

В сентябре 2017 года исследователь безопасности Google Сфир Коэн сообщил об уязвимости в подсистеме PSP для AMD, которая может позволить злоумышленнику получить доступ к паролям, сертификатам и другой конфиденциальной информации; Ходили слухи, что патч станет доступен поставщикам в декабре 2017 года.

В марте 2018 года израильская компания по ИТ-безопасности сообщила о нескольких предположительно серьезных недостатках, связанных с PSP, в процессорах AMD с архитектурой Zen ( EPYC , Ryzen , Ryzen Pro и Ryzen Mobile), которые могут позволить вредоносному ПО запускаться и получать доступ к конфиденциальной информации. AMD объявила об обновлении прошивки для устранения этих недостатков. Их достоверность с технической точки зрения была подтверждена независимыми экспертами по безопасности, которые рассмотрели раскрытие информации, хотя высокие риски, заявленные CTS Labs, были отклонены, что привело к утверждениям, что недостатки были опубликованы с целью манипулирования акциями .

AMD PSB or Platform Secure Boot on CPU: what is it for

It is much more profitable for computer manufacturers to sell an entire computer than to update it with parts from different brands, that is an undeniable fact and that is why most pre-built computers carry artificial limitations so that you are tied to a specific brand.

If we add to this that AMD for many years has been the ugly duckling for the different computer manufacturers and has had to fight very hard to get certain major brands to use their CPUs and those of Intel. So, it is clear that they have had to make some assignment in order to benefit the interests of their partners. One of the most controversial is the Platform Secure Boot or PSBwhich has served manufacturers such as Dell or Lenovo to tie the Ryzen, Threadripper and EPYC CPUs of the company led by Lisa Su to their hardware exclusively.

How does the manufacturers’ interest in tying you to their platform relate to AMD’s boot protection system? Well, let us explain it to you.

What is the AMD PSB?

Within BIOS UEFI is stored in flash memory on the motherboard, which since it is non-volatile RAM is addressed as if it were part of main memory. There are times that even with all the protection measures, malicious software can inject code into the firmware and perform an unauthorized update. Let’s not forget that the boot process establishes the location of certain public and private keys, used only by the security processor.

This means that if we do not use a TPM module in our PC with an AMD processor, then our confidential information, such as that related to the validation certificates that we use to interact with our bank, is stored via fTPM that is in the boot firmware, so additional security measures must be added to protect it.

The AMD Platform Secure Boot or PSB is one of the security measures built into the security processor inside AMD CPUs. Its usefulness is none other than to prevent the execution of a firmware related to the boot process that has been modified for malicious purposes. To do this, it creates a chain of trust that is responsible for authenticating all the firmware that the CPU accesses when we start the computer, including the BIOS and the startup of the operating system.

How does it work?

The PSB adds a higher level of security than the UEFI BIOS itself can provide, because it validates the contents of the memory that contains everything in the boot program. It does this through a chain of trust executed purely through hardware and without any external programs before the entire startup process is executed.

Platform Secure Boot

  • It performs the validation of the first block of the BIOS/UEFI, while doing this it sends a signal to the HOLD pin of the CPU so that it does not start up while it performs the verification.
  • It is responsible for verifying the content of the system ROM, this memory contains a backup copy of the basic functions of the BIOS and contains the entire boot process in an immutable way. Note that new BIOS feature updates are not related to system boot.
  • The security processor performs the comparison between the contents of the ROM and the firmware stored by the UEFI to check for any unauthorized changes. After doing this, it frees up the CPU so that the PC can be booted without problems.

The AMD Security Processor or Platform Security Processor is a small microcontroller with the highest privilege level for access to RAM and system peripherals. It is rated on an ARM Cortex-A5 and due to its low power consumption it can work with the computer in sleep or standby mode. So it will be the first processor to be put on the mark when we turn on our PC or take it out of one of the low consumption modes.

How do manufacturers abuse the AMD PSB?

In recent times we are seeing not only how there are movements towards integration, but in the midst of this process one of the bases that has defined the PC since its inception is being attacked: the capacity for expansion and configuration by the user. Most manufacturers have reached the dangerous conclusion that the fact that we can expand the capabilities of our PC affects the purchase of future products. Hence, the controversy of the right to repair has appeared in the face of the practices of different assemblers and hardware manufacturers.

Second Hand Server

Logically, one would expect this to affect only the consumer market. So the servers and data centers used by both the different public bodies and large companies that in theory should not be affected by it. However, AMD decided to create a program called PSB so that manufacturers and assemblers could sell their entire servers and not parts. The reason behind it? There is a second-hand market where EPYC processors already stripped from their servers are used for second-hand servers and data centers.

In other words, when a company discards its old server or data center, it does not throw it away, but sells its parts to recover part of the investment. This creates additional competition for server manufacturers. Since they may find it more attractive for their customers to build a server themselves and maintain it themselves, this abuses one of AMD’s EPYC security features to lock customers into a particular brand.

How do they make the lock?

In order to make an AMD EPYC server CPU only work with a specific model of motherboard and the second-hand server market, manufacturers abuse the boot certification process provided by the PSB to tie processors to their specific servers, which means we can’t pair certain processors except with certain server boards.

AMD PSB Manufacturers

Deadbolt PSB Manufacturers

To understand the whole process, we must start from the fact that when the manufacturer has finished creating the PC, whatever type it may be, a process is executed in which the boot image stored in the ROM is created and which will include two keys associated, both with a size of 4096 bits and SHA-384 encoding. The first one will be stored in the system ROM and will be reflected in the Boot Firmware. The second, on the other hand, will do so within the HSM, a hardware in charge of generating cryptographically encrypted keys and also decoding them.

Both keys are part of the Public Key Infrastructure and are used to sign the content of a certificate found in the boot ROM on the motherboard and which includes the identification code of the processor and the rest of the hardware elements. If one of these items is missing from the system, then the PSB will simply not allow the system to boot.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *