28
스마트 자동차 해킹에 대해 알고 싶어요! (About Smart Car Hacks) 이승진 / 그레이해쉬 [email protected] http://grayhash.com

스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

스마트 자동차 해킹에 대해 알고 싶어요!

(About Smart Car Hacks)

이승진 / 그레이해쉬 [email protected] http://grayhash.com

Page 2: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

About me

• 정보보호업체 GRAYHASH 대표

• 각종 해킹대회 우승 및 2006년 아시아 최초 데프콘 본선 진출

• BLACKHAT LasVegas / CANSECWEST / BREAKPOINT 등 국제 해킹 컨퍼런스 발표

• BLACKHAT 싱가폴, 라스베가스 / 일본 코드블루 컨퍼런스 심사위원

• BoB 보안인재 양성 프로그램 멘토

• 고려대학교 정보보호대학원 SANE 랩

From BoB위키.. 어떤 쉐키니?

Page 3: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

About this talk

• 특정 자동차 모델에 대한 취약점 공개나 해킹 시연 아님

• 소프트웨어 해커 입장에서 바라본 자동차 해킹에 대한 경험 공유

• 스마트 자동차가 갖고 있는 attack surface

• 전통적인 해킹과 같은 점과 다른 점

Page 4: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

개요• 스마트 자동차 보안 연구의 중요성

• 현대의 자동차는 일반적으로 사용하는 컴퓨터와 동일하다고 볼 수 있음

• 컴퓨터, 핸드폰이 해킹 당하는 것과 마찬가지로 자동차도 해킹이 가능

• 워싱턴 대학교에서 선구적인 연구가 진행됐으며 찰리 밀러, 크리스 발라섹에 의해 프랙티컬한 연구가 시작됨

• https://www.youtube.com/watch?v=oqe6S6m73Zw

• http://illmatics.com/Remote%20Car%20Hacking.pdf

• 스마트 자동차 해킹은 현실인가?

• 미디어를 통해 접한 자동차 해킹은 실현 가능한 위협인가?

Page 5: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

자동차 해킹 vs 전통적인 해킹

• 버그를 찾는 과정에선 기술적으로 전통적인 해킹과 크게 다르지 않음

• Rich Operating Systems: Windows, Linux, QNX, Real-time OS

• Familiar CPU: Intel, ARM, MIPS, PowerPC, Atmega, etc

• Even, different CPU architecture doesn’t really bother

• Read / reverse engineer code, find bugs and write exploits

Page 6: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

무엇이 다른가?• Different attack scenarios

• 차량 소유자의 핸드폰을 장악한 상황

• Telematics 디바이스의 핸드폰 번호를 알고 있는 상황

• 차량에 근접하게 위치할 수 있는 상황

• Different threat scenarios

• 엇? 내 컴퓨터가 랜섬웨어에 당했네? ㅋ 하지만 내 컴엔 중요한거 없어

• vs 고속도로 한 가운데에서 브레이크가 갑자기 작동하지 않는다면?

Page 7: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

Attack surfaces?

• Over the air update, Digital radio, TCU (Telematics Control Unit), AVN (Audio Video Navigation), TPMS (Tire Pressure Monitoring System), Physical attack (USB, multimedia, etc), Server side, remote unlock door so on

• Most dangerous attack vector?

• End point: TCU, AVN, Digital radio

NRSC-5 - http://theori.io/research/nrsc-5-c

Page 8: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

• TCU - SMS Parser memory corruption bug

TCU 해킹 사례

User given SMS PDU

Length of sender address

Counter

Copy

[Simple memory corruption - intel assembly version]

Page 9: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

TCU 버그 impact• As hackers can send malicious SMS PDU messages to a victim car, it’s

completely a remote RCE

• You just need to know the TCU’s mobile number

• 공격 시 문제점

• 공격 페이로드에 따라 통신사 네트워크를 통과하지 못하는 경우도 있음

• 정상적이지 않은 포맷일 경우 통신사에서 처리하지 못하거나 블락 당하는 경우가 있으나 원인에 대해서는 정확히 식별할 수 없음

• 솔루션: 통신사를 통과할 수 있는 다른 유형의 취약점을 찾거나 Fake base station을 구축한다면 통신사 filtering 없이 공격 가능

Page 10: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

Firmware 분석

• 차량 연구를 포함한 대부분의 임베디드 시스템 해킹의 첫번째 단계는 펌웨어 확보

• “저 하드웨어 해킹 듣보잡인데요..”

• 그레이해쉬 하드웨어 해킹 트레이닝이 여러분을 기다리고 있습니다!

• 일반적인 펌웨어 덤프 방식

• Flash memory dump, UART, JTAG, etc

• 블라인드 해킹을 통해 쉘을 획득 후, 펌웨어를 가져오는 것도 가능

Page 11: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

Advanced Firmware 덤프

• ASLR, DEP, SMEP, Code signing, Integrity check

• 소프트웨어 해킹을 할 때 우리를 괴롭히는 것들

• 하드웨어 해킹도 날이 갈수록 어려워지고 있음

• JTAG, UART disable은 기본

• Encrypted 펌웨어

• Secure boot

Page 12: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

Advanced Firmware 덤프

• 그중에서도 하드웨어 해킹에서 가장 어렵게 된 것은

• 펌웨어 덤프

• 기존 방식의 펌웨어 덤프가 먹히지 않는 칩셋들이 존재

• Code protection이 걸린 칩은 하드웨어적으로 보호돼있기 때문에 read가 불가능하며 오직 erase 후 re-write만 가능

Page 13: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

Advanced Firmware 덤프

• Code protection이 걸린 칩들에서 펌웨어를 추출하는 방법들

• FIB를 이용한 회로 조작

• “For example, in an integrated circuit, the gallium beam could be used to cut unwanted electrical connections” - wikipedia

Page 14: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

Advanced Firmware 덤프• Code protection이 걸린 칩들에서 펌웨어를 추출하는 방법들

• SEM을 이용한 플래쉬 메모리 캡처

Page 15: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

Advanced Firmware 덤프

• Code protection이 걸린 칩들에서 펌웨어를 추출하는 방법들

• Glitching 기법을 이용한 각종 꼼수들 (Non-invasive attack)

Normal Abnormal

http://www.newae.com/sidechannel/cwdocs/tutorialglitch.html

Page 16: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

디지털 스캐닝 이미지

https://ww.texplained-store.com

Page 17: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

Advanced Firmware 어려운 점• Non-invasive와 invasive 공격으로 구분할 수 있음

• Non-invasive 공격에 필요한 장비는 비교적 비싸지 않음

• 그러나 무수히 많은 테스트가 필요

• gdb, WinDbg를 이용할 때와는 비교가 되지 않는 테스트 효율

• Invasive 공격에 필요한 장비는 굉장히 고가

• 개인이나 중소 회사에서 보유하는 것은 매우 어려움, 비쌈

• 대학원 제공하는 공용 장비를 유료 대여하는 것이 일반적임 (시간당 10만원 선)

• Chip 디캐핑 등 굉장한 노가다와 용기가 필요

Page 18: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

차량 제어 단계

• TCU, AVN 등의 컴포넌트는 해커 입장에서는 entry point라 볼 수 있음

• Entry point에서 차량의 핸들이나 브레이크 등 크리티컬 모듈을 실질적으로 조작하기 위해서는 CAN (Controller Area Network) bus 통신을 거쳐야 함

• CAN bus 분석의 어려운 점

• TCU, AVN 등은 Rich 컴포넌트라 볼 수 있으며 차량을 조작하는 모듈은 내부에 존재함

• 일반적으로 Rich 컴포넌트는 두개의 MCU(하나는 Rich OS용, 다른 하나는 CAN 통신용)이 탑재돼있으며 Rich MCU -> CAN MCU -> CAN 통신 구간 -> 내부 모듈로 통신하는 구조

Page 19: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

차량 제어 단계

Rich component

MAIN MCU

SUB MCU

내부 모듈

핸들제어

악셀제어

브뤡제어

창문제어

기타제어

CAN 통신

외부 입력

Page 20: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

차량 제어 단계• CAN 통신 담당 MCU의 펌웨어를 리버스 엔지니어링 하면 해당 차량이 사용하는 CAN 포맷을

분석할 수 있음

• 그러나 어떤 ID, 어떤 페이로드가 핸들 조작에 관여하는지 알기는 어려움

• Sub MCU의 펌웨어는 관련 정보가 부족하기 때문

• 따라서 원하고자 하는 CAN 메시지를 알아내기 위해서는 일반적으로 CAN 메시지 브루트 포스를 통해 확인

• 가령, 0x04를 메시지를 보냈을 때 차량 계기판 등이 어떻게 반응하는지 관찰

• CAN message 모니터링 툴을 통해 보다 원활한 분석 가능

• 신호가 너무 과도하게 발생할 경우, 어떤 메시지가 특정 기능을 담당하는지 분석하기 어려움

Page 21: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

차량 제어 단계• CAN BUS 해킹 쉽게(?) 하기

• CAN 해킹 과정 중에는 예측하기 어려운 결과가 나올 수 있음

• 예를 들어, 특정 메시지가 풀-악셀 유도할 경우 테스트 과정 위험 요소

• 넓은 공터에서 리프트 장비를 이용하여 안전하게 테스트하는 방법도 있지만 부품을 별도 준비하여 테스트하는 것도 가능

• 그레이해쉬 Car hacking training coming up!

Page 22: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

자동차 소프트웨어의 보안 이슈

• 임베디드 분야 특성상 보안 프로세스가 개발 초기에 합류하지 않으면 향후 보안 문제가 생겼을 때 막대한 비용이 발생할 수 있음

• 최근 많은 차량 제조사 / OEM 업체에서 보안에 관심을 갖고 있음

• Secure SDLC(Software Development Life Cycle)을 도입하고 있는 추세

• 정보보안팀이 개발 초기 단계에 참여하여 시스템 설계를 해야 함

Page 23: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

자동차 소프트웨어의 보안 이슈

• 오픈소스를 커스터마이징하여 사용하는 경우가 많음

• 자동차 소프트웨어는 복잡하고 규모가 큼

• 특정 오픈소스를 채용하여 그 위에 플랫폼을 올리는 형태가 대부분

• 문제는 커스터마이징을 과도하게 하다보니 해당 오픈소스가 업데이트될 때마다 적용하는 것에 많은 비용이 발생함

• 라이브러리를 최신 버전으로 유지하는 것이 매우 어려움

• 스마트 자동차 뿐만 아니라 임베디드 시스템 전반적으로 보이고 있는 문제

Page 24: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

자동차 소프트웨어의 보안 이슈

• 차량을 한번 설계하면 문제를 고치기가 매우 어려움

• 각각의 하드웨어 모듈은 여러 OEM에 의해 만들어짐

• 초기 설계 시 하드웨어와 소프트웨어 역할에 대해 명시

• 특정 모듈에 디자인적인 보안 결함이 발견할 경우 대응 어려움

• 예) Plain 통신을 하는 TPMS 모듈을 고치기 위한 비용은?

Page 25: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

자동차 소프트웨어의 보안 이슈

• 최신 몇몇의 차가 아닐 경우 아직도 Over-the-air를 통한 업데이트가 어려움

• 차량 소유자가 직접 정비소를 방문해야 펌웨어 업데이트 가능

• Android의 파편화 문제처럼, 차량 모델이 워낙 다양하기 때문에 시스템을 유지하는 입장에서는 업데이트 관리도 매우 복잡한 문제

Page 26: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

보안 문제 발생 시 일어나는 일은?

• 과거의 차량 리콜 사유

• “유해배출가스 많은 자동차에 리콜제도 시행” - 1990년도 기사

• 현재의 차량 리콜 사유

• “Your car will be recalled in 2017 thanks to poor open-source security” - zdnet

• 사이버 보안 문제로 인한 자동차 리콜은 현실이며 막대한 비용 발생

• 일어나서는 안되지만, 만약 인명 피해의 사고가 일어날 경우 천문학적인 손실

Page 27: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

결론• 소프트웨어적인 해킹만 봤을 때는 전통적인 해킹과 크게 다르지 않음

• 그러나 하드웨어 해킹 기술이 필수적으로 요구됨

• 하드웨어 해킹 특성 상, 많은 실패와 시행착오를 이겨내야 함

• 소프트웨어의 문제로 인해 발생하는 자동차 사고는 인명 피해와 직결될 수 있기 때문에 가장 높은 수준의 정보보안이 요구됨

• 제품 완성 후, 정보보호 테스트가 아닌 설계 초기 단계에서의 참여가 중요

• 현재 자동차 보안 수준은 모바일 / 데스크탑에 비교하면 조금 떨어지지만 향후 많은 부분이 빠르게 개선될 것

• TIP: 스마트 자동차 보안 연구 시에는 초기 환경 설정이 중요

• 소프트웨어 해킹과는 달리 문제가 발생했을 때 해결하기가 어려움

Page 28: 스마트 자동차 해킹에 대해 알고 싶어요! - SECUINSIDEsecuinside.com/archive/2017/2017-2-4.pdf2017/02/04  · • 최근 많은 차량 제조사 / OEM 업체에서 보안에

Q/A

• “인터넷에서 찾아보면 중국 업체들이 싼 가격에 칩 덤프 떠준다고 하던데..?”