커넥티드카의 위기: 취약점이 CAN (Controller Area Network) 표준에 영향을 미칠 때

게시일: 2017-08-28 l 작성자: Trend Micro

이미 여러 번 보고된 바와 같이, 연구원들과 엔지니어들은 많은 경우의 수에 따라 최신 인터넷 차량을 해킹 할 수 있는 방법을 모색해왔습니다. 그중 유명한 예는 찰리 밀러 (Charlie Miller)와 크리스 발라섹 (Chris Valasek) 연구원이 발견한 크라이슬러 지프 해킹입니다. 이러한 해킹의 대부분은 특정 자동차 제조사 및 브랜드의 특정 취약점에 집중되어 있었기 때문에 신속하게 해결될 수 있었습니다. 그러나 보안 업계는 자동차의 성능과 기능에 영향을 줄 은밀하고 어떠한 보안솔루션으로도 막을 수 없는 해킹이 발견될 경우를 염려하고 있습니다.

트렌드마이크로의 Forward-looking Threat Research (FTR) 팀은 밀라노 폴리테크니코의 Linklayer Labs 와 협업하여 우려했던 최악의 자동차 해킹 상황 및 취약점을 발견할 수 있었습니다. 이 공격은 현대의 자동차 보안 기술로는 해결이 불가능하며 완전히 해결하려 한다면 광범위하고 전면적인 표준화 기준의 변화와 차량 내 네트워크 및 장치가 새로운 방식들로 구축되어야 합니다. 현실적으로 보았을 때 지금 당장의 취약점의 해결은 불가능해 보이며 새로운 대책 방안이 필요합니다.

아래는 이에 대해 고객이 가질 수 있는 질문과 그에 대한 답변입니다.

또 다른 “자동차 해킹” 의 개념과 새로운 점은 무엇인가요?

새로운 점은 최첨단 보안 메커니즘에서 보이지 않는 방식으로 자동차의 장치 네트워크에 연결된 장치 (예: 에어백, 주차 센서, 활성 안전 시스템)를 비활성화하는 공격이라는 것입니다.

이 연구의 주된 목표는 무엇입니까?

근래에 다른 사람의 차량에 대한 접근 권한 부여가 일반적으로 통용되는 상황이 되었으며 그에 따른 많은 합법적인 케이스들도 생겨나고 있습니다. 표준화 기구, 의사 결정권자 및 자동차 제조 업체가 이러한 변화를 고려하고, 향후 자동차를 안전하게 보호하기 위해 미래의 자동차 물리 시스템의 설계를 계정해야 할 때입니다.

제 차에도 영향을 미칠까요?

가능합니다. 이러한 공격은 어떠한 보안솔루션으로도 막을 수 없습니다. 그러나 특정 벤더의 솔루션은 공격을 수행하기가 더 어렵도록 비표준 대책을 세울 수 있습니다.

“지프 해킹”이 지금까지 가장 진보된 공격이 아니었나요?

“지프 해킹”은 실제로 매우 진보되고 효과적이었습니다. 그러나 이는 현재 이용 가능한 차량 내 사이버 보안 기술 (예: 애프터마켓 IDS/IPS) 이 프레임 주입 기능을 필요로 했기 때문에 이러한 공격을 탐지할 수 있었습니다. 또한 자동차 제조업체는 자동차 장치에서 실행되는 소프트웨어를 업그레이드하여 해당 공격을 받은 취약점을 패치할 수 있었습니다.

자동차 제조업체가 이 문제를 해결하는데 얼마나 오래 걸릴까요?

이는 자동차 제조업체의 잘못이 아닙니다. 이번 연구에서 제시된 보안 문제는 자동차 장치 네트워크 (예: CAN) 의 작동 방식을 지정하는 표준 기준에 있습니다. 자동차 제조업체는 특정 네트워크 대책을 채택하여 이번 연구에서 시 연된 공격을 완화 할 수 있지만 완전히 제거할 수는 없습니다. 위험성을 완전히 없애기 위해 업데이트된 CAN 표준을 제안하고 채택하여 구현해야 합니다. 이 모든 과정에는 다른 세대의 차량이 필요할 것입니다.

아래는 Federico Maggi 연구원의 이번 연구에 관한 전체 연설 비디오입니다. 이는 7월 6일 Bonn에서 열렸던 DIMVA 컨퍼런스에서 발표한 것과 같은 연설입니다.

시스템의 오류: CAN 표준의 설계 취약점

그렇다면 이 새로운 공격은 어떻게 이루어 질까요? 이 공격은 모든 차량 내 장비 (예: 주차 센서, 에어백, 능동 안전 시스템) 및 시스템 (인포테인먼트) 을 연결하고 통신할 수 있는 네트워크 프로토콜을 악용하여 이루어집니다. 이 네트워크의 표준은 CAN (Controller Area Network) 입니다.

1983년 Bosch 가 초기 개발한 후 CAN 프로토콜은 1986년 공식적으로 출시되어 1989년 생산 차량에 처음으로 적용되었습니다. 1993년 국제 표준화 기구 (ISO)는 CAN을 도로 차량용 ISO 11898 국제규격으로 채택했습니다. 그 이후로 CAN 은 현재 유통되고 있는 거의 모든 소형 차량의 표준 네트워크로 사용되고 있으며 미국 연방 법원에서 유일한 표준 네트워크로써 받아들여질 수 있도록 추진되고 있습니다.

차량의 다양한 장치와 시스템이 서로 연결되어야 할 이유는 무엇일까요? 다양한 차량 내부 서브시스템은 특히 비상사태에 대비해 자동으로 작동할 수 있어야 합니다. 예를 들어, CAN 을 사용하면 인포테인먼트 또는 안전시스템이 자동차 에어백 시스템의 메시지를 수신하여 사고 발생 시 자택에 전화를 걸어야 하는지에 대한 여부를 판단할 수 있습니다. 또한 운전 경험을 향상시킬 수 있습니다. 예를 들어, 인포테인먼트 시스템은 엔진 컨트롤 시스템의 신호를 읽고 자동으로 볼륨을 더 높여주기 때문에 운전자가 더 커진 엔진 소리에도 오디오를 잘 들을 수 있습니다.


그림 1. 일반적인 CAN 네트워크 다이어그램 (*1)

오류를 포함한 CAN 의 전체적인 메시지를 “프레임” (“frames”) 이라고 합니다. 이번에 발견한 공격은 CAN 이 오류를 처리하는 방법을 악용합니다. 오류는 장치가 프레임의 원래 예상 값과 일치하지 않는 값을 읽을 때 발생합니다. 장치가 이러한 상황을 감지하게 되면 오류 프레임을 “회수” (“recall”) 하고, 다른 장치에도 회수된 프레임을 완전히 무시하도록 알리기 위해 오류 메시지를 CAN 버스에 씁니다. 이러한 사고는 매우 일반적이며, 자연스럽게 나타난 오류나 일시적인 오작동 또는 너무 많은 시스템과 모듈이 CAN 을 통해 프레임을 동시에 보내려고 할 때 발생합니다.

장치가 너무 많은 오류를 내보내면 CAN 표준에 명시된 바와 같이 버스 끄기 상태 (Bus Off state)가 되어 CAN 에서 분리됨과 동시에 CAN 에 데이터를 읽거나 쓸 수 없게 됩니다. 이 기능은 오작동을 일으키는 장치를 격리시키는데 유용하게 사용되며, CAN 에 있는 다른 모듈 혹은 시스템에서 또 다른 오류의 원인이 되지 못하도록 합니다.

이러한 점이 이번 연구에서 밝혀진 새로운 공격이 이용하는 부분입니다. 이 공격은 CAN 상에 있는 대상 장치 또는 시스템이 버스 끄기 상태가 되어 비활성 / 작동 불가 상태가 되도록 많은 오류를 유도함으로써 이러한 특정 기능이 작동되도록 합니다. 이러한 점을 이용해 위험상황, 특히 에어백 시스템이나 ABS 와 같은 필수 시스템이 비활성화 될 경우 자동차와 운전자에게 치명적인 영향을 끼칠 수 있습니다. 공격자에게 필요한 것은 특수 제작된 공격 장치로써 이 장치를 로컬 액세스를 통해 자동차의 CAN 에 접근하는데, 이때 새로운 프레임을 주입하기보다는 이미 CAN 안에서 돌고 있는 프레임들을 재사용합니다.


그림 2. 공격 장치 공격 체인 (*1)

현세대 자동차의 원격 액세스 취약점과 로컬 액세스 취약점

종종 자동차 해킹을 하는 많은 개념 증명 및 취약성은 자동차에 대한 로컬 액세스가 필요하기 때문에 무시되곤 합니다. 하지만 더 이상 안심할 수는 없습니다. 첫째, 새로운 공격은 원격으로 제어할 수 있는 취약점을 이용해 공격자가 ECU 의 펌웨어 (예: 인포테인먼트 시스템) 를 재프로그래밍 할 수 있도록 합니다. 둘째, 로컬 공격 또한 이제는 심각하게 대비해야 합니다. 일반적으로 공격자가 로컬 공격을 통해 자동차에 액세스할 수 있는 상황은 공격자에게도 위험하기 때문에 드물게 일어납니다. 그러나 현재 승차 공유, 카풀 및 자동차 렌트 등과 같은 트렌드로 인해 많은 사람들이 같은 차량에 로컬 액세스할 수 있는 시나리오가 증가하고 있습니다. 따라서 차량 사이버 보안 측면에서 패러다임의 변화가 일어나야 합니다.

솔루션

앞서 언급했듯이, 이러한 보안 문제를 완화하는 것은 쉽지 않습니다. 그 이유는 취약점 자체가 설계에 있으며 즉시 패치 할 수 없다는 점 때문입니다. 해결책은 규제와 정책의 급격한 변화를 필요로 하며 이는 전 세대의 차량에 적용이 되어야 합니다. 아래는 공격으로부터 보호할 수 있는 몇 가지 장기적인 솔루션 입니다.

  • 네트워크 세분화 또는 토폴로지 변경: 토폴로지를 변경하거나 차량에서 CAN 을 세분화 함으로써 대상 오류 범람이 특정 시스템에 영향을 미치지 않도록 할 수 있습니다.
  • 규제된 OBD-II 진단 포트 액세스: 물리적으로 포트가 있는 경우 특수 하드웨어 키 또는 암호를 생성하면 불법 장치가 CAN 에 도입되는 것을 방지할 수 있습니다. 포트에서 들어오고 나가는 트래픽을 허용하기 위해 소프트웨어 수준 인증을 구현하는 것도 고려할 수 있습니다. 이는 규정의 변경을 필요로 합니다.
  • 암호화: CAN 프레임 ID 필드를 암호화하면 공격자가 대상으로 할 수 있는 CAN 프레임을 식별할 수 없으므로 더욱 눈에 띄는 공격 패턴을 초래해 탐지가 더 쉬워질 수 있습니다.

트렌드마이크로는 이미 연구 결과를 미국/ICS-CERT 에 제공하였으며 이에 따라 경보가 발령된 상태입니다.

이번 연구에서 밝혀진 새로운 자동차 시스템 취약점과 연구에 관한 더 자세한 내용은 트렌드마이크로의 최신 기술 요약서 “A Vulnerability in Modern Automotive Standards and How We Exploited it” 를 참고하시기 바랍니다. 위 기술 요약서에서는 이번 취약성에 관한 연구 결과를 면밀히 분석한 내용이 포함되어 있습니다. 또한 공격 메커니즘에 대한 자세한 설명과 이 취약점을 완화하기 위한 권장 사항이 포함되어 있습니다.

관련 기사는 여기를 클릭하시면 보실 수 있습니다.

*1: A Stealth, Selective, Link-layer Denial-of-Service Attack Against Automotive Networks, Andrea Palanca (Politecnico di Milano (Italy)); Eric Evenchick (Linklayer Labs); Federico Maggi (FTR, Trend Micro, Inc.); Stefano Zanero (Politecnico di Milano (Italy))

[원문: The Crisis of Connected Cars: When Vulnerabilities Affect the CAN Standard]