Weeve 증언 — 기계 경제를 보호하기위한 신뢰할 수있는 단계

(Gaurav Tiwari) (2020 년 5 월 6 일)

데이터는 석유 나 금과 같은 상품에 비유되었습니다. 이 연결된 세상에서 점점 더 많은 품질의 데이터가 공장에 배치 된 기계 또는 우리 집에 배치 된 다양한 장치의 현명한 의사 결정 프로세스를 강화할 것입니다. 그러나 앞으로 큰 도전이 있습니다. 어떻게 품질과 신뢰할 수있는 데이터를 확장 가능하고 자동화 된 방식으로 안전하게 제공 할 수 있습니까? 저가형 임베디드 장치의 업계 리더는 고급형 장치에서 널리 사용할 수있는 최상의 하드웨어 및 소프트웨어 보안 관행을 이러한 마이크로 컨트롤러 장치로 가져 오기 위해 열심히 노력하고 있습니다. 마이크로 컨트롤러의 제한된 리소스와 수많은 운영 체제 및 솔루션 스택으로 인해 임베디드 보안이 복잡하고 까다로워집니다.

데이터 보호 시나리오를 다음과 같이 분류 할 수 있습니다.

  • 미사용 데이터
  • 데이터 전송 중
  • 사용중인 데이터

Weeve는 마이크로 컨트롤러 기반 IoT 장치를위한 데이터 보안을위한 맞춤형 솔루션을 개발하고 있습니다.

  • 우리는 미사용 데이터 는 신뢰할 수있는 스토리지 솔루션을 사용하고 있습니다. 이 데이터에는 키와 같은 암호화 자산 또는 가상 동전과 같은 일부 디지털 자산이 포함됩니다.
  • 전송중인 데이터와 함께 우리는 저가형 장치에 맞게 설계된 MQTT 프로토콜을 기반으로 구축 된 가볍고 안전한 게시-구독 인 Weeve MQTTS를 개발했습니다. 이는 에지에서 더 많은 전력 리소스를 소비하는 TLS를 통한 MQTT의 대안입니다.
  • 사용중인 데이터 IoT 장치에서 실행되는 프로세스의 무결성을 다룹니다. 이 프로세스는 센서를 사용하여 유용한 데이터를 수집하거나 데이터 처리 단계를 실행하거나 액추에이터 장치의 경우 비즈니스 로직을 실행할 수도 있습니다. 프로세스의 소프트웨어 취약성을 감지하고 방지하는 것이 여기서 핵심입니다. 이 블로그 시리즈의 주제 인 실시간 제어 증명 애플리케이션 인 Weeve Testimony 를 개발 중입니다.

Weeve 증언을 소개하기 전에 해결중인 문제에 대한 기술적 배경과 솔루션에 사용 된 기술을 소개합니다.

C 프로그램 취약성 문제

거의 모든 저수준 임베디드 소프트웨어 및 펌웨어는 C 프로그래밍 언어로 개발됩니다. 의도 한 할당 된 메모리에 대한 적절한 경계 검사의 부족은 큰 보안 위협의 원인입니다. 버퍼 오버플로 외에도 C 프로그램은 정수 오버플로, 문자열 형식 취약성, 반환 주소 덮어 쓰기 등의 문제를 겪습니다. 또한 return-to-libc 및보다 일반적인 ROP (return-oriented programming) 는 다음과 같은 일반적인 완화 기술에 대해 매우 효과적입니다. 데이터 실행 방지 및 코드 서명. 정적 및 동적 애플리케이션 보안 도구를 사용한 적절한 코드 검토는 이러한 취약성의 심각도를 낮출 수 있습니다. 스택 스매싱 보호와 같은 도구 체인의 다른 기술은 ASLR (Address Space Layout Randomization)과 같은 런타임 동안 데이터 세그먼트에 대한 NX 비트 세트와 같은 하드웨어 자체에 존재합니다. 그러나이 프로그램은 여전히 ​​공정한 취약성 보장과는 거리가 멀다. 마이크로 컨트롤러 기반 저가형 장치의 맥락에서 ASLR의 가장 효과적인 완화 기술은 런타임 로더를 사용하지 않기위한 실용성 때문에 구현되지 않습니다.

C 프로그램 취약점 완화를위한 접근 방식

C 프로그램 취약점 문제를 해결하기 위해 프로그램에 항상 보안 결함이 있다고 가정합니다. 따라서 우리는 런타임에이를 감지하려고합니다. 우리는 실행중인 C 프로그램 (MCU 펌웨어)의 동작을 검사하고 증명 하는보다 권한있는 격리 된 보호 프로세스의 존재를 상상합니다. 가드 프로세스는 일반 펌웨어보다 격리되고 더 많은 권한이 있어야합니다. 일반 펌웨어와 동일한 프로세스 또는 유사한 권한 수준의 일부인 경우 해커는 일반 펌웨어의 동일한 취약성을 악용하여 가드 프로세스를 해킹 할 수 있기 때문입니다. . 또한 프로파일 링 도구를 사용하여 정상적인 펌웨어 실행의 모든 ​​유효한 실행 스냅 샷을 미리 알고 있고 이러한 스냅 샷에 대해 주기적으로 증언하는 원격 증명 엔터티가 필요합니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다