2022년 03월호 지면기사
/ 글ㅣ장대원 과장_daewon@hancomit.com 한컴인텔리전스 엔지니어링 사업부 SRE팀
2020년 6월 자동차 사이버보안에 관한 국제규격이 채택되면서 사이버보안 관리를 위한 조직의 구성부터 다양한 보안 프로세스, 차량형식 승인까지 대비해야 할 영역은 광범위하고 다양해졌다. 차량 제조사와 더불어 협력사 역시도 CSMS의 전반적인 이해와 보안 코딩룰에 대한 선정 및 적용이 기초적이고 필수적인 요구사항이 되었다. 이러한 시장의 변화 속에서 보안 코딩을 적용하기 위해 여러 가지 코딩룰을 검토할 필요가 있다.
글 ㅣ 장대원 과장_daewon@hancomit.com
한컴인텔리전스 엔지니어링사업부 SRE팀
UNECE WP.29는 2020년 6월 사이버보안에 대한 법규 UN Regulation No.155 Cyber Security and Cyber Security Management System(CSMS, 사이버보안 관리 시스템)을 채택했다. 이에 따라 신형 차종은 2022년 7월부터, 기존 차종은 2024년 7월부터 CSMS 인증 없이는 UNECE 대상국 및 협약국에 차량 판매가 제한된다.
차량과 차량 간 통신(V2V), 차량과 인프라스트럭처 간의 통신(V2I) 등 도로 위 차량의 안전 운행 및 운행 효율성 제고를 위한 V2X와 운행 정보 제공 서비스가 빠르게 성장하고 있다. 이러한 변화에 따라 차와 차 외부와의 통신 인터페이스가 확장되고 차량과의 송수신 데이터가 늘어남과 동시에 차량의 사이버보안 중요성 역시 함께 강조되고 있다.
UNECE WP.29는 이러한 차량 연결성(Connectivity) 및 사이버보안 환경에 대응하기 위해 UNR No.155에 대한 인증 취득을 요구함으로써, 사이버 위험에 대해 차량 제조사 및 협력사가 체계적으로 대응해야 할 규제를 공표하였다. 이에 CSMS에 대한 전반적인 내용을 살펴보고 이를 통해 보안 코딩에 대한 대응 방안을 소개해 보고자 한다.
UNR No.155는 사이버보안과 사이버보안 관리 시스템에 대해 다음과 같이 정의하고 있다.
‘사이버보안’이란? 차량 및 그 기능이 전기 또는 전자부품에 대한 사이버 위협으로부터 보호되는 상태를 의미한다.
"사이버보안 관리 시스템(CSMS)"이란?
차량에 대한 사이버 위협과 관련된 위험을 처리하고 사이버 공격으로부터 차량을 보호하기 위해 조직 프로세스, 책임 및 거버넌스를 정의하는 체계적인 위험 기반 접근 방식을 의미한다.
그림 1 | UNR No.155, 출처: https://unece.org
CSMS는 차량의 전기/전자 부품에 대한 보안뿐만 아니라, 사이버보안을 위해 조직 프로세스, 책임, 관리, 리스트 평가 방법 등이 반영된 거시적인 규제임을 알 수 있다. 회사 내 개인이나 팀 단위의 제한적인 대응으로는 준비 및 대응 범위의 한계로 인해 올바른 결과를 기대하기 어려우므로, 조직적인 계획을 기반으로 세부적인 실행방안을 수립하는 활동을 지속해 나가야할 필요가 있다.
UNR No.155 채택 이후 CSMS 인증이 필요한 단계를 시간순으로 정리하면
그림 2와 같다.
그림 2 | CSMS 적용 단계
2020년 6월 CSMS 채택 이후부터 등록될 신형 자동차와 등록된 기존 자동차에 대한 적용시기를 그림 2와 같이 2년의 시간 차를 두고 적용하도록 하고 있다. 이는 새로운 규제에 대한 이해, 조정, 조율, 기반구축 등을 확보하기 위한 시간으로 정해진 시간 내에 사이버보안을 전 차종으로 확대하기 위한 토대를 효과적으로 구축해야 한다. 사내 사이버보안 대응을 위한 차량 개발부터 판매 이후 운용까지 전반적인 관리가 가능해야 하며, 이를 위한 체계적인 관리조직 및 프로세스 규제까지 포함되어야 한다.
CSMS는 다음의 영역을 포함하여 다양한 사이버보안 프로세스를 제시하고 있다.
- 차량 유형의 사이버보안 테스트에 사용되는 프로세스
- 위험 평가가 최신 상태로 유지되도록 하는데 사용되는 프로세스
- 사이버 공격, 사이버 위협 및 차량 유형에 대한 취약성을 모니터링, 탐지 및 대응하는 프로세스 등
CSMS 인증을 위한 평가가 정상적으로 완료되고 인증업체로부터 사이버보안 구현 확인을 위한 ‘Model of Manufacturer’s Declaration of Compliance for CSMS’를 받으면 CSMS 준수 인증서가 제조업체에 부여된다
(그림 3).
그림 3 | Model of Manufacturer’s Declaration of Compliance for CSMS
출처 | ECE-TRANS-WP29-2020-079 문서
승인 기관 또는 기술 서비스가 CSMS에 대한 적합성 인증서에 포함되어야 하며, paragraph 7.2 조항의 준수 여부를 체크할 수 있다.
paragraph 7.2 조항은 사이버보안 관리 시스템 요구 사항을 나열하고 있으며, 차량 제조업체는 사이버보안 관리 시스템 내에서 사용되는 프로세스가 위험 및 완화를 포함하여 보안이 적절하게 고려되었음을 보장하고 입증해야 한다.
위 언급된 프로세스의 일부 내용은 다음과 같다.
(a) 사이버보안을 관리하기 위해 제조업체 조직 내에서 사용되는 프로세스
(b) 차량 유형에 대한 위험 식별에 사용되는 프로세스
(c) 식별된 위험의 평가, 분류 및 처리에 사용되는 프로세스
(d) 식별된 위험이 적절하게 관리되고 있는지 확인하기 위한 프로세스
결국, UNECE 회원국에 등록되어 판매되는 모든 차량은 CSMS 인증 및 증명서 취득 없이는 차량을 판매할 수 없으므로 차량 제조사에서는 차량 판매를 위해 반드시 사이버보안을 준수해야 한다.
CSMS 인증 절차를 단계별로 살펴보면서 CSMS 대응을 위한 전반적인 준비사항이나 프로세스를 이해했다면, 지금부터는 차량형식 승인을 위한 보안 코딩 준수방안에 대해 키워드별로 정리하면서 소개하고자 한다.
ISO/SAE 21434
UNECE WP.29는 CSMS 관련 세부 활동 수립 시 참고 가능한 주요 국제표준으로 ISO/SAE 21434를 권장하고 있다. 내용을 살펴보면 형식승인과 관련하여 사이버보안 기술과 위험평가 관련 정보/기술을 지칭하면서 ISO/SAE 21434가 언급된 내용을 확인할 수 있다. 이를 통해 ISO/SAE 21434를 기반으로 보안 코딩에 대한 대응방안을 마련하고 이를 적용하는 것이 가능함을 알 수 있다. 참고적으로 ISO/SAE 21434는 2021년 상반기 DIS 버전이 출시되었으며, 2021년 8월 공식 게시되었다.
Vulnerabilities
ISO/SAE 21434 문서 내 보안 코딩 관련 지침 사항을 살펴보면 10. PRODUCT DEVELOPMENT에 알려진 취약점 및 약점을 식별하기 위한 방안으로 업계 표준 또는 모범 사례가 되는 도구 활용을 제안하고 있으며, 대표적인 정적 분석 방안으로 MISRA-C 와 CERT-C 준수를 제안하고 있다. 따라서, CSMS 인증 획득이 필요한 차량 제조 및 차량 부품 제작사는 보안 코딩 준수를 위해 MISRA-C와 CERT-C 준수를 고려할 수 있으며, Certificate 및 각 룰에 대한 검출 세부 정보를 제공할 수 있는 도구를 검토하고 준비해야 할 필요가 있다.
Secure Coding CERT-C
소프트웨어의 Safety/Reliability/Security를 개선하기 위한 코딩 가이드 라인으로 Carnegie Mellon University의 Software Engineering Institute에서 유지 관리하는 보안 코딩 표준이다. 일반적으로 사용되는 프로그래밍 언어(C, C ++, Java, Android, Perl) 별로 룰에 대해 설명 및 위험평가를 제공하며, 최신 Rule 및 Recommendation은 보안 코딩 표준 웹 사이트에 게시된다. 또한, 룰 항목 별 심각도, 침해 발생 가능성, 사후처리 비용을 제공함으로써 사용자에게 보안 대응을 위한 명확한 우선순위와 레벨을 제공한다.
알려진 취약점 및 약점을 식별하기 위해 업계에서 표준화되어 있거나 모범 사례를 선도하는 Tool을 적용하여 CERT 코딩룰에 대응할 수 있다
(그림 4). 사용자는 CERT 코딩룰에 대한 Coverage를 확인하고 이를 전략적으로 검출해 낼 수 있는 도구를 적용함으로써, 형식 승인을 대응할 수 있도록 준비해야 한다.
그림 4 | Helix QAC CERT C Coding Rule 검출 화면
또한, 일반적으로 정적분석 도구는 검출 가능한 룰 셋 및 그에 대한 커버리지 확인을 위한 공식 데이터를 제공할 수 있는지 여부를 체크할 필요가 있다. 이러한 데이터는 사이버보안 대응을 위한 상용 도구 선택 및 적용을 위한 기초자료로 활용할 수 있으며, 추후 결과 검증의 추가 자료로도 활용 가능하기 때문이다
(그림 5).
그림 5 | Helix QAC CERT-C Module Coverage
결론적으로, 2020년 6월 자동차 사이버보안에 관한 국제규격이 채택되면서 사이버보안 관리를 위한 조직의 구성부터 다양한 보안 프로세스, 차량형식 승인까지 대비해야 할 영역은 광범위하고 다양해졌다. 차량 제조사와 더불어 협력사 역시도 CSMS의 전반적인 이해와 보안 코딩룰에 대한 선정 및 적용이 기초적이고 필수적인 요구사항이 되었다. 이러한 시장의 변화 속에서 보안 코딩을 적용하기 위해 여러 가지 코딩룰을 검토할 필요가 있다.
CERT와 MISRA는 보안 코딩 적용을 위한 효율적인 가이드라인을 내포하고 있다. CERT 코딩룰은 사이버보안 취약점에 대한 위험평가와 우선순위 정보를 제공하고, MISRA 룰은 safety 측면과 더불어 security 측면까지 커버하는 룰을 포함하고 있다. 사용자는 보안 코딩 적용을 위해 이 코딩룰들을 선제적으로 검토하고 적용해 봄으로써, 사이버보안을 위한 보안 코딩 가이드라인을 마련할 수 있을 것이라 생각한다. 또한, 지속적인 보안 코딩룰 검토와 검출 방안 수립 활동 등을 이어 나감으로써, 향후 업데이트될 보안 코딩 가이드에 선제적으로 대응할 수 있도록 해야 할 것이다.
<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>