Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial Internet of Things >> Встроенный

Обеспечение надежности процессорного дизайна: лучшие практики для безопасных и надежных IC

Современные интегральные схемы (IC) обеспечивают вычислительные и системно-контрольные возможности для обработки огромных объёмов данных, принятия safety-критических решений в реальном времени и защиты чувствительных данных. Разработка ASIC или FPGA SoC с нуля была бы запредельно дорогой и долгой. Многие критические функции реализуются через сторонние IP-блоки. Процессорные ядра, например, поставляются специализированными организациями и предоставляют гибкую программируемую функцию через свою ISA, определяющую интерфейс железа и софта. Открытые процессорные архитектуры дают возможность глубокого аудита и строгого обеспечения безопасности в системах, уже сталкивающихся с динамичной средой угроз. Статья описывает подход к обеспечению безопасности IP и SoC на базе открытой ISA RISC-V.

RISC-V: открытая ISA промышленного уровня

RISC-V — открытая ISA, изобретённая в UC Berkeley и управляемая некоммерческим фондом RISC-V Foundation (основан 2015 г., 300+ участников). Это первая открытая ISA, ставшая реально жизнеспособным промышленным выбором для широкого спектра приложений. Экосистема инструментов, софта и экспертизы надежна и растёт. Множество организаций уже внесли открытые HDL-реализации RISC-V. Группа OpenHW, например, нацелена на реализацию долгожданной перспективы открытого железа — особенно процессорных ядер — для высокообъёмных чипов.

Причины роста RISC-V множественны. Архитектура построена с нуля с расширяемостью в виду, позволяя новый уровень железной оптимизации под специфические нагрузки. Замедление закона Мура делает кастомизацию критичной для поддержания темпов производительности, которые процесс-технологии больше не дают. Отсутствие лицензионных отчислений позволяет большему числу компаний создавать инновационные доступные продукты — особенно в IoT и носимых устройствах с AI.

Риски использования сторонних и открытых RISC-V ядер

Интеграторы SoC часто используют открытые или сторонние RISC-V IP. Эти дизайны и тулчейны можно расширять кастомными инструкциями. Качественное верификационное окружение, поставляемое с IP, и дополнительное системное тестирование дают некоторую уверенность в отсутствии критических багов. К сожалению, для многих приложений этого недостаточно — существуют и другие серьёзные риски.

Уязвимости и трояны

Традиционно уязвимости в электронных системах ассоциировались с системным уровнем и софтом. Недавно аппаратные IP, особенно процессоры, стали центральной проблемой (см. рис. 1). Процессорные реализации используют конвейерные микроархитектуры и часто включают фичи оптимизации производительности и питания. Сложность повышает риск пропуска не только функциональных багов, но и уязвимостей безопасности. Исследователи, обнаружившие Meltdown и Spectre в 2018 г., показали, что фичи оптимизации в процессорах могут использоваться непредназначенным образом для вредоносных целей. С тех пор открыто множество уязвимостей в хай-энд и лоу-энд процессорах. Боковые каналы и атаки транзиентного исполнения могут пробить защищённые энклавы, позволяя вредоносным приложениям утекать конфиденциальные данные или даже захватывать контроль системы. И, в отличие от софта, железяные проблемы нельзя легко поправить OTA-обновлениями. Устранение железяной проблемы через софт часто вызывает тяжёлую деградацию производительности.

Архитектура RISC-V имеет фичи для безопасных встраиваемых систем: спека привилегий определяет четыре режима (machine, supervisor, hypervisor, user). Кастомные инструкции и расширения ISA в процессе ратификации (например, Cryptographic extension) добавляют возможности. Дизайнеры могут реализовывать множество защищённых энклавов для изоляции приложений и предотвращения утечек. Однако RTL-микроархитектурные фичи всё равно могут приводить к уязвимостям. Эти риски нельзя полностью решить на уровне ISA. Новый исследуемый подход — использование расширенной ISA (aISA) для определения аспектов исполнения инструкций на микроархитектурном уровне, например, управления состоянием буферов/регистров, невидимых на уровне ISA. RTL-функциональные баги всё равно могут компрометировать все эти фичи безопасности.

Менее вероятный, но с гораздо большей severность риск — наличие вредоносной логики или hardware trojans в RISC-V ядре. Hardware trojan — логическая функция, намеренно спроектированная как stealthy, активирующаяся в очень редких обстоятельствах, известных только атакующему. Специфическая последовательность данных и контрольных событий, не случающаяся в целевых use-case, триггерит троян, доставляющий вредоносную нагрузку: утечку секрета или критическое искажение поведения системы. SoC-интеграции с открытыми/сторонними RISC-V ядрами больше не могут игнорировать этот риск.

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

Обеспечение надежности процессорного дизайна: лучшие практики для безопасных и надежных IC
Рисунок 1: База CVE-MITRE зафиксировала 6488 уязвимостей в 2015 г., 43% — software-assisted hardware vulnerabilities. В 2018-2019 г. обнаружены Meltdown, Spectre, Foreshadow, ZombieLoad, RIDL, Fallout. (Источник: DARPA и OneSpin)

Умное Hardware Assurance

Обеспечение доверия и безопасности RISC-V IP требует инновационных эффективных технических решений, дополнительных к подходам функциональной корректности, в основном нацеленных на intended use cases IP (см. рис. 2). IP-вендоры отвечают за применение state-of-the-art процессов верификации доверия/безопасности, а интеграторы IP должны иметь доступ к независимым решениям assurance, быстро развёртываемым без глубокого знания деталей реализации IP.

Формальные методы могут исчерпывающе анализировать железные функции и доставлять доказательство точного соответствия IP/SoC ожидаемому поведению, часто зафиксированному в SystemVerilog assertions. Формальная верификация железа с коммерческими model checkers получила широкое распространение за десятилетие. Обычно у IP-вендоров и интеграторов SoC есть эксперты по формальной верификации, стремящиеся минимизировать риск пропуска функциональных багов. Хотя определённые формальные задачи можно автоматизировать через Apps, в общем случае требуются значительные инженерные усилия для захвата ожидаемого поведения IP в ассертах. Более того, нет гарантии, что написано достаточно ассертов. Недокументированные функции или непреднамеренные пробелы в наборе ассертов могут привести к неверифицированной функциональности IP.

Открытая природа RISC-V позволяет разработку предпакованных независимых решений assurance. Решение OneSpin RISC-V Integrity Verification, например, применимо к широкому спектру микроархитектур. Оно включает модели RISC-V ISA и привилегированной ISA, расширяемые и приспособляемые к кастомным инструкциям. Критический аспект — база на GapFreeVerification™ процессе OneSpin, доставляющем строгое доказательство полноты и безпроблемности набора ассертов, моделирующих RISC-V ISA. Этот аспект высь важности при цели детекции hardware trojans или недокументированной логики. Решение позволяет интеграторам SoC с ограниченной экспертизой в RISC-V и RTL под проверку получить уверенность в качестве и надежности IP. Разработчики IP могут использовать его для обнаружения слабостей безопасности и функциональных багов до релиза.

Обеспечение надежности процессорного дизайна: лучшие практики для безопасных и надежных IC
Рисунок 2: Верификация функциональной корректности даёт уверенность в соответствии спеке. Верификация доверия/безопасности — в отсутствии недокументированных функций, боковых каналов, троянов, эксплуатируемых злоумышленниками. (Источник: OneSpin)

Работает ли это?

Процесс assurance целостности RISC-V, описанный выше, успешно применён к множеству RTL-дизайнов. Edaptive Computing, интегрирующая инновационные решения для оптимизации, assurance и автоматизации систем систем для US DoD и коммерческих заказчиков, применила процесс к RocketCore. RocketCore — открытое, кремниально-проверенное 64-битное RISC-V ядро с 39-битной виртуальной памятью. Оно имеет 5-ступенчатый single-issue in-order конвейер с out-of-order завершением для инструкций с высокой латентностью (деление). Включает branch prediction и instruction replay.

RISC-V Integrity Verification Solution применялся к дизайну со всеми инструкциями, уровнями привилегий, прерываниями и механизмом исключений — обнаружено 8 проблем (см. рис. 3). Подробности по 3 из них ниже.

Corner-case деления

Глубокий corner-case баг, связанный с out-of-order завершением инструкции деления. Проблема могла заставить софт, использующий деление, вычислять неверные результаты и вести к системному мисбиhavior. Проблема появляется только при комбинации редких обстоятельств, поэтому предыдущие верификационные усилия её пропустили.

Реплей нелегальной инструкции

Это не corner-case баг. Реплей нелегальной инструкции тратит циклы, но если случается редко — производительность не страдает. Однако есть другие аспекты. Реплей может вызывать ненужные запросы к памяти. Они могут иметь побочные эффекты, эксплуатируемые в side-channel атаках. Следовательно, это поведение нужно либо устранить, либо чётко понять и задокументировать.

Недокументированная инструкция

Обнаружена недокументированная нестандартная инструкция CEASE, останавливающая ядро. Фактически RocketCore мог делать то, чего не должен был. Недокументированные скрытые функции неприемлемы, когда доверие и безопасность важны, даже если они относятся к use-case, считающимся нерелевантными для конечного приложения.

Кейс-стади RocketCore детально представлена в статье GOMACTech 2019 «Complete Formal Verification of RISC-V Processor IPs for Trojan-Free Trusted ICs». Копия на onespin.com/resources/white-papers.

Обеспечение надежности процессорного дизайна: лучшие практики для безопасных и надежных IC
Рисунок 3: Проблемы, найденные OneSpin RISC-V Integrity Verification Solutions, отчёт в GitHub RocketCore. (Источник: OneSpin)

Что дальше?

Представленный процесс assurance RISC-V детектирует сценарии, влияющие на безопасность, и систематически выявляет недокументированные функции и hardware trojans, влияющие на поведение процессора, как бы редкими и stealthy они ни были. Однако side-channels не детектируются системно. Исчерпывающее обнаружение всех потенциальных side-channels требует выделенного решения с соответствующей технологией. Уже есть прототипы, решающие этот вызов. Подробнее: onespin.com/resources/technical-articles и статья EE Times «Side-Channel Attacks on Embedded Processors».

Процессорные ядра — критические IP во встраиваемых системах. Но типичный SoC интегрирует многие другие IP, которые тоже могут содержать hardware trojans. В отличие от RISC-V ядер, независимые решения trust assurance могут быть недоступны. Здесь ценен был бы автоматизированный low-effort процесс trust assessment, применимый к любому IP. Процесс без trusted модели IP не может гарантировать отсутствие трояна. Однако можно идентифицировать необычные подозрительные паттерны кода, известные сигнатуры троянов и слабости, эксплуатируемые на поздних стадиях. Статья на эту тему «An Automated Pre-Silicon IP Trustworthiness Assessment for Hardware Assurance» от AEROSPACE Corporation и инженеров OneSpin будет представлена на GOMACTech 2020.

Встроенный

  1. Разблокировка IoT-данных: как Business Rules Management драйвит enterprise value
  2. Ускорьте приложения с адаптированными пользовательскими инструкциями RISC-V
  3. Создание робота на Arduino и Raspberry Pi: пошаговое руководство
  4. Полное руководство по производству стекловолокна
  5. Обеспечение надежных данных цепочки поставок: проверенная стратегия
  6. Создание анимации прогрессивного среза в SolidWorks — Пошаговый урок
  7. Создайте выигрывающий прототип: Пошаговое руководство для быстрой разработки продукта
  8. Пошаговое руководство по замене гидравлического шланга на тяжелом оборудовании
  9. Проверенные стратегии для работы комплексной программы безопасности
  10. Профессиональное руководство по изготовлению зажима для металлотокарного станка