한국의

언어 선택

EnglishDeutschFrançaisрусский한국의ItaliaNederlandespañolPortuguêsMagyarországDanskΕλλάδαpolskiPilipinoČeštinaTiếng ViệtMelayuMaoriSvenskaSuomiУкраїнаromânescSlovenija
> 메시지 > 기능 안전 및 사이버 보안을위한 컴파일러 도구 자격

기능 안전 및 사이버 보안을위한 컴파일러 도구 자격

2020 년 유엔 유럽 경제위원회는 유엔 경제위원회가 WP.29라고도하는 사이버 보안 및 사이버 보안 관리 시스템과 관련하여 차량 승인에 관한 통일 조항에 관한 규정을 발표했습니다.

유럽

WP.29는 ISO/SAE 21434 : 2021 도로 차량 -Cybersecurity Engineering 표준을 언급하지 않지만 OEM과 그 공급망 이이 표준을 준수 할 수 있다면 준수를 사용하여 준수 할 수 있습니다. WP.29 규정. ISO 사이버 보안 표준을 준수하면 OEM과 공급 업체가 책임으로부터 보호해야합니다.




컴파일러 자격

ISO 26262 표준은 소프트웨어 도구에 필요한 신뢰 수준을 결정하기위한 기준에 전념하고 기능적 안전 관련 소프트웨어 개발에 적합하다는 증거를 만들 수있는 도구 자격을 제공하는 방법을 제공합니다.

4 가지 방법은 소프트웨어 도구 자격이 있습니다 : 사용으로 인한 신뢰 증가; 개발 과정의 평가; 소프트웨어 도구의 검증; 안전 표준에 따른 개발.

더 높은 자동차 안전 무결성 수준 (ASIL)의 경우 후자의 두 가지 방법 만 적합합니다. 도구 유효성 검사는 소프트웨어 도구가 목적을 위해 지정된 요구 사항을 충족한다는 것을 증명하기 위해 측정을 사용하는 것을 의미합니다.

ISO 26262 도구 검증 요구 사항을 충족하기 위해 두 가지 다른 접근법이 사용됩니다. 일부 컴파일러 공급 업체는 도구 유효성 검사를 수행하고 적합성 평가 본문을 초대하여 도구와 안전 문서가 목적에 적합하다는 것을 증명합니다. 고객은 인증 된 컴파일러 도구 세트를 수신하며 안전 설명서의 지침을 적용하여 유스 케이스가 자격을 갖춘 사용 사례와 호환 될 수 있음을 보여줄 필요가 있습니다. 다른 공급 업체는 인증 가능한 (인증 된) 컴파일러 도구 세트와 지원 도구 및 문서화가 포함 된 도구 자격 방법론을 제공합니다.

도구 자격 방법론은 일반적으로 인증되었으며 고객은 도구 자격을 수행해야하며, 이는 다음과 같이 요약 할 수 있습니다.

* 도구로 만족할 요구 사항을 정의하기 위해 사용 사례 지정
* 해당 요구 사항을 확인하기 위해 적절한 테스트를 선택합니다
* 테스트 수행 및 테스트 결과 분석
* 안전 문서를 생성하고 안전 문서에서 지침을 적용합니다.
자격 방법론 학습 및 관련 툴링, 필요한 테스트 스위트 라이센스, 공구 검증 프로세스 수행, 인증 자와 상호 작용하고 테스트가 실패하면 어떻게 해야하는지와 같은이 접근법에는 숨겨진 비용이 있습니다.

컴파일러 자격

컴파일러는 프로그래머가 예측하지 않은 방식으로 프로그램의 동작을 수정 (최적화) 할 수 있습니다. 소프트웨어 개발자의 구조적 의도는 소스 프로그램의 최종 표현에 정확하게 묘사되지 않을 수 있으며 컴파일러는 소프트웨어의 보안에 영향을 줄 수 있습니다.

ISO 기능 안전 (FUSA) 표준과 달리 ISO 사이버 보안 표준 (ISO 21434 섹션 5.4.7 도구 관리)은 도구 자격 요건을 지정하지 않습니다. 사이버 보안 관련 소프트웨어 개발을위한 컴파일러 도구 세트에서 필요한 신뢰 수준을 결정하기위한 기준은 알려져 있지 않으며 사이버 보안 관련 기준이 충족되었음을 입증하는 방법이 지정되지 않았습니다.

ISO 표준에는 ISO 기능 안전 표준에 대한 참조가 포함되어 있습니다. ISO 26262 표준의 입증 된 도구 검증 방법은 사이버 보안 규정 준수 소프트웨어 개발에 사용되는 컴파일러 도구 세트를 적격하기에 적합합니다. 이 방법을 적용하려면 사이버 보안 관련 소프트웨어 개발을위한 도구 검증 기준을 설정해야합니다.

도구 검증

기능 안전에 대한 공구 검증 기준과 유사하게, 사이버 보안에 대한 도구 검증 기준은 소프트웨어 도구가 지정된 사이버 보안 요구 사항을 준수한다는 증거를 제공하기위한 측정으로 지정할 수 있습니다.

소프트웨어 도구 및 해당 행동에 의해 도입 될 수있는 사이버 보안 위험은 가능한 결과에 대한 정보와이를 피하거나 감지하기위한 조치로 분석해야합니다.

소프트웨어 도구의 변칙적 운영 조건에 대한 반응도 조사해야합니다.

National Cyber ​​Security FFRDC가 개발 한 MAE (Mission Assurance Engineering) 프로세스는 컴파일러 도구 세트의 사이버 보안 요구 사항을 지정하는 데 사용될 수 있습니다. 이 프로세스는 ISO 21434 15 장 위협 분석 및 위험 평가 방법과 호환됩니다. MAE 프로세스가 도구 공급 업체에 의해 수행되고 결과가 안전 및 사이버 보안 문서에 설명되어 있으면 도구 사용자가 도구 유효성 검사를 수행 할 필요가 없습니다.

도구 사용자는 지침을 적용한 후에도 남아있는 특정 사용 사례와 관련된 잔류 위험을 평가해야합니다.

도구 공급 업체는 MAE 프로세스를 사용하여 소프트웨어 도구의 비정상적인 작동 조건에 대한 반응을 분석해야합니다. 결과는 지침으로 번역되어 도구 안전 및 사이버 보안 매뉴얼에 포함됩니다. 도구 사용자는 제공된 지침을 구현하고 사용 사례의 잔여 위험을 평가해야합니다.

MAE 프로세스 (그림 1)는 미션 성취에 가장 중요한 사이버 자산을 식별하고 해당 자산에 대한 사이버 위협 및 관련 위험을 이해하고 공격을 방지 및/또는 싸우기위한 완화 조치를 선택하는 분석적 접근 방식을 제공합니다.

실패 모드 및 효과 분석 (FMEA) 및 THARA (Threat Assessment and Remediation Analysis)는 ISO 21434의 목적에 따라 전기 및 전기 및 전기 보안의 사이버 보안을 해결하기 위해 컴파일러 도구 세트의 무결성보다는 도구 사용자 소프트웨어의 무결성을 보장합니다. 차량 외부 시스템이 ISO 21434의 범위 내에 있지 않은 도로 차량 내의 전자 시스템. 컴파일러 도구 세트 및 파일의 무결성은 ISO/IEC 27001 (정보 보안 관리)과 같은 다른 표준에 의해 관리됩니다. 도구 공급 업체와 사용자 모두 IT 보안 표준을 준수하는 것이 중요합니다.

FMEA는 컴파일러 도구 세트가 사용자의 소프트웨어에 소개 할 수있는 잠재적 사이버 보안 위험을 식별하는 데 사용됩니다. 컴파일러 도구의 목적은 정상 조건과 사이버 보안 공격 조건에서 사용자의 의도를 충족시키기 위해 컴파일되는 소프트웨어의 동작을위한 것입니다. ISO C 및 C ++ 언어 사양을 통해 컴파일러 엔지니어는 ISO C 및 C ++ 표준의 법적 해석을 기반으로 올바른 소프트웨어에 대한 변환을 적용 할 수 있지만 많은 소프트웨어 프로그래머를 놀라게 할 수 있습니다. 따라서 컴파일러의 요구 사항, 아키텍처, 설계 및 구현을 심도있게 이해하는 엔지니어 팀이 FMEA를 실행하는 경우 유익합니다. 식별 된 각각의 실패 모드에 대해 위험을 줄이기위한 하나 이상의 완화 조치를 제공해야합니다.

TARA 방법론은 사이버 취약점을 식별하고 평가하고 이러한 취약점을 완화하기 위해 대책을 선택합니다. 방법론은 ISO 21434의 요구 사항과 호환됩니다.

Tara 워크 플로 (그림 2)는 시스템 기술 세부 사항을 사용하여 시스템 아키텍처의 사이버 모델을 구성합니다. 이것은 그럴듯한 공격 벡터에 대한 카탈로그를 검색하기위한 기초를 제공합니다. 일반적인 공격 패턴 열거 및 분류 데이터베이스를 사용할 수 있으며 공격 벡터 목록은 평가 된 위험에 따라 필터링되고 순위가 매겨집니다. 취약점 목록은 카탈로그의 완화 매핑 데이터와 결합하여 평가 된 유틸리티 및 수명주기 비용을 기반으로 필터링되고 순위가 매핑되어 완화 매핑 테이블을 생성합니다.

대책은 권장 된 대책/완화를 나열하는 솔루션 효과 ​​테이블을 만들기위한 비용과 위험 허용 수준에 따라 선택되고 평가 된 취약성 범위에 대한 각 대응의 효과에 대한 세부 정보를 제공합니다. CWE (소프트웨어 및 하드웨어 약점 유형) 및 CVE (공개 된 사이버 보안 취약점)와 같은 다른 데이터베이스의 정보도 사용할 수 있습니다.

사이버 보안의 동적 특성은 상기 분석의 정기적 인 반복을 의미합니다.

FMEA와 Tara의 결과

컴파일러 유발 취약점은 표준 취약성 클래스, 측면 채널 공격, 정의되지 않은 행동 및 지속적인 상태 위반과 관련된 것으로 분류 될 수 있습니다. 관련 완화는 도구 공급 업체가 구현 해야하는 사이버 보안 관련 요구 사항입니다. 여기에는 컴파일러 배치 된 스택 캐나다를 통한 스택 매싱 공격에 대한 보호, 버퍼 오버 플로우를 감지하기위한 측정 또는 메모리 레이아웃 랜덤 화를 지원하는 조항이 포함됩니다.

도구 사용자는 사용중인 특정 컴파일러 도구 세트와 관련된 일반적인 코딩 지침 및 지침을 충족해야합니다. MISRA (Motor Industry Software Reliability Association) 준수는 최소로 간주되며 SEI CERT C/C ++ 코딩 가이드 라인을 준수하면보다 포괄적 인 예방을 제공합니다. 특정 컴파일러 도구 세트에 대한 지침은 크게 컴파일러 공급 업체의 최적화에 따라 다릅니다.

일부 공급 업체는 FUSA 및 사이버 보안 요구 사항이 컴파일러가 적용한 모든 최적화를 억제하는 반면, 일부 컴파일러 개발자는 ISO C 표준에 대한 매우 합법적 인 해석을 적용하고 컴파일러 유발 사이버 보안 위험을 프로그래밍 언어에 대한 사용자의 불충분 한 이해의 부작용으로 고려합니다. .

중간지면은 최적화가 FUSA 및 사이버 보안 위험을 도입 할 필요가 없다고 생각하는 사람들에 의해 유지됩니다. 컴파일러는 적용된 최적화에 대한 충분한 진단 정보를 제공하여 도구 사용자가 가능한 결과를 알 수 있도록 충분한 진단 정보를 제공합니다.

저자에 대해

Gerard Vink는 업계에서 업계 전문가, 제품 정의입니다.