2011년 11월, ISO 26262가 제정되며 자동차 개발 업체에서는 차량을 구성하는 E/E 시스템의 안전성 확보를 위해 기능안전성을 달성하도록 요구하기 시작했다. 2021년 5월 현재, 자율주행차와 친환경차의 최신 기술 개발에 박차가 가해지며 E/E 시스템의 안전성 범위는 CSMS 및 ISO/SAE 21434의 사이버보안과 ISO 21448의 SOTIF로까지 확대되었다. 이 글에서는 E/E 시스템의 안전성과 관련된 세 가지 표준에서 공통적으로 요구하고 있는 모델 기반 분석의 목적과 역할을 다룬다.
글 | 정대희 대리, 한컴인텔리전스 엔지니어링 사업부 SPE팀_medini@hancomit.com
미래 자동차 시장과 E/E 시스템
자율주행차와 친환경차, 자동차 시장의 미래 먹거리로 떠오르고 있는 두 가지 이슈를 선점하기 위해 관련 업체들은 앞다투어 기술개발 경쟁에 뛰어들고 있다. 모빌리티(Mobility), 전장화(Electrification), 커넥티비티(Connectivity), 그리고 자율주행(Autonomous)까지, 일명 M.E.C.A로 일컬어지는 신기술들의 개발로 자동차는 단순한 “운송수단”이라는 프레임을 넘어 하나의 커다란 첨단 ICT(Information and Communication Technology) 시스템으로 변모하고 있다.
미래 자동차의 기능들은 차량에 장착된 갖가지 센서로부터 계측된 값을 받아 다음 주행제어 명령을 판단하거나, 차량을 운행하기 위한 배터리의 전력을 효율적으로 배분하여 전동기의 출력을 극대화하는 등 고성능, 그리고 고효율을 요구한다. 그로 인해 과거와는 비교할 수 없을 정도로 복잡한 E/E(Electrical/Electronic) 시스템이 개발되기 시작하였고, 차량 내에서 차지하는 비중 또한 폭발적으로 증가하였다. 당연한 수순으로 하드웨어의 결함과 소프트웨어의 오류가 복합적으로 작용해 사고가 발생하게 되며 E/E 시스템에 대한 안전성 확보는 자동차 산업계의 미래 선두 과제로 떠오르게 되었다.
그림 1 | M.E.C.A(Mobility, Electrification, Connectivity, Autonomous)
E/E 시스템의 안전성
E/E 시스템의 안전성 확보는 2011년 11년 제정된 ISO 26262, 기능안전성 표준으로부터 시작되었다. ISO 26262에서는 E/E 시스템의 기능안전성을 달성해, 차량 기능의 오작동으로 인해 발생가능한 위험원을 제거 또는 최소화하도록 요구한다. 목숨을 앗아갈 수 있는 차량 사고의 피해로부터 운전자 또는 보행자를 보호할 수 있도록 하는 것이다.
ISO 26262가 실제 현업에 적용된 지 10여 년의 시간이 흐른 2021년 6월 현재, E/E 시스템의 안전성과 관련하여 ISO/SAE 21434의 FDIS(Final Draft International Standard)와 ISO 21448의 DIS(Draft International Standard)가 발표되었다. 각종 새로운 기술의 개발로 운전자는 다양하고 새로운 부가가치를 경험할 수 있게 되었지만, 동시에 보다 많은 위험 요소에 노출되며 더 이상 기능안전성만으로 “안전하다”라 말할 수 없게 되었기 때문이다.
그림 2 | 차량 내외부의 다양한 위험
ISO/SAE 21434와 ISO 21448은 각각 사이버보안과 SOTIF(Safety Of The Intended Function) 표준이다. 먼저 ISO/SAE 21434는 차량 외부 보안공격의 위협으로부터 시스템 및 해당 기능이 가질 수 있는 자산을 보호하기 위해 사이버보안을 달성하도록 요구한다. 그리고 ISO 21448에서는 시스템의 의도된 기능 또는 그 구현의 기능적 불충분으로 인해 발생가능한 위험원을 제거 또는 최소화하기 위해 SOTIF를 달성하도록 요구한다. 다시 말해 차량 내부의 고장뿐만 아니라 기능의 한계점 또는 운전자의 잘못된 제어, 그리고 차량 외부의 보안 위협까지 고려하였을 때 안전한 E/E 시스템이 개발되는 것이다.
모델 기반 분석과 개발
ISO 26262와 ISO/SAE 21434, 그리고 ISO 21448에서는 E/E 시스템의 안전성 달성하기 위해 제품 구상 단계부터 제품 폐기 단계까지, V 개발 프로세스에 따라 각 단계별로 복잡한 활동을 요구한다. 그 중에서도 가장 주요한 핵심활동은 표 1과 같이 기능안전성의 위험원 분석 및 안전 분석, 사이버보안의 위협 분석 및 취약점 분석, 그리고 SOTIF의 한계점 및 잘못된 제어 분석이다. 분석 결과에 따라 필요한 제어 대책이 시스템에 구현되고, 충분히 제어되고 있는지 검증(Verification) 및 확인(Validation)이 이뤄져야 한다. 즉 분석에서 시스템의 위험을 찾아내지 못하면 방책의 구현과 테스팅은 시작조차 할 수 없다.
표 1 | 기능안전성, 사이버보안, 그리고 SOTIF의 모델 기반 분석 활동
하지만 분석이란 사람의 사고를 통해 도출된 결과인 만큼 100% 완벽할 수는 없다. 그렇다면 우리는 어떻게 표준의 안전성과 보안성을 달성할 수 있도록 분석을 수행할 수 있을까? 이를 위해 세 가지 표준에서는 공학적 방법론의 하나인 모델 기반 분석을 요구한다.
모델 기반 분석은, 높아진 시스템의 복잡도로 인해 기존의 분석 방법으로는 충분한 결과를 기대하기 어려워지게 되면서 모델 기반 기술을 분석이라는 활동에 접목한 것이다. 특히 E/E 시스템이 가질 수 있는 위험을 체계적으로 찾아낼 수 있고, 일반적으로 통합이 원활하지 않은 “개발 프로세스”와 “분석 프로세스” 사이에 존재하는 경계를 없애 효율적인 시스템 개발을 가능하게 만들어준다. 이는 주어진 기간 내에 시스템을 개발해 나감에 있어 목표한 기능의 성능과 품질, 기능안전성과 사이버보안, 그리고 SOTIF를 동시에 만족시킬 수 있도록 돕는다.
이러한 모델 기반 분석은 제품의 안전성과 신뢰성이 필수불가결한 항공 분야에서는 이미 공식적(Federal Aviation Administration, “Advisory Circular 20-115C: Airborne Software Assurance”, 2013)으로 채택하여 사용 중인 “State of the Art(당대 최고의 기술)”이기도 하다.
기능안전성 - 정성적 안전 분석
기능안전성에서는 시스템이 가지는 고장을 “시스템적 고장(Systemmatic Failure)”과 “우발적 고장(Random Failure)” 두 가지의 타입으로 구분한다. 그 중 “시스템적 고장”은 휴먼에러(e.g. 명세 오류, 설계 오류, etc.)나 과거에도 발현되었던 고장사례를 의미한다. 이런 경우 기능안전성에서는 “회피 대책”을 세워 사고의 위험으로부터 운전자를 보호하도록 한다.
“시스템적 고장”에는 모델 기반 분석으로 정성적 안전 분석이 사용된다. 정성적 안전 분석은 하드웨어의 결함 또는 소프트웨어의 오류에서부터 시작해 시스템의 고장, 아이템의 오동작, 그리고 차량 수준 위험원까지 순차적으로 발생해 나가는 관계를 활용한다. 개발단계 별 아키텍처를 대상으로 발생가능한 고장을 분석하고, 그 인과관계로부터 필요한 안전 요구사항을 도출한다. 이 때 만들어지는 인과관계는 마치 하나의 사슬처럼 연결되어 고장이 전파되어 가는 과정을 보여주며, 안전 요구사항은 이러한 선형 구조를 끊어 냄으로써 인명 피해를 일으킬 수 있는 사고를 미연에 회피하는 것이다.
정성적 안전 분석에 사용되는 기법으로는 HAZOP(HAZard and OPerability study), FMEA(Failure Modes and Effects Analysis), 그리고 정성적 FTA(Fault Tree Analysis) 등이 있다.
그림 3 | FMEA를 통한 고장전파 관계 구성 및 안전 요구사항 도출 - medini analyze 솔루션 활용
기능안전성 - 정량적 안전 분석
“우발적 고장”은 기능안전성에서 다루는 또 다른 하나의 고장 타입으로 주로 하드웨어와 관련된다. 실제 시스템을 물리적으로 구성하는 하드웨어의 경우 전체 가용시간 내에서 고장이 날 확률이라는 특성을 가진다. 또한 시간이 지남에 따라 마모 등의 이유로 인해 그 수명은 짧아지고 고장율은 높아지기 때문에, 운전자의 안전을 확보하기 위해선 “우발적 고장”에 대한 “제어 대책”의 수립이 필요하다.
ISO 26262에서는, “우발적 고장”의 “제어 대책”을 수립하기 위한 모델 기반 분석으로 정량적 안전 분석을 요구한다. 정량적 안전 분석에서는 HAM(Hardware Architecture Metrics)과 PMHF(Probabilistic Metric for Random Hardware Failures)의 두 가지 정량적 수치에 대한 평가가 이루어진다. HAM 평가는 하드웨어 결함 중 단일결함(Singe Point Fault)과 잔존결함(Latent Fault)의 비중을 줄여, 시스템의 고장 또는 오동작을 발생시키는 원인 중에서도 위험한 요소를 최소화한다. 그리고 PMHF 평가는 하드웨어 결함으로 인한 전체 시스템의 우발적 고장확률을 낮추게 된다. 즉 하드웨어 아키텍처가 가지는 산술적 특성을 이용해 ASIL(Automotive Safety Integrity Level)을 만족시키는 안전 메커니즘을 찾아 하드웨어 결함을 사전에 제어하는 것이다.
정량적 안전 분석에 사용되는 기법으로는 FMEDA(Failure Modes, Effects, and Diagnostic Analysis)와 정량적 FTA(Fault Tree Analysis) 등이 있다.
그림 4 | FMEDA 및 FTA를 활용한 HAM 및 PMHF 평가 - medini analyze 솔루션 활용
사이버보안 - 위협 모델링
외부 공격자는 보안공격을 가할 만한 가치를 지니는 시스템의 구성요소(자산, Asset)가 있을 때 보안이 미흡한 부분(취약점, Vulnerability)을 찾아 다양한 보안공격(위협, Threat)을 일으킨다. 이 때 외부 공격자가 악의적인 목적을 가지고 있다면, 운전자를 비롯해 주변 보행자 및 연결되어 있는 인프라까지 피해를 입을 수 있기 때문에 방지하기 위한 보안 대책이 필요하다. 뿐만 아니라, 하루가 멀다 하고 새로운 취약점과 위협이 출현하는 사이버보안의 특성으로 인해 제품을 폐기하기 전까지 지속적으로 사이버보안의 위험을 분석하고 관리해야 한다.
그림 5 | ISO/SAE 21434 기반 위협 모델링 - medini analyze 솔루션 활용
위협 모델링은 E/E 시스템의 보안 위협을 제어해 사이버보안을 달성하기 위한 모델 기반 분석이다. 시스템의 구성요소와 시스템이 가지는 데이터의 흐름으로부터 지켜야 할 자산과 보안속성을 찾아내고, 이를 헤칠 수 있는 위협을 조합해 실제 피해까지 이어질 수 있는 시나리오를 식별해낸다. 그리고 해당 위협이 시작되는 취약점을 찾아 이에 대한 보안 요구사항을 도출해 사이버보안을 달성하는 것이다.
위협 모델링에 사용되는 기법으로는 HEAVENS 방법론의 STRIDE 기법 등이 있다.
SOTIF - 시스템 이론적 분석
자율주행차에서는 시스템의 내부 고장이나 외부 보안공격이 아닌, 시스템이 가지는 기능의 한계점 또는 이를 사용하는 운전자의 잘못된 제어에서 운전자의 생명을 위협하는 사고가 발생한다. 예를 들어, 운전자라면 한 번쯤 어둡고 긴 터널을 지나다가 갑작스럽게 바깥으로 나왔을 때 강렬한 태양광으로 인해 일시적으로 앞이 보이지 않은 경험을 해보았을 것이다. 이는 시스템 또한 마찬가지로, 만약 터널을 빠져나오는 순간 전방을 인식하는 센서가 일시적으로 앞을 보지 못한다면 다음 제어명령의 판단이 필요한 자율주행에서는 치명적인 위험요소가 될 것이다. 즉 위와 같은 상황으로 이어질 수 있는 요소들을 사전에 분석하여 대책을 시스템에 구현하였을 때, 우리는 운전의 제어권을 시스템에게 믿고 맡길 수 있을 것이다.
시스템 이론적 분석은 상호작용을 중심으로 잘못된 제어로부터 발생가능한 위험원을 다루는 모델 기반 분석이다. 단순히 시스템 구성요소 간의 상호작용 관계에서만 분석하는 것이 아닌 시스템의 기능이 주변 환경에 미치는 영향과 그로 인해 파생되는 데이터, 나아가 국제표준 또는 법적규제에서 오는 제약사항과 그 결과 등까지 고려하여 잘못된 제어 시나리오를 방지하기 위한 요구사항을 도출해 SOTIF를 달성한다.
대표적인 시스템 이론적 분석에는 STPA(System-theoretic Process Analysis)가 있다.
그림 6 | 제어구조 다이어그램과 UCA 분석 - medini analyze 솔루션 활용
통합 분석개발 프로세스 및 환경의 중요성
본 글에서는 미래 자동차에서 E/E 시스템의 기능안전성, 사이버보안, SOTIF를 달성하기 위한 모델 기반 분석에 대해 살펴보았다. 이미 언급하였던 바와 같이, 모델 기반 분석은 현재 시점에 존재하는 최고의 기술로 개발과 분석을 동시에 수행할 수 있도록 도와 효율적인 시스템 개발이 가능하다.
하지만 실제 현업에서는 다양한 도구들이 서로의 목적을 위해 사용된다. 다시 말해 각 개발단계별 분석 및 개발 산출물이 개별적으로 작성되어 내부 데이터의 추적성 및 일관성이 명확하지 않기 때문에, 모델 기반 분석을 수행하기 쉽지 않다. 이를 해결하기 위해선 통합 분석개발 프로세스 및 환경의 구성이 중요하다. 모델이라고 하는 데이터를 중심으로 적재적소에 필요한 분석 또는 개발 프로세스를 위치하고 툴체인을 구축해 프로세스를 내재화하게 되면, 실제 현업 개발자들은 주어진 업무만 수행하여도 최종적으로 E/E 시스템의 안전성이 확보될 수 있기 때문이다. 그리고 이는 나아가 급격하게 발전해 나가는 글로벌 시장 속에서 우리가 개발한 제품이 경쟁우위를 가지도록 도울 것이다. [AEM]
그림 7 | 기능안전성 분석개발을 위한 툴체인 구성 사례
<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>