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

프로세서 설계의 신뢰성 확보: 안전하고 신뢰할 수 있는 IC를 위한 모범 사례

현대 집적회로(IC)는 방대한 데이터를 처리하고, 실시간으로 안전关键 의사결정을 내리며, 민감한 데이터를 보호하는 연산 및 시스템 제어 능력을 제공합니다. ASIC(주문형 반도체)나 FPGA SoC를 처음부터 설계하는 것은 비용과 시간이 지나치게 많이 듭니다. 많은 핵심 기능은 서드파티 IP(지적재산권)를 사용해 구현됩니다. 예를 들어 프로세서 코어는 전문 기관에서 공급받으며, ISA(명령어 집합 아키텍처)를 통해 하드웨어와 소프트웨어 간 인터페이스를 정의함으로써 유연하고 소프트웨어 프로그래밍 가능한 기능을 제공합니다. 오픈소스 프로세서 아키텍처는 이미 유동적인 위협 환경에 직면한 시스템에서 더 깊은 검토와 엄격한 보안 보증의 기회를 제공합니다. 이 글에서는 RISC-V 오픈소스 ISA를 기반으로 한 IP 및 SoC 보안 보증 접근법을 설명합니다.

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

RISC-V는 2015년 설립된 300개 이상의 회원을 보유한 비영리 단체 RISC-V 재단에서 관리하는 오픈소스 ISA입니다. RISC-V는 광범위한 애플리케이션에 진정으로 실용적인 산업적 선택지가 된 최초의 오픈소스 ISA입니다. 도구, 소프트웨어, 전문 지식의 생태계가 견고하고 지속적으로 성장하고 있습니다. 많은 개인과 조직이 이미 RISC-V ISA를 구현한 오픈소스 하드웨어 IP를 기증했습니다. 예를 들어 OpenHW Group은 대량 생산 칩을 위한 오픈소스 하드웨어, 특히 프로세서 코어의 오랜 염원을 현실화하는 것을 목표로 합니다.

RISC-V의 부상에는 여러 이유가 있습니다. 처음부터 커스텀 확장을 염두에 두고 설계되어 특정 워크로드에 대한 하드웨어 최적화의 새로운 차원을 열었습니다. 무어의 법칙이 둔화되면서, 반도체 제조 공정의 기술적 발전만으로는 더 이상 제공할 수 없는 성능 향상을 유지하려면 커스터마이징이 필수적입니다. 또한 RISC-V 아키텍처는 라이선스 비용과 로열티가 없어 더 많은 기업이 혁신적이고 합리적인 가격의 제품을 개발할 수 있게 합니다. 예를 들어 AI 기능을 갖춘 IoT 및 웨어러블 디바이스 분야에서 많은 일이 일어나고 있습니다.

SoC 통합자는 종종 오픈소스나 서드파티 RISC-V 프로세서 IP를 사용합니다. 이러한 설계와 관련 툴체인은 커스텀 명령어로 확장할 수 있습니다. IP와 함께 제공되는 고품질 검증 환경과 추가 시스템 레벨 테스트는 IP에 치명적 버그가 없음을 어느 정도 확신하게 해줍니다. 불행히도 많은 애플리케이션에서 이는 충분하지 않으며, 고려해야 할 다른 심각한 위험이 존재합니다.

취약점과 트로이목마

전통적으로 전자 시스템의 보안 취약점은 시스템 레벨 및 소프트웨어 이슈와 연관되어 왔습니다. 최근에는 하드웨어 IP, 특히 프로세서도 핵심 우려 사항이 되었습니다(그림 1 참조). 프로세서 구현은 파이프라인 기반 마이크로아키텍처를 사용하며 성능과 전력 최적화 기능을 포함하는 경우가 많습니다. 복잡성 증가는 기능 버그뿐만 아니라 보안 취약점 누락 위험도 높입니다. 2018년 초 멜트다운과 스펙터 공격을 발견한 보안 연구자들은 프로세서의 성능 최적화 기능이 의도치 않은 방식으로 악용될 수 있음을 입증했습니다. 이후 하이엔드와 로엔드 프로세서 모두에서 더 많은 취약점이 발견되었습니다. 사이드 채널과 트랜지언트 실행 공격은 보안 엔클레이브를 침해해 악성 애플리케이션이 기밀 데이터를 유출하거나 시스템 제어권을 탈취할 수 있게 합니다. 소프트웨어와 달리 하드웨어 이슈는 무선 업데이트로 쉽게 해결할 수 없습니다. 소프트웨어로 하드웨어 이슈를 해결하려 하면 심각한 성능 저하를 초래하는 경우가 많습니다.

RISC-V 아키텍처에는 안전한 임베디드 시스템 구현을 지원하는 많은 기능이 있습니다. 예를 들어 권한 명세는 머신, 슈퍼바이저, 하이퍼바이저, 사용자 네 가지 권한 모드를 정의합니다. 비준 과정 중인 커스텀 명령어와 ISA 확장(암호화 확장 등)은 추가 보안 기능을 제공합니다. 설계자는 여러 보안 엔클레이브를 구현해 애플리케이션을 격리하고 민감한 데이터 유출을 방지할 수 있습니다. 그러나 RTL 마이크로아키텍처 기능은 여전히 보안 취약점을 초래할 수 있습니다. 이러한 위험은 ISA 레벨에서 완전히 해결할 수 없습니다. 현재 탐구 중인 새로운 접근법은 증강 ISA(aISA)를 사용해 마이크로아키텍처 레벨에서 명령어 실행 측면을 정의하고, 예를 들어 ISA 레벨에서 보이지 않는 버퍼나 레지스터 상태를 제어하는 것입니다. RTL 기능 버그도 여전히 이러한 모든 보안 기능을 무력화할 수 있습니다.

발생 가능성은 낮지만 심각도는 훨씬 높은 위험은 RISC-V 코어에 악성 로직이나 하드웨어 트로이목마가 존재하는 것입니다. 하드웨어 트로이목마는 공격자만 아는 매우 드문 상황에서 활성화되도록 은밀하게 설계된 로직 기능입니다. 시스템이 대상 유스케이스에서 작동하는 동안 발생하지 않을 특정 데이터와 제어 이벤트 시퀀스가 트로이목마 로직을 트리거하고, 이는 비밀 유출이나 시스템 동작의 치명적 손상 등 해로운 페이로드를 전달합니다. 오픈소스나 서드파티 RISC-V 코어를 사용하는 SoC 통합은 더 이상 이 위험을 무시할 수 없습니다.

프로세서가 해야 할 일을 하는지 확인하는 것은 어렵지만, 해서는 안 될 일을 하지 않는지 확인하는 것은 여전히 대부분 미해결 상태인 훨씬 더 어려운 과제입니다. 안전关键 시스템과 데이터 프라이버시 보호가 최우선인 시스템에는 보안 취약점과 트로이목마 위험을 해결하는 효율적이고 고품질의 솔루션이 필요합니다.

프로세서 설계의 신뢰성 확보: 안전하고 신뢰할 수 있는 IC를 위한 모범 사례
그림 1: CVE-MITRE 데이터베이스는 2015년 6,488개 취약점을 기록했으며, 이 중 43%가 소프트웨어 지원 하드웨어 취약점으로 분류됩니다. 2018년과 2019년에는 멜트다운, 스펙터, 포어섀도, 좀비로드, RIDL, 폴아웃 등 프로세서의 수많은 취약점이 발견되고 보고되었습니다. (출처: DARPA 및 OneSpin)

스마트 하드웨어 보증

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

형식적 방법은 하드웨어 기능을 철저히 분석해 IP나 SoC가 SystemVerilog 어설션으로 표현된 기대 동작과 정확히 일치함을 증명합니다. 상용 모델 체커를 사용한 하드웨어 형식 검증은 지난 10년간 널리 채택되었습니다. 일반적으로 IP 제공업체와 SoC 통합자는 형식 검증 전문가를 두고 기능 버그 누락 위험을 최소화하려 노력합니다. 특정 잘 정의된 형식 검증 작업은 '앱(Apps)'을 통해 자동화할 수 있지만, 일반적으로 IP의 기대 동작을 어설션으로 포착하는 데 상당한 엔지니어링 노력이 필요합니다. 또한 충분한 어설션이 작성되었는지 보장할 수 없습니다. 문서화되지 않은 기능이나 어설션 집합의 의도치 않은 공백은 검증되지 않은 IP 기능으로 이어질 수 있습니다.

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

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

실제 효과는?

이전 섹션에서 설명한 RISC-V 무결성 보증 프로세스는 여러 RTL 설계에 성공적으로 적용되었습니다. 예를 들어 Edaptive Computing은 이 프로세스를 RocketCore에 적용했습니다. RocketCore는 39비트 가상 메모리 시스템을 가진 오픈소스, 실리콘 검증된 64비트 RISC-V 코어입니다. 5단계, 단일 이슈, 인오더 파이프라인을 가지며 분기 같은 긴 레이턴시 명령어에 대해 아웃오브오더 완료를 지원합니다. 분기 예측과 명령어 리플레이 같은 고급 기능을 포함합니다.

RISC-V 무결성 검증 솔루션은 모든 명령어, 권한 레벨, 인터럽트, 예외 메커니즘을 포함해 설계에 적용되었고, 8가지 이슈가 탐지되었습니다(그림 3 참조). 그중 3가지에 대한 추가 정보는 아래와 같습니다.

나눗셈 코너 케이스

아웃오브오더 완료와 관련된 나눗셈 명령어의 깊은 코너 케이스 버그입니다. 이 이슈는 나눗셈 연산을 사용하는 소프트웨어 프로그램이 잘못된 결과를 계산하게 해 시스템 오동작을 유발할 수 있습니다. 이 이슈는 드문 상황의 조합에서만 나타나기 때문에 이전 검증 작업에서 놓쳤습니다.

불법 명령어 리플레이

이는 코너 케이스 버그가 아닙니다. 불법 명령어를 리플레이하면 처리 사이클이 낭비되지만, 드문 상황에서만 발생하면 성능 영향은 미미합니다. 그러나 고려해야 할 다른 측면이 있습니다. 명령어 리플레이는 불필요한 메모리 요청을 유발할 수 있습니다. 이러한 요청은 사이드채널 공격에 악용될 수 있는 부작용을 가질 수 있습니다. 결과적으로 이 동작은 제거되거나 명확히 이해되고 문서화되어야 합니다.

문서화되지 않은 명령어

코어를 정지시키는 CEASE라는 비표준 문서화되지 않은 명령어가 탐지되었습니다. 실제로 RISC-V RocketCore는 해서는 안 되는 일을 할 수 있었습니다. 문서화되지 않은 숨겨진 기능은 최종 애플리케이션과 관련 없다고 판단되는 유스케이스와 관련되어도 신뢰성과 보안이 우려될 때는 용납될 수 없습니다.

RocketCore 사례 연구는 Complete Formal Verification of RISC-V Processor IPs for Trojan-Free Trusted ICs라는 제목의 GOMACTech 2019 논문에서 자세히 다뤄집니다. 사본을 얻으려면 onespin.com/resources/white-papers를 방문하세요.

프로세서 설계의 신뢰성 확보: 안전하고 신뢰할 수 있는 IC를 위한 모범 사례
그림 3: OneSpin의 RISC-V 무결성 검증 솔루션으로 탐지되어 GitHub RocketCore 프로젝트에 보고된 이슈 목록. (출처: OneSpin)

다음 단계는?

이 글에서 제시한 RISC-V 보증 프로세스는 보안에 영향을 미칠 수 있는 시나리오를 탐지하고, 프로세서 동작에 영향을 미치는 문서화되지 않은 기능과 하드웨어 트로이목마를 드물고 은밀하더라도 체계적으로 드러냅니다. 그러나 사이드채널은 체계적으로 탐지되지 않습니다. 모든 잠재적 사이드채널의 철저한 탐지에는 적절한 기술을 갖춘 전용 솔루션이 필요합니다. 이미 이 과제를 해결하는 프로토타입이 있습니다. 자세한 내용은 onespin.com/resources/technical-articles를 방문해 EE Times 기사 Side-Channel Attacks on Embedded Processors를 읽어보세요.

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

임베디드

  1. IoT 데이터 잠금 해제: 비즈니스 룰 관리가 기업 가치를 주도하는 방식
  2. 맞춤형 RISC-V 커스텀 명령어로 애플리케이션 가속화하기
  3. 라즈베리 파이와 아두이노로 로봇 만들기: 단계별 통합 가이드
  4. 유리 섬유 생산 공정 완벽 가이드
  5. 신뢰할 수 있는 공급망 데이터 확보: 검증된 전략
  6. SolidWorks에서 프로그레시브 컷어웨이 애니메이션 만들기 - 단계별 튜토리얼
  7. 성공적인 프로토타입 구축: 신속 제품 개발을 위한 단계별 가이드
  8. 중장비 유압 호스 교체 10단계 실무 가이드
  9. 종합 안전 프로그램 성공 전략: 점검·도구·교육 3대 축과 유지보수·프로세스 개선 연계
  10. 금속 선반 척 직접 제작: 전문가 가이드