Чем вооруженная доверенная ОС отличается от обычной ОС? - PullRequest
0 голосов
/ 30 апреля 2018

По этой ссылке я прохожу через архитектуру доверенной прошивки arm https://github.com/ARM-software/arm-trusted-firmware/blob/master/docs/firmware-design.rst, и я в замешательстве. У меня есть ниже вопросы: -

  1. Зачем нужна доверенная ОС?
  2. Чем она отличается от обычной мировой ОС?
  3. Если доверенная ОС безопасна, то почему бы не использовать доверенную ОС и удалить обычную ОС?
  4. от каких угроз защищенная ОС обеспечивает безопасность и как?
  5. Когда требуется переключение между доверенной ОС и обычным миром?

1 Ответ

0 голосов
/ 01 мая 2018

Я бы предложил вам сначала прочитать вступительную статью в Википедии , а затем уведомление о OP-TEE , который является реализацией, работающей на процессорах Cortex-A, которая теперь поддерживается Линаро, затем различные доступные документы здесь и, наконец, посмотрите на код OP-TEE .

Теперь довольно краткие ответы на ваши вопросы могут быть:

1) Для чего нужна доверенная ОС?
Необходимо предотвратить прямой доступ к ресурсам из универсальной ОС, с которой она работает одновременно, например, пользователем универсальной ОС, имеющим привилегии root.

2) Чем она отличается от обычной мировой ОС?
Он небольшой по конструкции и работает с более привилегированным доступом к оборудованию, чем универсальная операционная система. В системе ARMv8-a части доверенной ОС будут работать на уровне EL3, когда гипервизор будет работать на уровне EL2, а Linux - на уровне EL1.

3) Если доверенная ОС безопасна, то почему бы не использовать доверенную ОС и удалить обычную ОС?
Из-за его ограниченного охвата: его целью является не замена, скажем, Linux, который имеет миллионы строк рабочего / хорошо протестированного кода, а защита ресурсов от пользователей Linux при небольших затратах.

4) От каких угроз защищенная ОС обеспечивает безопасность и как?
От попыток пользователей универсальных ОС, как законных, так и нелегитимных (например, хакеры взломали универсальную ОС), получить доступ к ресурсам / услугам, защищенным доверенной ОС.

5) Когда требуется переключение между доверенной ОС и обычным миром?
Это требуется в то время, когда некоторому коду, работающему в контексте универсальной операционной системы, потребуется доступ к ресурсу, управляемому доверенной ОС, например, для расшифровки некоторого зашифрованного содержимого с помощью ключа, доступного только доверенной ОС. Это предполагает (я думаю) использование инструкции SMC.

Другим случаем такого переключения является случай, когда необходимо обработать аппаратное прерывание: EL3, EL2 и EL1 имеют свои собственные таблицы векторов прерываний, а прерывания, происходящие на EL2 или EL1, могут быть направлены на EL3, так что обработка прерываний может быть безопасно обработана в контексте Trusted Execution Environment - благодаря бесшабашному шуму за напоминание об этом.

...