9
2019. 1 정보과학회지 29 네트워크 공격에 따른 UAV GCS의 위험성 분석 연구 대구경북과학기술원 유재민윤지영박경준 * 1. 1) 최근 드론이라 불리는 무인기(UAV: Unmanned Aerial Vehicle)은 군사용 목적 이외에도 그림1과 같이 배달, 농업, 재난감시, 레저 등 다양한 응용분야에서 널리 사용되고 있으며, 사이버 물리 시스템 (CPS: Cyber Physical System)의 핵심 애플리케이션으로 여 겨지고 있다 [1, 2]. UAVGCS (Ground Control System)을 사용하여 자율비행 임무를 제어 및 전송할 수 있다. UAVGCS는 네트워크를 통해 서로 통신 하는 데 이때 사용되는 무선통신 기법으로는 블루투 , 위성통신, 셀룰러 시스템, Wi-Fi, Telemetry 등이 있다. UAV를 활용한 산업이 발달하고 있음에도 불구하고 무 인기는 재밍(jamming), GPS 스푸핑(GPS spoofing), 센서 공격(sensor attack), 네트워크 공격(network attack)과 같 은 다양한 공격에 취약한 보안 문제점을 가지고 있다. 대표적인 예로, 2011‘RQ-170’ 미군용 무인기가 이란 군의 GPS 스푸핑 공격을 받았다 [3]. GPS 스푸핑 공격 을 받아 제어권을 상실한 무인기는 이란군의 영토에 착 륙하여 임무를 정상적으로 수행하지 못한 사건이 발생 했다. 따라서 이러한 공격들에 적절히 대응하여 UAV정상적인 임무를 지속해서 수행하기 위해서는 먼저 서 로 다른 공격방식에 따른 UAV에 미치는 영향 분석을 통해 공격의 위험성을 파악할 필요가 있다. 본 연구에서는 네트워크 공격이 UAVGCS에게 미치는 영향 및 위험성 분석 연구를 수행한다. 우리는 UAVGCS에게 DoS (Denial of Service) 공격, Eavesdropping 공격, Blackhole 공격, MAVLink (Micro Air Vehicle Link) 프로토콜 취약점 공격을 통해 무인기 * 종신회원 본 연구는 과학기술정보통신부에서 지원하는 DGIST 기관고유 사업(18-ST-02).과 미래창조과학부의 재원으로 무인이동체 미래 선도 핵심기술개발사업(NRF-2016M1B3A1A01937599)의 지원을 받아 수행되었습니다. 그림 1 드론을 활용한 다양한 산업분야. 제어 가능 여부 및 임무 수행 여부를 통한 위험성 분 석 연구를 진행한다. MAVLink 프로토콜은 DJI, Parrot 사의 제품뿐만 아니라 많은 UAV에서 사용하는 대표 적인 통신 프로토콜이다. 본 논문의 2절에서는 UAV 무력화 방법과 관련된 기술 동향에 대해 논하고 3절에서는 네트워크 공격에 따른 UAVGCS의 위험성 분석에 관해 설명한다. 4 절에서는 3절에서 분석한 위험성을 검증하기 위해 수 행한 실험들에 관하여 설명한다. 마지막으로 결론에 대해 5절에서 논한다. 2. UAV 무력화 방법 기술동향 UAV를 무력화시키는 방법으로는 크게 두 가지로 나눌 수 있는데, UAV에 탑재되는 센서들의 취약점을 이용한 센서 공격 방법, UAVGCS사이의 통신프로 토콜의 취약점을 이용한 네트워크 공격이 있다. 먼저, 센서 공격방법에는 UAVGPS 센서와 GPS 위성의 취약점을 이용한 GPS 스푸핑 공격이 있다. GPS 신호는 GPS 신호를 송신하는 위성과 GPS 신호를 수신하 는 센서 사이의 거리가 멀어질수록 약해지는 취약점을 가지고 있다. 따라서 공격자는 GPS 위성에서 정상적으 로 송신하는 신호의 세기보다 강력한 가짜 GPS 신호를 특집원고

네트워크 공격에 따른 UAV와 GCS의 위험성 분석 연구

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 네트워크 공격에 따른 UAV와 GCS의 위험성 분석 연구

2019. 1 정보과학회지 29

네트워크 공격에 따른 UAV와 GCS의 위험성 분석 연구

대구경북과학기술원 유재민・윤지영・박경준*

1. 서 론1)

최근 드론이라 불리는 무인기(UAV: Unmanned

Aerial Vehicle)은 군사용 목적 이외에도 그림1과 같이

배달, 농업, 재난감시, 레저 등 다양한 응용분야에서

널리 사용되고 있으며, 사이버 물리 시스템 (CPS:

Cyber Physical System)의 핵심 애플리케이션으로 여

겨지고 있다 [1, 2]. UAV는 GCS (Ground Control

System)을 사용하여 자율비행 임무를 제어 및 전송할

수 있다. UAV와 GCS는 네트워크를 통해 서로 통신

하는 데 이때 사용되는 무선통신 기법으로는 블루투

스, 위성통신, 셀룰러 시스템, Wi-Fi, Telemetry 등이

있다.

UAV를 활용한 산업이 발달하고 있음에도 불구하고 무

인기는 재밍(jamming), GPS 스푸핑(GPS spoofing), 센서

공격(sensor attack), 네트워크 공격(network attack)과 같

은 다양한 공격에 취약한 보안 문제점을 가지고 있다.

대표적인 예로, 2011년 ‘RQ-170’ 미군용 무인기가 이란

군의 GPS 스푸핑 공격을 받았다 [3]. GPS 스푸핑 공격

을 받아 제어권을 상실한 무인기는 이란군의 토에 착

륙하여 임무를 정상적으로 수행하지 못한 사건이 발생

했다. 따라서 이러한 공격들에 적절히 대응하여 UAV가

정상적인 임무를 지속해서 수행하기 위해서는 먼저 서

로 다른 공격방식에 따른 UAV에 미치는 향 분석을

통해 공격의 위험성을 파악할 필요가 있다.

본 연구에서는 네트워크 공격이 UAV와 GCS에게

미치는 향 및 위험성 분석 연구를 수행한다. 우리는

UAV와 GCS에게 DoS (Denial of Service) 공격,

Eavesdropping 공격, Blackhole 공격, MAVLink (Micro

Air Vehicle Link) 프로토콜 취약점 공격을 통해 무인기

* 종신회원

†본 연구는 과학기술정보통신부에서 지원하는 DGIST 기관고유

사업(18-ST-02).과 미래창조과학부의 재원으로 무인이동체 미래

선도 핵심기술개발사업(NRF-2016M1B3A1A01937599)의 지원을

받아 수행되었습니다.

그림 1 드론을 활용한 다양한 산업분야.

제어 가능 여부 및 임무 수행 여부를 통한 위험성 분

석 연구를 진행한다. MAVLink 프로토콜은 DJI, Parrot

사의 제품뿐만 아니라 많은 UAV에서 사용하는 대표

적인 통신 프로토콜이다.

본 논문의 2절에서는 UAV 무력화 방법과 관련된

기술 동향에 대해 논하고 3절에서는 네트워크 공격에

따른 UAV와 GCS의 위험성 분석에 관해 설명한다. 4

절에서는 3절에서 분석한 위험성을 검증하기 위해 수

행한 실험들에 관하여 설명한다. 마지막으로 결론에

대해 5절에서 논한다.

2. UAV 무력화 방법 기술동향

UAV를 무력화시키는 방법으로는 크게 두 가지로

나눌 수 있는데, UAV에 탑재되는 센서들의 취약점을

이용한 센서 공격 방법, UAV와 GCS사이의 통신프로

토콜의 취약점을 이용한 네트워크 공격이 있다.

먼저, 센서 공격방법에는 UAV의 GPS 센서와 GPS

위성의 취약점을 이용한 GPS 스푸핑 공격이 있다. GPS

신호는 GPS 신호를 송신하는 위성과 GPS 신호를 수신하

는 센서 사이의 거리가 멀어질수록 약해지는 취약점을

가지고 있다. 따라서 공격자는 GPS 위성에서 정상적으

로 송신하는 신호의 세기보다 강력한 가짜 GPS 신호를

특집원고

Page 2: 네트워크 공격에 따른 UAV와 GCS의 위험성 분석 연구

30 특집원고 네트워크 공격에 따른 UAV와 GCS의 위험성 분석 연구

만들어 UAV의 GPS 수신기에 전송함으로써 UAV의 위치

를 속일 수 있다. GPS 스푸핑 공격을 받은 UAV는 공격자

가 원하는 장소로 이동한다. [4]에서 저자들은 GPS 스푸

핑 공격을 통해 GPS 센서를 성공적으로 무력화시켰다.

[5]에서 저자들은 드론의 자이로스코프(gyroscope) 센서

취약점을 이용한 무력화 방법을 제안한다. 자이로스코프

는 드론이 수평을 유지하는데 사용하는 기본적인 센서로

가속도 센서와 함께 드론의 기울기를 측정한다. 하지만

드론에 탑재되는 자이로스코프 센서는 특정 소음(sound

noise)이 들어오면 드론의 자세를 제어할 수 없는 취약점

을 가지고 있다. 저자들은 실험을 통해 드론에 탑재되는

자이로스코프 센서가 특정 소음에 향을 받는 것을 확

인했다.

두 번째로, 통신 프로토콜의 취약점을 이용한 네트워

크 공격에 관해 설명한다. [6]에서는 Wi-Fi 네트워크에

서 AP(Access point)를 공격함으로써 UAV를 무력화시

키는 연구를 했다. 저자들은 Wi-Fi 보안 프로토콜 중

하나인 WEP(Wired equivalent privacy)의 취약점을 이

용해 무력화를 수행했다. Aircrack-ng를 통해 pre-shared

key를 크래킹하여 UAV에 de-authentication packet을 보

내 UAV를 무력화했다. [7]에서는, Wi-Fi 범위 안의 드

론을 자동으로 발견하여 하이재킹 (hijacking) 할 수 있

는 SkyJack 프로그램을 설명한다. Aircrack-ng를 사용하

여 무선 Wi-Fi에 연결된 장치를 모니터링하고 드론을

탐색한다. SkyJack 프로그램을 사용하면 드론과 사용자

와의 연결을 끊고 하이재킹하여 공격자 의도대로 제어

할 수 있다.

3. 네트워크 공격에 따른 UAV와 GCS 위험성 분석

네트워크를 통해 UAV를 제어하는 대표적인 예로

2018년 평창 동계올림픽에서 선보인 인텔(Intel)사의

드론 쇼가 있다. 드론 쇼에서 사용한 1218대의 드론

들은 Wi-Fi를 통해 제어되었다. 이처럼 네트워크를 통

해 제어되는 UAV의 사용사례가 증가하고 있다. UAV

와 GCS 간의 통신에서 네트워크 공격들은 UAV의 추

락이나 GCS가 보내는 중요한 미션이 누락되는 것과

같은 심각한 위험을 초래할 수 있다. 따라서 UAV가

네트워크 공격을 당했을 때 UAV의 행동 위험성 분석

연구가 필요하다. 추가로 제어가 불가능한 UAV는 날

아다니는 폭탄과 같으므로 UAV를 제어하는 GCS의

네트워크 공격 위험성 분석도 수행한다.

UAV와 GCS에서 발생할 수 있는 네트워크 공격은 표

1과 같이 보안 목적에 따라 분류하여 잠재적인 위협을

보여준다 [8]. 보안 목표에서 기밀성(Confidentiality)은

표 1 네트워크 공격에 따른 잠재적 보안 목표 위협.

보안 목표 공격 방법

기밀성(Confidentiality) Eavesdropping

무결성(Integrity)DoS(Denial of Servie) attack

Packet injection attack

가용성(Availability) Blackhole attack

네트워크를 통해 데이터가 교환 될 때 인증되지 않은

사용자에게는 정보의 접근, 활용, 유출이 되지 않는

것을 보장한다. 즉, 다시 말해서 허락되지 않은 사용

자가 정보의 내용을 확인할 수 없도록 하는 것이다.

보안 목표에서 무결성(Integrity)은 인증된 사용자가

정보를 받았을 때 정보가 수정, 삭제, 주입되지 않도

록 보호되는 것을 보장한다. 즉, 다시 말해서 정보의

접근에 허가받지 못한 사용자가 정보를 수정하거나

삭제시킬 수 없도록 하는 것이다. 마지막으로 보안 목

표에서 가용성(Availability)은 인증된 사용자가 원할

때 정보에 접근하는 것을 보장한다. 즉, 다시 말해서

정보의 접근에 허가된 사용자가 정보에 접근하고자

할 때 공격으로부터 방해받지 않도록 하는 것이다.

3.1 DoS (Denial of Service) attack

DoS 공격은 무결성을 위배하는 대표적인 네트워크

공격으로서, 시스템에 과도한 양의 트래픽을 전송하

여 시스템의 자원을 부족하게 만드는 공격 방법이다

[9]. DoS 공격을 받은 시스템은 사용자의 의도대로 작

동하는 것이 불가능하다는 문제점을 가지고 있다.

DoS 공격은 크게 논리 공격(logic attack)과 자원 공격

(resource attack)으로 분류된다. 논리 공격은 시스템

소프트웨어의 취약점을 악용한 공격방법으로 시스템

성능을 심각하게 저하시킨다. 대표적인 공격방법으로

는 “Ping-of-Death 공격”이 있다. 자원 공격은 시스템

에 다수의 가짜 패킷을 전송하여 시스템의 CPU, 메모

리, 또는 네트워크 자원에 과부하를 발생시켜 시스템

이 정상적으로 동작하지 못하게 한다. 대표적인 공격

방법으로는 “Flooding 공격”이 있다 [10].

Ping-of-Death 공격은 시스템이 활성화 상태인지 확

인하기 위해 사용하는 ICMP ping packet을 이용한 공

격방법이다 [11]. 공격자가 ICMP의 허용 범위인

65,535byte보다 크기가 큰 패킷을 악의적으로 전송하

여 시스템의 자원을 고갈시켜 정상적인 동작을 방해

한다. 패킷의 크기가 허용 범위를 넘어서게 되면 패킷

은 네트워크의 전송 크기에 맞게 다시 분리되어 전송

된다. 공격받은 시스템은 분리된 패킷들을 모두 모아

서 재구성해야 하는데, 이때 버퍼 오버플로 발생으로

Page 3: 네트워크 공격에 따른 UAV와 GCS의 위험성 분석 연구

2019. 1 정보과학회지 31

인해 시스템 충돌이 일어나고 시스템에서는 정상적인

동작을 수행할 수 없게 된다.

UDP flooding 공격은 공격자가 대량의 악의적인

UDP 패킷을 전송하여 시스템의 정상적인 동작을 방

해하는 공격방법이다 [12]. 네트워크의 bandwidth자원

을 소모시켜 시스템의 정상적인 동작을 방해하는 것

이 목적이기 때문에 공격에 사용되는 패킷의 패턴이

나 특징이 존재하지 않는다. 일반적인 네트워크에서

는 시스템의 특정포트를 통해 공격이 들어오더라도

다른 포트번호를 사용하여 시스템끼리 통신을 유지할

수 있지만, UAV와 GCS는 단일 포트에 연결되어 서

로 통신하기 때문에 공격에 취약하다.

DoS 공격은 시스템의 자원을 고갈시키기 때문에

bandwidth, 배터리와 같이 한정된 자원을 가지고 있는

UAV에게 DoS 공격은 치명적이다. UAV와 GCS가 DoS

공격을 받게 되면, UAV에서는 GCS가 전송하는 중요

임무 정보 또는 제어 정보를 받지 못하거나 전달이 늦

어져 임무 수행이 지연되거나 수행하지 못하게 되는 위

험성이 있다. GCS에서는 UAV에서 지속적으로 전송하

는 GPS 정보, 상태 정보 등을 통해 UAV가 임무를 정상

적으로 수행하고 있는지 확인하며 UAV를 실시간으로

제어한다. DoS 공격을 받은 GCS는 UAV의 상태 정보를

실시간으로 확인 및 제어를 하지 못하게 되는 잠재적인

위험성이 있다. 따라서 UAV와 GCS중 하나라도 DoS

공격을 받으면 UAV를 제어할 수 없는 치명적인 결과를

초래할 수 있다. DoS 공격에 대응하기 위해서는 UAV의

자원을 증가시켜야하지만, 제한된 배터리 용량으로는

악의적인 공격으로 인해 증가한 자원을 처리하는데 사

용되는 배터리의 소모를 감당할 수 없으며, UAV에 탑

재할 수 있는 페이로드의 제한으로 인해 배터리 용량

역시 무한히 향상할 수 없는 문제점이 있다.

3.2 Blackhole attack

Blackhole 공격은 시스템의 가용성을 위배하는 대

표적인 공격방법으로서, 공격자는 중간에서 패킷을

가로채 수정하거나 삭제하여 시스템의 정상적인 동작

을 방해한다 [13]. 즉, 네트워크에서 blackhole 역은

송신자가 전송한 데이터가 중간에 수신자에게 도달하

지 않고 삭제되더라도 송신자 또는 수신자에게 이를

알리지 않고 데이터가 사라지는 역을 의미한다.

실시간 제어를 요구하는 UAV 시스템에서 blackhole

공격은 치명적이다. MAVLink protocol을 사용하는

UAV와 GCS는 실시간 제어를 수행하기 위해 1초 동

안 수많은 패킷을 교환한다. UAV와 GCS는 서로의

존재를 확인하기 위해 1초 주기로 Heartbeat packet을

전송하는데, 만약 Heartbeat packet을 전송받지 못하면

UAV에서는 GCS와의 연결이 끊어졌다고 판단하여 출

발지점으로 되돌아오는 RTL(Return to location) 모드

를 실행하거나 제자리 착륙을 수행한다. 따라서

blackhole 공격을 받은 UAV는 임무를 정상적으로 수

행할 수 없는 문제점을 가지고 있다.

3.3 Eavesdropping

Eavesdropping은 기밀성을 위배하는 대표적인 네트

워크 공격으로서, 공격자가 사용자의 정보를 스니핑

(sniffing)하여 엿듣는 공격방법이다 [15]. 다시 말해서, 공

격자는 송신자와 수신자가 주고받는 정보를 가로채 어떤

정보를 주고받는지 확인할 수 있지만 정보를 수정하거나

삭제시킬 수 없다. 따라서 송수신자는 eavesdropping 공

격을 알아차리기 어렵다. 이때 정보의 암호화를 통해

eavesdropping 공격에 대해 대응할 수 있다.

UAV 시스템에서 사용하는 MAVLink 통신 프로토

콜은 암호화를 고려하지 않고 설계된 통신프로토콜이

다. 따라서 eavesdropping 공격을 보호할 암호화가 사

용되어 있지 않기 때문에 공격에 취약한 문제점을 가

지고 있다. 따라서 eavesdropping 공격을 통해 스니핑

한 UAV의 GPS 정보를 바탕으로 UAV의 이동 경로를

파악할 수 있는 문제점을 가지고 있다.

3.4 Packet injection attack

Packet injection attack은 무결성을 위배하는 네트워

크 공격으로서, 공격자는 패킷을 정상적인 시스템 네

트워크 트래픽의 일부처럼 구성하여 시스템에 주입하는

공격방법이다 [16]. Packet injection 공격을 통해 정상

작동 중인 시스템의 네트워크의 성능을 저하시키거나

그림 2 MAVLink 프로토콜 패킷 구조 [14].

Page 4: 네트워크 공격에 따른 UAV와 GCS의 위험성 분석 연구

32 특집원고 네트워크 공격에 따른 UAV와 GCS의 위험성 분석 연구

정상적인 동작을 방해할 수 있다.

UAV 통신 프로토콜인 MAVLink 프로토콜의 패킷

구조는 그림 2와 같다. MAVLink 패킷은 헤더만 가지

는 구조로 이루어져 있기 때문에 가벼운 특징을 가지

고 있고 RAM, 메모리와 같이 제한된 자원을 가지는

실시간 시스템에 최적화되어 있다. 앞서 말했듯이,

UAV는 제한된 자원을 가지고 있기 때문에 암호화가

불가능한 문제점을 가지고 있다. 따라서 공격자가 만든

MAVLink 패킷을 정상적인 UAV 시스템에 주입 시

UAV와 GCS의 정상적인 동작을 방해한다.

그림 3 MAVLink waypoint 프로토콜 절차.

GCS가 UAV에게 임무 정보를 전달할 때 있어서,

MAVLink waypoint 프로토콜을 사용한다. MAVLink

waypoint protocol의 절차는 그림3과 같다. GCS에서

UAV에게 총 waypoint 수에 대한 정보를 Mission_count

packet을 통해 전송한다. UAV는 Mission_count packet

에 대한 응답으로서 Mission_request_Int packet을 GCS

에게 전송한다. 그때 GCS에서는 Mission_item_int

packet에 waypoint 정보를 담아 전송한다. 마지막으로

모든 waypoint 정보를 받은 UAV는 Mission_Ack packet

을 GCS에게 전송함으로서 waypoint 프로토콜 절차를

끝낸다. 하지만 UAV에서 Mission_count 패킷을 받으면

임무의 수행 여부와 상관없이, 과거에 전송받은 모든

임무 정보를 삭제하는 취약점이 존재한다. 따라서 UAV

는 공격자가 보낸 Mission_count 패킷을 수신 시 GCS가

전송한 임무를 수행하지 못하는 위험성이 있다.

UAV는 지속적으로 자신의 상태 정보를 GCS에게

전송한다. GCS에서는 전송받은 정보를 바탕으로

UAV가 임무를 정상적으로 수행하고 있는지 확인한

다. 따라서 공격자는 가짜 UAV의 상태 정보를 GCS

에게 주입함으로써 GCS에서 UAV 실시간 상태 정보

확인을 방해하는 위험성을 가지고 있다.

4. 위험성 분석 검증을 위한 실험

우리는 네트워크 공격에 따른 UAV와 GCS의 위험

성 분석 검증을 위한 테스트베드를 구축했다. 그림 4

는 3DR X8+ 드론과 Software in the loop (SITL) 드론

시뮬레이터로 실험을 위해 사용한 UAV이다. 그림 5

는 GCS로 사용한 Mission planner로 드론을 제어하는 데

그림 4 실험을 위해 사용한 UAV.

Page 5: 네트워크 공격에 따른 UAV와 GCS의 위험성 분석 연구

2019. 1 정보과학회지 33

사용한다. UAV와 GCS의 연결을 위해 라즈베리파이3

에 Hostapd를 설치하여 무선 AP(Access point)로 사용

했다. UAV와 GCS는 MAVLink 통신 프로토콜에 의해

제어된다. 공격자는 kali linux 환경에서 네트워크 공

격을 수행한다.

4.2 DoS attack 위험성 검증

우리는 Flooding 공격과 Ping of Death 공격을 통해

DoS 공격의 위험성 검증 실험을 수행했다. 그림 6은

GCS에게 DoS 공격을 했을 때 heartbeat 패킷의 송수

신 지연(delay)을 보여준다. Heartbeat 패킷은 UAV와

GCS가 연결되어 있는 동안 1초 주기로 서로에게 자

신의 존재를 알리기 위해 전송하는 메시지다. 우리는

44번째 heartbeat패킷을 교환할 때 GCS에게 DoS 공격

을 수행했다. 그림 6에서 A와 C의 그래프는 GCS 입장

에서 UAV로부터 수신된 heartbeat 패킷의 지연을 보

여준다. DoS 공격을 받기 전에는 UAV로부터 약 1초

의 주기로 안정적으로 heartbeat 패킷을 수신하 다면,

DoS 공격을 받은 44번째 패킷 이후에는 불안정한

heartbeat 패킷 수신을 통해 네트워크 성능 저하를 확

인할 수 있었다. 그림 6에서 B와 D의 그래프는 GCS

가 UAV에게 전송하는 heartbeat 패킷의 지연을 보여

준다. Ping of Death 공격을 받은 GCS는 heartbeat 패

킷을 UAV에게 주기적으로 전송하지만 flooding 공격

을 받은 GCS는 공격 직후 UAV에게 더 이상 heartbeat

패킷을 전송하지 못하는 것을 확인했다. 다시 말해서

flooding 공격을 받은 GCS는 UAV에게 heartbeat 메시

지를 보낼 수 없으므로 UAV를 제어할 수 없고 UAV

에서는 연결이 끊어졌다고 판단하여 임무를 정상적으

로 수행하지 못하는 것을 확인했다.

그림 5 실험을 위해 사용한 GCS.

그림 6 DoS 공격에 대한 GCS 위험성 분석.

Page 6: 네트워크 공격에 따른 UAV와 GCS의 위험성 분석 연구

34 특집원고 네트워크 공격에 따른 UAV와 GCS의 위험성 분석 연구

그림 7을 통해 DoS 공격이 UAV에게 얼마나 치명

적인지 확인할 수 있다. 그림 7은 1초마다 UAV에서

처리하는 총 패킷의 수를 나타낸다. 우리는 54초에

UAV에게 DoS 공격을 수행했다. 공격전에는 UAV와

GCS가 서로 일정량의 패킷을 주고받지만, 공격이 들

어오면 패킷의 양이 급격히 증가해 UAV 자원에 과부

하를 발생시킨다. 그림 7에서 볼 수 있듯이 flooding

공격과 Ping of Death 공격이 들어오고 일정 시간이

지나면 UAV에서는 시스템 과부하로 인해 동작 불능

상태가 되는 것을 확인할 수 있다. 추가로 UAV와

GCS가 연결이 끊기므로 GCS가 더는 UAV를 제어하

지 못하는 것을 확인했다. 따라서 UAV에 대한 DoS

공격은 매우 치명적인 위협인 것을 검증했다.

4.2 Blackhole attack 위험성 검증

우리는 blackhole 공격의 위험성을 실험을 통해 검

증했다. 그림 8을 통해 공격자가 UAV에게 blackhole

공격을 수행했을 때 빨간색 박스를 통해 GCS상의

wireshark는 heartbeat 패킷을 전송하는 것을 확인할 수

그림 7 DoS 공격에 대한 UAV 위험성 분석.

그림 8 Blackhole 공격에 대한 UAV 위험성 분석.

그림 9 Blackhole 공격에 대한 GCS 위험성 분석.

Page 7: 네트워크 공격에 따른 UAV와 GCS의 위험성 분석 연구

2019. 1 정보과학회지 35

있지만, UAV상의 wireshark는 이를 수신하지 못하는 것

을 확인할 수 있다. 따라서 UAV가 비행 중 blackhole

공격을 받으면 GCS로부터 heartbeat을 수신하지 못하

기 때문에 GCS와의 연결이 끊어졌다고 판단하여 임무

수행을 중단하고 제자리에 착륙하는 것을 실험을 통해

검증했다. 그림 9에서는 공격자가 GCS에게 blackhole

공격을 수행했을 때 GCS는 UAV가 전송하는 상태 정보

를 수신하지 못하는 것을 확인 할 수 있다. 그림 9에서

UAV상의 wireshark는 UAV가 지속적으로 자신의 상태

정보를 전송하는 것을 확인할 수 있다. 하지만 GCS상

의 wireshark는 GCS가 UAV로부터 상태 정보를 수신하

지 못하는 것을 빨간색 박스에서 확인할 수 있다. 따라

서 GCS에서는 UAV의 실시간 상태 정보를 확인할 수

없는 위험성을 확인했다.

4.3 Eavesdropping 위험성 검증

우리는 공격자가 eavesdropping 공격을 통해 UAV와

GCS에서 실시간으로 주고받는 정보를 확인할 수 있는

지 실험을 통해 검증했다. 실험에서는 eavesdropping 공

격을 통해 UAV와 GCS가 실시간으로 주고받는 GPS 정

보를 스니핑한다. MAVLink 프로토콜에서 GPS 정보를

포함하고 있는 “Global_Position_Int” 패킷의 특징은 그림

10과 같다. 그림 11에서 공격자가 UAV에게 eavesdropping

공격을 수행했을 때 스니핑한 Global_Position_Int 패킷

이 UAV가 GCS에게 전송하는 패킷과 같은 것을 확인할

수 있다. 마찬가지로, 그림 12에서도 공격자가 스니핑

한 Global_Position_Int 패킷이 GCS가 UAV로부터 전송

받은 패킷과 같은 것을 확인할 수 있다. 따라서 우리는

공격자가 eavesdropping 공격을 통해 스니핑한 GPS 정

보를 토대로 UAV의 임무를 파악할 수 있는 취약점을

검증했고 eavesdropping 공격이 보안 목표 중 하나인 기

밀성에 위협적인 것을 확인했다.

4.4 Packet injection attack 위험성 검증

우리는 packet injection 공격이 UAV와 GCS에게 미치

는 향을 실험을 통해 검증했다. UAV에 대한 packet

injection 공격을 위해 MAVLink waypoint protocol에 사

용하는 mission_count 패킷을 사용했다. 공격자는 UAV

에게 위조된 mission_count 패킷을 보내는 packet

injection 공격을 통해 UAV가 기존의 임무 정보를 삭제

하여 정상적인 임무를 수행하지 못하는 것을 그림 13을

통해 확인할 수 있다. 그림 13의 오른쪽 결과화면에서

볼 수 있듯이 packet injection 공격을 받은 UAV에서는

기존의 가지고 있던 임무 정보(waypoint 정보)를 삭제

하기 때문에 “not loading waypoints” 오류 메시지를 전

송한다. 따라서 UAV에서는 다른 임무 정보를 전송받기

그림 10 Global_Position_Int 패킷 구조.

그림 11 Eavesdropping 공격에 대한 UAV 위험성 분석.

Page 8: 네트워크 공격에 따른 UAV와 GCS의 위험성 분석 연구

36 특집원고 네트워크 공격에 따른 UAV와 GCS의 위험성 분석 연구

전까지 제자리 비행(hovering) 하는 것을 실험을 통해

확인했다.

우리는 위조된 GPS 패킷을 GCS에게 주입함으로써

GCS가 UAV의 상태를 제대로 확인할 수 없는 것을 실험

을 통해 검증했다. 그림 14에서 노란 선은 UAV의 임무

경로를 의미하고 보라색 선은 UAV의 이동한 경로를 나

타낸다. 공격 전 GCS에서는 임무 경로에 맞게 UAV가

이동하는 것을 확인할 수 있다. 하지만 packet injection

공격을 받은 GCS에서는 UAV가 임무 경로에서 벗어난

것을 확인할 수 있다. 따라서 공격자가 packet injection

공격을 통해 GCS가 실시간으로 UAV의 상태 정보를 수

신하는 것을 방해할 수 있다는 것을 확인했다.

그림 12 Eavesdropping 공격에 대한 GCS 위험성 분석.

그림 13 Packet injection 공격에 대한 UAV 위험성 분석.

그림 14 Packet injection 공격에 대한 GCS 위험성 분석.

Page 9: 네트워크 공격에 따른 UAV와 GCS의 위험성 분석 연구

2019. 1 정보과학회지 37

5. 결 론

본 논문은 네트워크 공격에 대한 UAV와 GCS의 위

험성 분석 연구를 수행했다. 네트워크 공격들 중에서

DoS attack (Flooding attack, Ping of Death attack),

blackhole attack, eavesdropping, packet injection attack

에 대한 위험성 분석을 했다. 위험성 분석을 검증하기

위해 우리는 테스트 베드를 구축했다. 구축된 테스트

베드를 통해 네트워크 공격들에 대한 UAV와 GCS의

위험성 분석 검증을 수행했으며, UAV와 GCS가 네트

워크 공격에 취약한 것을 확인 했다.

참고문헌

[ 1 ] Park, K.-J., Zheng, R., & Liu, X. Cyber-physical systems:

Milestones and research challenges. Computer

Communications, 36(1), 1-7, 2012.

[ 2 ] Park, K.-J., Kim, J., Lim, H., & Eun, Y. Robust Path

Diversity for Network Quality of Service in

Cyber-Physical Systems. IEEE Trans. Industrial

Informatics, 10(4), 2204-2215, 2014.

[ 3 ] Hartmann, K., & Steup, C. The vulnerability of UAVs to

cyber attacks-An approach to the risk assessment. In

Cyber Conflict (CyCon), 2013 5th International

Conference on (pp.1-23), June 2016.

[ 4 ] Tippenhauer, N. O., Pöpper, C., Rasmussen, K. B., &

Capkun, S. On the requirements for successful GPS

spoofing attacks. In Proceedings of the 18th ACM

conference on Computer and communications security

(pp. 75-86), October 2011.

[ 5 ] Son, Y.-M., et al. Rocking drones with intentional sound

noise on gyroscopic sensors. In 24th USENIX Security

symposium. USENIX Association, August 2015.

[ 6 ] Rani, C., Modares, H., Sriram, R., Mikulski, D., & Lewis,

F. L. Security of unmanned aerial vehicle systems against

cyber-physical attacks. The Journal of Defense Modeling

and Simulation, 13(3), 331-342, 2016.

[ 7 ] SkyJack. https://samy.pl/skyjack/

[ 8 ] Nguyen, M. D., Dong, N., & Roychoudhury, A. Security

Analysis of Unmanned Aircraft Systems, 2017.

[ 9 ] Carl, G., Kesidis, G., Brooks, R. R., & Rai, S.

Denial-of-service attack-detection techniques. IEEE

Internet computing, 10(1), 82-89, 2006.

[10] Moore, D., Shannon, C., Brown, D. J., Voelker, G. M., &

Savage, S. Inferring internet denial-of-service activity.

ACM Transactions on Computer Systems (TOCS), 24(2),

115-139, 2006.

[11] Wiegel, S. L. U.S. Patent No. 6,131,163. Washington, DC:

U.S. Patent and Trademark Office, 2000.

[12] Singh, A., & Juneja, D. Agent based preventive measure

for UDP flood attack in DDoS attacks. International

Journal of Engineering Science and Technology, 2(8),

3405-3411, 2010.

[13] Jawandhiya, P. M., Ghonge, M.-M., Ali, M. S., &

Deshpande, J. S. A survey of mobile ad hoc network

attacks. International Journal of Engineering Science and

Technology, 2(9), 4063-4071, 2010.

[14] MAVLink. https://mavlink.io/en/guide/serialization.html

[15] Martins, D., & Guyennet, H. Wireless sensor network

attacks and security mechanisms: A short survey. In

Network-Based Information Systems (NBiS), 2010 13th

International Conference on (pp. 313-320). IEEE,

September 2010.

[16] Kwon, Y.-M., Yu, J., Cho, B. M., Eun, Y., & Park, K.-J.

Empirical Analysis of MAVLink Protocol Vulnerability

for Attacking Unmanned Aerial Vehicles. IEEE Access,

6, 43203-43212, 2018.

유 재 민

2017 삼육대학교 컴퓨터학부 컴퓨터시스템전공

졸업(학사)2017~현재 대구경북과학기술원 정보통신융합전공

석사과정

관심분야 : Cyber-physical systemsEmail : [email protected]

윤 지 영

2017 계명대학교 컴퓨터공학과 졸업(학사)2018~현재 대구경북과학기술원 정보통신융합전

공 석사과정

관심분야 : Cyber-physical systemsEmail : [email protected]

박 경 준

1998 서울대학교 전기공학부 졸업(학사)2000 서울대학교 전기공학부 졸업(석사)2005 서울대학교 전기컴퓨터공학부 졸업 (박사)2005~2006 삼성전자 책임 연구원

2006~2010 미국 UIUC 박사 후 연구원

2011~현재 대구경북과학기술원 정보통신융합전공

부교수

관심분야 : Resilient cyber-physical systems, Smart factoryEmail : [email protected]