| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- photon fusion2
- Aegis
- 보안
- gameplay tag
- CTF
- local prediction
- widget
- gas
- rpc
- os
- attribute
- animation
- C++
- gameplay ability system
- Multiplay
- gameplay effect
- UI
- 언리얼엔진
- ability task
- 게임개발
- Replication
- listen server
- Unreal Engine
- MAC
- linear regression
- 게임 개발
- 유니티
- unity
- stride
- 언리얼 엔진
- Today
- Total
Replicated
스마트카 Infotainment 시스템 해킹 본문
자동차와 이동 통신의 융합
외부 네트워크와 연결된 자동차 내부 네트워크
Before Market
- BMW: Conneted Drive
- GM: OnStar
- 현대: BlueLink
- KIA: UVO
After Market
- CCC (Car Connectivity Consortium)
- 스마트폰을 이용한 커넥티드 카 구축
- 스마트폰과 자동차 연결에 대한 표준
KIA UVO 서비스
- 진저브레드 OS (안드로이드 2.3)
- 정보 제공: Safety(도난), Info(인터넷), Assist(음성지원, 전화)
- 차량 제어: Smart Control, Car Care
Smart Updater
- 기아 자동차에서는 UVO 시스템의 펍웨어 업데이트를 제공
- 공격자 -> 분석 기회
배경
- CAN 사용의 증가
- 차량용 텔레메틱스 시스템 사용의 증가
안드로이드 어플리케이션 구조
- apk 파일 -> lib, META-INF, res디렉토리, AndroidManifast.xml, classes.dex, resources.arsc ..
OTA (Over The Air) Firmware Update
- 새로운 소프트웨어, 펌웨어, 설정, 암호화 키 업데이트를 장치에 무선으로 배포하기 위한 방식
- 하나의 중앙 제어소 -> 모든 사용자
- 엔트리 포인트, 공격 표면으로 악용됨
Firmware Modification Attack
- 임베디드 장치의 소프트웨어를 변조하여 사이버 공격을 수행하는 행위
- 펌웨어 획득, 파일 구조 분석, 펌웨어 분석, 악성 펌웨어 제작 순서..
공격 모델 및 시나리오
텔레메틱스 서비스
- 저속 CAN 관련 서비스: 원격 도어 잠금/해제 및 원격 엔진 시동/정지
- 고속 CAN 관련 서비스: 자가 진단 서비스
차 내부에 텔레메틱스 디바이스가 있고 폰의 앱이 있음
앱으로 명령하면 텔레메틱스 서버로 메시지가 가고, 텔레메틱스 디바이스로 메시지가 전달됨
* AVN = Audio, Video, Navigation - 이 뒤에 이동 통신 단말이 있음. 텔레메틱스 디바이스와 하나의 유닛 혹은 연결된 유닛
만약 텔레메틱스 유닛(디바이스)이 공격자에게 장악된다면?
- 악성 펌웨어 제작에 사용될 명령을 찾기 위해 CAN 패킷 분석
- 텔레메틱스 디바이스로 인해 발생하는 CAN 패킷 분석
- 강제제어 패킷이 아닌, 강제 제어 패킷을 발생시키는 명령을 찾음
- CAN 버스 연결, CAN 버스 리버싱..
네비게이션 정비 분서를 보고 CAN 연결을 파악 가능
- C-CAN은 핸들, 액셀.. B-CAN은 창문 여닫기
- 계속 모니터링해서 어떤 ID, 어떤 메시지가 뭘 하는지 파악
Attack Model, CERT(Computer Emergency Response Team)의 공격 분류 체계 바탕
1. 공격자
- 안드로이드 OTA 펌웨어 변경 가능
2. 도구
- 악성 OTA 펌웨어 (무기화 완료 후)
3. 취약점
- OTA 업데이트에 테스트용 인증서를 사용할 경우 보안 취약
- 안드로이드 앱 리패키징해서 악성코드 삽입 가능
- CAN 통신 설계 자체에 인증 기능 없음
-> Spoofing 이후 Elevation of Privilege
4. Action
- 원격 도어 열기 명령 전송
- GPS 추적 명령 전송
5. 대상
- 안드로이드 기반 텔레메틱스 디바이스가 탑재된 차량
6. 비인가된 결과
- 차량 도어 무단 열기 가능
- 위치 추적 가능
7. 목표
- 차량 도난
- 특정 차량 추적
공격 시나리오
1. AVN 분석 (파일 시스템 분석) -> 정찰
- Door 관련 메서드 분석
- SMS 관련 메서드 분석
2. AVN 펌웨어 변경 및 업데이트 우회 (시스템 앱 변경 및 업데이트) -> 정찰 & 무기화
- 업데이트 루틴 분석
- 시스템 앱 변경 및 리패키징
- AVN 펌웨어 리패키징
3. AVN 업데이트 및 폰을 통한 제어 명령(문 열기) 전송 -> 유포, 악용, 설치, 명령 및 제어
- 리패키징된 펌웨어 업데이트 수행
- 제어 명령 전송
4. 차량 제어 성공
OTA 펌웨어 분석 및 변조
펌웨어 업데이트 루틴을 이용해서 공격 도구를 만들기
Analysys of OTA Firmware -> 정찰
Anaysis of system.img -> 정찰
Modification of system.img -> 무기화
Update and Experiments -> 무기화 + 유포, 악용, 설치 + 명령 및 제어 + 목적 달성
업데이트 파일은 그냥 공개된 상태
..../update/system 폴더에서 update.zip 압축 해제 -> system.img에서 퍼미션 체크 및 디컴파일
apk 파일로 저장되어 있으니, 소스코드 분석하고 악성 코드 삽입 후 리패키징하는 방식
5.1 Analysis of OTA Firmware
- 제어 앱 분석을 위해 update.zip을 분석 대상으로 설정
- 압축 해제 -> system.img -> ext4 unpack
- 보면 스마트 기기에 기본적으로 설치되는 시스템 앱들이 apk 형태로 저장
5.2 Anaysis of system.img
- AVN에 존재하는 제어 메서드 분석
- 시스템 앱들을 디컴파일 한 후, Request, Send, Packet 등의 메서드명 존재 여부 분석
- requestLockRoot -> 차량 문 개폐 메서드
- GPS 관련 메서드 안드로이드에서 제공
- app 폴더에서 SMS 관련 퍼미션이 존재하는 앱들을 분석 대상으로 설정
5.3 Modification of system.img
- apk 파일을 역공학해서 .smali 파일로 만들고 자바 코드 단에서 코드 변조
- 다시 apk 파일로 만들고, 서명 다시 해서 배포 (정상적이면 이 서명이 안되어야 하는데, 테스트 인증서 쓰면 쉽게 위조 가능)
5.4 Update and Experiments
Update
- OS 업데이트 루틴 분석을 통한 우회 방법 모색
안드로이드 업데이트의 핵심 -> AVN 펌웨어의 update 폴더
- update.zip의 MD5 값 -> checksum.md5에 저장 (MD5 체크섬)
- update.zip을 서명한 인증서 otacert.zip 저장 (개발자 서명)
업데이트 루틴
- 서명 검증 + 해시 값 검증
그런데, 인증서를 테스트키를 사용
-> Zipsigner로 재서명
MD5도 생성기가 있음
리커버리 모드로 이미지 업데이트까지 하면 끝남
Experiments
감염된 텔레메틱스 디바이스로 SMS 보내서 차량 제어, GPS 정보 전송
Countermeasures
정찰 및 무기화 과정 무력화
-> 난독화
유포, 악용, 설치 무력화
-> 정상적인 서명키 사용
'학부 > 스마트카 소프트웨어 보안' 카테고리의 다른 글
| TARA (Threat Analysis and Risk Assessment) (0) | 2025.06.07 |
|---|---|
| UN Regulation No.155, ISO/SAE 21434 / CSMS, VTA (0) | 2025.06.07 |
| CAN 버스 리버스 엔지니어링 (0) | 2025.04.13 |
| CAN (Controller Area Network) (0) | 2025.04.13 |
| 자율주행자동차 (0) | 2025.04.13 |