※ 아래 글은 정보통신기술진흥센터(IITP)가 발간하는 주간기술동향 1808호(2017. 8. 9 발행)에 기고한 원고입니다.
▶ IITP에서 PDF 포맷으로 퍼블리싱한 파일을 첨부합니다. 가독성이 좋으니 참고하시기 바랍니다.
세계 최대 보안 컨퍼런스인 ‘블랙햇(Black Hat) 2017’에서 텐센트의 보안 연구원들은 작년에 이슈가 된 바 있는 테슬라 차량의 해킹과 관련해 그 기법을 자세히 설명하였음
Ø 텐센트의 보안 연구부문인 ‘킨 시큐리티 랩(Keen Security Labs)’은 작년 9월 자사 블로그와 유튜브를 통해 테슬라의 전기자동차 모델S에 여러 가지 보안 취약점이 존재한다고 공개
<자료> Keen Security Labs [그림 1] 해킹으로 주행 중인 차량의 트렁크 열기 |
Ø 킨 시큐리티 랩은 해킹 시연 전에 테슬라에 먼저 문제점을 통보했으며, 테슬라도 취약성을 인정했고 소프트웨어 업데이트를 통해 취약점을 즉시 수정했다고 밝혔음
Ø 당시 테슬라는 ‘이번 해킹은 차량용 웹 브라우저가 악의를 가진 와이파이 핫스팟에 연결되는 매우 특별한 환경에서만 가능한 것이었다’고 해명한 바 있음
Ø 테슬라는 자동차업계 최초로 소프트웨어 버그를 발견한 사람에게 버그당 1만 달러를 보상하는 ‘버그 바운티(bug bounty)’ 프로그램을 운용해 오고 있으며, 그에 따라 킨 시큐리티 랩 연구원들에게도 보상을 한 것으로 알려져 있음
Ø 모델S에 대한 해킹 시연이 약 1년 경과한 시점에서 열린 올해 블랙햇 컨퍼런스에서 텐센트의 연구원들은 테슬라 측이 보안 대응을 적극적으로 하고 있기에 해킹 기법을 공개하기로 했다며 자세히 그 방법을 설명하였음
[동영상] 텐센트 보안부문 연구원들의 테슬라 모델S 해킹 시연
텐센트의 보안 연구원들의 밝힌 모델S 해킹 공격은 크게 다음의 5단계로 이루어짐
① 테슬라 차량의 통신 기능에 존재하는 취약한 사양을 이용해 차량 탑재 정보 단말기가 연결된 차내 정보계 네트워크에 침입함
② 차량에 탑재된 정보 단말기의 웹 브라우저에 존재하는 취약점을 공격하여 임의의 코드가 실행 가능하도록 장악함
③ 차량 탑재 정보 단말기의 리눅스 커널에 존재하는 취약점을 공격하여 루트 권한을 획득함
④ 차량 탑재 정보 단말기가 연결된 정보계 네트워크와 전자제어유닛(ECU)이 연결된 제어계 네트워크(CAN)를 잇는 ‘컨트롤러’를 공격하여 컨트롤러의 펌웨어를 바꿈
⑤ 컨트롤러에서 전자제어유닛(ECU)에 가짜 명령을 보내 자동차를 원격 조작함
모델S의 차내 네트워크에 침입하는 방법은 테슬라가 인정한 대로 와이파이 접속 포인트의 암호 취약점과 차량용 웹 브라우저의 보안 취약점을 공략하는 것임
Ø 테슬라의 전기차들은 테슬라가 운영하는 자동차 판매점이나 배터리 충전 장소에 설치되어 있는 무선랜의 액세스 포인트(AP)에 자동으로 연결하는 사양으로 되어 있음
Ø 또한 테슬라 전기차에 탑재된 리눅스 기반 차량 정보 단말기는 무선랜 액세스 포인트에 접속하면 웹 브라우저가 열려 있던 웹 페이지를 자동으로 새로 고침하는 사양으로 되어 있었음
Ø 테슬라 차량 정보 단말기의 웹 브라우저인 ‘큐티카브라우저(QtCarBrowser)’ 역시 오래된 버전의 ‘웹킷(WebKit)’을 렌더링 엔진으로 사용하고 있어 차량 정보 단말기에서 임의의 코드를 실행시킬 수 있는 보안 취약점('CVE-2011-3928 ' 등)이 존재하고 있었음
Ø 이러한 취약점이 있었기 때문에, 텐센트의 연구원들은 가짜 무선랜 포인트를 설치하여 테슬라 차량을 연결시키고 차량 정보 단말기의 웹 브라우저에 공격용 가짜 웹 페이지가 표시되게 한 후, 차량 정보 단말기에서 임의의 코드를 실행시킬 수 있었음
<자료> Keen Security Labs [그림 2] 테슬라 차량정보 시스템 원격 해킹 |
Ø 한편 무선랜을 경유하는 방법뿐 아니라 3G 통신망의 기능을 악용해 차량 정보 단말기에서 임의의 코드를 실행시키는 방법도 있었다고 하는데, 단 그 경우에는 테슬라 자동차 소유자를 겨냥한 피싱 공격을 통해 필요한 정보를 먼저 빼내야 한다고 함
차량의 정보 네트워크에 접속하고 난 후에는 제어 네트워크에 접근할 수 있는 컨트롤러 장악을 위해 소프트웨어 업데이트 메커니즘을 이용해 컨트롤러의 펌웨어를 변경시켰다고 함
Ø 차량 네트워크에 연결된 이후에는 차량 정보 단말기의 리눅스 커널에 존재하는 취약점인 ‘CVE-2013-6282’ 등을 공략하여 리눅스의 보안 기제인 ‘앱아모(AppArmor)’를 무력화하고, 단말기 상에서 임의의 코드를 루트 권한으로 실행할 수 있게 함으로서 단말을 완전히 장악하였음
Ø 다음 과정은 자동차를 제어하는 '전자제어유닛(ECU)’이 연결되어 있는 ‘제어계’ 네트워크(CAN)에 접근하는 것인데, 차량 정보 단말기가 연결되어 있는 ‘정보계’ 네트워크와 CAN은 ‘컨트롤러’를 통해 연결되어 있기 때문에 텐센트 연구원들은 컨트롤러 장악을 통해 CAN에 접근하였음
Ø 컨트롤러는 프로세서로 ‘PowerPC’계열의 칩을 채용하고 ‘FreeRTOS’와 사양이 거의 같은 리얼타임 운영체제(OS)를 사용하고 있는데, 이 컨트롤러 장악을 위해 사용한 방법은 컨트롤러의 펌웨어를 변경하는 것이었음
<자료> SAE International [그림 3] 해킹에 악용된 OTA 업데이트 방식 |
Ø 당시 OTA 기능은 어떤 소프트웨어를 다시 작성해야 하는지를 파일 이름으로만 판단했으며, 잘못된 소프트웨어 갱신을 막기 위한 ‘코드 서명(cord signing)’ 등은 사용하지 않았다고 함
Ø ‘코드 서명’은 인터넷 또는 무선 환경에서 배포되는 실행 파일이 합법적인 제작자에 의해 제작되었고 위·변조되지 않았음을 확인하는 방법으로 객체 서명(object signing)이라고도 함
Ø 코드 서명을 통해 배포되는 실행 파일은 제작자에 의해 전자 서명되어 사용자에게 전송되며, 사용자는 웹 브라우저를 통해 제작자의 인증서 및 실행 파일의 전자 서명을 검증하여 파일의 유효성을 검증하게 됨
Ø 이런 코드 서명이 없었기에 텐센트 연구원들은 자신들이 만든 업데이트 파일을 SD 카드에 기록해 컨트롤러의 펌웨어를 자신들의 것으로 대체함으로써 컨트롤러를 장악했고, 컨트롤러를 통해 CAN에 접속해 다양한 ECU에 가짜 명령을 보내 자동차를 자유롭게 조종할 수 있었음
Ø 가짜 명령어 작성에는 상당한 공을 들였다고 하는데, 가령 일부 ECU는 운전 모드에서는 CAN의 명령에 응답하지 않는 사양으로 되어 있기 때문에 ‘비활성화된 속도 정보를 ECU에 보내는’ 등의 기술을 사용했는데, 이렇게 유효하지 않은 속도 정보를 받게 되면 주행 중이라도 ECU에 브레이크 명령이 발동되기 때문
텐센트의 보안 부문 연구원들은 해킹 기법 설명 후 테슬라의 대응이 매우 우수했다고 평가했는데, 테슬라는 10일 만에 보안 취약점을 해결하고 보안 강화 조치까지 취했기 때문
Ø 텐센트 보안 부문은 이러한 일련의 취약점을 공개하기 전에 해당 정보를 테슬라에 통보했다고 하는데, 테슬라는 통보 받은 후 감사의 뜻을 표했으며, 10일 만에 취약점을 수정했을 뿐만 아니라 보안 강화 조치까지 실시했다고 함
Ø 보안 강화 조치는 세 가지였는데 첫째, 웹 브라우저의 보안 강화책으로 리눅스 커널의 보안 도구인 앱아모의 웹 브라우저 관련 사양을 보다 강화하였음
Ø 둘째, 리눅스 커널의 보안 강화 요인으로 지적 받았던 취약점뿐만 아니라 이미 알려진 모든 취약점을 수정했는데, 테슬라는 리눅스 커널 버전을 이전의 ‘2.6.36.3’에서 ‘4.4.35’로 대폭 업그레이드 하였음
Ø 세 번째는 코드 서명을 실행한 것인데, 소프트웨어의 원격 업데이트에 사용되는 파일뿐만 아니라 ECU의 펌웨어에도 코드 서명을 실시하고 악성 파일로 대체하지 않도록 조치하였음
Ø 텐센트의 보안 부문 연구원들은 자동차 업계가 테슬라의 이러한 적극적인 보안 강화 대책 실행 태도를 본받을 필요가 있다고 평가하였음
그러나 발표의 마지막에는 엄청난 ‘반전’도 준비되어 있었는데, 작년 테슬라의 조치 이후에도 해킹이 가능했다고 말하며 실제 해킹 영상을 작년에 이어 2차로 공개하였음
Ø 텐센트 연구원들에 따르면 2016년 취약점 발견 이후 테슬라 차량의 보안이 크게 강화되고 있지만, 그럼에도 불구하고 텐센트는 최근에 다시 테슬라 차량의 펌웨어 등을 변경하고 스마트폰 앱을 통해 테슬라 차량을 원격으로 컨트롤 할 수 있었다고 함
Ø 텐센트 연구원들은 ‘코드 서명을 우회하는 방법을 발견했다’고 설명했는데, 강연 마지막에 실제로 해킹을 통해 차량을 마음대로 제어하는 모습을 동영상으로 공개하였음
<자료> Keen Security Labs [동영상] 해킹으로 모델X의 도어 잠금 해제 |
Ø 게다가 이번 해킹 대상은 모델S보다 나중에 나온 새로운 ‘모델X’이었으며, 펌웨어를 변경시킨 모델X의 문을 원격으로 잠금 해제하고 모델X의 브레이크를 원격으로 작동시키거나, 음악에 맞춰 문을 열고 라이트를 점등하는 등 마음대로 조종할 수 있음을 보여주었음
Ø 연구원들은 이러한 새로운 보안 취약점도 이미 테슬라에 보고했다고 밝혔으며, 테슬라가 이미 소프트웨어 수정 작업을 시작하고 있기 때문에 테슬라 전기차 소유자들은 조기에 소프트웨어를 업데이트 해줄 것을 호소하였음
테슬라 차량에 대한 2차에 걸친 해킹 데모는 커넥티드 카의 보안 문제가 실제적인 위험임을 입증한 것으로, 자동차 업계의 소프트웨어 보안 점검 조치가 반드시 필요함을 시사
Ø 텐센트의 보안 연구원들이 테슬라의 취약점을 발견하고 이를 공개적으로 발표한 것이나 발표 전에 테슬라에 먼저 알려 수정할 수 있게 한 것은, 텐센트가 테슬라의 초기 투자자로서 여전히 단일 주주로는 가장 많은 지분을 보유하고 있다는 양사의 특수 상황에 기인한 것일 수 있음
Ø 이는 매우 특수한 경우로 오히려 보안의 취약점을 발견한 해커들이 일방적으로 공개해 버리거나 자동차 업체에 대가를 요구하는 것이 일반적일 것이며, 최악의 상황은 악의를 가지고 실제 엄청난 사고로 이어질 수 있는 불법 조작을 사전 예고 없이 원격으로 실행하는 일일 것임
Ø 자동차는 이제 기계라기 보다는 전자기기에 가까우며, 이 때문에 소프트웨어 보안과 네트워크 보안에 대한 이슈도 비례하여 지속적으로 제기되고 있으나 사람의 목숨과 직결된 중대 사안임에도 불구하고 그에 상응하는 사회적 관심이 제대로 비춰지지 못하고 있음
Ø 텐센트 연구원들의 2차에 걸친 해킹 공개는 이론적인 것이 아니라 이미 판매되고 있는 차량을 대상으로 한 것이고, 게다가 테슬라 측에서 이를 인정했다는 점에서 매우 중대한 사안임
Ø 현재 자동차 제조업체들은 자율주행차 개발 경쟁을 벌이고 있으나 상용화를 위해 가장 중요한 것은 주행기술의 완성도 보다 완벽한 보안 체계를 갖추는 것일 수 있음
Ø 소프트웨어 보안은 자동차업체들로서는 전통적인 업무 영역이 아니었던 만큼 꼼꼼한 관리와 검수가 이루어지도록 일반 소프트웨어 업체들보다 더 많은 투자를 해야 할 필요가 있음
Ø 아울러 테슬라 전기차의 해킹 과정에서 나타났듯, 자동차 보안 침해는 특별히 대단한 기술이 아니라 무선랜 네트워크의 무성의한 암호처럼 사소한 빈틈을 통해 시작될 수 있는 만큼 차량 소유자들도 약간의 번거로움 감수를 통해 보안을 확실히 하려는 인식을 갖는 것이 필요할 것임
'주간기술동향 최신ICT이슈 > 커넥티드 카' 카테고리의 다른 글
자동차 OS의 업계 표준을 노리는 블랙베리 QNX (0) | 2018.11.22 |
---|---|
독일, 2019년부터 차세대 자동차 S/W 기반 ‘오토사 어댑티브’ 채택 (0) | 2018.11.14 |
도쿄 모터쇼에 비친 일본 자동차 업계의 스마트 IT 접목 현황 (0) | 2017.11.29 |
‘셀룰러 V2X’, 커넥티드 카 구현을 위한 통신업계의 새로운 제안 (0) | 2017.04.14 |