산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 임베디드

프로세서를 신뢰할 수 있게 만드는 방법

최신 집적 회로(IC)는 엄청난 양의 데이터를 처리하고, 실시간으로 중요한 안전 결정을 내리고, 민감한 데이터를 보호하기 위한 계산 및 시스템 제어 기능을 제공합니다. ASIC(application-specific integrated circuit) 또는 FPGA(field-programmable gate array) SoC(system-on-chip)를 처음부터 설계하려면 엄청난 비용과 시간이 소요됩니다. 많은 중요한 기능이 제3자 지적 재산(IP)을 사용하여 구현됩니다. 예를 들어 프로세서 코어는 전문 조직에서 공급되며 하드웨어와 소프트웨어 간의 인터페이스를 정의하는 ISA(명령 세트 아키텍처)를 통해 유연하고 소프트웨어로 프로그래밍 가능한 기능을 제공합니다. 오픈 소스 프로세서 아키텍처는 이미 유동적인 위협 환경에 직면해 있는 시스템에서 더 깊은 조사와 엄격한 보안 보장을 위한 기회를 제공합니다. 이 문서에서는 RISC-V 오픈 소스 ISA를 기반으로 IP 및 SoC의 보안 보증을 제공하기 위한 접근 방식을 설명합니다.

캘리포니아 대학에서 발명하고 비영리 RISC-V 재단에서 관리하는 RISC-V는 광범위한 애플리케이션에 진정으로 실행 가능한 산업적 선택이 된 최초의 오픈 소스 ISA입니다.

RISC-V는 캘리포니아 대학에서 개발한 오픈 소스 ISA로 2015년에 설립된 300명 이상의 회원을 보유한 비영리 조직인 RISC-V Foundation에서 관리합니다. RISC-V는 최초의 오픈 소스 ISA입니다. 광범위한 애플리케이션을 위한 진정으로 실행 가능한 산업 선택. 도구, 소프트웨어 및 전문 지식의 에코시스템은 견고하며 꾸준히 성장하고 있습니다. 많은 개인과 조직에서 이미 RISC-V ISA를 구현하는 오픈 소스 하드웨어 IP를 기부했습니다. 예를 들어 OpenHW Group은 오랫동안 기다려온 대용량 칩용 오픈 소스 하드웨어, 특히 프로세서 코어의 전망을 실현하는 것을 목표로 하고 있습니다.

RISC-V의 부상에는 여러 가지 이유가 있습니다. 처음부터 맞춤형 확장성을 염두에 두고 구축된 RISC-V는 특정 워크로드에 대해 새로운 수준의 하드웨어 최적화를 허용합니다. 무어의 법칙은 둔화되고 있으며 반도체 제조 공정의 기술 발전이 더 이상 제공할 수 없는 수준의 성능 향상을 유지하려면 맞춤화가 중요합니다. 또한 RISC-V 아키텍처는 라이선스 비용과 로열티가 없으므로 더 많은 회사에서 혁신적이고 저렴한 제품을 개발할 수 있습니다. 예를 들어 IoT 및 인공 지능 기능을 갖춘 웨어러블 기기 분야에서 많은 일이 일어나고 있습니다.

SoC 통합자는 종종 오픈 소스 또는 타사 RISC-V 프로세서 IP를 사용합니다. 이러한 디자인과 관련 툴체인은 맞춤형 지침으로 보강될 수 있습니다. IP 및 추가 시스템 수준 테스트와 함께 제공되는 고품질 검증 환경은 해당 IP에 심각한 버그가 없다는 확신을 줄 수 있습니다. 불행히도 많은 응용 프로그램의 경우 이것으로 충분하지 않으며 고려해야 할 다른 심각한 위험이 있습니다.

취약점 및 트로이 목마

전통적으로 전자 시스템의 보안 취약성은 시스템 수준 및 소프트웨어 문제와 관련되어 있습니다. 보다 최근에는 하드웨어 IP, 특히 프로세서가 주요 관심사가 되었습니다(그림 1 참조). 프로세서 구현은 파이프라인 기반 마이크로아키텍처를 사용하며 종종 성능 및 전력 최적화 기능을 포함합니다. 복잡성은 기능적 버그뿐 아니라 보안 취약성까지 놓칠 위험을 높입니다. 2018년 초 Meltdown 및 Spectre 공격을 발견한 보안 연구원은 프로세서의 성능 최적화 기능이 악의적인 목적으로 의도하지 않은 방식으로 사용될 수 있음을 보여주었습니다. 그 이후로 하이엔드 및 로우엔드 프로세서 모두에서 더 많은 취약점이 발견되었습니다. 사이드 채널 및 일시적인 실행 공격은 보안 영역을 침해하고 악의적인 애플리케이션이 기밀 데이터를 누출하거나 시스템을 제어할 수도 있습니다. 또한 소프트웨어와 달리 하드웨어 문제는 무선 업데이트로 쉽게 복구할 수 없습니다. 소프트웨어를 통해 하드웨어 문제를 해결하면 종종 심각한 성능 저하가 발생합니다.

RISC-V 아키텍처에는 보안 임베디드 시스템의 구현을 지원하는 많은 기능이 있습니다. 권한 사양은 예를 들어 4가지 권한 모드(머신, 수퍼바이저, 하이퍼바이저 및 사용자)를 정의합니다. 암호화 확장과 같이 비준 과정에 있는 사용자 지정 지침 및 ISA 확장은 추가 보안 기능을 제공합니다. 설계자는 여러 보안 엔클레이브를 구현하여 애플리케이션을 격리하고 민감한 데이터의 누출을 방지할 수 있습니다. 그러나 RTL 마이크로 아키텍처 기능은 여전히 ​​보안 취약성을 유발할 수 있습니다. 이러한 위험은 ISA 수준에서 완전히 해결될 수 없습니다. 탐색 중인 새로운 접근 방식은 확장 ISA(aISA)를 사용하여 마이크로 아키텍처 수준에서 명령어 실행 측면을 정의하고 예를 들어 ISA 수준에서 볼 수 없는 버퍼 또는 레지스터의 상태를 제어하는 ​​것입니다. RTL 기능 버그는 여전히 이러한 모든 보안 기능을 손상시킬 수 있습니다.

위험 가능성은 낮지만 심각도가 훨씬 더 높은 것은 RISC-V 코어에 악성 논리 또는 하드웨어 트로이 목마가 존재한다는 것입니다. 하드웨어 트로이 목마는 의도적으로 은밀하게 설계된 논리 기능으로, 공격자에게만 알려진 매우 드문 상황에서 활성화됩니다. 시스템이 대상 사용 사례에서 작동하는 동안 발생하지 않을 특정 데이터 및 제어 이벤트 시퀀스는 트로이 목마 논리를 트리거하여 결과적으로 손상된 페이로드를 전달하고, 예를 들어 비밀을 누출하거나 시스템 동작을 심각하게 손상시킵니다. 오픈 소스 또는 타사 RISC-V 코어를 사용하는 SoC 통합은 더 이상 이 위험을 무시할 수 없습니다.

프로세서가 해야 할 일을 하도록 하는 것은 어렵지만 하지 말아야 할 일을 하지 않도록 하는 것은 여전히 ​​해결되지 않은 훨씬 더 어려운 작업입니다. 데이터 개인 정보 보호가 가장 중요한 안전이 중요한 시스템 및 시스템에는 보안 취약성 및 트로이 목마의 위험을 해결하는 효율적인 고품질 솔루션이 필요합니다.


그림 1:CVE-MITRE 데이터베이스는 2015년에 6488개의 취약점을 기록했으며 이 중 43%는 소프트웨어 지원 하드웨어 취약점으로 분류될 수 있습니다. 2018년과 2019년에 연구자들은 Meltdown 및 Spectre, Foreshadow, ZombieLoad, RIDL 및 Fallout을 비롯한 프로세서의 수많은 취약점을 발견하고 보고했습니다. (출처:DARPA 및 OneSpin)

스마트 하드웨어 보증

RISC-V IP의 신뢰와 보안을 보장하려면 주로 IP 사용 사례를 대상으로 하는 기능적 정확성 접근 방식을 보완하는 혁신적이고 효율적인 기술 솔루션이 필요합니다(그림 2 참조). IP 제공업체는 최첨단 신뢰 및 보안 검증 프로세스를 적용할 책임이 있는 반면, IP 통합업체는 IP 구현 세부 정보에 대한 심층적인 지식 없이 신속하게 배포할 수 있는 독립적인 보증 솔루션에 액세스할 수 있어야 합니다.

형식적 방법은 하드웨어 기능을 철저하게 분석하고 IP 또는 SoC가 SystemVerilog 주장에서 종종 포착되는 예상 동작과 정확히 일치한다는 증거를 제공할 수 있습니다. 상용 모델 검사기를 사용한 하드웨어 형식 검증은 지난 10년 동안 널리 채택되었습니다. 일반적으로 IP 제공업체와 SoC 통합업체에는 공식 검증 전문가가 있어 기능적 버그를 놓치는 위험을 최소화합니다. 잘 정의된 공식 확인 작업은 을 통해 자동화할 수 있지만 , 일반적으로 주장에서 IP의 예상 동작을 포착하려면 상당한 엔지니어링 노력이 필요합니다. 또한 충분한 주장이 작성되었다는 보장도 없습니다. 문서화되지 않은 기능 또는 주장 세트의 의도하지 않은 공백으로 인해 IP 기능이 확인되지 않을 수 있습니다.

RISC-V의 오픈 소스 특성으로 인해 사전 패키지된 독립 보증 솔루션을 개발할 수 있습니다. 예를 들어 OneSpin의 RISC-V 무결성 검증 솔루션은 다양한 마이크로아키텍처에 적용할 수 있습니다. 여기에는 확장 가능하고 사용자 지정 지침을 수용할 수 있는 RISC-V ISA 및 권한 있는 ISA 모델이 포함됩니다. 이 솔루션의 중요한 측면은 OneSpin의 GapFreeVerification™ 프로세스를 기반으로 한다는 것입니다. 이 프로세스는 RISC-V ISA를 모델링하는 일련의 주장이 완전하고 공백이 없다는 엄격한 증거를 제공합니다. 이 측면은 하드웨어 트로이 목마 또는 문서화되지 않은 논리의 탐지가 중요한 목표일 때 가장 중요합니다. 이 솔루션을 통해 RISC-V 및 RTL 구현에 대한 제한된 전문 지식을 가진 SoC 통합자는 IP의 품질과 신뢰성에 대한 확신을 얻을 수 있습니다. IP 개발자는 릴리스 전에 보안 취약점 및 기능 버그를 감지하는 데 사용할 수 있습니다.


그림 2:기능적 정확성 검증은 프로세서 구현이 지정된 대로 작동하고 최종 사용자의 요구 사항을 충족한다는 확신을 제공합니다. 반면에 신뢰 및 보안 검증은 프로세서에 문서화되지 않은 기능, 예상치 못한 부채널, 하드웨어 트로이 목마 또는 악의적인 행위자가 악용할 수 있는 기타 취약점이 없다는 확신을 제공합니다. (출처:OneSpin)

효과가 있습니까?

이전 섹션에서 설명한 RISC-V 무결성 보증 프로세스는 여러 RTL 설계에 성공적으로 적용되었습니다. 예를 들어, 다양한 미 국방부 및 상업 부문 고객을 위해 시스템 및 프로세스 시스템을 신속하게 최적화, 보장 및 자동화하기 위해 혁신적인 솔루션을 통합하는 회사인 Edaptive Computing은 이 프로세스를 RocketCore에 적용했습니다. RocketCore는 39비트 가상 메모리 시스템을 갖춘 실리콘으로 검증된 오픈 소스 64비트 RISC-V 코어입니다. 나눗셈과 같은 긴 대기 시간 명령에 대해 순서가 맞지 않는 완료가 포함된 5단계 단일 문제 순서 파이프라인이 있습니다. 여기에는 분기 예측 및 명령 재생의 고급 기능이 포함됩니다.

RISC-V 무결성 검증 솔루션은 모든 명령, 권한 수준, 인터럽트 및 예외 메커니즘으로 설계에 적용되었으며 8가지 문제가 감지되었습니다(그림 3 참조). 그 중 3개에 대한 추가 정보는 아래에 보고됩니다.

디비전 코너 케이스 :나눗셈 명령어의 비순차적 완료와 관련된 깊은 코너 케이스 버그. 이 문제로 인해 나눗셈 연산을 사용하는 소프트웨어 프로그램이 잘못된 결과를 계산하고 시스템 오작동을 일으킬 수 있습니다. 이 문제는 드문 경우가 조합된 경우에만 나타나므로 이전의 확인 작업에서 누락된 것입니다.

불법 지시의 재생 :이것은 코너 케이스 버그가 아닙니다. 잘못된 명령을 재생하면 처리 주기가 낭비될 수 있지만 드문 경우에만 이러한 일이 발생하면 성능에 미치는 영향은 무시할 수 있습니다. 그러나 고려해야 할 다른 측면이 있습니다. 명령어 재생으로 인해 불필요한 메모리 요청이 발생할 수 있습니다. 이러한 요청에는 부채널 공격에 활용될 수 있는 부작용이 있을 수 있습니다. 결과적으로 이러한 행동을 제거하거나 명확하게 이해하고 문서화해야 합니다.

문서화되지 않은 지침 :코어를 중지하는 CEASE라는 문서화되지 않은 비표준 명령이 감지되었습니다. 실제로 RISC-V RocketCore는 해서는 안 되는 일을 할 수 있습니다. 문서화되지 않은 숨겨진 기능은 최종 애플리케이션과 관련이 없는 것으로 간주되는 사용 사례와 관련된 경우에도 신뢰와 보안이 우려되는 경우 허용되지 않습니다.

RocketCore 사례 연구는 트로이 목마가 없는 신뢰할 수 있는 IC용 RISC-V 프로세서 IP의 완전한 형식 검증이라는 제목의 GOMACTech 2019 문서에 자세히 나와 있습니다. 사본을 얻으려면 onespin.com/resources/white-papers를 방문하십시오.


그림 3:OneSpin의 RISC-V 무결성 검증 솔루션에서 감지하고 GitHub RocketCore 프로젝트에서 보고된 문제 목록. (출처:OneSpin)

다음은 무엇입니까?

이 기사에서 제시하는 RISC-V 보증 프로세스는 보안에 영향을 미칠 수 있는 시나리오를 탐지하고, 얼마나 희귀하고 은밀한지 상관없이 프로세서의 동작에 영향을 미치는 문서화되지 않은 기능 및 하드웨어 트로이 목마를 체계적으로 공개합니다. 그러나 부채널은 체계적으로 탐지되지 않습니다. 모든 잠재적인 부채널을 철저히 탐지하려면 적절한 기술을 갖춘 전용 솔루션이 필요합니다. 이 문제를 해결하는 프로토타입이 이미 있습니다. 자세한 내용은 onespin.com/resources/technical-articles를 방문하고 EE Times 기사 내장 프로세서에 대한 부채널 공격을 읽어보십시오.

프로세서 코어는 임베디드 시스템에서 중요한 IP입니다. 그러나 일반적인 SoC는 하드웨어 트로이 목마를 포함할 수 있는 다른 많은 IP를 통합합니다. RISC-V 코어와 달리 독립적인 신뢰 보증 솔루션은 쉽게 사용할 수 없습니다. 이 경우 모든 IP에 적용할 수 있는 자동화된 저노력 신뢰 평가 프로세스를 갖는 것이 중요합니다. 신뢰할 수 있는 IP 모델을 포함하지 않는 프로세스는 트로이 목마의 부재를 보장할 수 없습니다. 그러나 비정상적이고 의심스러운 코드 패턴과 알려진 트로이 목마 서명, 이후 개발 단계에서 악의적인 목적으로 악용될 수 있는 취약점을 식별할 수 있습니다. Hardware Assurance를 위한 자동화된 Pre-Silicon IP 신뢰성 평가라는 제목의 이 주제에 대한 문서 AEROSPACE Corporation과 OneSpin 엔지니어가 작성한 , GOMACTech 2020 컨퍼런스에서 발표될 예정입니다.


임베디드

  1. 데이터를 최대한 활용하는 방법
  2. 적절한 RISC-V 사용자 지정 지침으로 애플리케이션 가속화 가이드
  3. Arduino+Raspberry Pi 로봇 플랫폼을 만드는 방법
  4. 유리 섬유를 만드는 방법
  5. 공급망 데이터를 신뢰할 수 있게 만드는 방법
  6. Solidworks에서 장면 전환 애니메이션을 만드는 방법
  7. 프로토타입을 만드는 방법
  8. 유압 호스 교체 방법
  9. 종합적인 안전 프로그램을 작동시키는 방법
  10. 금속 선반 척을 만드는 방법