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

IoT에서 임베디드 시스템을 보호하기 위한 6단계

LDRA의 Mark Pitchford

보안은 IoT(사물 인터넷)의 광범위한 임베디드 시스템에 대한 최우선 관심사입니다. LDRA의 Mark Pitchford가 침투하면 전력망, 발전, 제조, 자동차 시스템, 의료 기기, 건물 관리, 가스 펌프, 토스터 등에 묻힌 시스템이 심각한 위험에 빠질 수 있습니다. 보고합니다.

다행스럽게도 보안을 통해 "1온스의 예방은 1파운드의 치료 가치가 있다"는 오래된 격언은 확실히 사실이며 훨씬 더 새로운 "좌파 이동" 유행어의 기초입니다! 엔지니어링 예측은 나중에 반응 테스트보다 저렴한 비용으로 보안 시스템을 구축하는 데 도움이 됩니다. 사실 보안 소프트웨어를 구축하는 것은 기능적으로 안전한 애플리케이션을 구축하는 것과 많은 공통점이 있기 때문에 보안 소프트웨어 개발은 ​​기능적 안전 프로세스를 따르는 것에서 시작됩니다.

고품질 코드를 생성하고 임베디드 시스템의 보안을 개선하는 데 도움이 되는 다음 모범 사례를 고려하십시오.

1. 소프트웨어 개발 수명 주기에 보안 구축

기존의 보안 코드 검증은 대체로 반응적입니다. 코드는 비교적 느슨한 지침에 따라 개발된 다음 취약점을 식별하기 위해 테스트됩니다. 애자일 개발을 사용하든 기존 개발 수명 주기 모델을 사용하든 기본 제공 보안에 대한 보다 사전 예방적 접근 방식이 있습니다.

<노스크립트>

기존 개발에서는 요구 사항이 설계, 코딩(모델을 통해) 및 테스트로 흐릅니다. 애자일 개발을 사용하면 요구 사항, 디자인, 코드 및 테스트의 고유한 루프가 있는 각 계층에서 내부에서 외부로 요구 사항이 반복적으로 구축됩니다. 어느 방법을 사용하든 보안 요구 사항이 개발 프로세스의 필수적인 부분이 되도록 하면 마지막에 단순히 취약점을 찾는 것보다 훨씬 더 만족스러운 결과를 얻을 수 있습니다.

2. 양방향 추적성 보장

대부분의 기능 안전 표준은 요구 사항에서 설계, 코드 및 테스트에 이르는 모든 개발 단계 사이의 개발 단계 사이에 완전하고 철저한 적용 범위에 대한 양방향 추적 가능성 확인의 증거를 요구합니다. 이러한 투명성을 통해 요구 사항 변경 또는 실패한 테스트 사례의 영향을 영향 분석으로 평가한 다음 해결할 수 있습니다.

적절한 표준을 지속적으로 준수한다는 증거를 제시하기 위해 인공물을 자동으로 다시 생성할 수 있습니다. 보안이 가장 중요한 경우 양방향 추적 기능을 통해 중복 코드나 지정되지 않은 기능이 없고 여기에는 백도어 방법이 포함됩니다. 이러한 이점은 보안 시스템을 구축할 수 있는 능력을 높이기 위한 체계적인 개발의 가치를 강조합니다.

3. 보안 언어 하위 집합 선택

C 또는 C++로 개발할 때 소프트웨어 결함의 약 80%는 언어 구성의 20%를 잘못 사용했기 때문일 수 있습니다. 언어 하위 집합은 안전하지 않은 구성의 사용을 방지하거나 플래그를 지정하여 안전과 보안을 모두 향상합니다. 두 가지 인기 있는 코딩 표준인 MISRA C와 Carnegie Mellon SEI(Software Engineering Institute) CERT C는 개발자가 보안 코드를 생성하는 데 도움을 줍니다.

MISRA C 또는 CERT C를 적용하면 둘 다 적용되지 않은 경우보다 더 안전한 코드가 생성됩니다. 그러나 수동 프로세스가 복잡하고 오류가 발생하기 쉽기 때문에 이러한 지침을 수동으로 적용하려면 시간, 노력, 비용 및 아이러니하게도 품질 대가를 치러야 합니다. 비용을 줄이고 생산성을 향상시키려면 개발 조직에서 규정 준수 지원을 자동화해야 합니다.

4. 보안 중심 프로세스 표준 사용

보안 표준은 보안 개발 솔루션의 또 다른 부분을 제공하지만 보안 표준은 수십 년 동안 사용된 기능 안전 표준만큼 잘 개발되지 않고 시간 테스트를 거쳤습니다. 그러나 이는 산업별 보안 표준이 개발됨에 따라 변경될 것입니다.

<노스크립트>

예를 들어, 자동차 산업은 현재 사이버 공격의 표적이 되는 커넥티드 차량 문제를 완화하기 위해 ISO/SAE 21434 "도로 차량 사이버 보안 엔지니어링"을 개발하고 있습니다. SAE J3061 "Cyber-Physical Vehicle Systems를 위한 사이버 보안 가이드북"의 고급 지침 원칙보다 더 자세한 내용이 포함된 실질적인 문서에 대한 약속은 ISO/SAE 21434를 널리 기대하게 만듭니다.

5. 최대한 자동화

소프트웨어 개발 프로세스의 각 단계에서 자동화는 임베디드 시스템의 취약성을 줄이고 엄청난 시간과 비용을 절약합니다. 개발자는 요구 사항 도구(예:IBM Rational DOORS)에 연결하고 시뮬레이션 및 모델링 구성을 가져오고 이를 코드에 대해 테스트하여 요구 사항이 충족되었는지 여부, 누락된 항목 및 그렇지 않은 데드 코드가 있는 위치를 한 눈에 확인할 수 있습니다. 요구 사항을 충족합니다.

정적 분석 엔진은 코딩 표준과 기능 안전 및 보안 표준의 준수 여부를 확인할 수 있습니다. 자동화 및 보안 설계를 통해 침투 테스트와 같은 사후 테스트가 자리를 잡았지만 그 역할은 코드가 안전한지 확인하지 않고 코드가 안전한지 확인하는 것입니다.

6. 보안 소프트웨어 기반 선택

보안 임베디드 소프트웨어는 보안 플랫폼에서 실행되어야 하므로 애플리케이션이 공격을 받을 경우 다른 소프트웨어 구성 요소와 격리된 자체 사일로에서 실행됩니다("도메인 분리"). 자동화된 소프트웨어 테스트 및 검증 도구는 요구 사항 사양에서 설계 및 모델링, 코딩 및 문서화에 이르는 공통 개발 환경에 통합됩니다. 이를 통해 개발자는 친숙한 환경에서 시스템에 이미 지정된 도구를 사용하여 보안 시스템을 구축할 수 있습니다.

이 6가지 프로세스를 따르면 안전하고 신뢰할 수 있는 IoT용 임베디드 소프트웨어 개발에 대한 응집력 있는 접근 방식을 제공합니다.

저자는 LDRA의 Mark Pitchford입니다.

자세한 내용을 보려면 여기를 클릭하십시오:


사물 인터넷 기술

  1. 산업용 IoT 보안:퍼즐의 잃어버린 조각
  2. 산업용 IoT 보안으로 가는 길
  3. 산업용 IoT의 보안 취약점 해결
  4. 사이버 공격으로부터 IoT 보호
  5. IoT 위협 벡터 보호
  6. 기만을 통한 IoT 보안
  7. 협동 – IoT에 SD-WAN이 필요한 이유
  8. 네트워크 계층에서 애플리케이션 계층까지 IoT 보안
  9. IoT 세계에서 최고의 CISO를 고용하기 위한 4단계
  10. 글로벌 IoT 보안을 위한 3단계