본문으로 건너뛰기
고급약 25분

자동차 사이버보안 — ISO/SAE 21434와 UNECE R155·R156

기능안전이 "고장 나도 안전하게"였다면 사이버보안은 "공격받아도 안전하게"다. TARA·CSMS·형식승인이 QA에게 무엇을 요구하는지 익힌다.

  • #ISO21434
  • #UNECER155
  • #자동차보안
  • #TARA
  • #CSMS

개념

지능적인 적이 등장하면 안전의 정의가 바뀐다

레슨 4에서 ISO 26262를 봤다. 거기서 다룬 위험은 고장 이었다. 부품이 닳고, 비트가 뒤집히고, 센서가 값을 잘못 읽는다. 이런 고장은 확률로 다룰 수 있다. 고장률을 계산하고, 중복 설계를 넣고, 안전 상태로 빠지는 경로를 만들면 된다.

사이버보안이 다루는 위험은 성질이 다르다.

기능안전(ISO 26262)사이버보안(ISO/SAE 21434)
위험의 원천무작위 고장, 체계적 결함의도를 가진 공격자
확률 모델고장률로 추정 가능확률이 아니라 공격 가능성 추정
시간에 따른 변화대체로 일정하거나 마모로 증가출시 후 계속 나빠진다(새 취약점·새 도구 등장)
대응 시점설계 단계에서 대부분 결정설계 + 운영 중 지속 대응 필수
검증 성격요구사항 충족 확인충족 확인 + 뚫으려는 시도

가장 중요한 줄은 세 번째다. 부품은 출고 시점이 가장 안전하고 시간이 지나며 마모되지만, 소프트웨어 보안은 출고 시점의 방어력이 그대로여도 바깥 세계가 강해져서 상대적으로 약해진다. 어제까지 안전했던 암호 방식이 오늘 논문 하나로 무너진다. 그래서 사이버보안 규격은 "출시하면 끝"이라는 구조를 애초에 허용하지 않는다.

ISO/SAE 21434 — 자동차 사이버보안 엔지니어링의 뼈대

ISO/SAE 21434(Road vehicles — Cybersecurity engineering)는 차량용 전기·전자 시스템의 개념 단계부터 폐기까지 전 생애주기에 걸친 사이버보안 활동 을 규정한다. ISO와 SAE가 공동으로 만든 규격이라는 점에서 이름 앞에 두 기관이 함께 붙는다.

구조를 크게 네 덩어리로 잡으면 기억하기 쉽다.

① 조직 차원
   사이버보안 정책·규칙, 역할과 책임, 역량 관리, 도구 관리,
   사이버보안 문화, 지속적 활동(취약점 모니터링·대응)
 
② 프로젝트 차원
   사이버보안 계획, 사이버보안 케이스, 사이버보안 심사,
   릴리즈 판단(post-development 이관)
 
③ 제품 개발
   아이템 정의 → TARA → 사이버보안 목표·요구사항 →
   설계 → 구현 → 검증(단위·통합·차량 레벨)
 
④ 개발 이후
   생산, 운영·유지보수(모니터링·사고 대응·업데이트), 폐기

레슨 4에서 ISO 26262의 구조를 봤다면 ①~③이 낯설지 않을 것이다. V 모델의 좌우 대칭, 요구사항에서 검증으로 이어지는 추적성, 등급에 따른 활동 강도의 차등. 뼈대는 같다. 결정적으로 다른 것은 ④가 형식적인 부록이 아니라 규격의 무게중심 중 하나 라는 점이다.

TARA — 이 규격의 심장

21434를 한 단어로 요약하라면 TARA(Threat Analysis and Risk Assessment, 위협 분석 및 리스크 평가)다. ISO 26262에서 HARA(위험원 분석 및 리스크 평가)가 ASIL을 만들어냈듯이, 21434에서는 TARA가 무엇을 얼마나 방어할지를 결정한다.

TARA는 대체로 이런 순서로 진행된다.

1단계 — 자산 식별과 피해 시나리오

먼저 "무엇을 지키는가"를 정한다. 자산은 부품이 아니라 그 부품이 담고 있는 가치 다. 그리고 그 자산이 훼손됐을 때 어떤 피해가 생기는지 쓴다.

자산훼손되면 생기는 일
조향 제어 명령의 무결성주행 중 의도치 않은 조향 → 사고
차량 위치 이력개인의 이동 패턴 노출
도어 언락 인증 키차량 절도
OTA 펌웨어 서명 검증악성 펌웨어 설치

2단계 — 영향 평가 (S·F·O·P)

각 피해 시나리오의 영향을 네 범주로 평가한다. 기능안전이 사람의 안전 하나만 봤던 것과 달리, 사이버보안은 네 방향을 본다.

  • Safety — 신체적 상해로 이어지는가
  • Financial — 금전적 손실이 발생하는가
  • Operational — 차량 기능이 정상적으로 수행되지 못하는가
  • Privacy — 개인정보가 침해되는가

이 확장이 실무에서 큰 차이를 만든다. "사람이 다치지 않으니 낮은 등급" 이라는 판단이 통하지 않는다. 위치 이력 유출은 안전 영향이 없어도 프라이버시 영향이 최고 수준일 수 있다.

3단계 — 공격 경로 분석과 공격 가능성 평가

"어떻게 하면 그 자산에 닿을 수 있는가"를 경로로 그린다. 공격 트리를 쓰는 것이 일반적이다.

[목표] 주행 중 조향 명령 주입
  ├─ 경로 A: OBD-II 포트 물리 접근 → CAN 버스에 프레임 주입
  │     └─ 전제: 차량 내부 물리 접근, 진단 세션 인증 우회
  ├─ 경로 B: 텔레매틱스 유닛 원격 취약점 → 게이트웨이 우회 → CAN
  │     ├─ 전제: 셀룰러 인터페이스의 원격 코드 실행 취약점
  │     └─ 전제: 게이트웨이의 메시지 필터링 미흡
  └─ 경로 C: 정비소 진단 장비 공급망 침해 → 서명된 경로로 진입
        └─ 전제: 진단 장비 인증 체계의 신뢰 저장소 침해

그리고 각 경로의 공격 가능성(attack feasibility) 을 평가한다. 평가 축은 대체로 다음과 같다 — 소요 시간, 필요한 전문성, 대상에 대한 지식, 접근 기회(물리 접근이 필요한가, 원격으로 되는가), 필요한 장비.

여기서 QA에게 중요한 통찰이 하나 있다. 경로 C처럼 "우리 코드에 버그가 없어도 성립하는 경로"가 존재한다. 공급망과 신뢰 체계까지 시야에 넣지 않으면 TARA는 절반짜리가 된다.

4단계 — 리스크 결정과 처리

영향과 공격 가능성을 조합해 리스크 값을 내고, 각 리스크에 대해 네 가지 중 하나를 정한다.

처리 방식의미예
회피그 기능·인터페이스를 없앤다양산 차량에서 디버그 포트 제거
저감통제를 넣어 리스크를 낮춘다메시지 인증(MAC), 게이트웨이 필터링
이전계약·보험으로 넘긴다공급사 책임 범위 명시
수용근거를 남기고 받아들인다잔여 리스크로 문서화

"수용"에도 문서가 필요하다는 점이 핵심이다. 아무 조치를 하지 않기로 한 결정도 근거와 함께 기록돼야 하고, 그 기록이 곧 사이버보안 케이스의 일부가 된다. 조용히 넘어간 리스크는 규격 관점에서 존재하지 않는 것이 아니라 처리되지 않은 것 이다.

CAL — 활동 강도를 정하는 또 하나의 눈금

21434에는 CAL(Cybersecurity Assurance Level)이라는 개념도 등장한다. ASIL이 안전 활동의 강도를 정했듯, CAL은 사이버보안 활동을 얼마나 엄격하게 수행할지를 나타내는 눈금(CAL1~CAL4)이다.

다만 실무에서 ASIL만큼 기계적으로 쓰이지는 않는다. ASIL은 26262에서 필수 산출물과 기법 표에 직접 연결되지만, CAL은 활동 강도를 조율하는 보조 수단에 가깝게 다뤄지는 경우가 많다. CAL 값 자체보다, "이 리스크에 대해 우리가 어느 정도로 검증했는가"를 설명할 수 있는지가 중요하다.

UNECE R155·R156 — 규격을 법으로 만드는 장치

21434는 규격이다. 지키면 좋지만 강제력은 계약에서 나온다. 그런데 UNECE 규정 이 여기에 법적 강제력을 덧붙였다.

R155(사이버보안 및 CSMS) 는 차량 형식승인의 조건으로 두 가지를 요구한다.

  1. 제조사가 CSMS(Cyber Security Management System, 사이버보안 관리체계)를 갖추고 있고, 그것이 인증받았을 것
  2. 승인받으려는 각 차종에 대해 위험 평가와 대응이 적절히 수행됐음을 보일 것

즉 조직 차원의 체계 인증과 차종 차원의 증빙이 둘 다 필요하다. CSMS 인증이 없으면 차를 팔 수 없다 는 구조라, 규격이 곧 시장 진입 조건이 된다. GS인증이 국내 조달 시장의 입장권이었다면, R155는 UNECE 협정 당사국 시장의 입장권이다 — 레슨 7에서 본 구조가 도메인만 바꿔 반복된다.

R156(소프트웨어 업데이트 및 SUMS) 은 짝을 이루는 규정이다. 무선 업데이트(OTA)를 포함한 소프트웨어 업데이트를 안전하게 관리하는 체계 (SUMS, Software Update Management System)를 요구하고, RXSWIN (Regulation X Software Identification Number)이라는 식별자로 "지금 이 차에 실린 소프트웨어가 승인받은 그 버전인지"를 추적할 수 있게 한다.

QA 관점에서 R156이 요구하는 것은 결국 이것이다.

  • 업데이트 전후 차량이 승인된 형식을 벗어나지 않는지 확인할 수 있는가
  • 업데이트가 중단되거나 실패했을 때 차량이 안전한 상태로 남는가
  • 어떤 차량에 어떤 버전이 설치돼 있는지 추적 가능한가
  • 사용자에게 업데이트의 영향을 알리고 필요한 경우 동의를 받는가

모듈 14에서 배운 배포 파이프라인·롤백 전략이 여기서는 형식승인의 요건 이 된다. "롤백이 되나요"라는 질문이 엔지니어링 취향의 문제가 아니라 법규 대응 항목이 되는 것이다.

그래서 QA는 무엇을 하는가

규격 이름과 절차를 아는 것과, 그 안에서 테스트 엔지니어로 일하는 것은 다르다. 이 도메인에서 QA가 실제로 맡는 일은 대체로 다섯 갈래다.

1. 사이버보안 요구사항의 검증 가능성 확보

"통신은 안전해야 한다" 같은 문장은 검증할 수 없다. 모듈 2에서 배운 그대로다. "게이트웨이는 진단 세션 인증 없이 수신된 진단 요청 프레임을 전달하지 않는다"처럼 관찰 가능한 문장 으로 바꾸는 것이 첫 일이다.

2. 요구사항 기반 보안 테스트

각 사이버보안 요구사항에 대응하는 정상·비정상 케이스를 만든다. 인증 실패, 만료된 인증서, 변조된 서명, 재전송(replay) 프레임 등. 여기까지는 기능 테스트의 연장이다.

3. 취약점 지향 테스트 — 여기서부터 성격이 달라진다

  • 퍼징(Fuzzing) — CAN 프레임, UDS 진단 서비스, 블루투스·Wi-Fi 스택에 변형된 입력을 대량으로 밀어넣어 예외 처리 결함을 찾는다.
  • 침투 테스트 — 공격자 관점에서 TARA가 그린 경로를 실제로 시도한다. TARA가 문서로 남긴 가정("이 경로는 전문 장비가 필요해 가능성 낮음")이 현실에서도 유효한지 확인하는 절차이기도 하다.
  • 알려진 취약점 스캔 — 사용 중인 오픈소스·서드파티 컴포넌트의 CVE를 지속적으로 확인한다. 레슨 4에서 배운 SOUP 개념이 여기서 그대로 이어진다. 자동차 도메인에서는 이것이 SBOM 관리로 제도화되는 추세다.

4. 잔여 리스크와 근거의 문서화

시험 결과가 사이버보안 케이스로 들어간다. 여기서 요구되는 것은 레슨 4와 같다 — "테스트했다"가 아니라 "이 요구사항을 이 방법으로 검증했고 결과가 이러하다"를 추적 가능한 형태로 남기는 것.

5. 출시 이후의 감시

새 CVE가 우리가 쓰는 컴포넌트에 나왔을 때, "이 차종에 영향이 있는가"를 몇 시간 안에 판단할 수 있어야 한다. 그 판단을 가능하게 하는 것은 평소에 관리해둔 부품–소프트웨어–버전–차종의 연결 정보 다. 이건 사고가 난 뒤에 만들 수 없다.

세 규격의 관계를 한 장으로

     ISO 26262            ISO/SAE 21434           R155 / R156
    (기능안전)            (사이버보안 엔지니어링)   (법적 강제)
        │                       │                      │
   고장으로부터              공격으로부터           체계·차종 증빙 없으면
   사람을 지킨다             자산을 지킨다            형식승인 불가
        │                       │                      │
      HARA → ASIL           TARA → 리스크 처리      CSMS 인증 + 차종 증빙
        │                       │                      SUMS + RXSWIN
        └───────────┬───────────┘
                    │
        같은 뼈대: 요구사항 → 설계 → 검증의 추적성,
                  등급에 따른 활동 강도, 근거의 문서화

두 규격은 경쟁하지 않는다. 실제 프로젝트는 대개 둘을 동시에 만족해야 하고, 그때 충돌 지점이 생긴다. 예를 들어 안전 관점에서는 "이상 시 즉시 안전 상태로 전이"가 정답인데, 보안 관점에서는 그 전이를 공격자가 일부러 유발할 수 있는 서비스 거부 경로 로 본다. 이런 충돌을 찾아내 드러내는 것도 QA의 일이다.

사례 — 충돌을 먼저 찾아낸 QA

차량 도어 제어 모듈의 원격 잠금 해제 기능 검증에서 실제로 겪은 구조다. 요구는 두 쪽에서 왔다.

출처요구
기능안전(ISO 26262)사고 감지 시 도어 잠금을 즉시 해제한다(구조 접근 보장)
사이버보안(21434)도어 잠금 해제 명령은 인증된 요청만 수락한다

두 요구는 각각 타당하고, 각각의 검증도 통과했다. 문제는 교차점이었다.

QA가 TARA 표를 읽다가 질문 하나를 던졌다.

"사고 감지 신호가 인증 경로를 우회하도록 설계돼 있는데, 그 신호를 위조하면 어떻게 되나요?"

답결과
사고 신호는 내부 버스에서만 온다버스에 접근하면 위조 가능(OBD 포트·게이트웨이 경유)
위조되면?주차된 차량의 도어가 열린다 — 절도 경로

이 공백은 어느 한쪽 검증으로도 안 보였다. 안전 쪽 테스트는 "사고 시 열리는가" 를 확인하고 통과했고, 보안 쪽 테스트는 "인증 없는 해제 명령이 거부되는가" 를 확인하고 통과했다. 사고 신호 자체가 인증을 우회하는 경로 라는 사실은 두 요구를 나란히 놓았을 때만 보였다.

조치는 설계 변경이었다 — 사고 신호에 다중 센서 합의(충격·에어백 전개· 속도 변화)를 요구하고, 차량 정지·주차 상태에서는 그 경로를 비활성화 하는 것. 그리고 QA 쪽에서 한 일이 더 있었다.

  • 두 요구의 교차 지점을 목록으로 만들었다(안전 전이 ↔ 인증 우회)
  • 그 목록을 TARA 의 공격 경로 후보로 등록했다
  • 검증 케이스에 "안전 기능을 악용하는" 시나리오를 추가했다

세 번째가 이 사례의 핵심 산출물이다. 안전 기능은 보통 "정상 동작하는가" 로만 검증되는데, 보안 관점에서는 그 기능 자체가 공격 수단일 수 있다. 두 시각을 한 사람이 들고 있을 때 이 공백이 보이고, 그래서 QA가 두 규격을 모두 아는 것에 실질적 값이 있다.

실무에서 왜 필요한가

자동차 도메인에 있지 않더라도 이 규격이 주는 사고 틀은 넓게 쓰인다. "이 기능이 요구대로 동작하는가"에서 "이 기능을 악용하면 무엇을 얻을 수 있는가"로 질문을 바꾸는 훈련 이기 때문이다. 결제, 인증, 권한, 파일 업로드가 있는 모든 서비스에서 같은 질문이 성립한다.

실제로 TARA의 구조는 모듈 4에서 배운 리스크 기반 테스트 와 골격이 같다. 영향과 발생 가능성을 곱해 우선순위를 만들고, 높은 것부터 자원을 투입한다. 다른 점은 '발생 가능성'을 자연 확률이 아니라 공격자의 비용 으로 추정한다는 것뿐이다. 이 치환을 이해하면 보안 테스트 계획은 훨씬 익숙한 작업이 된다.

조직 차원에서는 R155가 만든 구조를 눈여겨볼 만하다. 출시 후 지속적인 모니터링과 대응 능력이 인증 요건에 포함된다 는 것은, 품질 활동이 릴리즈에서 끝나지 않는다는 원칙을 규제가 강제한 사례다. 모듈 14의 관측 가능성(observability)과 모듈 6의 결함 관리가 여기서 하나의 요구로 합쳐진다.

채용시장에서의 위치

자동차 사이버보안은 국내에서 인력 대비 수요가 뚜렷하게 앞서 있는 영역이다. 완성차·부품사·컨설팅사·시험인증기관이 모두 같은 인력 풀을 두고 경쟁한다. 채용공고의 요건은 회사가 달라도 대체로 다음 형태로 수렴한다.

  • ISO/SAE 21434 및 UNECE R155 기준에 따른 사이버보안 체계 점검·구축
  • 고객사 맞춤 보안 솔루션·컨설팅 제공
  • 자동차 산업 또는 정보보안 경력 3년 이상, 관련 전공 학사 이상
  • 우대: 완성차·부품사 경험, 정보보안 자격증, 프로젝트 관리 경험

주목할 점은 요구 역량이 "뚫는 기술"보다 "체계를 만들고 증명하는 능력" 쪽에 무게가 실려 있다는 것이다. TARA 워크숍을 진행하고, 산출물을 규격 조항에 매핑하고, 심사에서 방어하는 일이 업무의 상당 부분을 차지한다. 그래서 QA·테스트 배경을 가진 사람이 진입하기 좋은 영역이다 — 추적성 문서를 만들고 유지해본 경험 이 그대로 통한다.

면접에서 자주 나오는 질문 하나만 미리 생각해두면 좋다. "기능안전과 사이버보안의 차이를 설명해보세요." 표면적 답은 "고장 대 공격"이지만, 한 겹 더 들어간 답은 "위험이 시간에 따라 어떻게 변하는가, 그래서 출시 이후 활동이 왜 필수인가" 다.

실습 과제

과제 1 — 미니 TARA 수행하기 (25분)

자동차가 아니어도 좋다. 지금 다루는 서비스에서 인증·결제·개인정보 중 하나와 관련된 기능을 하나 고르고, 아래 순서로 TARA를 축약해 수행한다.

  1. 자산 3개를 적는다(부품이 아니라 가치 로).
  2. 각 자산의 피해 시나리오를 한 줄씩 쓴다.
  3. 각 시나리오의 영향을 S·F·O·P 네 축으로 상/중/하 평가한다.
  4. 가장 영향이 큰 시나리오 하나에 대해 공격 경로를 3개 이상 그린다.
  5. 각 경로의 공격 가능성을 '필요 전문성·접근 기회·필요 장비' 기준으로 상/중/하 평가한다.
  6. 리스크가 가장 높은 경로에 대해 회피·저감·이전·수용 중 하나를 택하고, 그 근거를 두 줄로 쓴다.
해설 보기

이 과제에서 가장 많이 나오는 실수는 자산을 컴포넌트 이름으로 적는 것 이다. "인증 서버"는 자산이 아니라 자산을 담고 있는 그릇이다. 자산은 "세션 토큰의 기밀성", "권한 판정의 무결성"처럼 보안 속성이 붙은 형태 로 적어야 4단계에서 경로가 그려진다.

두 번째로 흔한 실수는 S(안전)만 보고 나머지를 흘려보는 것이다. 웹 서비스에서는 대개 F와 P가 지배적인데, 습관적으로 "사람이 안 다치니 낮음"으로 처리하다가 실제 피해 규모를 놓친다.

3개 이상의 경로를 강제한 이유도 있다. 하나만 그리면 대개 가장 익숙한 기술적 경로(예: SQL 인젝션)를 쓰게 된다. 세 번째쯤에서 사람·프로세스· 공급망을 경유하는 경로 가 나오기 시작하는데, 실제 사고는 거기서 더 자주 일어난다.

과제 2 — 검증 불가능한 보안 요구사항 고치기 (15분)

아래 문장들을 관찰 가능하고 판정 가능한 요구사항으로 고쳐 쓴다. 각각에 대해 통과 조건과 실패 조건을 함께 적는다.

  1. "통신 구간은 안전하게 보호되어야 한다."
  2. "비인가 접근을 차단해야 한다."
  3. "펌웨어는 신뢰할 수 있는 것만 설치되어야 한다."
  4. "이상 징후를 탐지해야 한다."
해설 보기

핵심은 세 가지를 명시하는 것이다 — 누가(주체), 어떤 조건에서(입력), 무엇을 하지 않는가/하는가(관찰 가능한 결과).

3번을 예로 들면: "부트로더는 제조사 서명 검증에 실패한 펌웨어 이미지를 설치하지 않으며, 검증 실패 시 기존 이미지로 부팅하고 실패 사실을 진단 로그에 기록한다." 이렇게 쓰면 테스트 케이스가 곧바로 세 개 나온다 — 정상 서명, 변조 이미지, 만료·폐기된 서명 키.

4번은 특히 어렵다. "탐지해야 한다"를 검증하려면 무엇을 이상으로 정의하는지 부터 써야 한다. 이 지점에서 막히는 것이 정상이고, 그 막힘이 곧 "요구사항이 아직 완성되지 않았다"는 신호다.

과제 3 — 안전과 보안의 충돌 찾기 (15분)

본문에서 든 예("이상 시 안전 상태 전이"가 서비스 거부 경로가 되는 문제) 처럼, 안전 관점의 정답이 보안 관점에서 약점이 되는 상황 을 두 개 이상 찾아 적는다. 자동차가 아니어도 좋다.

각 상황에 대해 다음을 적는다.

  • 안전(혹은 가용성) 관점의 요구
  • 보안 관점의 우려
  • 두 요구를 동시에 만족시키려면 어떤 정보가 더 필요한가

힌트가 필요하다면 이런 것들을 떠올려보라 — 긴급 상황의 인증 우회 경로, 장애 시 자동 재시작, 사용자를 위한 복구용 백도어, 디버그·진단 인터페이스, 과도한 로깅.

과제 4 — 업데이트 실패 시나리오 설계 (15분)

R156이 요구하는 "업데이트가 중단돼도 안전한 상태"를 검증한다고 가정하고, 실패 시나리오 8개 를 만든다. 최소한 아래 축들이 포함돼야 한다.

  • 전송 중단(네트워크 단절, 전원 차단)
  • 검증 실패(서명 불일치, 버전 롤백 시도)
  • 저장 실패(공간 부족, 쓰기 오류)
  • 상태 불일치(설치 후 재부팅 실패, 부분 설치)

각 시나리오에 대해 "차량(또는 기기)이 어떤 상태로 남아야 하는가"와 "그 상태를 어떻게 확인할 것인가"를 함께 적는다.

자가 체크리스트

  • 기능안전과 사이버보안의 차이를 '위험의 원천'과 '시간에 따른 변화' 두 축으로 설명할 수 있다
  • ISO/SAE 21434가 조직·프로젝트·개발·개발 이후의 네 덩어리로 구성된다는 것을 말할 수 있다
  • TARA의 단계를 순서대로 설명하고, 자산을 '보안 속성이 붙은 형태'로 쓸 수 있다
  • 영향 평가의 S·F·O·P 네 축을 각각 예를 들어 설명할 수 있다
  • 공격 가능성을 평가하는 기준(전문성·접근 기회·장비 등)을 들 수 있다
  • 리스크 처리 네 가지와, '수용'에도 문서가 필요한 이유를 설명할 수 있다
  • CAL이 ASIL과 어떻게 다르게 쓰이는지 말할 수 있다
  • UNECE R155가 요구하는 두 가지(CSMS 인증 + 차종별 증빙)를 구분할 수 있다
  • R156의 SUMS와 RXSWIN이 무엇을 가능하게 하는지 설명할 수 있다
  • 이 도메인에서 QA가 맡는 다섯 갈래의 일을 열거할 수 있다
  • 안전 요구와 보안 요구가 충돌하는 사례를 하나 이상 들 수 있다

흔한 실수

  • 보안 테스트를 침투 테스트와 동일시한다. 침투 테스트는 마지막 조각이다. 요구사항의 검증 가능성 확보와 요구사항 기반 테스트가 먼저 오고, 그것 없이 하는 침투 테스트는 결과를 추적할 곳이 없다.
  • TARA를 한 번 하고 끝낸다. 새 인터페이스가 추가되거나 새 취약점이 공개되면 TARA의 전제가 바뀐다. 갱신되지 않은 TARA는 오래된 지도다.
  • 자산을 컴포넌트 이름으로 적는다. "게이트웨이"가 아니라 "게이트웨이가 수행하는 메시지 필터링의 무결성"이 자산이다.
  • 영향 평가에서 안전(S)만 본다. 프라이버시·운영·금전 영향이 지배적인 시나리오가 실제로는 훨씬 많다.
  • 공급망 경로를 시야에서 뺀다. 우리 코드에 결함이 없어도 성립하는 공격 경로가 있다. SOUP·SBOM 관리가 여기에 걸린다.
  • 출시 후 활동을 부록으로 취급한다. R155는 그 활동을 인증 요건으로 요구한다. 어떤 차종에 어떤 버전이 실려 있는지 모르면 대응 자체가 불가능하다.
  • CAL 값을 ASIL처럼 기계적으로 다룬다. 등급 숫자를 맞추는 것보다 "이 리스크를 어느 정도로 검증했는지 설명할 수 있는가"가 실제로 심사에서 요구된다.
  • 규정 번호와 개정 시점을 확인하지 않는다. UNECE 규정과 각국의 적용 일정은 개정된다. 대상 시장과 차종의 적용 시점은 그때그때 원문으로 확인한다.

참고 자료

이 커리큘럼 안에서

  • 모듈 25 레슨 4 — ISO 26262 기능안전. 이 레슨의 짝. HARA·ASIL
  • 모듈 25 레슨 1~3 — 품질·안전 표준 지도. 규격 간 위치 관계
  • 모듈 4 레슨 2~3 — 리스크 분석. TARA가 그 특수한 형태다
  • 모듈 8 레슨 1 — 규제가 형식과 기록을 요구하는 배경
  • 모듈 8 레슨 6 — 산출물과 추적성. 형식승인 증빙의 토대
  • 모듈 15 — 보안 테스트. 공격자 관점의 구체적 기법
  • 모듈 4 레슨 6 — 전환·롤백 검증. R156의 업데이트 실패 대응과 같은 구조
  • 모듈 14 — CI/CD·관측성. SUMS 운영과 사후 감시의 기반
  • 모듈 46 — 임베디드·시스템 검증. CAN·ECU 수준의 실제 검증
  • 모듈 65 — 모빌리티·자율주행 QA. OTA·IVI 검증으로 이어진다

한 줄 정리 — 기능안전이 "고장 나도 안전하게" 라면 사이버보안은 "공격받아도 안전하게" 다. 차이는 지능적인 적이 있다는 것이고, 그래서 확률이 아니라 공격 가능성으로 따진다(TARA). R155·R156은 이 규격을 형식승인 조건으로 만들어 "안 하면 못 판다" 로 바꿨고, QA의 자리는 검증 가능한 보안 요구로 바꾸는 것과 안전·보안이 충돌하는 교차점을 찾아 드러내는 것이다.

낯선 말 풀이

이 레슨에 나온 약어입니다. 본문에서도 처음 나올 때 점선으로 표시해 두었습니다 (제목과 링크 글자는 그대로 둡니다).

ISO — 국제표준화기구
여러 나라가 모여 "이건 이렇게 하자"를 문서로 정하는 단체. 그 문서 자체를 번호로 부른다.
ISO/SAE — 국제표준화기구·미국자동차공학회 공동 표준
자동차 분야에서 두 단체가 함께 낸 표준이라는 표시.
SAE — 미국 자동차공학회
자동차 기술 규격을 만드는 미국 단체.
HARA — 위험원 분석 및 위험 평가
무엇이 어떻게 위험해질 수 있는지 먼저 찾아내고, 그 위험의 크기를 매기는 작업.
ASIL — 자동차 안전 완전성 수준
자동차 분야의 위험 등급. A부터 D까지이고 D가 가장 엄격하다.
OTA — 무선 갱신
기기를 분해하지 않고 통신으로 소프트웨어를 갱신하는 방식.
QA — 품질보증
만든 것이 쓸 만한지 확인하고, 애초에 덜 망가지게 만드는 방법을 정하는 일. "테스트"는 그 일의 일부다.
UNECE — 유엔 유럽경제위원회
자동차 관련 국제 규정을 만드는 국제연합 기구.
GS — 지에스 인증
국내 소프트웨어 품질 인증. 받으면 공공 조달에서 유리해진다.
CAN — 캔 통신
자동차 안의 작은 컴퓨터들이 서로 신호를 주고받는 통신 방식.
SOUP — 출처가 불분명한 소프트웨어
우리가 만들지 않아서 어떻게 만들어졌는지 모르는 채 가져다 쓰는 부품 코드.
SBOM — 소프트웨어 구성 명세서
제품에 어떤 부품 코드가 어느 버전으로 들어갔는지 적은 부품 목록.

이 레슨에 나온 나머지 5개를 포함해 용어집 전체 보기