본문 바로가기
카테고리 없음

[차량 보안 DAY 1] ECU 자체 이해하기 — 자동차 안에서 실제로 계산하고 제어하는 주체는 누구인가

by 의지의 엘린 2026. 8. 7.

들어가며 — 이번 단계의 목표

오늘의 질문
"ECU 하나를 책상 위에 떼어 놓았다고 가정하면, 그 상자는 무엇을 입력받고 내부에서 무엇을 실행하며 무엇을 출력하는가?"

이번 단계의 목표는 자동차 안에서 실제로 통신하고 계산하고 제어하는 주체가 누구인지 이해하는 것입니다.

이번 단계에서는 차량을 다음과 같이 바라봅니다.

차량은 하나의 거대한 컴퓨터가 아니라, 서로 다른 역할과 권한을 가진 여러 컴퓨팅 장치가 센서와 액추에이터를 통해 현실 세계와 상호작용하는 분산 시스템입니다.

따라서 이번 단계의 핵심 질문은 "어떤 프로토콜을 사용하는가?"가 아닙니다.

다음 세 가지를 먼저 구분하는 것이 목표입니다.

  • 누가 정보를 입력받는가?
  • 누가 계산하고 판단하는가?
  • 누가 현실 세계에 영향을 주는가?

미리 보는 요약

ECU는 차량 내부에서 특정 기능을 수행하는 컴퓨터입니다. 센서나 다른 장치에서 입력을 받고 firmware를 실행해서 판단한 뒤, 액추에이터를 제어하거나 다른 ECU에 정보를 전달합니다.

차량에는 Powertrain, Body, ADAS, Infotainment, TCU처럼 서로 다른 역할의 컴퓨팅 장치들이 있고 필요한 정보를 서로 주고받기 때문에 차량을 분산 시스템으로 볼 수 있습니다.

ECU는 외부 입력을 받을 수도 있고 실제 물리 기능에 영향을 줄 수도 있으며 다른 ECU가 신뢰하는 정보를 전달할 수도 있습니다. 진단과 firmware 업데이트 같은 특권 기능도 존재할 수 있습니다.

하지만 ECU 하나가 장악됐다고 해서 차량 전체가 장악됐다고 바로 결론 내리면 안 됩니다. 그 ECU의 원래 권한, 다른 ECU와의 연결, 수신 측 검증, 시스템 분리와 안전 메커니즘을 확인한 뒤 실제 영향 범위를 판단해야 합니다.


목차

  1. ECU란 무엇인가
  2. ECU와 MCU/SoC는 같은 것이 아니다
  3. 센서 → ECU → 액추에이터
  4. 브레이크 예시: 개념 모델
  5. 전체 흐름 한 장으로 정리
  6. "ECU 하나가 장악되면 뭘 할 수 있을까?"
  7. 1일차 사고 훈련
  8. 자가 점검 질문
  9. 오늘의 결론

1. ECU란 무엇인가

ECU(Electronic Control Unit)는 차량 안에서 하나 또는 여러 기능을 전자적으로 제어하는 컴퓨팅 장치입니다. 과거에는 기능 하나마다 비교적 독립된 ECU가 많이 사용되었고, 최근 구조에서는 여러 기능을 더 큰 컴퓨팅 장치로 통합하기도 합니다. 그래서 "ECU = 반드시 한 기능만 하는 작은 박스"라고 외우면 현대 차량 구조를 이해하기 어렵습니다.

기본 골격은 이렇습니다.

현실 세계의 상태 → 입력 → ECU의 계산/판단 → 출력 → 현실 세계의 변화

ECU 안에는 보통 연산을 담당하는 칩, 프로그램과 데이터를 저장하는 메모리, 센서/액추에이터와 연결되는 입출력 회로, 다른 제어기와 정보를 주고받는 통신 인터페이스, 전원 회로 등이 들어갑니다. 세부 구성은 기능과 비용, 안전 요구사항에 따라 달라집니다.

쉽게 말하면 자동차 안에서 특정 기능을 담당하는 컴퓨터이고, 자동차에는 이런 컴퓨터가 여러 개 존재합니다.

ECU 영역 담당하는 것의 예
Powertrain 엔진·모터·추진 관련
Body 도어·창문·조명·와이퍼
ADAS 카메라·레이더·운전자 보조
Infotainment 화면·오디오·내비·연결기기
TCU 차량 ↔ 외부 서비스 연결

역할은 달라도 ECU가 하는 일은 기본적으로 같습니다.

입력 → 처리 → 출력

ECU를 "컴퓨터"라고 부르는 이유

  • 입력을 읽는다 — 센서 값, 운전자 조작, 다른 제어기의 상태 정보 등.
  • 프로그램을 실행한다 — firmware에 정의된 로직을 반복해서 수행한다.
  • 상태를 보관한다 — RAM, 비휘발성 메모리, 설정값·학습값·진단 정보 등을 사용할 수 있다.
  • 출력을 만든다 — 액추에이터를 직접 구동하거나 다른 제어기에 요청/상태 정보를 전달한다.

2. ECU와 MCU/SoC는 같은 것이 아니다

한 문장으로: ECU는 "완성된 제어 컴퓨터"이고, MCU/SoC는 그 ECU 안에서 계산을 수행하는 핵심 반도체입니다.

실제 ECU는 MCU 하나만 쓰기도 하고, SoC와 별도의 안전/실시간 제어용 MCU를 함께 쓰기도 합니다. 따라서 제품을 볼 때 "ECU인가 MCU인가?"보다 "이 물리 장치 안에 어떤 처리 장치가 있고 각각 무슨 책임을 갖는가?"가 더 좋은 질문입니다.


3. 센서 → ECU → 액추에이터

  • 센서는 차량이나 주변 환경의 물리적 상태를 전기적·디지털 정보로 바꾸는 입력 장치입니다.
  • 액추에이터는 제어 신호를 실제 물리 동작으로 바꾸는 출력 장치입니다.
  • ECU는 그 중간에서 입력을 해석하고 필요한 결정을 내립니다.

4. 브레이크 예시: 개념 모델

운전자 입력 → 페달 상태 감지 → 관련 ECU의 계산 → 필요한 상태 공유 → 제동 액추에이터 동작

단계별로 보면 이렇습니다.

① 운전자 — 브레이크를 밟는다.

② Sensor — 페달과 관련된 상태가 감지된다.

③ ECU — 관련 ECU가 값을 읽고 필요한 계산/판단을 한다.

④ 다른 ECU — 필요하다면 제동 요구나 차량 상태 같은 정보가 다른 제어기에서도 사용된다.

⑤ Actuator — 최종적으로 관련 구동 계통이 작동한다.

⑥ 현실 세계 — 차량의 움직임이 변한다.

⚠️ 이것은 개념 모델입니다.
이 그림은 "정보가 어떻게 제어로 바뀌는가"를 이해하기 위한 개념 모델입니다. 실제 차량의 제동 구조는 차종에 따라 기계·유압·전기 경로와 여러 안전 메커니즘이 다르게 구성될 수 있습니다. 따라서 "페달 센서 하나가 ECU 하나를 거쳐서만 브레이크를 작동한다"라고 일반화하면 안 됩니다.

중요한 것은 제동 상황에서도 여러 제어기가 같은 상태를 필요로 할 수 있다는 점입니다. 예를 들어 한 제어기는 제동 요구를 처리하고, 다른 제어기는 그 정보를 이용해 추진 토크나 차량 안정화 관련 동작을 조정할 수 있습니다. 지금은 이 정보가 어떤 프로토콜로 전달되는지는 묻지 않습니다.

지금 중요한 것은 실제 브레이크 구조 암기가 아닙니다.

한 사람의 입력 → 센서 → 여러 컴퓨터의 판단/협력 → 물리적 결과

이 관계를 보는 것입니다.


5. 전체 흐름 한 장으로 정리

현실 세계
  ↓
Sensor / 사용자 입력
  ↓
ECU
  ├─ MCU/SoC가 계산
  ├─ Firmware 실행
  ├─ 상태 판단
  └─ 다른 ECU와 정보 교환
  ↓
Actuator / 다른 ECU
  ↓
현실 세계의 변화

6. "ECU 하나가 장악되면 뭘 할 수 있을까?"

여기서 초보자가 가장 많이 하는 실수가 있습니다.

❌ ECU 하나 해킹 → 자동차 전체 해킹

이렇게 바로 점프하는 것입니다. 보안 분석은 다음 순서로 해야 합니다.

① 입력
공격자가 어떤 입력에 영향을 줄 수 있는가?

② ECU 자체 권한
ECU 자체가 원래 무엇을 할 수 있는가?

③ 다른 ECU와 관계
다른 ECU에 무엇을 전달할 수 있는가? 상대방은 그것을 얼마나 신뢰하는가?

④ 특권 기능
진단·설정·firmware 업데이트 같은 기능이 존재하는가?

⑤ 방어 구조
수신 측 검증, 시스템 분리, 게이트웨이, 독립 안전 메커니즘 등이 영향을 제한하는가?

앞의 흐름도 위에 다시 묻기

보안에서는 5장의 그림 위에 다시 이렇게 묻습니다.

공격자가 어느 지점까지 접근할 수 있는가?

장악한 ECU가 원래 어떤 권한을 가지고 있는가?

그 권한을 이용해 다른 ECU나 현실 세계에 어디까지 영향을 줄 수 있는가?

7. 1일차 사고 훈련

  • 도어 잠금 기능을 "입력 → ECU → 출력"으로 설명해 보기.
  • 카메라가 직접 차량을 조향한다고 말하면 왜 부정확한지 설명해 보세요.
  • ECU와 MCU의 차이를 비전공자에게 한 문장으로 설명해 보세요.
  • 액추에이터가 없는 ECU도 존재할 수 있는지 생각해 보세요. 직접 액추에이터를 구동하지 않고 정보만 처리/전달하는 경우를 떠올려 보세요.

8. 자가 점검 질문

  1. ECU와 MCU의 차이는?
  2. Sensor와 Actuator의 차이는?
  3. ECU가 액추에이터를 직접 제어하지 않아도 중요한 이유는?
  4. 자동차가 왜 분산 시스템인가?
  5. TCU가 보안에서 관심 대상인 이유는?
  6. Domain과 Zonal의 차이는?
  7. Firmware란?
  8. Bootloader란?
  9. ECU 하나가 장악되었다고 차량 전체 장악을 단정하면 안 되는 이유는?
  10. 새로운 ECU를 발견하면 어떤 보안 질문 6개를 해야 하는가?

9. 오늘의 결론

프로토콜부터 외우지 말고, 실제 ECU 하나를 잡고
입력 → 처리 → 출력 → 다른 ECU와의 관계 → 보안 6문
으로 분석하는 연습을 먼저 하는 게 좋습니다.