오늘 블로그에는 VTR 연구소의 차량 테스트 + 취약점 발견에 대해 조금 더 자세하게 알려드리겠습니다.


취약점 발견 시점:

2023년 2월 28일

취약점 발견 차량 모델:

Volkswagen Jetta 2021

image
취약점 발견한 차량 모델: Volkswagen Jetta 2021

소프트웨어 버전:

~2023.02.28 가장 최신 업데이트

Discover media(VW 전용 인포테인먼트 시스템): 0876, Media codec: 1.2.0

취약점 상세 내용:

자체적으로 미디어 파일 퍼저(Media file fuzzer)를 개발하여 폭스바겐 전용 인포테인먼트 시스템(Discover Media)의 미디어 플레이어 취약점을 발견하였습니다.

생성 된 악성 미디어 파일을 USB에 저장하여 퍼징을 수행하는 데에는 시간이 많이 소요될 것으로 예상하여, 라즈베리파이를 활용하여 미디어 퍼징을 수행하였습니다.라즈베리파이의 특정 폴더를 USB 저장장치처럼 사용할 수 있도록 개발 하였으며 라즈베리파이에서 차량 인포테인먼트 시스템과 USB 마운트/언마운트 및 퍼저 실행, 크래시 판별들을 가능하도록 하였습니다.이를 이용하여 시간지연 없이 실시간으로 미디어 퍼징을 지속적으로 수행할 수 있었습니다.

폭스바겐의 인포테인먼트 시스템은 생각보다 보안이 잘 되어있었습니다. 퍼저로 생성한 다수의 악성 미디어파일(예를들어 특정 헤더가 손상 된 파일)들은 재생조차 하지 않았으며, 심지어 미디어파일이라고 인식조차 하지않아 미디어 재생목록에 넣지도 않았습니다.

따라서 초기에는 오랜 시간동안 미디어 퍼징을 수행하였음에도 크래시가 발견되지 않았습니다. 이를 위해 다양한 미디어파일(WAV, MP3, WMA, OGG 등)을 사용하여 퍼징을 수행 하였으며 대상 인포테인먼트 시스템에 적합하도록 퍼저를 수정해가며 퍼징을 수행한 결과, 대상 인포테인먼트 시스템에 크래시를 발생시킬 수 있는 악성 OGG 파일을 생성할 수 있었습니다.

결과:

폭스바겐의 인포테인먼트 시스템은 USB 플러그앤플레이 기능이 있습니다 - USB 드라이브 안에 있는 미디어파일을 시스템에 삽입하면 바로 재생이 된다는 뜻입니다. 폭스바겐의 인포테인먼트 시스템에 크래시를 발생시키는 OGG파일을 USB 스틱에 저장하여 차량의 USB 포트에 플러그한 결과, 인포테인먼트 시스템은 전원이 꺼지게 되고 시간이 지남에도 다시 켜지지 않았습니다. 

0:00
/1:08

PoC: OGG 파일로 퍼징 시도 후, 전원이 꺼져, 다시 켜지지 않습니다.

이슈는 엔진을 켰다가 꺼도 해결이 안되어, USB스틱을 제거한 후에도 인포테인먼트 시스템은 켜지지 않았습니다. 수동으로 인포테인먼트 시스템 재부팅을 해야 다시 전원이 켜져 해결이 되었습니다.

효과:

USB가 포트에 삽입이 되면, 미디어파일이 자동재생이 되어, 악성파일이 있다면 인포테인먼트 시스템이 강제 종료가 됩니다. 가용성에 문제가 될 수 있습니다. 추가로, 만약 메모리 관련 버그를 통해 종료가 되었다면, Remote Code Execution같은 심각한 보안 문제가 발생 될 수 있습니다.

취약점 신고:

해당 취약점을 폭스바겐 사이버보안팀에 리포팅을 했습니다: https://www.volkswagen.de/de/mehr/rechtliches/kontakt-cyber-security.html

2023.4월에 아래 회신이 왔습니다:

image
Volkswagen acknowledgement of vulnerability


위 글은 영문 원고의 국문번역, 편집본입니다. 원고는 VTR연구소 멤버 장은태 대리의 Github에서 확인 해주세요 🫡

화이트해킹 / 퍼징에 관심 있으신가요?
VTR연구소에서 함께 해봐요: 아우토크립트 채용 사이트.