본문 바로가기
AhnLab 칼럼

스마트폰과 연결된 자동차? '커넥티트카(Connected Car)'

by 보안세상 2020. 4. 22.

2011.04.04

 


 불과 1~2년 사이에 스마트폰이 폭발적으로 활성화되었다. 출퇴근하는 지하철이나 우리 주변에서 스마트폰으로 인터넷을 하는 사람들을 쉽게 찾아 볼 수 있다. 점심 식사 중에 어떤 논쟁거리가 생기면 ‘들어가서 인터넷 확인해 보자!’라면서 내기를 하곤 했는데, 지금은 바로 스마트폰으로 인터넷 검색을 해서 논쟁을 종결시킨다. 이와 같이 스마트폰을 통하여 언제 어디서나 검색을 하거나 이메일을 확인하거나 증권거래하는 것은 스마트폰으로 인한 변화의 일각이다. 상시 인터넷에 접속할 수 있다는 것은 우리 생활에 많은 변화를 가져다 주고 있다. 개념적으로 보면 스마트폰이 매개체가 되어 지구반대편에 있는 사람과 상시 연결되어 있다는 것이 가장 큰 변화다. PC앞에 있을 때만이 아니라 상시적으로 연결되어 있다는 것이다. 트위터와 같은 앱을 통하여 TV를 보면서 TV에 나오는 내용에 대해서 즉시 다른 시청자들과 토론을 해볼 수도 있다.  3rd-party회사들에 의하여 제공되는 수많은 앱들은 스마트폰의 가능성을 무한히 열어 주고 있다.

 


이런 스마트폰이 자동차와 결합되었다. 이것이 커넥티드카(Connected Car)다. 상시적으로 네트워크에 연결된 자동차. 여기엔 스마트폰과는 또 다른 우리 생활을 변화시킬 잠재력이 있다.

 

그림 1 커넥티드카(Connected Car)

 


커넥티드카는 상시 네트워크로 연결되어 있는 자동차로 3G/4G나 Wi-Fi 등 다양한 방법으로 네트워크에 연결된다. GM의 OnStar시스템은 아이폰앱을 통하여 연료가 얼마나 남았는지 고장은 없는지 등을 조회해 볼 수 있다. 앞으로는 스마트폰처럼 앱을 다운로드하여 실행하는 기능도 들어갈 것이다(GM의 OnStar시스템에는 facebook과 연동된 기능이 들어간다고 한다).

 


커넥티드카에서 보호해야 하는 핵심 대상은 안전과 개인정보의 침탈이다. 네트워크에 상시 연결되어 있고 더 고도화되고 정교한 애플리케이션이 동작하는 환경은 현재의 텔레매틱스 시스템에 비하여 보안에 더 많은 신경을 써야만 한다. 더 많은 공격 가능성이 있기 때문이다. 현대 자동차에는 백여 개의 센서가 있고 수십 개의 마이크로프로세서에 의하여 관리된다. 렉서스 상위차종의 경우 67개를 탑재하고 있고, 세계에서 가장 싼 인도의 타타 '나노' 차종에도 12개가 들어 있다. 이들 센서와 마이크로프로세스들은 내부적으로 CAN(Controlled Network Area)라는 차량용 네트워크로 서로 연결되어 있다. 지난해에는 CAN을 중심으로 차량에서 발생할 수 있는 보안 위협에 대한 연구 논문이 발표되어 핫이슈가 되기도 하였다. 차량에서 3rd-party앱을 실행할 수 있게 되고 이것이 상시 연결된 네트워크로 연결된다는 것은 차량에 잠재적인 보안 취약점을 하나 추가하는 꼴이 된다. 커넥티드카에는 개념적으로 완전한 보안 시스템이 필수적이다.

 


차량에서 악성코드가 실행될 수 있나요? 라는 질문을 가끔 받는다. 현실적으로 쉽지 않고 발생 가능성은 매우 낮지만 굳이 따져보자면 이론적으로는 가능하다-누군가 차량에 악의적인 행위를 가하고자 한다면 차에 들어 있는 시스템을 해킹해서 악성코드를 심는 어려운 짓을 할 필요가 없다. 환기구에 까나리 액젖을 붓거나 동전으로 차를 긁으면 그만이다.- 앞서 언급한 논문은 이론적인 가능성을 실험을 통하여 실제로 증명해 보이는 내용이다.

 


차량에 대해서는 아니지만 우리가 하드웨어라고 생각하는 공장의 기기에 대해서 실제로 발생한 공격사례는 있다. 작년에 이란의 원자력 발전소를 공격해서 유명해진 스턱스넷이 그것이다. 악성코드 스턱스넷은 USB를 통하여 폐쇄망이 발전소 내부의 시스템으로 침입하였다. 내부 네트워크에 연결된 기기들을 감염시키면서 공격대상인 장비를 찾고 있었다. 실제 공격은 외부의 명령을 통해서 이뤄지기 때문에 어떤 내용으로 공격을 하는지는 알려지지 않았다. 하지만 분명한 것은 스턱스넷이 기간설비를 통제하는 PLC(Programmable Logic Controller)로 가는 데이터를 조작한다는 것이다. 차량에 탑재되어있는 네비게이션과 같은 장비는 보통 Windows CE나 QNX와 같은 공개된 상용 OS로 구동된다. 이들 OS에서 동작하는 나쁜짓(?)을 하는 프로그램을 만들면 그게 바로 차량용 악성코드다. 네비게이션 펌웨어 업그레이드 할 때 이들이 같이 들어간다면 실행될 수도 있을 것이다.

 


커넥티드카 시스템에서 악성코드의 실행은 어떻게 막을 수 있을지를 생각해 보자. 일반적으로 악성코드가 실행되려면 세 단계를 거쳐야 한다. 첫 번째는 악성코드가 시스템 내로 들어와야 한다. 두 번째로는 악의적인 행동을 하기 위한 적절한 권한을 얻어야 하며, 세 번째로 실제 공격 코드를 실행한다. 이들 각각에 대해서 대비가 있어야 한다. 차량에서의 대응은 일반 PC와는 상황이 다르기 때문에 다른 접근방법을 사용할 수 있다. 완전한 화이트리스트 기반의 통제가 그것이다. 일반 PC는 워낙 범용적이기 때문에 보안을 목적으로 어떤 제한을 가하기가 어렵다. 예를 들어서 보안을 이유로 PC에서 워드만 쓸 수 있게 한다거나 구글과 같은 특정 웹사이트만 사용할 수 있도록 한다면 매우 불편할 것이다. 하지만 차량에서는 가능하다. 현재 상태가 외부와 완전히 단절된 상태이기 때문에 계획을 세워서 통제하에 부분적으로 오판해 나갈 수 있다.

 


커넥티드카에서의 보안이슈를 정리해 보면 다음과 같다. 현재 상태에서 차량에서 악성코드가 실행될 가능성이 없다고는 할 수 없다. 하지만 악성코드가 실행될 가능성이 없도록 충분히 설계한 시스템을 만들 수 있다. 인터넷 뱅킹을 예로 들어 보면 커넥티드카에 비해서 환경적으로 매우 취약한 상태라고 할 수 있다. 완전히 오픈되어 있는 수많은 악성코드가 득시글 거리는 윈도우즈 OS에서 인터넷 뱅킹을 사용함에도 불구하고 적절한 보안성을 유지하면서 편리하게 사용하고 있다. 차량의 경우에는 폐쇄적인 정책을 사용할 수 있기 때문에 더 완벽한 보안성을 부여할 수 있다. 앞으로의 미래에는 차량에서 악성코드가 실행될 수 있나요?라고 누가 물을 때 "아니요"라고 확실히 답할 수 있을 지도 모르겠다.@


 황용석프로그래머 필자의 다른 글 보기

 

현재 인터넷을 통하여 알게 모르게 이루어지는 공격에 대응하기 위하여 시스템 가상화를 통하여 단말의 보안성을 높이기 위한 연구를 진행하고 있다. 새롭게 “안랩 칼럼니스트”에 합류하게 되었으며, 최근에 관심분야는 Virtualization, Behavior Detection, Parallel Computing이다.