스마트카 환경에서의 보안 문제와 대응

최근 IT 분야에서 가장 많이 언급되는 용어들이 IoT와 스마트카(smart car) 혹은 커넥티드카(connected car)일 것이다. 네트워크 연결성(connectivity)이 없던 자동차가 연결성을 갖게 되었다는 측면에서 커넥티드카라는 어휘가 사용된다면, 자동차가 점점 똑똑해진다는 측면에서 스마트카를 사용하는 경향이 많은 듯하다. 우리가 스마트 디바이스(smart device)로 제일 친숙한 기기는 스마트폰(smart phone)이다. 스마트폰 이전에도 휴대전화는 있어왔고 이전의 휴대전화들도 일부 제약이 있었으나 인터넷 접속이 가능한 기기들이었다. 그렇다면 우리가 스마트폰이라고 정의하는 기기들과 그 이전에 네트워크 연결성만 갖는 휴대전화들과의 경계선은 무엇일까.

스마트폰은 통신 성능, 연산처리 성능의 증대를 넘어서 사용자가 원하는 기능을 소프트웨어만으로 임의로 설정하거나 부여하고 조절할 수 있게 되었다는 점에서 기존 휴대전화와 극명한 차이를 갖는다. 휴대전화와 스마트폰의 구분을 참고하여 커넥티드카와 스마트카를 다시 생각해보자. 커넥티드카는 기존의 자동차들이 연결성이 없었지만 이제는 다양한 연결성을 가지게 되었다는 측면의 용어이고, 기존의 자동차는 자동차 제조사가 제공해주는 기능의 범위 안에서만 사용할 수밖에 없는 기기였지만 스마트카는 사용자가 원하는 기능을 소프트웨어적으로 설정하고 조절할 수 있게 해주는 자동차 소프트웨어 플랫폼 측면이 강하다.

자동차가 기계장치들의 조합을 넘어서 커넥티드카 혹은 스마트카의 방향으로 진화하고 있고 자동차 1대에 포함되는 소프트웨어의 분량이 전투기, 항공기, 심지어는 페이스북 보다 많은 1억 라인에 달하는 코드를 포함하는 IT의 산물로서 이미 자리매김하고 있다. 매년 1월 미국 라스베가스(Las Vegas)에서 열리는 CES의 올해 행사는 이러한 점을 잘 보여주었다. ‘Consumer Electronics’가 아니라 ‘Car Electronics’가 아니냐고 우스갯소리가 나올 정도로 세계 유수의 자동차 제조사들이 다양한 기술을 선보였다. 보안기술을 개발하는 회사 입장에서 올해 행사의 주목할 만한 점을 짚어 보자면 다음과 같다.

첫째, 자동차 제조사들이 클라우드를 들고 나왔다. 특히, BMW는 Open Mobility Cloud를 제시하여 자동차를 비롯한 다양한 기기들의 중심에 서고자 하는 의지를 보였다.

둘째, 자동차와 홈네트워크의 연결이다. 폭스바겐은 LG 냉장고와의 연결을 선보였다. 왜 하필 냉장고인가 하는 사람들도 있을 것이다. 근래에 삼성전자와 LG전자가 선보인 냉장고들은 family hub를 표방하고 있다. 냉장고로 홈네트워크의 중심에 서겠다는 것이다. 일 년 내 전원을 끄지 않는 냉장고의 특성을 감안하면 이러한 접근은 탁월한 전략이다.

셋째, 지도가 서비스 플랫폼으로서 중요함을 인식하고 있음을 보여줬다. 몇몇의 제조사들은 공동으로 지도 회사를 사들이고, 어떤 회사들은 실시간으로 지도를 생성하고 갱신할 수 있는 기술을 선보였다. 이들의 행보는 차량에 탑재되는 내비게이션 장비가 지도를 사용하기 위해 내는 라이센스 비용을 절감하는 차원이 아니다. 차량에게 온라인 서비스를 제공하고자 할 때 제일 먼저 자연스럽게 떠오르는 것이 위치기반서비스다. 위치기반서비스를 구축하자면 지도를 기본 플랫폼으로 밑에 깔고 가야하는 것은 너무나 당연하다. 마지막으로, 자동차의 소프트웨어에 플랫폼화를 추진하고 있다는 점이다. 휴대전화들이 점점 플랫폼화 되고 그 이후에는 표준적인 운영체계가 등장했다는 점을 떠올리면 이 역시도 당연한 수순이다.

자동차의 연결성이 증대되고, 네트워크를 통한 클라우드 접속이나 온라인서비스의 제공이 가능해지면서 많은 우려를 낳고 있는 것이 보안이다. 지난해, 지프(Jeep)의 체로키(Cherokee) 모델을 해킹한 사건은 이러한 우려가 현실임을 보여준 사건이었다. 커넥티드카라는 용어가 정립되기 이전에도 일부의 자동차들은 텔레매틱스(telematics) 기능을 가지고 있었고, 지프 체로키에 대한 해킹은 텔레매틱스 통신 채널을 해킹한 사건이었다.

각 제조사들은 각사가 비밀스럽게 정의한 프로토콜에 따라 서비스를 제공하고 있다. 우리가 일상으로 사용하는 스마트폰이나 개인컴퓨터가 표준화되고 공개된 규격의 프로토콜을 사용하고, 안전한 키관리 체계를 적용함으로써 보안을 확보하는 방향으로 접근하는 것과는 대조되는 방향이다. 이 해킹 사건이 일깨워주는 또 다른 측면은 방화벽 내지는 침입탐지의 부재이다. 해킹으로 비밀스럽게 유지되던 외부 통신 채널에 접근하고 프로토콜을 분석해냈다 하더라도 차량의 내부 네트워크에 접근하여 차량의 속도와 주행방향 등을 제어할 수 있었다는 점이 더 큰 문제이다.

차량 내부에는 많은 ECU들이 들어가고, ECU들 간의 통신에 의해서 자동차는 다양한 기능을 실현할 수 있다. 차량 내부 ECU들 간의 네트워크는 기업 내부의 내부망을 축소한 듯이 닮아 있다. 기업 내부에는 중요한 역할을 하는 서버들도 있고 서버 보다는 덜 중요한 개인컴퓨터들도 있다. 서버들 중에는 기업 내부에 존재하지만 외부와 통신이 가능한 서버도 있고 외부에서 접근 가능하면 안되는 서버들도 있다. 기업 내부의 전산자원을 보호하기 위해 기업들은 오래 전부터 방화벽을 구축하여 외부 네트워크에서 내부망으로 곧장 들어오는 것을 통제하고 있다.

외부와 통신이 가능해야 하는 서버의 경우에는 외부 방화벽과 내부 방화벽 사이에 DMZ를 설정하여 보호하는 방법을 적용하고 있다. 차량의 경우에도 이와 같은 접근법이 필요하다. 외부와 통신이 가능하면서도 내부 네트워크의 ECU와도 통신이 가능해야 하는 Head Unit들은 외부 방화벽과 내부 방화벽으로 차폐되는 DMZ 영역에 두어야 한다. 이렇게 된다면, 체로키 사례처럼 외부 통신 채널이 해킹되어 외부 방화벽이 무력화되더라도 한층 보안 정책이 강력하게 적용되는 내부방화벽에 의해서 차량 내부의 네트워크가 보호될 수 있다.

차량 내부에 방화벽을 두는 것만으로는 부족하다. 네트워크 레벨에서 동작하는 일반적인 방화벽들은 통신의 송신자, 수신자, 사용하는 통신 포트의 조합으로 연결을 허용할지 결정한다. 차량에서는 송신자, 수신자, 통신 포트 등을 한정하거나 규정짓는 것이 쉬운 상황은 아니므로 일반의 네트워크 방화벽이 큰 역할을 하지 못하고 해커는 이를 우회할 가능성이 있다. 이러한 문제에 착안하여 Argus Cyber Security, Symantec, Penta Security 등의 회사는 어플리케이션 레벨에서 통신 내용을 분석하여 공격 여부를 탐지하는 기술을 내놓았다.

이들 회사의 기술은 어디에서 유입된 통신이 어디로 전달되어야 하는지의 경로를 제어하는 것에 그치지 않고, 외부에서 차량 내부로 유입되는 통신 내용을 분석하여 공격여부를 판단한다. 기업 내부의 네트워크 보호를 위해 방화벽 외에도 침입탐지시스템(Intrusion Detection System; IDS)이나 침입방지시스템(Intrusion Prevention System; IPS), 그 외에도 웹방화벽(Web Application Firewall; WAF)이 추가로 필요한 것과 동일한 개념이다.

해외를 비롯하여 국내에서 진행되고 있는 V2X 테스트베드 프로젝트는 V2V와 V2I 통신을 사용하는 시나리오를 구축해 나가고 있다. 이들 프로젝트는 V2V와 V2I의 통신을 보호하기 위해 타원곡선 암호시스템에 기반한 공개키인증서를 채용하여 통신보안을 확보하고 있다. 자동차가 Connected Car로의 진화를 거듭해 나가면 차량이 가지는 연결성은 더욱 다양해질 것이고, 해커들은 차량에 연결할 수 있는 다양한 수단과 방법을 갖게 될 것이다. 자동차를 해커들의 위협으로부터 보호하기 위해서는 차량 내부에서 차량을 보호할 수 있는 방화벽, 특히 어플리케이션 레벨에서 통신의 내용을 분석하여 공격을 탐지할 수 있는 방화벽을 채용하는 것이 통신보안의 확보 차원에서 우선적으로 병행되어야 한다.

자동차 뿐만 아니라 다른 IT의 환경에서도 보안 기술 한 두 가지를 적용한다고 완벽하게 안전해질 수는 없다. 앞으로 더욱 복잡다단해질 자동차의 보안을 위해서는 설계 단계에서부터 보안을 철저하게 고려하는 것이 반드시 필요한 일이다.

-심상규 펜타시큐리티시스템 loT 융합보안연구소장

[[원문 보기 – KAMA웹진 http://www.kama.or.kr/jsp/webzine/201607/main.jsp 2016. 07]

0 답글

댓글을 남겨주세요

Want to join the discussion?
Feel free to contribute!

답글 남기기