아래는 논문의 전체적인 개요이다.
Abstract
CCS Concepts : 해당 연구가 다루는 주제와 분야를 명확하게 식별하고 분류하기 위함
1. Introduction
2. Background
- LiDAR-based Perception in AV Systems
- LiDAR Sensor and Spoofing Attacks
- Aversarial Machine Learning
3. Attack Goal and Threat Model
4. Limitation of Blind Sensor Spoofing
- Blind Lidar Spoofing Experiments
5. Improved Methodology : ADV-LiDAR
- Technical Challenges
- Adv-LiDAR Methodology Overview
6. Input Perturbation Analysis
- Spoofing Attack Capability
- Input Perturbation Modeling
7. Generating Adversarial Examples
8. Evaluation and Results
- Attack Effectiveness
- Robustness Analysis
9. Driving Decision Case Study
10. Discussion
- Limitations and Future Work
- Generality on LiDAR-based AV Perception
- Defense Discussion
11. Delated work
12. Conclusion
Abstract
자율주행 차량(AVs) 의 핵심 요소 중 하나는 인식 시스템으로, 이는 카메라와 LiDAR (빛 탐지 및 거리 측정) 과 같은 센서를 이용해서 주행 환경을 이해한다. 이러한 기능은 도로 안전에 직접적인 영향을 미치기 때문에, 인식 시스템의 보안을 연구하려는 많은 선행 연구가 이루어졌다. 카메라 기반 인식에 집중한 이전 연구와 달리, 본 연구에서는 자율주행 차량에서 LiDAR 기반 인식의 보안성에 대한 첫 번째 연구를 수행한다. 이는 매우 중요한 주제이지만 아직까지 탐구되지 않았다.
본 논문은 LiDAR spoofing attack 을 threat model 로 삼아, 피해자 차량 앞에 가까운 장애물을 spoofing 하는 것을 attack goal로 설정한다. 무작정 LiDAR spoofing 을 적용하는 것은 machine learning 기반 object detection process 때문에 이 목표를 달성하기에 충분하지 않다는 것을 발견했다. 따라서 본 논문은 machine learning model 을 속이기 위해 spoofing 된 attack 을 전략적으로 제어할 가능성을 탐구했다. 이 작업을 최적화 문제로 공식화하고, input perturbation function 과 objective function (loss function) 을 modeling 하는 방법을 설계했다. 또한 최적화를 사용하여 문제를 직접 해결하는 데 내재된 한계를 식별하고, 최적화와 전역 샘플링을 결합한 알고리즘을 설계하여 공격 성공률을 약 75%까지 향상시켰다. AV 주행 결정 수준에서 attack 영향을 이해하기 위한 사례 연구로, 도로 안전과 이동성에 피해를 줄 수 있는 두 가지 공격 시나리오를 구성하고 평가했다. 또한 AV 시스템, 센서, 모델 수준에서 방어 방향에 대해 논의했다.
Introduction
자율주행 차량은 빠르게 개발되고 있으며, 일부 차량은 이미 공공 도로에서 찾아볼 수 있다. 자율 주행 시스템에서 가장 중요한 요소 중 하나는 인지(perception)이며, 이는 카메라와 LiDAR(빛 탐지 및 거리 측정)와 같은 센서를 활용하여 주변 주행 환경을 이해하는 역할을 한다. 이러한 기능은 충돌 회피와 같은 안전에 직접적으로 관련된 주행 결정과 연결되기 때문에, 카메라 기반 인지의 보안을 연구하기 위한 여러 선행 연구가 수행되었다. 예를 들어, 이전 연구에서는 카메라 블라인딩과 같은 센서 수준의 공격, 교통 표지판에 스티커를 부착하는 물리적 카메라 공격, 그리고 자율 주행 차량 카메라 입력을 위한 신경망에 대한 트로이 목마 공격 등을 보고한 바 있다.
카메라 기반 인지에 대한 연구 노력에도 불구하고, 자율 주행 차량 환경에서 LiDAR 기반 인지의 보안에 대한 철저한 탐구는 이루어지지 않았다. LiDAR는 적외선 레이저를 사용하여 주변 장애물까지의 거리를 측정하며, 360도 시야각을 제공하고 2차원 이미지만을 제공하는 카메라와 달리 도로 환경의 3차원 표현을 생성할 수 있다. 따라서 LiDAR는 자율 주행 안전을 위해 카메라보다 더 중요한 센서로 간주되며, 오늘날 거의 모든 자율 주행 차량 제조업체에서 채택하고 있다. 최근의 몇몇 연구는 LiDAR에서 감지된 센서 입력에 spoof 된 point 를 inject 하는 것이 가능함을 시연하였다. 이러한 입력 또한 자율 주행 차량 인지 파이프라인에서 object detection 단계를 거쳐야 하기 때문에, 이러한 spoofing 이 LiDAR 기반 인지에서 도로 장애물과 같은 의미적으로 중요한 보안 문제를 직접적으로 유발할 수 있는지에 대해서는 아직 명확하지 않았다. 그래서,이 연구에서는 우리는 자율 주행 차량 환경에서 LiDAR 기반 인지의 보안을 탐구하기 위한 최초의 연구를 수행한다.
분석을 수행하기 위해 Baidu Apollo에서 구현된 LiDAR 기반 인지를 target 으로 삼았으며, 이는 100개 이상의 파트너와 협력하고 있고 Volvo 및 Ford와 같은 다수의 파트너와 대량 생산 계약을 체결한 오픈 소스 자율 주행 시스템이다.
논문에서는 이전 연구에서 입증된 바 있는 threat model 로서 레이저를 발사하여 위조된 LiDAR 데이터 포인트를 inject 하는 LiDAR spoofing attack 을 고려한다. 이 위협 모델을 통해 attack target 를 피해 차량 앞쪽 가까이에 위조된 장애물을 추가하여 주행 결정을 변경하는 것으로 설정한다.
연구에서 이전 연구에서 수행한 LiDAR spoofing attack 을 재현하고 Baidu Apollo의 LiDAR 기반 인지 파이프라인을 악용하려고 시도한다. 이 인지 파이프라인은 대부분의 최신 LiDAR 기반 자율 주행 차량 인지 기술과 마찬가지로 object detection 을 위해 machine learning 을 활용한다. 우리는 이전 연구에서 제안된 다양한 스푸핑 패턴, 예를 들어 위조된 벽과 다양한 스푸핑 각도 및 모양을 나열하였으나, 어느 것도 기계 학습 단계 이후 도로 장애물을 위조하는 데 성공하지 못했다. 이는 현재의 스푸핑 기술이 실험에서 가로로 8도 정도의 매우 좁은 스푸핑 각도만을 커버할 수 있기 때문일 가능성이 있다. 이 각도는 차량 앞쪽 가까이에 도로 장애물의 점 구름을 생성하기에는 충분하지 않다. 따라서 기존의 스푸핑 기술을 맹목적으로 적용하는 것은 쉽게 성공할 수 없다.
기존 스푸핑 기술을 사용하여 공격 목표를 달성하기 위해, 기계 학습 모델의 object detection 단계를 속이기 위해 위조된 점을 전략적으로 제어할 가능성을 탐구한다. 기계 학습 출력은 입력에 신중하게 설계된 변동을 통해 악의적으로 변경될 수 있다는 것이 알려져 있지만, 이전 연구에서는 자율 주행 차량 시스템을 위한 LiDAR 기반 object detection 모델을 연구한 바 없다. 이 문제에 접근하기 위해, 이 공격 과제를 최적화 문제로 공식화하며, 이는 이전의 기계 학습 보안 연구에서 효과적임이 입증된 방법이다. 본 연구에 특화된 두 가지 함수를 새롭게 공식화해야 했다.
- LiDAR spoofing 이 machine learning model 입력을 변경하는 데 있어 spoofing 능력을 모델링하는 input perturbation function
- attack 목표를 반영할 수 있는 objective function
이전 연구에서는 이러한 모델링을 목적으로 상세한 측정을 수행하지 않았기 때문에, 실험적으로 위조된 데이터 포인트의 수와 위치 등 스푸핑된 데이터 포인트 제어 능력을 탐구했다. 그 다음, 이러한 공격 능력을 모델 입력 수준에서 모델링하기 위해 일련의 global spatial transformation function 을 설계하였다. 이 단계에서 정량화된 공격 능력과 모델링 방법론은 LiDAR 관련 machine learning 모델의 향후 보안 연구에 유용할 것이다.
전방 장애물 추가라는 공격 목표를 위해, machine learning 모델 output 이 Baidu Apollo의 인지 모듈에서 전처리된 후 인식된 장애물 목록으로 변환되기 때문에 objective function 을 설계하는 것도 간단하지 않았다고 한다. 이를 해결하기 위해, 우리는 전처리 로직을 연구하고, 모델 출력을 인식된 장애물로 변환하는 주요 전략을 추출하여 이를 objective function 에 공식화했다.
최적화 문제를 수학적으로 공식화한 후, 이를 이전 연구처럼 최적화 알고리즘을 사용하여 직접 해결하려고 했다. 그러나 전방 장애물 추가의 평균 성공률은 30%에 불과했다. 이는 문제의 본질상 최적화 알고리즘이 local extrema 에 빠지기 쉽기 때문이라는 것을 발견했다. 이 문제를 해결하기 위해, global sampling 과 최적화를 결합한 알고리즘을 설계하여 평균 성공률을 약 75%까지 높일 수 있었다고 한다.
발견된 attack input 이 자율 주행 차량의 주행 결정 수준에서 미치는 영향을 이해하기 위한 사례 연구로, 두 가지 attack scenario 를 구성했다.
- 차량이 갑자기 브레이크를 밟아 승객이 다치거나 후방 충돌을 유발할 수 있는 emergency brake attack
- 신호 대기 중인 자율 주행 차량이 교차로에서 영구적으로 "정지"하여 교통을 방해할 수 있는 AV freezing attack
Baidu Apollo 팀에서 공개한 실제 자율 주행 차량 주행 데이터를 사용하여, 두 공격 모두 Apollo의 시뮬레이터에서 공격자가 원하는 주행 결정을 성공적으로 유발했다고 한다.
보안 분석에서 얻은 통찰력에 기반하여, 논문은 ground reflection 에서 LiDAR data point 를 필터링하는 등 자율 주행 시스템 수준에서뿐만 아니라 센서 및 machine learning 모델 수준에서도 방어 솔루션을 제안한다.
요약하자면, 이 연구는 다음과 같은 기여를 한다.
- 자율 주행 차량 시스템을 위한 LiDAR 기반 인지의 보안을 최초로 연구했다. 기존 LiDAR spoofing 기술을 맹목적으로 적용하는 것이 machine learning 기반 object detection 단계 이후 의미적으로 중요한 보안 문제를 쉽게 유발할 수 없다는 것을 발견했다. 기존 스푸핑 기술을 사용하여 공격 목표를 달성하기 위해, 우리는 위조된 점을 전략적으로 제어하여 maching learning model 을 속일 가능성을 탐구하고 이를 최적화 문제로 공식화했다.
- LiDAR 기반 자율 주행 차량 인지에서 사용되는 machine learning 모델을 분석하기 위해, 방법론 수준에서 두 가지 기여를 한다. 첫째, LiDAR spoofing attack 능력을 분석하기 위한 실험을 수행하고, 이러한 능력을 수학적 형태로 모델링하기 위해 글로벌 공간 변환 기반 방법을 설계했다. 둘째, 문제를 직접 최적화하여 해결하는 데 있어 내재된 한계를 식별하고, 최적화와 글로벌 샘플링을 결합한 알고리즘을 설계했다. 이를 통해 공격 성공률을 75%까지 높일 수 있었다.
- 자율 주행 차량 주행 결정 수준에서 공격의 영향을 이해하기 위한 사례 연구로, 승객에게 피해를 줄 수 있거나 후방 충돌을 유발할 수 있는 긴급 브레이크 공격, 교차로에서 영구적으로 교통을 방해할 수 있는 자율 주행 차량 정지 공격이라는 두 가지 잠재적 공격 시나리오를 구성했다. 실제 자율 주행 차량 주행 데이터를 기반으로 한 시뮬레이션 평가에서, 두 공격 모두 공격자가 원하는 주행 결정을 성공적으로 유발했다. 이러한 통찰력을 바탕으로, 자율 주행 시스템, 센서 및 machine learning 모델 수준에서 방어 방향을 논의한다.
Background
1. LiDAR-based Perception in AV Systems
자율주행차(AV)는 실시간 위치 파악 (localization) 과 환경 인식을 수행하기 위해 다양한 센서에 의존한다. LiDAR, 카메라, 레이더, GPS/IMU는 다양한 자율주행 시스템에서 사용되는 주요 센서들이다. 이러한 센서에서 수집된 데이터는 AV 시스템에 유용한 정보가 되기 전에 변환 및 처리된다. 그림 1은 Baidu Apollo 의 인식 모듈에서 LiDAR 센서 데이터의 처리 파이프라인을 보여준다. 아래 figure 1 에 나와 있듯이, 세 가지 주요 단계가 포함된다.
- Pre-processing
- Transformation
raw LiDAR 센서 입력은 3D point cloud 라고 하며 이를 $ X $로 표시한다. $ X $ 의 차원은 $ n \times 4 $ 이며, 여기서 n은 data point 수를 나타내고, 각 데이터 포인트는 3D 좌표 $ W_{x}, W_{y}, W_{z} $ 및 해당 지점의 intensity 를 포함하는 4차원 벡터이다. 이 단계에서는 $ X $ 를 먼저 절대 좌표계로 변환한다. - ROI filtering
그 후, Region of Interest (ROI) 필터는 HDMap 정보를 기반으로 도로 외부와 같은 관련이 없는 3D point cloud data 를 제거한다. - Feature generation
machine learning 모델의 입력으로 사용할 feature vector x $ 8 \times 512 \times 512 $ 가 생성된다. 이 과정에서, ROI filtering 된 3D point cloud 는 $ W_{x} $ 와 $ W_{y} $ 좌표를 기준으로 $ 512 \times 512 $ cell 에 mapping 된다. 각 cell 에서 지정된 지점을 사용하여 아래 Table 1에 나열된 8개의 feature 가 생성된다.
- Transformation
- DNN-based object detection
Deep neural network (DNN) 는 feature vector x를 입력으로 받아 각 cell 에 대한 output metrics 을 생성한다. 예를 들어 해당 cell 이 장애물의 일부일 확률 등을 예측한다. 이러한 출력 지표는 아래 Table 2에 나열되어 있다.
- Post processing
- Clustering
objectiveness (Table2 에 나열된 출력 지표 중 하나)이 주어진 threshold (default = 0.5) 보다 큰 cell 만 고려한다. 그 후, cell 의 output metrics 를 사용하여 연결된 그래프를 구축함으로써 candidate object cluster 를 구성한다. 그런 다음, candidate object cluster 는 average positiveness 값(또 다른 출력 지표)이 threshold (default = 0.1) 보다 큰 cluster를 선택하여 filtering 된다. - Box building
그 후, box builder 는 3D point cloud 를 기반으로 candidate obstacle 의 높이, 너비, 길이를 포함하는 bounding box 를 재구성한다. - Tracking
마지막으로, tracker 는 처리된 결과의 연속된 프레임을 통합하여 속도, 가속도, 회전율 등의 추가 정보와 함께 추적된 obstacle 을 생성한다.
- Clustering
인식된 obstacle 의 위치, 모양, 유형에 대한 정보를 통해 Apollo 시스템은 이러한 정보를 사용하여 주행 결정을 내린다. 인식 결과는 예측 모듈에서 추가로 처리되어 인식된 obstacle 의 미래 경로를 예측하며, 이후 계획 모듈은 향후 주행 경로를 계획하고 정지, 차선 변경, 양보 등의 결정을 내린다.
2. LiDAR Sensor and Spoofing Attacks
보안 분석 방법론의 원리를 이해하려면 LiDAR 센서가 어떻게 point cloud 를 생성하는지, 그리고 spoofing attack 을 통해 이를 어떻게 제어된 방식으로 변경할 수 있는지 이해해야 한다.
- LiDAR sensor
: LiDAR 센서는 laser pulses 를 발사하고 그 반사를 photodiode (광다이오드) 로 포착하여 작동한다. 빛의 속도는 일정하므로, 반사 pulse 가 수신 광다이오드에 도달하는 데 걸리는 시간은 LiDAR와 obstacle 사이의 거리를 정확하게 측정할 수 있게 한다. 레이저 펄스를 다양한 수직 및 수평 각도로 발사함으로써 LiDAR는 자율주행 시스템이 객체를 감지하는 데 사용하는 point cloud 를 생성한다. - LiDAR spoofing attack
: 센서 스푸핑 공격은 target sensor 와 동일한 physical channel 을 사용하여 센서 readings (판독값) 을 조작하는 전략이다. 이 전략은 센서 시스템이 공격을 인식하기 어렵게 만들며, 센서를 물리적으로 조작하거나 디지털 센서 측정값의 처리 및 전송을 방해하지 않는다. 이러한 공격은 대상 센서로 하여금 실제로는 잘못된 데이터를 합법적인 것처럼 제공하게 만들 수 있다.
LiDAR는 laser spoofing attack 에 취약한 것으로 알려져 있다. Petit 등은 다른 위치에서 LiDAR laser pulse 를 재생하여 spoofer 위치보다 더 먼 지점에 fake point 를 생성하는 방식으로 LiDAR spoofing attack 을 수행할 수 있음을 보여주었다. Shin 등은 spoofer 위치보다 더 가까운 거리에서도 fake point cloud 를 생성할 수 있음을 입증했다. 본 논문에서는 이러한 이전 연구를 바탕으로 이 attack vector 가 자율주행 인식의 보안에 미치는 영향을 연구한다.
3. Adversarial Machine Learning
- Neural Network
: 신경망은 (인공) 뉴런이라고 하는 연결된 unit 들로 구성된 함수로, 이들이 함께 작용하여 분포를 출력하는 미분 가능한 함수를 나타낸다. 주어진 신경망(예: 분류 모델)는 모델의 아키텍처와 매개변수 $ \pi $ 로 정의될 수 있다. Adam 과 같은 optimizer 는 objective function $ L $에 따라 매개변수 $ \pi $ 를 업데이트하는 데 사용됩니다. - Adversarial examples
: 주어진 machine learning model M, input x 및 해당 label y가 있을 때, adversarial attacker 는 M(x′) ≠ y (untargeted attack) 또는 $ M(x') = y' $인 적대적 예제 x′를 생성하는 것을 목표로 한다. 여기서 y′는 target label 이다 (target attack). Carlini와 Wagner 는 아래와 같은 objective function 를 optimize 하여 targeted attack 을 위한 adversarial perturbation 을 생성하는 방법을 제안했다.
$ min ||x-x'||_{p} \quad s.t. \quad M(x')=y' \quad and \quad x' \in X $
여기서 $ M(x') = y'$ 는 target adversarial goal 이고 $ x' \in X $는 adversarial example 이 유효한 집합에 있어야 함을 나타낸다. 또한 최적화 기반 알고리즘은 다양한 machine learning 작업(segmentation , human pose estimation, object detection, Visual Question Answer system, image caption translation 등) 에서 성공적으로 adversarial example 를 생성하는 데 사용되었다. 본 논문에서도 LiDAR 기반 자율주행 인식을 속이기 위한 adversarial attack 를 생성하는 데 최적화 기반 방법을 활용한다.
3. Attack Goal and Threat Model
- Attack goal
: 자율 주행 환경에서 의미 있는 보안 영향을 일으키기 위해서, LiDAR 기반 인식을 속여 피해 차량 앞에 fake obstacle 을 인식하게 하고, 이를 통해 악의적으로 주행 결정을 변경하는 것을 attack target 으로 설정한다. 특히, 본 연구에서는 피해 차량 앞 가까이에 위치한 fake obstacle 을 target 으로 삼고 있다. 이는 가까운 거리의 obstacle 이 즉각적인 잘못된 주행 결정을 유발할 가능성이 가장 높기 때문이다. 본 연구에서는 피해 차량 앞 약 5 meter 정도에 위치한 obstacle 을 '가깝다' 라고 정의한다. - Threat Model
: 위의 attack goal 을 달성하기 위해, LiDAR spoofing attack 을 threat model 로 고려한다. 이 attack vertor 는 앞서 설명한 것과 같이 LiDAR 센서에 대한 실직적인 attack 방식으로 입증되었다. 자율 주행 환경에서는 이러한 attack 을 수행할 수 있는 여러 scenario 들이 존재한다.- attacking device 를 도로변에 설치해서 지나가는 자율주행차에 악의적인 laser pulse 를 발사할 수 있다.
- 피해 차량과 가까운 거리에서 attack 차량을 운전할 수 있다. 예를 들어 같은 차선이나 인접 차선에서 주행하는 경우가 해당된다. 이 경우, 공격 차량에는 레이저 펄스를 발사하는 장치가 장착되어 있어 피해 차량의 LiDAR를 공격할 수 있다. 이러한 시나리오에서 레이저를 정확히 조준하기 위해 공격자는 카메라 기반 object detection 및 추적 기술을 사용할 수 있다. 자율주행 환경에서는 레이저 펄스가 눈에 보이지 않고 레이저 발사 장치도 상대적으로 작기 때문에 이러한 공격은 은밀하게 이루어질 수 있다.
첫 번째 보안 분석에서는 attacker 가 machine learning model 과 인식 시스템에 대한 whitebox 접근 권한을 가진다고 가정한다. attacker 는 소프트웨어를 reverse engineering 하는 추가적인 기술적 노력을 통해 whitebox 접근 권한을 얻을 수 있으므로, 이러한 위협 모델이 합리적이라고 판단된다고 한다.
4. Limitation of Blind Sensor Spoofing
LiDAR spoofing attack 하에 LiDAR 기반 인지 보안을 이해하기 위해서, Shin 등의 최신 LiDAR spoofing attack 을 재현하고, 이를 Baido Apollo 에서 LiDAR 기반 인지 파이프라인에 직접 적용해서 효과를 탐구한다.
- Spoofing attack description
: Shin 등의 attack 은 3가지 구성요소 (photodiode, delay component, 적외선 laser) 를 포함한다. 아래 Figure 3 에 있다. photodiode 는 희생자 LiDAR 와 동기화하기 위해 사용된다. 이는 희생자 LiDAR 로부터 발사된 laser pulses 를 포착할때마다 delay component 를 촉발한다. 그때, delay component 는 attack laser 를 촉발하고 나서 희생자 LiDAR 의 다음 발사 cycle 을 attack 한다. laser pulse 의 발사 순서는 일정하기 때문에, adversary 는 pulse 파형을 조작하여 어떤 fake point가 point cloud 에서 나타날것인지를 선택할 수 있다.
- Experimental Setup
: 논문은 Velodyne 의 VLP-16 PUCK LiDAR System 에서 spoofing attack 실험을 수행한다. VLP-16 은 다양한 각도에서 laser pulse 를 발사하기 위해서 16개의 분리된 laser diode 의 수직적인 배열을 사용한다. 이는 30도 수직적인 각도 범위를 갖고 있는데 -15 도에서 15도 사이이며 2도의 분해능을 갖는다. VLP-16 은 중심축을 기준으로 수평적으로 회전하며 360도 수평 범위에서 pulse 를 보낸다. azimuth (방위각) 해상도는 0.1도에서 0.4도 사이에서 변한다. laser 발사 순서는 아래 Figure 4 에서 보여진 패턴을 따른다. VLP-16 은 55.296 µs 주기로 한 cycle 동안 16 개의 laser pulse 를 발사하며 발사 주기는 2.304 µs 이다. receiving time window 는 약 667 ns 이다. 이 센서를 선택한 이유는 Baidu Apollo 와 호환되며, 많은 자율주행차에서 사용되는 더 발전된 HDL-64E LiDAR와 동일한 설계 원칙을 따르기 때문이라고 한다. 이러한 유사한 설계는 VLP-16에 영향을 미치는 laser attack 이 HDL-64E와 같은 고해상도 LiDAR에도 확장될 수 있음을 시사한다.
본 논문은 photodiode 로 OSRAM SFH 213 FA를 사용하였으며, Shin 등이 사용한 것과 유사한 비교 회로를 적용했다. delay component 로 Tektronix AFG3251 함수 발생기를 사용했으며, photodiode 회로는 외부 trigger 로 작동한다. 함수 발생기는 laser driver module PCO-7114에 trigger 를 제공하며, 이 모듈은 공격용 레이저 다이오드 OSRAM SPL PL90을 구동한다. PCO-7114 laser driver 를 사용하여 VLP-16과 동일한 펄스 속도인 2.304 µs로 레이저 펄스를 발사할 수 있었으며, 이는 이전 연구에서 사용된 100 µs보다 빠르다. 또한, 지름 30mm, 초점 거리 100mm의 광학 렌즈를 사용하여 빔을 집중시켜 5미터 이상의 거리에서도 효과를 높였고, Tektronix 소프트웨어 ArbExpress 를 사용하여 맞춤형 pulse 파형을 생성하고, Velodyne 소프트웨어 VeloView 를 사용하여 포인트 클라우드를 분석 및 추출했다고 한다.
- Experiment Results
: Shin 등의 이전 연구는 한 수평선에서 최대 10개의 fake point 를 spoofing 할 수 있었다. 본 논문의 설정 개선(더 빠른 발사 속도 및 빔을 집중시키는 렌즈 사용)으로 인해, 10미터 이상의 거리에서 16개의 수직 시야각과 8도의 수평각에서 fake point 를 생성할 수 있었다. 총 100개 정도의 fake point 를 수평 및 수직 각도를 덮으며 spoofing 할 수 있었다 (아래 Figure 14 에서 설명됨). 이러한 spoofed point 들은 attack laser 를 발사하는 데 사용된 맞춤형 pulse 파형을 수정함으로써 다양한 모양으로 형성할 수 있다. 주목할 점은, 100개 정도의 점이 스푸핑될 수 있지만, 모두가 안정적으로 스푸핑되지는 않는다는 것이다. 공격자는 광학 렌즈 집중으로 인해 스푸핑된 레이저 펄스가 피해 LiDAR의 특정 영역을 타격함으로써 다양한 각도에서 점을 스푸핑할 수 있다. 이 영역의 중심에 가까울수록 피해 LiDAR가 더 강하고 안정적인 레이저 펄스를 수신한다. 본 논문은 중심의 60개 포인트 중 8-10개의 수직선에서 높은 강도로 안정적으로 스푸핑할 수 있음을 발견했다고 한다.
4.1 Blind LiDAR Spoofing Experiments
LiDAR 스푸핑 공격을 재현한 후, 논문은 이러한 공격을 맹목적으로 적용하여 Baidu Apollo의 LiDAR 기반 인식에서 스푸핑된 장애물을 직접 생성할 수 있는지 탐구했다. LiDAR 스푸핑 실험은 실내 환경에서 수행되었기 때문에, 캘리포니아주 서니베일의 로컬 도로에서 Baidu Apollo 팀이 수집한 원본 3D 포인트 클라우드에 스푸핑된 LiDAR 점을 추가하여 도로 상의 공격 효과를 합성했다. 이 합성 과정은 Figure 5에 나와 있다.
이 과정을 마친 후, 공격자가 조작한 3D 포인트 클라우드를 입력으로 사용하여 Apollo의 인식 모듈을 실행해 객체 탐지 출력을 얻었다. 이 분석에서는 세 가지 블라인드 공격 실험을 수행했다.
- Experiment 1: 원본 스푸핑 공격 흔적을 직접 적용
이 실험에서 스푸핑 공격 흔적을 직접 재생하여 Apollo의 LiDAR 기반 인식을 공격했다. 구체적으로, 두 가지 소스에서 얻은 공격 흔적을 실험에 사용했다.- Shin 등의 원본 스푸핑 공격 흔적
- 논문에서 재현한 스푸핑 공격에서 생성된 공격 흔적
: 이는 우리의 설정 개선 후 더 많은 점을 주입할 수 있었다. 그러나 어떤 흔적에서도 LiDAR 기반 인식 파이프라인의 출력에서 스푸핑된 장애물을 관찰할 수 없었다.
- Experiment 2: 다양한 각도에서 스푸핑 공격 흔적 적용
스푸핑된 장애물을 성공적으로 스푸핑할 수 있는지 여부가 스푸핑된 점의 각도에 의존하는지 확인하기 위해, 다양한 위치에 스푸핑된 점을 주입했다. 구체적으로, 피해 차량 주변 360도에서 100개의 다른 각도를 균일하게 샘플링하고, 논문에서 재현한 스푸핑 공격 흔적을 주입했다. 그러나 어떤 각도에서도 스푸핑된 장애물을 관찰할 수 없었다. - Experiment 3: 다양한 모양의 스푸핑 공격 흔적 적용
스푸핑된 장애물이 스푸핑된 점의 패턴에 의존하는지 확인하기 위해, 다양한 스푸핑 패턴으로 점을 주입했다. 구체적으로, 각도별로 점의 거리를 무작위로 설정하여 무작위 패턴의 스푸핑된 점을 생성했다. 논문은 16개의 수직선에 걸쳐 160개의 점을 생성하고, 각 선에는 연속된 수평각으로 10개의 점을 배치했다. 피해 차량 앞에서 즉각적인 제어 결정을 유발하기 위해, 스푸핑된 장애물은 피해 차량과 가까워야 한다. 따라서, 스푸핑된 점의 거리를 피해 차량에서 4~6미터 이내로 설정했다. 총 100개의 다른 스푸핑 패턴을 생성했으나, 이 패턴 중 어느 것도 스푸핑된 장애물을 관찰할 수 없었다. - Summary
이 실험에서 논문은 최신 LiDAR 스푸핑 공격에서 파생된 다양한 블라인드 스푸핑 공격 전략을 시도했으나, Baidu Apollo의 LiDAR 기반 인식 파이프라인에서 스푸핑된 장애물을 생성하는 데 성공하지 못했다. 이는 두 가지 이유 때문일 수 있다. 첫째, 현재의 공격 방법론은 매우 좁은 스푸핑 각도, 즉, 설정 개선 후에도 수평 각도 8도만을 커버할 수 있다. 둘째, 수직 각도의 범위는 스푸핑 레이저 펄스의 빈도에 의해 제한된다. 따라서, 더 많은 수직 각도를 가진 LiDAR, 예를 들어 64라인 LiDAR를 공격할 때도, 16라인 LiDAR와 유사한 시간 동안 수직 각도를 스캔하기 때문에 공격자는 16라인 LiDAR보다 더 많은 수직 각도를 스푸핑할 수 없다. 따라서, 현재의 방법론은 스푸핑된 점의 수를 제한하여 중요한 도로 장애물을 모방하기 어렵게 만든다.
Figure 6에서 볼 수 있듯이, 실제 차량의 point cloud 는 논문에서 재현한 공격 흔적보다 훨씬 더 넓은 각도와 많은 점을 가지고 있다. 따라서, 스푸핑 공격을 맹목적으로 적용하는 것만으로는 LiDAR 기반 인식 파이프라인에서 머신 러닝 기반 object detection 프로세스를 쉽게 속일 수 없다. 다음 섹션에서는 논문의 공격 목표를 달성하기 위해 머신 러닝 모델 취약점을 더 효과적으로 활용할 가능성을 탐구한다.
5 Improved Methodology : ADV-LiDAR
앞서 논의한 바와 같이, LiDAR 기반 인식에서 사용하는 머신 러닝 모델을 고려하지 않고 기존의 LiDAR 스푸핑 공격을 맹목적으로 적용하는 것은 근접 장애물을 생성하는 공격 목표를 달성하기 어렵다. 입력에 정교하게 조작된 perturbation 을 가하면 머신 러닝 출력이 악의적으로 변경될 수 있다는 사실이 이미 알려져 있으므로, 논문은 스푸핑된 점을 전략적으로 제어하여 LiDAR 기반 인식에서 머신 러닝 모델을 속일 수 있는 가능성을 탐구하고자 한다. 이 섹션에서는 적대적 기계 학습 분석을 포함하면서 발생하는 기술적 도전 과제를 설명하고, 이를 해결하는 솔루션 방법론인 Adv-LiDAR의 개요를 제시한다.
5.1 Technical Challenges
이전 연구가 machine learning model 을 공격하는데 있어서 유망한 결과를 보여줬음에도 불고하고, 그들중 아무것도 LiDAR 기반 object detection model 에 대해서 연구하지는 않았고, 그들의 approach 도 3가지 challenge 들 때문에 논문의 분석 목표의 적용에 있어서 제한이 있었다.
- attacker 들이 논문의 problem 에서 machine learning model input 을 조작할 능력을 제한했다. image 의 pixel 을 perturb 하는 것과 달리, 자율주행 환경에서 machine learning input 을 perturb 하는 것은 3D point cloud 원시 데이터를 센서 공격을 통해 perturb 해야하며, 연관된 전처리 process 를 우회해야 한다. 그래서, 이러한 perturbation 능력은 정량화되고 모델링되어야 한다.
- 이전 연구에서 적대적 example 을 생성하는데에 있어서 최적화 기반 method는 제한된 model input perturbation 능력때문에 직접적으로 논문의 분석 problem 에 적합하지 않을지도 모른다. §7 에서 보여주듯이, 최적화 기반 method 가 논문의 problem 의 본질상 본질적으로 제한적이며, 근접 장애물을 생성하는데 있어서 낮은 성공률만 달성할 수 있다.
- 논문의 problem 에서 성공적으로 machine learning model output 을 바꾸는 것은 자율주행 환경에서 직접적으로 논문의 attack 목표를 달성에 있어서 성공을 초래하진 않는다. §7 에서 나중에 자세하게 설명하듯이, Baidu Apollo 와 같은 자율주행환경에서 machine learning model output 은 전처리되고 나서, 인지된 장애물의 list 로 변환된다. 그래서, 논문의 attack 목표를 효과적으로 반영할 수 있는 objective function 은 새롭게 설계될 필요가 있다.
5.2 Adv-LiDAR Methodlogy Overview
이 섹션에서는, 논문의 solution methodology 의 overview 를 제공한다. Adv-LiDAR 라고 불리며, 위의 3가지 chanllenge 들을 다룬다. high level 관점에서, machine learning model M 에 대한 적대적 example 을 을 확인하기 위해서, 논문에서는 최적화 기반 approach 를 채택하며, 이는 다양한 domain 를 넘어서 machine learning model 이전 연구에 의한 높은 효율성과 효과성 모두를 보여줬다. 최적화 문제의 공식을 설명하기 위해서, Table 3 에서 notation 을 요약한다.
특히, 이 문제는 아래와 식(1) 같이 공식화 된다.
$ min \quad \mathcal{L}_{adv}(x \oplus t' ; M) $
$ s.t. \quad t' \in \{ \Phi(T') \mid T' \in \mathcal{A} \} \quad \& \quad x = \phi(X) $
여기서, X는 순수한 3D point cloud 이고, x는 해당 2D input feature matrix 를 나타낸다. $ \phi(\cdot) $ 은 $ X $ 를 $ x $ 로 mapping 하는 전처리 함수이다. $ T' $ 은 해당 적대적 스푸핑된 3D point cloud 이고, $t'$은 적대적 스푸핑된 input feature matrix 이다. $ \mathcal{A} $ 는 LiDAR 스푸핑 attack 으로부터 생성된 스푸핑된 3D point cloud 의 집합이다. $ \mathcal{L}_{adv}(\cdot; M) $ 은 적대적 손실이고, 주어진 machine learning model M 에서 적대적 목표를 달성하기 위해 설계되었다. 그 제약은 생성된 적대적 examples t' 이 스푸핑 attack 능력을 만족시킨다는 것을 보장하기 위해 사용되었다.
Figure 2. 는 분석 task 들이 최적화 문제를 해결할 필요가 있다는 것을 overview 한다.
- 스푸핑 attack 능력 input perturbation analysis 을 수행할 필요가 있다. 이는 스푸핑 공격 능력 $ \mathcal{A} $ 과 merging function $\oplus$ 를 공식화한다.
- 적대적 example 들을 생성하기 위해 objective function 을 설계하기 위한 model analysis 를 수행할 필요가 있다.
- 자율주행 결정 수준에서 attack 영향을 이해하기 위한 관련 연구로서, 논문은 식별된 적대적 example 들을 사용해서 더 나아가서 주행 결정 분석을 수행한다. 이러한 task 들에 대한 더 많은 detail 은 아래와 같다.
- Input perturbation analysis
$ \mathcal{A} $ 과 $\oplus $ 는 사소하지 않다.
- LiDAR 스푸핑 attack 에 관한 이전 연구는 3D point cloud 를 perturb 하는데에 있어서 attacker의 능력에서 상세한 측정을 제공하지도 않았고, 그것을 닫혀진 형태 표현으로 표현하지도 않았다.
- point cloud data 는 2.1 섹션에서 보여진 것처럼 몇몇 단계에 의해 전처리 되고 나서 machine learning input 으로 들어간다. 이는 merging function $ \oplus $ 이 직접적으로 표현될 수 없다는 것을 의미한다.
이러한 2가지 challenge들을 다루기 위해서, §6 에서 나중에 상세하게 다룰 것이다. 우선, 논문에서는 가능한 스푸핑된 3D point cloud 으 집합을 수집하기 위해서 LiDAR 에서 스푸핑 attack 을 수행한다. 이러한 스푸핑된 3D point cloud 를 사용해서, 논문은 스푸핑 attack 능력 $\mathcal{A}$ 을 모델링한다. 그리고 더 나아가서 machine learning input perturbation 에서 추가적인 제약을 얻기 위해서 전처리 program 을 분석하거나, 스푸핑된 input feature matrix 를 분석한다. 이러한 분석에 기반하여, 논문은 global 공간적인 변형을 사용해서 스푸핑된 input feature matrix 를 미분가능한 함수로 공식화한다. 이는 model 분석을 위해 요구된다.
- Objective function design and model analysis
§5.1 에서 초기에 설명했던 것 처럼, 자율주행 시스템의 LiDAR 기반 인지에서 machine learning model output 은 전처리 되고(§2.1) 나서 인지된 장애물의 리스트로 바뀐다. 효과적인 objective function 을 발견하기 위해서, 논문은 model output 을 인지된 장애물로 변형하는 핵심 전략을 추출하기 위해 전처리 단계를 연구한다. 그리고 그것을 attack 목표를 반영하는 objective function 으로 공식화한다. 추가로, 논문은 논문의 기존의 최적화 기반 method 를 직접적으로 사용해서 최적화 문제를 효과적으로 해결할 수 없었다는 것을 발견했다. 논문은 손실 표면을 분석하고 problem 본질이 이러한 비효율성을 일으킨다는 것을 발견한다. 이러한 challenge 를 다루기 위해, 논문은 global sampling 과 최적화 문제를 결합해서 methodology 를 개선한다. 이러한 분석 methodology 와 결과에 대한 세부사항은 §7, §8 에 있다. - Driving decision case study
이전의 분석 단계로부터 결과와 함께, 논문은 LiDAR 기반 인지 수준에서 스푸핑된 장애물을 inject 할 수 있는 적대적 3D point cloud 를 생성할 수 있다. 자율주행 의사 결정 수준에서 이들의 영향을 이해하기 위해, 논문은 관련 연구로서 2가지 attack scenario 들을 수행하고 평가한다. 평가 methodology 와 결과는 나중에 §9 에서 상세하게 다룬다.
- Input perturbation analysis
6. Input Perturbation Analysis
위의 식(1) 에서 최적화 문제를 해결함으로써 적대적 example 들을 생성하기 위해, 논문은 merging function $ \oplus $ 와 input feature matrix 스푸핑 능력 $ \phi(\mathcal{A})$ 를 닫혀진 형태로 공식화할 필요가 있다. 이 섹션에서는 논문은 우선 스푸핑 attack 능력 $ (\mathcal{A}) $ 을 분석하고 그런 다음에 그것을 $ \phi(\mathcal{A})$ 를 공식화하기 위해 사용한다.
6.1 Spoofing Attack Capability
§4 에서 attack 재생산 실험에 기반하여, 관찰된 attack 능력 $ (\mathcal{A}) $ 이 2가지 측면으로부터 묘사될 수 있다.
- Number of spoofed points
§4 에서 묘사된 것 처럼, 논문의 설정 개선 이후에 약 100개의 point 들을 스푸핑하는 것이 가능할 지라도, 논문은 약 60개의 point 가 논문의 실험에서 신뢰할 수 있을 정도로 스푸핑될 수 있다는 것을 발견한다. 그래서, 논문은 60개를 가장 큰 숫자의 신뢰가능한 스푸핑된 point 들로 고려한다. 최대 숫자의 스푸핑된 point 들은 만약 attacker 가 더 진보된 attack 장비를 사용한다면 증가될 수 있다. 여기에, 논문에서는 더 접근가능한(§4) device 들의 집합을 선택하고 결국 신뢰가능하게 약 60개의 point 들을 스푸핑할 능력을 갖게 되었다. 추가로, Shin 등에 의한 설정에서와 같이 attacker 가 느린 laser 나 조잡한 focusing 광학을 사용할지도 모른다는 것을 고려해서, 논문은 또한 20개와 40개의 스푸핑된 point 들을 논문의 분석에서 고려한다. - Location of spoofed points
스푸핑된 점의 숫자를 고려해볼 때, 이러한 point 들을 배치하는데에 있어서 관측된 attack 능력은 아래와 같이 묘사되고 모델링된다.- 작은 주기 (nanosecond scale) 에서 attack laser 신호 pulse 의 지연을 바꿔서 LiDAR 로부터 스푸핑된 point 의 거리를 변경. 스푸핑된 3D point cloud $T$ 의 관점으로부터, 이것이 스푸핑된 point 들의 위치를 거리 $\Delta r $ (Figure 7 (a)) LiDAR 센서와 스푸핑된 point 들을 연결하는 축 r 위에서 더 가까이 또는 더 멀리 움직임으로써 모델링 될 수 있다.
- 2.304 µs 의 주기에서 지연을 바꿔서 LiDAR 의 수직적인 범위 내에서 스푸핑된 point 의 고도를 변경. 스푸핑된 3D point cloud $T$ 의 관점으로부터, 이것이 고도 $\Delta h$ 만큼 그것의 고도를 바꾸기 위해서 수직선에서 다른 수직선으로 스푸핑된 point 들의 위치를 바꿈으로써 모델링될 수 있다. (Figure 7 (b))
- 55.296 µs 의 주기에서 지연을 바꿔서 8도의 각도를 보여주는 수평선 내에서 스푸핑된 point 의 방위각을 변경. LiDAR 스푸퍼를 LiDAR 주변의 다른 위치로 옮겨서 어느 수평적인 각도에서 스푸핑하는 것도 가능하다. 스푸핑된 3D point cloud $T$ 의 관점으로부터, LiDAR 센서를 기준으로 수평면에서 각도 $\Delta \theta $ (Figure 7 (c)) 만큼 스푸핑된 point 들을 회전시켜서 모델링될 수 있다.
- 작은 주기 (nanosecond scale) 에서 attack laser 신호 pulse 의 지연을 바꿔서 LiDAR 로부터 스푸핑된 point 의 거리를 변경. 스푸핑된 3D point cloud $T$ 의 관점으로부터, 이것이 스푸핑된 point 들의 위치를 거리 $\Delta r $ (Figure 7 (a)) LiDAR 센서와 스푸핑된 point 들을 연결하는 축 r 위에서 더 가까이 또는 더 멀리 움직임으로써 모델링 될 수 있다.
그래서, 논문은 이러한 세가지 변경을 주어진 스푸핑된 3D point cloud $T$ 에 적용해서 attack 능력 $\mathcal{A}$ 를 모델링한다. 여기에서 스푸핑된 3D point cloud 는 센서 스푸핑 attack 을 재생산해서 수집될 수 있다. $T$ 의 point 개수는 전에 언급했드시 다양한 attack 능력들을 표현하기 위해 20, 40, 60이 될 수 있다. 다음 섹션에서는, 여기서 모델링된 attack 능력 $\mathcal{A}$ 는 input feature matrix x의 perturbation 을 모델링하는데 사용된다.
6.2 Input Perturbation Modeling
스푸핑 attack 능력 $\mathcal{A}$ 을 분석한 후에, 식 (1) 에서 $ x \oplus t'$ 을 공식화하기 위해서, 다음 스텝 2가지를 가질 필요가 있다.
- merging function $\oplus$ 을 공식화하기
- 알려진 스푸핑 attack 능력 $\mathcal{A}$ 에 기반하여 스푸핑된 input feature matrix 스푸핑 능력 $\phi(\mathcal{A})$ 를 모델링 하기
이 섹션에서는 우선 전처리 program 을 분석해서 merging function $ \oplus $ 을 공식화한다. 그리고 나서 스푸핑된 input feature matrix t 을 기반으로 하여 전역 공간 변형을 사용해서 t' matrix를 미분가능한 함수로 표현해서 스푸핑된 input feature matrix 스푸핑 능력 $\phi(\mathcal{A})$ 을 모델링한다. 여기서 스푸핑된 input feature matrix t 는 $ t = \phi(T) $ 에 의해 주어진 스푸핑된 3D point cloud 를 가지고 달성될 수 있다.
- Formulating merging function $(\oplus)$
x와 t' 에서 연산되는 merging function $\oplus$ 를 모델링하기 위해서 우선 3D point cloud $X$ 를 input feature matrix x 로 변형시키는 전처리 program $\phi(\dot)$ 을 분석할 필요가 있다. §2.1에서 묘사했드시, 전처리 process 는 3가지의 sub-process 들로 구성된다.- coordinate transformation
- ROI filtering
- input feature matrix extraction
앞의 2가지 process 들은 §6 에서 수행한 스푸핑 attack 에 의해 생산된 적대적 스푸핑된 3D point cloud $T'$ 에 사소한 영향을 끼친다. coordinate transformation 적대적 스푸핑된 3D point cloud $T'$ 이 3D point cloud $X$ 와 더불러 변형될것이기 때문에 영향이 거의 없다. ROI filtering process 에 관해서는 새 눈의 관점으로부터 도로의 바깥쪽에 위치된 3D point cloud 를 필터링한다. 그래서, 도로에서 point 들을 스푸핑하는 한, ROI filtering process 는 적대적 스푸핑된 3D point cloud $T'$ 에 영향을 거의 끼치지 않는다. feature extraction process는 §2.1 에서 언급했드시, 평균 높이($I_{avg_{h}}$), 평균 강도($I_{avg_{int}}$), 최대 높이($I_{max_{h}}$) 와 같은 통계적인 feature 들을 추출한다.
이러한 전처리 때문에, 스푸핑된 input feature matrix t' 은 적대적 input feature matrix x' 을 얻기 위해 직접적으로 input feature matrix x 에 추가될 수 없다. x' 을 얻기 위해서는 이러한 addtion 연산($\oplus$)을 아래에서 보여진(식 (2)) 미분가능한 함수로 표현한다. 이 식에서 논문은 Table 1 에서의 방향과 거리와 같은 약간의 feature 도 포함하지 않는다. 왜냐하면 이러한 것들이 변하지 않거나 직접적으로 식에서 포함된 feature 들로부터 유도될 수 있기 때문이다.
- Modeling input feature matrix spoofing capability $\phi(\mathcal{A})$
input feature matrix 스푸핑 능력 $\phi(\mathcal{A})$ 을 모델링하는 것은 알려진 스푸핑된 input feature matrix t 를 가지고 적대적 input feature matrix t' 을 표현하는 것과 같다. input feature matrix 스푸핑 능력을 표현하기 위한 특정한 제약 하에 회전, 번역, 스케일링을 포함하는 전역 공간 변형을 사용할 수 있다. 여기에 번역와 스케일링 변형은 attack 능력을 3D point cloud 의 방위각을 변경하는 관점으로 해석된다. 반면에, 회전 변형은 attack 능력을 LiDAR 로부터의 3D point cloud 의 거리를 변경하는 관점으로 해석된다. 특히, 논문은 스푸핑된 input feature matrix 스푸핑 능력 $\phi(\mathcal{A})$ 을 공식화하고 적대적 스푸핑된 input feature matrix t' 을 표현하기 위해 전역 공간 변형을 스푸핑된 input feature matrix $S_{t}$ 의 집합에 적용한다.각각의 스푸핑된 input feature matrix $t \in S_{t}$ 이고, 해당 스푸핑된 3D point cloud T 로부터 mapping 되기 때문에 $t = \phi(T)$ 이다.
논문은 스푸핑된 input feature t' 위에 i번째 위치의 값을 나타내기 위해 $t'_{(i)}$ 을 사용하고, 그 위치를 나타내기 위한 2D 좌표 $(u'_{(i)}, v'_{(i)})$ 를 사용한다. homography matrix $H(\theta, \tau, \epsilon) $ 을 적용해서 t' 은 임의의 instance t 로부터 변형되고 여기서 $ t \in S_{t}$ 이다. $t_{(i)}$ 의 위치는 아래와 같이 $t'_{(i)}$ 로 유도될 수 있다.
$\tau_{x} \over \tau_{y}$ 는 고정 비율 $tan\theta$ 이다. 번역이 r 축을 따라 수행되기 때문이다. (Figure 7 (1)) $\theta$ 가 논문이 변형을 수행하기 위해 제공하는 스푸핑된 input feature matrix 에 의존적이기 때문에, 스푸핑된 input feature matrix 를 x 축 이전에 나열한다. 여기서 $\theta = 0$ 이고 따라서 $\tau_{y} = \tau_{x} tan\theta = 0$ 이다. 그래서, 논문은 $\tau_{x}$ 만 optimize 할 수 있다. 또한, 이 process 는 scaling 과 같기 때문에 $\epsilon$ 을 배제한다.
논문은 $t'_{(i)}$ 를 계산하기 위해서 미분가능한 이중선형보간법을 사용한다.
여기서 $\mathcal{N} (u_{(i)},v_{(i)})$ 는 위치 $(u(i), v(i))$ 에서 4 pixel neighbors 를 나타낸다. (top-left, top-right, bottom-left, bottom-right)
더 나아가서, Table 1 에서 보여진 것처럼, 논문은 input feature matrix 가 높이 변형을 포함한다는 것을 관찰할 수 있다. 그래서, 논문은 적대적 스푸핑된 input feature matrix t' 을 생성할 때, 높이 feature들에서 전역 scale 스칼라 $s_{h}$ 를 optimize 한다. $S(t, S_{h}$ feature 들을 곱하는 scaling 함수로 정의하며, 이는 $S_{h}$ 에 의해 높이 정보를 포함한다. 이러한 변형에 기반하여, 식 (4) 는 아래와 같이 변형될 것이다. 단순화하면, 논문은 전체 변형 진전을 $G_{t}$ 로 나타낸다. 그래서 변형 파라미터 $\theta, \tau_{x}, S_{h}$와 함께 스푸핑된 input feature matrix t 가 주어질 때 $G_{t}(\theta, \tau_{x}, S_{h} ; t)$ 는 변형된 적대적 스푸핑된 input feature matrix를 나타낸다.
7. Generating Adversarial Examples
input perturbation 을 모델링한 이후에, 이 섹션에서는 논문은 objective function 을 효과적인 적대적 loss $\mathcal{L}_{adv}$ 를 가지고 설계한다, 이러한 loss 를 minimize 하는 attack 변형 파라미터들을 찾기 위해 그리고 최적화 method 를 이용한다.
- Design the adversarial loss $\mathcal{L}_{adv}$
machine learning model level 에서만 분석을 수행하는 이전 연구와 달리, 전방에 가까운 장애물을 스푸핑하는 attack 목적을 반영하는 명백한 objective function 이 없다. 그러나, 효과적인 objective function 을 만드는 것은 효과적인 적대적 example 을 생성하는데 필수적이라고 보여져왔다. 효과적인 objective function 을 설계하기 위해서, 논문은 machine learning output 의 후처리 단계를 분석한다. §2.1 에서 보여진 것처럼, clustering process 에서, model output 의 각각의 cell 은 objectness(객체성) 값에 의해 필터링된다. clustering process 이후에, 후보 object cluster 들은 positiveness(양성) 값에 의해 필터링된다. 이러한 관측하에, 논문은 적대적 loss $\mathcal{L}_{adv}$ 를 아래와 같이 설계했다.
여기서, $Q(x', \dot)$ 는 적대적 example x' 안에 feed 해서 model M 으로부터 속성의 확률을 추출하는 함수이다. $\mathcal{M}$ 은 (px, py) 중심 좌표를 갖는 표준 Gaussian mask 이다.이는 attacker 가 선택하는 attack target 위치이다. 논문은 $\phi $ 를 사용해서 input feature matrix 에서 cell 의 해당 좌표 위에 attack target position 을 현실 세계에서 mapping 해서 (px, py) 를 얻었다. 적대적 loss 는 위에 묘사된 가중치 값의 input feature matrix 에서 모든 cell 의 합이다. 이 설계된 적대적 loss 을 minimize 하는 것은 machine learning model M 이 주어질 때, 적대적 스푸핑된 3D point cloud 의 장애물을 detect 할 확률을 증가시키는 것과 같다.
- Optimization algorithm and our improvement using sampling
위에 $\mathcal{L}_{adv}$ 설계와 함께, 최적화 문제는 다음 objective function 을 minimize 하는 변형 파라미터 $\theta, \tau_{x}$, 스칼라 $S_{h}$ 를 얻기 위해 adam optimizer 를 사용해서 직접적으로 해결되었다.
여기서 t' 는 식 (5)에 의해 얻어질 수 있고, $x' = x \oplus t' $ 이다. 이 논문에서 이 direct solution 을 vanilla optimization 이라고 부른다.
논문은 Figure 9 에서 변형 파라미터들에 대해서 loss surface 를 시각화한다.
vanilla optimization process 동안, 논문은 변형 파라미터에 대한 loss surface 가 작은 scale (초록색 선) 에서는 noisy 하고 큰 scale (빨간색 선) 에서는 꽤 평평하다는 것을 관측했다. 이는 최적화 기반 method 에 대한 적절한 step size 를 선택하는 문제로 이어진다. 예를 들어, 작은 step size 를 선택하는 것은 optimizing process 를 local minumum 주변에 빠지도록 할 것이다. 반면에, 큰 step size 를 선택하는 것은 잘못된 방향을 가리키는 noisy 한 local loss 때문에 덜 효율적이게 될 것이다. local minima 의 문제를 줄이기 위해 다양한 시작 point 를 선택하는 Carlini 등과 다르게, 논문의 setting 하에 optimization process는 perturbation 들의 강한 제약때문에 나쁜 local minima 에 빠지게 되기 쉽다. 논문은 큰 scale 로 sampling 을 사용하고, 작은 scale 로 optimize 하는 방식을 제안한다. optimization process 를 다양한 위치에서 시작하기 위해서, 변형 파라미터의 범위를 계산해서 변형된 스푸핑된 3D point cloud 가 target area 에 위치되도록 한다. 그리고 나서, 회전과 번역 파라미터에 대해서 n 개를 균일하게 sampling 한다. 그래서 시작하기 위해서 $n^{2}$ 개 sampling 을 구성한다.
- Generating adversarial spoofed 3D point cloud
적대적 3D point cloud $X'$ 을 더 만들기 위해서, 논문은 적대적 스푸핑된 3D point cloud $T'$ 을 생성할 필요가 있다. 변형 파라미터들 $\theta, \tau, \epsilon, S_{h}$ 를 사용해서, 논문은 해당 적대적 스푸핑된 3D point cloud $T'$ 을 $G_{t} $ 의 $G_{T}$ 이중 변형 함수로 표현할 수 있고 $ t' = \phi(T') $ 이다. 논문은 $(W_{x}, W_{y}, W_{z} )$ 좌표값을 표현하기 위해서 $T_{W_{x}}, T_{W_{y}}, T_{W_{z}} $ 를 사용하고, 스푸핑된 3D point cloud T 에서 모든 점들에 대한 intensity 의 값을 표현하기 위해서 $T_{i}$ 를 사용한다. 변형 파라미터 $\theta, \tau, \epsilon, S_{h}$ 를 가지고 변형된 적대적 스푸핑된 3D point cloud T' 의 $T'_{W_{x}}, T'_{W_{y}}, T'_{W_{z}} $를 식 (8) 에서 표현할 수 있다.
그래서, 논문은 스푸핑된 3D point cloud T 가 변형 파라미터들과 함께 주어질 때 변형된 적대적 스푸핑된 3D point cloud 를 나타내는 $T' = G_{T}(\theta, \tau_{x}, S_{h}; T) $ 등식을 사용할 수 있다.
- Overall adversarial example generation process
Figure 8 은 전반적인 적대적 example 생성 process 의 overview 를 제공한다. 3D point cloud $X$ 와 스푸핑된 3D point cloud T(Figure8(a)) 가 주어질 때, 논문은 우선, 해당 input feature matrix x 와 스푸핑된 input feature matrix t 를 얻기 위해 3D point cloud X 와 스푸핑된 3D point cloud T 를 $\phi$ 를 통해 mapping 한다. 그리고 나서 Figure 8 에서 보여진것 처럼 변형 파라미터들을 초기화하기 위해 sampling 알고리즘을 적용한다. 초기화 이후에, 적대적 loss function $\mathcal{L}_{adv}$ (Figure 8(c)) 관점에서 변형 파라미터를 더 optimize 하기 위해 optimizer opt 를 이용한다. 변형 파라미터와 T 를 가지고, 논문은 적대적 스푸핑된 3D point cloud T' 을 얻기 위해 식 (8) 을 사용해서 이중 변형 function $G_{T}$ 를 적용한다. 마지막으로, 적대적 3D point cloud X' 을 얻기 위해서, T' 을 3D point cloud X (Figure 8(d)) 에 더한다.
8. Evaluation and Results
이 섹션에서, 논문은 논문의 적대적 example 생성 method 를 효과성과 robustness 를 attack 하는 관점에서 평가한다.
- Experiment Setup
논문은 Baidu Apollo 팀이 Sunnyvale, CA 에서 local 도로에서 30초 동안 수집했던 Velodyne HDL-64E S3 를 가지고 발매한 현실 세계의 LiDAR 센서 data 흔적을 사용한다. 논문은 논문의 평가에서 이러한 흔적으로부터 300개의 3D point cloud frame 들을 균일하게 sampling 한다. attack 목표는 희생 자율주행시스템의 2~8 meter 앞에 obstacle 을 스푸핑하는 것이다. 그 거리는 장애물의 후방 끝에서 희생 자율주행차량의 앞쪽 끝으로 측정된다.
8.1 Attack Effectiveness
Figure 10 은 vanilla optimization 과 논문의 global sampling 을 통해 개선된 optimization 을 사용해서 다양한 attack 능력을 가진 스푸핑된 장애물을 생성하는데 있어서 성공률을 보여준다.
보여진 것 처럼, sampling 을 사용한 논문의 개선을 통해, 평균적으로 스푸핑 장애물의 성공률이 18.9%에서 43.3%로 증가했다. 이는 2.65 배 개선이다. 이는 global sampling 과 optimization 을 조합하는 것이 local minima 문제에 빠지는 것을 다루는데에 있어서 효과적임을 보여준다.
위의 그림은 성공률이 더 스푸핑된 point 들과 함께 증가했다는 것을 보여주며, 이는 attack 능력이 더 스푸핑된 point 들과 함께 증가되었기 때문에 기대된다. 특히, attacker 가 60개의 스푸핑된 point 들을 inject 했을 때, attack 성공률은 논문의 개선된 optimization method 를 사용해서 약 75% 달성할 수 있었다.
게다가, 비록 스푸핑 차량 타입의 장애물에 목표를 두지 않았음에도 불구하고, 논문은 LiDAR 기반 인지 process 이후에 성공적인 모든 attack에서 스푸핑된 장애물들이 차량으로 분류되었다.
8.2 Robustness Analysis
이 섹션에서, 논문은 3D point cloud X 및 스푸핑된 3D point cloud $T \in S_{T}$ 의 변화에 대해 생성된 적대적 스푸핑된 3D point cloud T' 의 robustness 를 이해하기 위한 분석을 수행한다. 이러한 분석은 현실 세계에서 높은 attack 성공률을 가지는 적대적 스푸핑된 3D point cloud 를 생성하는 것에 대해 의미있다. 현실 세계에서 attack 을 시작하기 위해 그 결과에 영향을 끼치는 2가지 주요 변화가 있다.
- attack device 들에서 부정확성이 스푸핑된 point 들의 변화에 기여한다.
attacker 는 안정적으로 global 위치에서 60개의 point 들을 스푸핑할 수 있다. 그러나, point 들을 정확한 위치로 스푸핑하는 것은 어렵다. 이러한 부정확성이 attack 성공률에 영향을 끼치는지 아닌지를 이해하는 것은 중요하다. - attacker 는 희생자 자율주행차량의 위치를 통제하지 못하고, attacker 가 3D point cloud 를 수집한 장소마다 다양하다.
이러한 변화가 attack 성공률에 영향을 끼치는지 아닌지 이해하는 것이 중요하다.
- Robustness to variations in point cloud
3D point cloud 에서 변화에 robustness 를 측정하기 위해서, 우선 모든 3D point cloud frame 들을 선택한다. 이 frame 은 성공적인 적대적 스푸핑된 3D point cloud 를 생성할 수 있다. 프레임 각각에 대해 생성된 적대적 스푸핑된 3D point cloud 를 15 연속적인 frame (around 1.5 s) 에 적용한다. 이후에, 성공률을 계산한다. 아래 Figure 11. 은 분석 결과를 보여준다.
이 figure 에서, x 축은 15 연속적인 frame 에 대한 index 이다. 그래서, frame index 가 커지면 커질 수록 원본 3D point cloud 에서 variation 은 크다. 보여진것 처럼, 더 스푸핑된 point 들을 갖는 attack 에 대한 robustness 는 일반적으로 더 적은 스푸핑된 point 들을 가진 attack 에 대한 robustness 보다 크다. 이는 더 큰 attack 능력이 robustness 를 증가시킬 수 있다는 것을 보여준다. 특히, 60개 스푸핑된 point 들을 가지고, 성공률이 15 이후에 frame 동안 평균적으로 75% 이상이다. 이는 높은 정도의 robustness 를 입증한다. 이는 이러한 attack 을 launch 하는 것이 반드시 희생 AV 가 높은 성공률을 가지기 위해 적대적 example 을 생산하는 정확한 위치에 있도록 요구하지는 않는다는 것은 암시한다.
- Robustness to variations in spoofed 3D point cloud
스푸핑된 3D point cloud 에서 변화의 robustness 를 평가하기 위해, 주어진 스푸핑된 3D point cloud $\mathcal{T} \in \mathcal{S}_{T} $ 에 대해서, 논문은 3D point cloud $X$ 를 가지고 해당 적대적 스푸핑된 3D point cloud $\mathcal{T}'$ 을 생산한다. 다음으로, 논문의 LiDAR 스푸핑 attack 실험 환경을 사용해서 5개 이상의 스푸핑된 3D point cloud traces $(\mathcal{T}_{1}, \mathcal{T}_{2}, \mathcal{T}_{3}, \mathcal{T}_{4}, \mathcal{T}_{5})$를 생산한다. 다음으로, $ (\mathcal{T'}_{1}, \mathcal{T'}_{2}, \mathcal{T'}_{3}, \mathcal{T'}_{4}, \mathcal{T'}_{5}) $ 을 생산하기 위해 $\mathcal{T}$ 로부터 $\mathcal{T}'$ 을 생산하는 같은 변형을 사용한다. 그리고 나서, 이들 각각을 $\mathcal{X}$ 와 합쳐서 attack 을 launch 한다. 아래 Table 4 는 다양한 attack 능력에 대해 평균 성공률을 보여준다.
보여진것 처럼, 모든 3개 attack 능력에 대해 논문은 82% 이상의 성공률을 달성할 수 있었다. 60개 스푸핑된 points 에 대해 성공률을 90% 만큼 높다. 이는 이러한 attack 을 launch 하는 것이 높은 성공률을 달성하기 위해 LiDAR 스푸핑 attack 이 항상 정확할 필요가 없다는 것을 암시한다.
9. Driving Decision Case Study
driving decision 수준에 attack 의 영향을 이해하기 위해서, 이 섹션에서는 몇몇의 attack 시나리오들을 구성하고 simulation 을 Case Study 로 사용해서 Baidu Apollo 에서 이들을 평가한다.
- Experiment setup
논문은 case study 를 Baidu Apollo 가 제공한 simulation feature 을 사용해서 수행한다. 이는 Sim-control 이라고 부르며, 이는 수집된 현실 세계 sensor data trace 들을 재현해서 유저가 AV system 행위를 driving decision 수준에서 관측하도록 허용하도록 설계되었다. Sim-control 은 vehicle 의 control 을 simulate 하는 물리적인 engine 을 구성하지 않는다. 대신에 AV 는 정확하게 그것이 계획한 것과 같이 행동한다. 물리 세계에서 attack 결과를 직접적으로 반영할 수 없음에도 불구하고, 이는 AV driving decision 에서 논문의 attack 의 영향을 이해하는 목적을 위해 제공된다.
case study 에서 각각 attack 시나리오에 대해, 논문은 성공적인 적대적 3D point cloud 의 합성된 연속적인 frame 을 input 으로 사용해서 이를 Sim-Control 에서 simulate 한다. 이 실험들은 Baidu Apollo 3.0 에서 수행되었다. - Case Study Results
논문은 case study_1 에서 2개 attack 시나리오를 구성하고 평가한다.- Emergency brake attack
이 attack 에서는 움직이고 있는 희생 AV 에 앞쪽에 장애물을 스푸핑하는 적대적 3D point cloud 를 생성한다. 이러한 attack 하에 AV가 stop decision 을 한다는 것을 발견했다. Figure 12 에서 설명된것 처럼, 스푸핑된 앞쪽 근처 장애물이 촉발하는 stop decision 은 희생 AV 가 speed 을 43 km/h 에서 0 km/h 로 1초 내에 감소시킨다. 이러한 stop decision 은 hard brake 를 초래할 것이다.
이는 승객을 다치게 하거나 뒤 차량 collision 을 초래할 지도 모른다. 알려진 것처럼, Apollo 는 overtaking (추월) 에 대한 driving decision 을 구현한다. 그러나, overtaking 에 대해서, 장애물의 상대적 speed 에 기반하여 최소 거리가 요구된다. 따라서, 논문의 근처 스푸핑된 장애물을 가지고, 희생 AV 는 overtaking decision 대신에 stop decision 을 한다. - AV freezing attack
이 attack 에서 적대적 3D point cloud 를 생성한다. 이는 적신호에서 차량이 기다리고 있을 때 AV 희생 차량 앞에 장애물을 스푸핑한다. 논문은 이러한 시나리오를 신호등이 있는 교차점에서 data trace 를 가지고 simulate 한다. Figure 13 에서 보여진 것처럼, 희생 차량 AV 가 static 하기 때문에, attacker 는 변함없이 attack 하고 신호가 초록색으로 바뀐 이후에 조차도 움직이지 않도록 할 수 있다.
알려진 것 처럼, Apollo 는 static 장애물을 빗나가게 하는 것에 대한 driving decision 을 구현한다. 그러나, 빗나가게 하거나 side passing 에 대해서, 최소 거리 (15 meter 가 default) 를 요구한다. 그래서, 근처 스푸핑된 장애물은 희생 AV 차량이 side passing decision 대신에 stop decision 을 하도록 한다.
- Emergency brake attack
10. Discussion
이 섹션에서는 이 연구의 한계점과 일반성에 대해 discuss 한다. 그리고 나서 잠재적인 방어 방향에 대해 discuss 한다.
10.1 Limitations and Future Work
- Limitations in the sensor attack
주요 한계점은 우리의 현재 결과가 실 세계에서 실용성과 attack performance 을 직접적으로 입증할 수 없다는 것이다. 예를 들어, 길에서 실제 AV 에서 attack 을 수행하는 것은 동적으로 attack device 를 높은 정확도를 가지고 희생 차량위의 LiDAR 에 겨냥하는 것을 요구한다. 이는 물리 세계에서 road test 없이는 실현 가능성을 입증하기는 어렵다. 이 work 에서, 논문의 목표는 이 연구 problem 의 새로운 이해를 제공하는 것이다. 미래 연구 방향은 현실 세계에서 testing 을 수행하는 것을 포함한다. 실제 세계에서 attack 을 입증하기 위해서, 논문은 실외 환경에서 실제 차량의 위에 LiDAR 를 가지고 sensor attack 을 수행하는 것을 계획한다. 이 환경에서, sensor attack 은 2가지에 의해 향상될 수 있다.
- aiming 문제를 해결하기 위해 laser 스푸핑 영역을 크게 하기
- attacker가 attack device 를 움직이지 않고 다른 각도에서 points 를 spoofing 할 수 있도록 delay time 을 조정하기
- Limitations in adversarial example generation
- 논문은 스푸핑 attack 능력 $\mathcal{A}$ 의 부분집합을 사용해서 적대적 sensor data 를 구성한다. 따라서, 논문의 분석은 완전히 sensor attacks 의 잠재력을 드러내지 못한다.
- 논문이 driving decision case study 를 수행해왔음에도 불구하고, 인지 module 너머의 module 들에 대한 광범위한 분석을 수행하지 않았다. 이는 설계된 objective function 이 더 직접적으로 특정 비정상적인 AV driving decision 를 target 으로 하도록 더 향상될 수 있다는 것을 의미한다.
10.2 Generality on LiDAR-based AV Perception
- Generality of the methodology
적대적 sensor attack 을 가지고 어떤 LiDAR-based AV 인지 시스템을 attack 하는 것은 3가지 구성요소로 공식화될 수 있다.
- 스푸핑된 3D point cloud 능력 $\mathcal{A}$ 을 공식화하기
- 적대적 example 들 생산하기
- driving decision 수준에서 평가하기
- Generality of the results
AV 시스템들로부터 독립적이기 때문에 3D point cloud 스푸핑 능력 $\mathcal{A}$ 의 공식화가 일반화될 수 있다. attack 성공은 다른 LiDAR-based AV 인지 시스템에 확장될지도 모른다. LiDAR sensor attack 의 본질 때문이다. LiDAR 스푸핑 attack 은 스푸핑된 3D point cloud 를 도입한다. 이는 AV 인지 시스템에서 사용된 machine learning model 의 training process 에서 예측되지 않는다. 그래서, 다른 모델도 이러한 스푸핑 pattern 에 취약할 수 있을 것 같다.
10.3 Defense Discussion
이 섹션은 AV 시스템, 센서, 그리고 machine learning model 수준에서 방어 방향에 대해서 discuss 한다.
10.3.1 AV System-Level Defenses
논문의 의도된 attack 에서 attacker 는 오직 장애물을 스푸핑하기 위해 기껏해야 60개의 point 들을 inject 할 필요가 있다. 그러나, 탐지된 실제 차량의 3D point cloud 는 1000개 point 만큼 많다. (Figure 6 에서 설명되어 있다.) 논문은 탐지된 스푸핑된 장애물의 point cloud 를 조사하고, 3D point cloud 가 땅에서 반사된 point 들뿐만 아니라, attacker 가 스푸핑한 point 들로 구성된다는 것을 발견했다. 예를 들어, 논문이 20개의 스푸핑된 점들로 생산한 성공적인 적대적 스푸핑된 3D point cloud 중 하나는 283 point 들을 포함하는 장애물로 탐지된다.
땅에서 반사된 point 들은 장애물로 clustering 된다. 전처리 단계에서 도입된 정보 손실 때문이다. 더 구체적으로, 3D point cloud 를 2D matrix 로 mapping 하는 것은 heigh 정보 손실을 초래한다. 이러한 취약성은 제안된 attack 의 성공에 기여한다. 이러한 문제의 영향을 완화시키기 위해서, AV 시스템 수준에서 2가지 방어를 제안한다.
- 전처리 단계에서 ground reflection 을 필터링하기
- 3D point cloud 을 input feature matrix로 변형하는 것을 피하거나 정보 손실을 줄이기 위해 더 많은 feature를 추가하기
10.3.2 Sensor-Level Defenses
몇몇의 방어들이 LiDAR 센서들에서 스푸핑 attack 에 대응하여 채택될 수 있다.
- Detection Techniques
Sensor fusion 이 LiDAR 스푸핑 attack 에 대응하여 채택될 수 있다. 이는 총명하게 몇몇의 sensor 로부터 data 를 합친다. 이는 anomaly (이상) 들을 탐지하고 performance 를 향상시키기 위해서이다. AV 시스템은 자주 LiDAR 너머에 센서들로 장착된다. 카메라, 레이더, 초음파(ultrasonic) 센서가 추가적인 정보를 제공하고 LiDAR 에서 attack 을 다루고 탐지하기 위해 중복성을 제공한다. - Mitigation Techniques
defense 의 다른 class 는 내부적인 LiDAR 의 sensing 구조를 변경해서 attack 의 영향을 줄이는 것을 목적으로 한다. 다른 solution들은 각도를 받는 것을 줄이고, 원치 않은 빛 스펙트라을 필터링하는 것을 포함한다. 이는 LiDAR들이 attack 에 덜 영향을 받도록 하기 위한 것이다. 그러나 이러한 기술들은 또한 반사된 레이저 pulse 를 측정하는 LiDAR 의 능력을 줄일 수 있다. 이는 device 의 민감도와 범위를 제한한다. - Randomization Techniques
다른 defense 는 LiDAR 가 lase pulse 를 발사하는 방식에 무작위성을 추가하는 것이다. attacker 들은 lase pulse 가 언제 무엇을 발사할지 알 수 없다. 만약 LiDAR 가 lase pulse 를 예측할 수 없는 pattern 으로 발사하면 말이다. 하나의 solution 은 각 cycle 에서 laser pulse 의 무작위 grouping 을 발사하는 것이다. attacker 는 LiDAR 가 어떤 반사를 기대하고 있는지 알지 못한다. 다른 대안은 laser pulse 파형을 무작위화 하는 것이다. 민감한 장비를 가지고, 오직 반사 파형만 받아들이는 것이 가능할 것이다. 반사 파형은 LiDAR laser 가 특별하게 생산한 무작위화된 pattern 을 matching 한다. 다른 solution 은 만약 예기치 않은 들어오는 신호가 있다면, receiver 를 확인하기 위해 송신기를 무작위로 끄는 것이다. 이는 Shoukry 등이 제안했다. 무작위성을 추가하는 것은 attacker 가 측정에 영향을 끼치기 어렵게 만든다. 하지만, 이러한 approach 는 또한 전반적인 시스템에 상당한 complexity 을 더하고, performance 를 trade off 한다.
10.3.3 Machine Learning Model-Level Defense
사진 분류에서 적대적 example 에 대응하여 다양한 detection 과 defense method 들은 또한 탐구되어왔다. 적대적 훈련과 그것의 변화은 model 의 robustness 를 성공적으로 향상시켰다. 적대적 example 들에 동기부여된 채로, 논문은 이러한 것들을 원본 training data 와 결합하여 적대적 retraining 을 수행하고, 그래서 model robustness 를 향상시킨다.
11. Related Work
- Vehicle Systems Security
많은 이전 연구는 vehicle system 에서 안전 문제를 탐구했고, 현대 차량과 출현하고 있는 연결된 차량 기반 system 에서의 차량 내부 network 에서 취약점을 커버하지 못해왔다. 비교해서, 논문의 work 는 출현하고 있는 자율 주행 차량 기술을 가진 vehicle system 에 focus 하고, 특히 LiDAR 기반 AV 인지의 security 을 target 으로 한다. 이는 전통적인 vehicle system 에서 제시되지 않은 attack surface 이다. - Vehicle-related sensor attacks
전통적인 차량에서 흔하게 사용된 센서들은 attack 에서 취약성을 보여왔다. Rouf 등은 타이어 압력 센서들이 무선 jamming 과 스푸핑 attack 에 취약하다는 것을 보여줬다. Shoukry 등은 자석 바퀴 speed 센서를 스푸핑해서 차량의 Anti-lock braking system (ABS) 를 attack 했다. 이는 브레이크의 잠김 현상을 방지하고 탑승자의 안전을 보장해 주는 brake system 이다. AVs 가 인기있게 되면서, 인지 센서에 대응한 attack 도 많아졌다. Yan 등은 Tesla Model S에서 초음파 센서, 레이더, 그리고 카메라를 attack 하기 위해 스푸핑과 jamming attack 을 사용했다. 또한 스푸핑과 jamming attack에서 LiDAR 의 취약성을 탐구하는 2개 work 들이 있다. 이 work 에서, 논문은 이러한 이전 work 를 활용해서 LiDAR 스푸핑 attack 이 machine learning model 을 attack 하는 데 사용될 수 있다는 것을 보여준다. - Adversarial example generation
적대적 example 들은 사진 영역 위주로 탐구되어왔다. Xie 등은 segmentation 과 object detection 에 대한 적대적 examples 을 만들었고, 반면에 Cisse 등은 segmentation 과 인간 자세 estimation 에 대해 만들었다. 연구자들은 또한 적대적 example 들을 물리 세계에서 적용해서 machine learning model 들을 바보로 만들었다. 이러한 사진 영역에서의 적대적 examples 을 탐구하는 이전 work 들과 비교해서, 논문의 work 는 LiDAR 기반 인지에 대한 적대적 examples 을 탐구한다. 현재 진행중인 work 는 3D 적대적 point cloud 들의 생성을 연구한다. 그러나 이러한 공격은 digital 영역에 focus 되어있고, 직접적으로 AV system 의 맥락에 적용될 수 없다. 비교해서, 논문의 method 는 센서 attack 의 능력에 기반한 적대적 examples 을 생산하도록 동기부여받는다. 이는 AV system 에서 LiDAR 기반 인지 model 을 바보로 만들기 위함이다.
12. Conclusion
이 work 에서, 논문은 처음으로 AV system 에서 LiDAR 기반 인지의 security 연구를 수행한다. 논문은 LiDAR 스푸핑 attack 을 threat model 로 여기고, 장애물 앞쪽 근처에 스푸핑하는 것을 attack goal 로 설정한다. 최신 LiDAR 스푸핑 attack 을 재현하고 이를 맹목적으로 적용하는 것은 attack goal 을 달성하기에 불충분하다는 것을 발견했다. 이는 machine learning 기반 object detection process 때문이다. 논문은 그래서 attack task 를 optimization problem 으로 공식화하고 machine learning model 을 바보로 만들기 위한 분석을 수행한다. 우선, local attack 실험과 global spatial transformation 기반 modeling 을 사용해서 input perturbation function 을 구성한다. 그리고 나서, post-processing process 를 연구해서 object function 을 구성한다. 논문은 또한 optimization 기반 method 를 직접적으로 사용하는 것에 대한 본질적인 한계를 식별하고 attack 성공률을 평균적으로 2.65 배 증가시키기 위해 새로운 알고리즘을 설계한다. case study 로서, 논문은 더 나아가 AV 안전과 mobility 를 타협하는 2개의 attack 시나리오들을 구성하고 평가한다. 논문은 또한 AV system, sensor, machine learning model 수준에서 방어 방향에 대해 discuss 한다.
Appendix
A Algorithm Details and Experiment Settings
아래 Algorihtm 1 은 적대적 examples 을 생산하기 위한 상세한 알고리즘을 보여준다.
논문의 실험에서 Adam Optimizer (opt) 를 사용하고 learning rate 를 1e-4 로 설정하였다. $opt(\mathcal{l}_{adv}; \theta, \tau_{x}, s_{h}$ 는 parameters $(\theta, \tau_{x}, s_{h})$ 를 Loss function $\mathcal{l}_{adv}$ 에 대해서 update 하는 것을 의미한다. 논문은 TensorFlow 를 backbone 으로 사용했다. $\mathcal{L}_{t}$ 는 12.5 로 설정하고, 반면에 $\mathcal{L}_{\theta}$ 는 target 위치로부터 2 meter 거리를 생산하는 각도로 설정했다.