즐거운 금요일 입니다.
직접 다녀온 것은 아니지만, 2018년 5월 29일 한컴MDS 주최로 개최된 "자동차 SW 개발자 컨퍼런스 2018"에서 내용 공유하고 싶은 내용이 있어서 적어 봅니다.
TRACK 3-2. 차량 사이버보안 표준 J3061과 대응 방안 (한컴 MDS. 남동현 과장)
SAE J3061 적용원칙
1. 시스템의 사이버 보안 위험성 파악할 것
- 시스템에 저장되거나 전송되는 민감한 데이터 및 또는 개인 식별 정보가 존재 유무 확인
- 차량의 안전 기능에 중요한 역할을 하는 시스템 확인
- 차량의 전기 장치들과 외부에 있는 개체 또는 시스템간에 통신 또는 연결 유무 확인
- TARA를 수행할 것
2. 핵심 사이버 보안 원칙을 이해할 것
- 개인 식별 정보 (PII) 및 민감한 데이터 보호
- 보수적인 접근 제어: “최소한의 권한” 원칙 사용. 일부 기능을 사용할 때 전체 권한 부여 금지
- 특별히 가장 큰 위협에 대해 “Defense in Depth”를 적용
- 검증되지 않은 캘리브레이션 및 소프트웨어에 대한 변경 금지
- 차량 소유자가 보안을 약화시킬 수 있는 무단 변경 하는 것 방지
(파워트레인 성능을 위한 튜너(Tuner), 자체적으로 SW 설치되는 DVD나 블루투스 페어링 전화 등)
3. 차량 소유자의 사용을 고려할 것
- 데이터 수집 최소화하고 가장 민감하지 않은 데이터를 사용
(예, 주민등록번호 대신 사용자의 이름을 사용) - 사용자 정책 및 제어기능 활성화
(소유자와 제조업체가 개인정보와 승인 설정 등을 관리) - 개인식별정보 데이터의 저장, 사용 및 전송 보호
- 수집, 저장 또는 공유되는 데이터에 대한 적절한 통지 제공
- 판매 대리점, 고객지원창구, 웹사이트 및 사용 설명서 등에 명시하고 알릴 것
4. 컨셉 및 설계 단계부터 사이버보안 실행할 것
- ISO 26262 Part 3 Concept phase부터 사이버보안 프로세스를 적용할 것
(블로그 주인 해석: 자동차 레벨에서부터 사이버 보안을 고려할 것) - 위협을 분석하고 발견된 위협에 대하여 취약점을 확인하고 적절한 보안 통제 적용을 결정할 것
- 엔지니어가 시스템의 최적 보안 수준을 결정하고 구성할 수 있도록 사이버보안 분석을 실행할 것
5. 개발 및 검증 단계에 사이버보안 적용
- 사이버보안 요구사항이 충족되는지 설계를 검토
- 모듈, 시스템 및 차량 레벨에서 설계 초기부터 사이버보안 요구 사항이 충족되었는지 테스트를 수행
- 차량 소프트웨어를 리플래시(Re-flash) 기능과 관련된 위협을 최소화 하거나 제거할 것
5. 사고 대응에 대하여 사이버보안 적용
- 사이버보안 사고를 이해할 수 있도록 사고 대응 프로세스를 수정하여 문서화할 것
- 문서화된 내용을 판매 대리점, 고객 지원 헬프라인, 웹 사이트 및 사용 설명서에 개시할 것
- 사고가 발생할 경우 소프트웨어 보정 및 업데이트를 수행하는 방법 결정할 것
6. 차량 소유자 변경에 대하여 사이버보안 적용
- 차량에 보호해야 할 SW 또는 고객 개인 정보가 남아 있는지 확인
(예: 이모빌라이저, 휴대폰 페어링) - 소유권 변경 또는 폐차 시 차량에서 개인 정보를 제거하는 방법을 제공할 것
Cybersecurity 테스팅 방법
1. Penetration Testing
- 위협 분석에서 확인 된 가장 위험한 영역에 집중하여 시험
- 모든 외부 데이터 인터페이스에 적용 (예: 블루투스, USB, 셀룰러, Wi-Fi, ODB2, HMI)
- Black box: 사전에 제공된 정보 없이 진행
- White box: 취약점 분석 결과, 소스 코드 등과 같은 모든 정보를 가지고 진행
- Gray box: Black box와 White box의 중간 개념으로 시스템 설명서 및 알고리즘과 같은 내부 구조에 대한 지식을 가지고 진행
2. Red Teaming
- 미군에 의해 개발되었으며, 내부 전문가 그룹으로 시스템을 공격하는 “레드 팀”을 구성
- 목표는 시스템 및 내부 네트워크에 액세스 할 수 있는 가능한 공격 루트를 식별하는 것
- 개발자는 식별된 공격 경로를 제거하거나 공격의 영향을 완화하기 위한 조치 수행
3. Fuzz Testing
- 임의로 잘못된, 예상하지 못한 데이터(패킷)를 생성하여 시스템 인터페이스를 통하여 입력하는 테스트
- 시스템 또는 응용 프로그램에서 잘못된 예외 처리 또는 잘못된 필터링, 프로그램 오동작 또는 무력화 등 공격자가 악용할 수 있는 공격지점을 탐색하기 위한 목적으로 사용
SAE J3061 적용 방안
1. 식별 (Identify)
- 기존 규정 및 가이드라인에 대한 검토
- 사업 리스크 분석
- 진화하고 있는 사이버 보안 위협에 대하여 분석
- 위협 평가 및 대응 정책에 대하여 작성
2. 보호 (Protect) – 핵심: 인증, 암호화, 무결성
- 외부 접근에 대한 분리
- ECU의 Critical 모드(진단모드)에 대한 접근 제어
- 민감한 정보에 대한 접근 제어
- 중앙 게이트웨이 또는 도메인 컨트롤러 기반의 아키텍처 적용
- 통신 시 송신기에 대하여 확인하며 데이터의 기밀성, 무결성을 확인
- 진단 및 업데이트 절차를 포함한 유지 관리 작업에서 사이버보안 보장
- 리버스 엔지니어링을 어렵게 하는 기법 사용 (Code obfuscation, ROP(return-Oriented-Programming) 최소화 등)
3. 탐지 (Detect)
- 시스템의 오동작/기대하지 않은 동작을 탐지하는 차량 내부 네트워크 침입 탐지 기능
- 운행 중 차량 네트워크에 대한 지속적인 모니터링
- 공격이 발생 했을 때 리포트 하는 방화벽
4. 대응 (Respond)
- 기대하지 않은 동작 및 침입에 감지하고 대응하는 기능
- 사고에 대한 클라우드 또는 차량 로깅(Logging) 기능
- 차량 운행에 대하여 해석할 수 있는 포렌식 로그 생성
5. 복구 (Rescover)
- 원격을 통해 업데이트 및 패치를 신속하고 안전하게 배포하도록 설계된 시스템 적용
- 취약한 하드웨어에 대한 반환
- 끝 -
'자동차관련(Automotive)' 카테고리의 다른 글
OBD (On Board Diagnostics) 1 and 2 difference (0) | 2019.01.07 |
---|---|
Autonomous driving level Picture (0) | 2018.12.07 |
System of System (0) | 2018.11.20 |
DDT: Dynamic Driving Task (0) | 2018.11.06 |
SAE J3061 (0) | 2018.04.27 |