2017년 6월 26일 월요일

Research Directions in Autonomous Car Security

얼마전 선배를 만나서 자동차 보안관련 토론을 나눌 기회가 있었는데, 진지한 대화 후 선배와 같이 공감한 결론은 이렇다.

1. 이제는 전통적인 차량에 대해 하드웨어 해킹으로 승부를 보긴 어려울 것 같다. 사실 자동차에 대해 어떤 공격이 일어날 수 있는가에 대한 것은 찰리밀러&크리스 발라섹이 2014년 블랙햇, 2015년 크라이슬러 해킹 시연을 통해 다 보여주었다고 생각된다. 그 이후 공격들은 대상차량과 공격기법이 약간씩은 변화가 있지만, 기존 이 공격의 복제라 느껴지게 된다. (그 후에 텐센트 킨랩에서 테슬라를 해킹했지만 크게 뜨지 못하고 묻힌 감이 없잖아 있다.)
2. 자율주행 차량에 대해서도 하드웨어 레벨의 공격 (센서공격)도 1-2 년이 지나면 레드오션이 될 것이 예상된다. 산업계에서의 움직임은 느린 것 같지만 나름 강력하게 한걸음씩 가고 있다. 따라서 향후 제시되는 여러 공격들은 scalable 하지 않으며, attack model 도 다분히 작위적인 예제들만 향후 출현하게 될 것 같다. 물론 원가문제로 사양이 낮은 센서들이 들어간 차들이 출현할 것이고 일부 센서들은 공격이 먹힐 것이다. 하지만, 대략 현시점의 중형차량들만 하더라도 특정 단일 센서에만 의존하여 동작하지는 않기 때문에 멀티플 센서를 동시에 공격하지 않는한 위협에 빠지게 하는 공격은 어려울 것 같다.
3. 하드웨어 레벨에 있어서 아직 가능한 (2-3년 간 충분히 가능한) 자율주행 차량에 대한 공격이 있긴 한데 다소 작위적일 소지가 높다. 아주 고급차량은 돈이 문제가 아니므로 계속 좋은 센서를 탑재해 나갈 것이다. 물론, 향후 자율주행차량이 완전 보급이 된다면 비용효율 문제로 인해 센서에 보안기능이 충분히 들어가지 않은 싸구려 센서를 탑재를 한 저가 차량도 나오게 되긴 할 것이다. 하지만 그리 공격이 잘 터질거란 생각은 여전히 안한다.
자율주행 레벨이 한참 낮은 현시점에서도 자율주행 기능까지는 안가더라도 주행보조시스템이 들어갈 정도의 고급차량이라면 (BMW, ...) 메뉴얼에 라이다, 레이더가 동작안되는 상황을 충분히 법적인 문제를 고려하여 기재해 두고 fail-safe 하게 동작하도록 컨디션들이 맞춰져 있다. 굳이, 오동작하면서까지 앞차량과 거리 보정하는 크루즈컨트롤 기능을 켜기 보다는, 눈이 내렸다거나, 자외선이 쎄서 오동작 할지도 모르는 상황이라면 그냥 운전자에게 상황을 알려주고 끄는게 낫기 때문이고, 실제로 현재 그렇게 구현되어 있다. 현재도 일부 상황에서는 블라인드 어택이 먹히긴 할텐데, 그런 공격 상황을 조성하는 것은 대개 너무 작위적인 상황이 된다. (앞차 트렁크에 TV를 싣고 다니면서 뒷차에 영상을 틀어줘야 한다거나...대개 해커가 그짓 하기 전에 CCTV 에 다 찍혀서 잡히기 딱 좋다.)
4. 물론 아주아주 저가형 자율주행차량이 나온다면 지금 싸구려 인터넷 공유기나 IoT 장비 털어서 동작하도록 한 미라이봇넷이 나온 것처럼, 자동차들을 공격하는 웜이 나오지 말란 법이 없다. 다만, 이 시점 즈음이면 차량을 보호하기 위해 이통사가 5G V2X 인프라로 유입되는 트래픽을 필터링하기 위해 코어망에 차량 공격탐지용 침입탐지 시그너쳐를 구현해 넣을 가능성이 훨씬 높다.

그래서 우리는 차량 자체를 공격하는 연구도 하고 있지만, data-driven 으로 차량 보안을 강화하는 쪽으로 가는 것이 더 확장성 있는 방향이라고 믿고 있다. 결국 주행과 관련된 차량 데이터는 V2I 를 거쳐 원격 클라우드에 쌓이게 될 것이고, Cellular V2X 가 보다 활성화 될 것이고, 서버단에서 데이터마이닝/머신러닝을 통해 고장진단과 공격탐지가 이루어지게 될 것이다.
이를 위해서, 주행 데이터셋을 꾸준히 생성&공유하고, 이 주행데이터를 분석하여 자율주행 차량 내부/외부에서 공격을 탐지하는데 주력을 해나가는 것으로 전략을 업데이트 하고 추진해 가고 있다.

지금까지 대략 3개의 자동차 관련 프로젝트를 완료/진행중이고 또 조만간 다른 자동차 보안 관련 프로젝트를 하게 될 것 같은데, 지금이라도 자동차 보안에 뛰어들 분들이 있다면 5G, 데이터마이닝, 머신러닝을 익혀야 자동차 보안 연구를 10년 뒤에도 할 수 있을 거라 확신한다.

(참고: matlab 툴박스에 자동차 데이터 분석 모듈이 추가된지 꽤 되었다. 무엇을 의미하는가? "너 아직도 OBDII 에 CAN 트래픽에 공격 주입하고 있니? 그건 이미 old-fashioned 야... 데이터 분석하는 모듈 우리가 다 제공해 줄테니 넌 더 창의적인 응용을 해봐." 라고 말하는 듯 하다. 과거 몇년간 역공학으로 CAN 트래픽 분석하던 것, 추출한 데이터에 데이터마이닝 적용하는 것... 이미 다 commodity 화 되었다. )