GPS 재밍탐지를 위한 기계학습 적용 및 성능 분석
초록
최근 GPS 재밍으로 인한 피해가 증가되면서 GPS 재밍을 탐지하고 대비하기 위한 연구가 활발히 진행되고 있다. 본 논문은 다중 GPS 수신채널과 3가지 기계학습을 이용한 GPS 재밍 탐지 방법을 다루고 있다. 제안된 다중 GPS 채널은 항재밍 기능이 없는 상용 GPS 수신기와 항잡음 재밍능력만 있는 수신기, 항잡음/항기만 재밍능력이 있는 수신기로 구성되고 운용자는 각각의 수신기에 수신된 좌표를 비교하여 재밍신호의 특성을 식별할 수 있다. 본 논문에서는 신호특성이 다른 각각의 5개 재밍신호를 입력하고, 3가지 기계학습방법(AB: Adaptive Boosting, SVM: Support Vector Machine, DT: Decision Tree)을 이용하여 재밍탐지 시험을 수행하였다. 시험 결과 머신러닝 기법을 단독으로 사용하였을 때 DT 기법이 96.9% 탐지율로 가장 우수한 성능을 보였으며 이진분류기 기법에 비해 모호성 낮고 하드웨어가 단순하여 GPS 재밍탐지에 효과적임을 확인하였다. 또한, 모호성을 해결해주는 추가기법을 적용할 경우 SVM 기법을 활용할 수 있음을 확인하였다.
Abstract
As the damage caused by GPS jamming has been increased, researches for detecting and preventing GPS jamming is being actively studied. This paper deals with a GPS jamming detection method using multiple GPS receiving channels and three-types machine learning techniques. Proposed multiple GPS channels consist of commercial GPS receiver with no anti-jamming function, receiver with just anti-noise jamming function and receiver with anti-noise and anti-spoofing jamming function. This system enables user to identify the characteristics of the jamming signals by comparing the coordinates received at each receiver. In this paper, The five types of jamming signals with different signal characteristics were entered to the system and three kinds of machine learning methods(AB: Adaptive Boosting, SVM: Support Vector Machine, DT: Decision Tree) were applied to perform jamming detection test. The results showed that the DT technique has the best performance with a detection rate of 96.9% when the single machine learning technique was applied. And it is confirmed that DT technique is more effective for GPS jamming detection than the binary classifier techniques because it has low ambiguity and simple hardware. It was also confirmed that SVM could be used only if additional solutions to ambiguity problem are applied.
Keywords:
GPS Jamming, Multiple GPS Receiver, Machine Learning, Adaptive Boosting, Support Vector Machine, Decision Tree, kNNⅠ. 서 론
전 세계적으로 GPS(Global Positioning System) 재밍이 항공기, 선박, 교통에 많은 피해를 주고 있는 가운데, 최근에는 무인자율화 자동차와 드론에까지 그 피해가 증가하고 있다. 이러한 취약점을 보완하고자 여러 방법들이 제안되어 왔으며 최근에는 다중 GPS 채널을 이용한 GPS 재밍탐지 기법이 제안되었다. 이 기법은 GPS 재밍에 대해 내성이 다른 다중 GPS 채널을 구성한 후 각 채널에 수신된 좌표를 비교하여 재밍의 특성을 탐지하는 방법으로 이전 기법들이 갖는 제한 사항들을 극복했을 뿐만 아니라 이동형 플랫폼에 적합하다는 장점을 가지고 있다[1].
본 논문에서는 GPS 재밍 탐지를 위하여 다중 GPS 수신기 채널을 구성하였고 각각의 수신기에서 획득한 신호를 특징이 다른 3가지 기계학습에 적용하여 효과적인 GPS 재밍 탐지 방법을 제시하였다.
기계학습기법은 지도학습과 비지도학습으로 분류되지만 대부분의 기계학습기법은 지도학습에 포함되고 비지도학습의 경우 딥러닝의 분야에 포함되는 것이 일반적이다. 본 논문의 경우 획득정보의 양이 제한적이므로 비지도 학습이 아닌 지도학습을 적용하였다. 지도학습 알고리즘 중에는 kNN(k Nearest Neighbors), AB(Adaptive Boosting), 나이브 베이즈 분류기, DT(Decision Tree), SVM(Support Vector Machine) 등이 있고 본 논문에서는 AB와 SVM 및 DT 기법을 활용하여 성능을 분석하였다. 세 가지 방법을 선택한 이유는 kNN의 경우 처리속도가 느리며 다수의 특성을 처리하는 능력이 부족한 단점이 있기 때문이고 나이브 베이즈 분류기의 경우 다른 선형분류기와 유사하므로 적용하지 않았다. 하지만, kNN의 경우 AB와 SVM 기법에 적용하여 모호성을 해결하는 수단으로 사용하였으며 이 경우에는 대량의 데이터를 처리할 필요가 없어 유용하게 사용할 수 있다.
Ⅱ. GPS 재밍탐지 방법
다중 GPS 수신기 채널의 구성은 그림 1과 같다[2]. 채널 A는 상용 GPS 안테나와 상용 수신기로 구성된 채널로 재밍에 취약하고 채널 B는 항잡음 재밍 기능을 탑재한 CRPA-AE(Controlled Reception Pattern Antenna-Antenna Electronics)와 상용 GPS 수신기를 연결한 채널로 항잡음 능력을 보유하지만 기만재밍에는 여전히 취약하다. 채널 C는 주로 군사용 GPS 시스템에 적용되는 형태로 CRPA-AE와 항기만 능력을 보유한 SAASM(Selective Availability Anti-Spoofing Module)이 탑재된 EGI(Embedded GPS/INS)로 구성된다. 채널 C는 항잡음 재밍뿐만 아니라 항기만 재밍 능력을 갖추고 있다.
인가되는 재밍신호 특성에 따라 각각 채널들의 수신 경위도 좌표는 다른 형태를 보이게 되며 채널 A-C간 상대거리차 r1, 채널 B-C간 상대거리차 r2를 식 (1)로 정의할 수 있다[1][3].
(1) |
GPS 재밍신호에 따른 각 채널별 경위도 좌표변화는 개념적으로는 그림 2와 같이 설명할 수 있고 좌표변환 식 (1)에 따른 r1, r2 값의 변화는 그림 3과 같이 설명할 수 있다. 재밍이 없을 경우 채널 A, B, C 좌표는 그림 2(a)와 같이 해당 GPS 수신기의 정확도 이내에 분포하고 작은 저출력 잡음이 인가되면 채널 A 좌표들의 정확도가 낮아져 원 밖으로 이탈하기 시작한다.
그림 3에서도 재밍이 없는 경우 (a) 범위 안에 r1, r2값 존재하고 재밍신호가 커지면 r1 값이 범위 밖으로 이탈하여 (a)~(b), (a)~(d) 영역과 같이 큰 값을 보임을 알 수 있다. 재밍의 출력이 계속해서 증가하면 채널 A 좌표가 소실되어 그림 2(b)로 나타나고 그림 3의 경우도 마찬가지로 r1값이 소실되어 (b)로 나타난다. 재밍 출력이 더 증가하면 채널 B 좌표도 원 밖으로 이탈하여 그림 2(c)과 같이 표현되며 r1, r2 값이 모두 소실되어 그림 3의 (c)와 같이 원점에 좌표가 분포하게 된다.
저출력 기만 재밍이 인가되면 채널 A 좌표의 정확도가 낮아져 원을 이탈하는 좌표들이 발생한다. 출력이 증가하면 채널 A 좌표는 기만 재밍에 포획되어 기만 재밍 시나리오대로 멀리 이격되어 그림 2(d)와 같이 분포하게 되고 r1, r2의 값 역시 잡음 재밍보다 크게 변화되면서 그림 3의 (d)와 같이 나타난다. 기만 재밍 출력이 더 증가하여 완전히 포획되면 B 좌표도 그림 2(e)와 같이 기만 재밍 시나리오대로 멀리 이격될 것이다. 마찬가지로 r1, r2의 값도 기만재밍에 포획되면 시나리오대로 이격되면서 그림 3의 (e)의 형태를 보이게 된다[1].
기존 논문에서는 곡선 분류에 용이한 SVM 기계학습만을 적용하였으나, 본 논문은 AB, SVM, DT 기계학습기법을 적용하였고 각각의 장단점과 GPS 재밍탐지 정확도를 비교 분석하였다.
Ⅲ. 기계학습 알고리즘
3.1 AB
AB는 이진 분류 기계학습 알고리즘이며 주로 데이터의 직선 분류에 용이한 특성을 갖는다. 정확도가 검증되지 않은 약 분류기(Weak Classifier)들을 이용하여 정확도가 뛰어난 강 분류기(Strong Classifier)를 만드는 방법으로 이 과정에서 가중치라는 개념을 사용하게 된다[4].
AB의 학습 흐름은 그림 4와 같다. 먼저 모든 학습데이터들의 중간값을 경계로하는 약 분류기를 만들고 동일한 가중치를 갖도록 한다. 다음으로 각 분류기의 에러율을 반복 계산하여 가중치를 결정하고 해당 분류기에 곱해준다. 에러율이 낮은 약 분류기에는 높은 가중치를 곱해주고, 에러율이 높은 약 분류기에는 낮은 가중치를 곱해준다. 이렇게 계산된 약 분류기들을 모두 더해주면 강 분류기가 되며 식 (2)와 같다.
(2) |
3.2 SVM
SVM은 곡선으로 데이터를 분류하는 이진분류기로서 확률 기반이 아닌 기하학적으로 최적의 결정경계(Decision Boundary)를 선정하는 방법이다. 아래 그림 5와 같이 +1영역과 –1 영역으로 표시된 데이터 그룹이 있을 때 데이터들을 가장 효율적으로 구분하는 직선을 결정하는 것이다.
여기서 효율적이라는 의미는 그림 5처럼 두 영역의 데이터 중 서로 가장 가까이 위치한 두 개의 Support Vector의 거리를 최대로 구분 짓는 구분선(Optimal Separating Hyperplane)을 선택하는 것이다[1][6].
그림 5에서 평면상의 결정경계는 wㆍx+b=0인 직선이 된다. +1 영역은 wㆍx+b≤1이고, 이때 클래스 yi는 +1이며, -1 영역은 wㆍx+b≤1이고, 이때 클래스 yi는 –1이다. 이 두 가지 조건을 하나로 정리하면 yi(wㆍxi+b)-1≥0이 된다. 평면의 임의의 점 x에서 결정경계인 직선까지의 거리인 마진은 2/ ‖W‖로 표현되고 SVM은 yi(wㆍxi+b)-1≥0라는 제약조건(Constraint)이 주어질 때 마진 2/ ‖W‖를 최대로 만드는 w와 b를 구하는 것이다[6][7].
(3) |
최종 구분선은 w*ㆍxT+b*로 정의되고 데이터를 식 (3)에 대입하여 영역을 구분한다.
3.3 DT
DT 기법은 분류와 회기 문제에 널리 사용되는 머신러닝 학습기법으로 어떤 속성에 대한 질문에 ‘예’ 또는 ‘아니요’ 답을 이어 가면서 최종 결정트리를 생성하는 학습방법이다.
DT 기법은 질문에 따라서 결정트리의 복잡도가 결정되기 때문에 어떤 질문을 하느냐가 굉장히 중요한 요소이다. 따라서 분류과정에서 가장 간단한 결정트리를 만들기 위한 수학적 도구로 불확실성을 계량화하는 엔트로피 값을 사용한다. 엔트로피는 식 (4)와 같으며 엔트로피 값이 크면 불확실성이 높아져 분류의 도구로서 우선순위가 낮아지고 질문의 가치가 떨어지게 된다. 반대로 엔트로피 값이 작아지면 불확실성이 낮아지기 때문에 질문의 우선순위가 높아지게 된다[4][8].
(4) |
식 (4)에서 D는 데이터로 이뤄진 집합이고 c는 총 사건의 개수, pi는 해당 사건이 발생할 확률이다. 예를 들어 어떤 두 가지 사건이 일어날 확률이 절반일 때와 90%, 10%일 때 엔트로피 값을 비교해보면 후자가 작은 값을 갖게 된다. 직관적으로도 90%의 확률을 갖는 사건을 선택하는 것이 불확실성이 줄일 수 있는 선택이기 때문이다.
여러 개의 특성 중 가장 먼저 수행할 질문을 선택하기 위한 결정은 정보 이득이라는 값으로 계산되며 식 (5)와 같이 정의된다.
(5) |
첫 번째 항은 전체 데이터 집합에 대한 엔트로피 값이고 두 번째 항은 데이터가 갖는 속성을 이용하여 분류하였을 때 엔트로피 기댓값이다. 즉, 전체 데이터 집합에 대한 엔트로피값은 데이터가 결정되면 고정되는 값이고, 어떤 속성을 선택함으로써 감소된 불확실성값인 엔트로피 값을 빼줌으로서 최종 정보 이득을 계산한다. 만일 어떤 속성을 선택했을 때 불확실성이 많이 낮아지면 작은 엔트로피 값을 빼주기 때문에 정보이득의 값은 높게 유지되게 되고 분류의 기준이 되게 된다.
이처럼 높은 정보이득을 유지할 수 있는 속성을 선택하면서 계속해서 분류를 수행하게 되는데 이때 몇 개의 질문을 수행할 것인가라는 문제가 발생한다. 학습데이터에 완벽히 결정트리를 맞추기 위해 너무 많은 질문을 하면 일반성이 떨어지는 과대적합이 발생할 수 있다. 반대로 데이터량에 비해 질문의 개수가 너무 적으면 과소적합이 발생할 수 있다. 이 부분에 있어서는 정해진 답은 없다. 데이터의 구성을 파악하는 것이 중요하고 프로그래머가 데이터 구성에 맞게 복잡도를 제어해야 한다. 그럼에도 불구하고 결정트리는 과대적합이 발생하는 경향이 많은데 이때는 결정트리 앙상블 기법을 이용하여 그 경향을 완화시킬 수 있다[8].
Ⅳ. 시험결과
기계학습에 적용할 데이터를 실험을 통해 700개 획득하였고 이때 입력한 재밍신호는 총 6가지 형태이며 클래스 구분은 5개로 구분하였다. 각각의 재밍신호특성과 클래스 구분은 표 1과 같다. 획득 데이터의 50%에 해당하는 350개의 데이터를 각각 학습과 테스트 데이터로 사용하였다.
단, 재밍이 없는 경우를 제외한 5개 클래스 중 클래스 A의 영역에 들어오는 데이터는 클래스 A로 조정(클래스 1~6까지 데이터수 56, 95, 50, 50, 50, 49)하는 전처리 과정을 수행하였다. 재밍이 인가되어도 올바른 수신영역 들어오는 경우는 재밍으로 분류할 수 없기 때문이다. AB와 SVM은 이진 분류기이므로 OAA(One Against All) 방법을 통해 여러 클래스를 분류할 경우 모호성이 발생한다.
본 논문에서는 이러한 모호성을 해결하기 위한 기준으로 가장 인접한 k개의 데이터들을 대상으로 거리를 계산하여 거리가 가장 가까운 클래스로 분류하는 kNN 분류 알고리즘을 추가로 적용하였다.
4.1 AB 적용
350개의 데이터를 각각의 클래스 별로 OAA 방식으로 학습하였고 학습결과에 350개의 시험 데이터를 입력하여 시험을 수행하였다. 강 분류기를 만들기 위한 반복 학습은 20회 이상에서 수렴하였으며 총 50회 반복 수행하였다.
그림 6은 AB의 학습 결과로 각각의 클래스가 갖는 분류기준을 적색과 청색으로 표현하였고 그림 6과 그림 3을 비교하면 AB 분류기의 성능을 가시적으로 확인할 수 있다. 예를들어, 재밍이 없는 경우는 그림 3의 (a) 영역이므로 그림 6의 (a)가 같은 영역으로 분류되었는지 비교해볼 수 있다.
시험결과 총 350개의 데이터 중 27개의 오분류가 발생하여 92.3%의 정확도를 보였고 모호성이 발생한 영역을 kNN 기법을 이용하여 추가 분류한 결과 92.6%로 정확도가 증가하였다.
4.2 SVM 적용
SVM의 학습 변수를 r1, r2로 정의하고 비선형 분포를 분류하기 위해 식 (6)의 RBF(Radial Basis Function) 커널(Kernel) 함수를 적용하였으며 6개 클래스 분류를 위한 멀티 클래스 구현을 위해 OAA방법을 적용하였다[1].
(6) |
식 (6)의 σ는 SVM 곡선의 첨예도를 조절할 수 있는 요소로 그림 7은 σ=1일 때 분류 결과를 보여준다.
앞서의 경우와 마찬가지로 그림 3과 비교하여 가시적인 정확도를 확인할 수 있으며 AB와 달리 곡선분류기인 SVM 특성을 그림으로 확인할 수 있다. 학습결과 24개의 오분류가 발생하여 93.1%의 정확도를 보였고 kNN 기법을 이용하여 추가 분류한 결과 97.1% 까지 정확도가 증가하였다.
4.3 DT 적용
DT 학습방법으로 그림 8의 결정트리와 그림 9의 학습 결과 그래프를 얻을 수 있다. r1, r2 값을 기준으로 분류가 이뤄졌음을 확인할 수 있으며 결정트리에서 A, D, C 클래스는 트리의 우측에는 포함되지 않고 좌측트리에서 결정됨을 확인할 수 있다. 이것은 높은 정보이득을 갖는 최상위 노드를 선정하였음을 의미한다. 나머지 클래스인 B, E, F는 결정트리의 좌, 우측에서 결정된다. 또한, 그림 9에 여러 클래스가 맞닿아 있는 (0,0) 근처에서 하나의 클래스 사이에 다른 클래스가 분류된 것을 볼 수 있다. 이것은 결정트리의 문제점 중 하나인 과대적합을 보여주는 것이다.
학습된 결정트리에 시험 데이터 350개를 입력하여 테스트를 수행한 결과 표 2와 같이 총 11개의 오분류가 발생하였으며 96.9%의 정확도를 보였다. 표 2와 그림 9를 비교하면 A, B, E, F가 맞닿아 분포하는 영역에서 집중적으로 오분류가 발생한 것을 확인할 수 있다.
4.4 탐지 성능 비교
앞서 수행한 각각의 머신러닝 기법 정확도를 표 3으로 정리하였다. 기존의 논문에서 제시한 SVM과 kNN을 동시에 적용한 기법이 97.1%로 가장 높은 정확도를 보였다. 하지만 단독기법을 이용한 방법 중 가장 높은 정확도를 보인 기법은 DT로 96.9%의 정확도를 보였으며 한 가지 기법을 적용하였음에도 두 가지 기법을 적용한 결과와 아주 근접한 정확도를 보였다.
각 기법의 정확도는 변수값 설정에 따라 달라질 수 있다. 예를 들어 AB는 에러율 계산을 몇 번 반복하느냐에 따라 달라질 수 있고 SVM의 경우는 어떤 커널 함수를 선택하느냐에 따라 달라질 수 있다. 결정트리의 경우도 질문의 개수에 따라 혹은 앙상블 기법을 적용하느냐에 따라서 달라질 수 있다. 본 논문에서는 이 변수의 값을 조절하여 과대적합이 발생하지 않는 결과를 제시하였다.
Ⅴ. 결 론
본 논문에서는 다중 GPS 수신기와 머신러닝 기법 3가지를 이용하여 GPS 재밍신호의 종류와 세기를 판단하는 방법을 제시하였다. 3가지 기계학습 방법은 각각 장단점들을 가지고 있는데 AB와 SVM은 각각 직선/곡선 이진분류기로 직선과 곡선을 분류하기에 적합하지만 다중 클래스를 다룰 때 모호성이 발생하는 단점이 있고 DT 기법은 직선의 다중 분류기로 모호성 발생이 적다는 장점이 있지만 곡선 분류가 어렵다는 단점을 가지고 있다.
그림 3과 같은 GPS 재밍 신호를 탐지하기 위해서는 직선분류기보다는 곡선분류기가 더 적합하고 이진분류기보다는 다중분류기가 적합하다는 결론을 얻을 수 있다. 직선 이진분류기인 AB도 90% 이상의 높은 정확도를 보이고 있지만 곡선분류기에 비해서는 정확도가 떨어지고 SVM은 곡선 분류기로 GPS 재밍 탐지에 적합하지만 다중 클래스 분석에 있어서 모호성이 발생하여 추가적인 기법을 적용해야하는 단점이 있다. DT 기법은 곡선분류기가 아니라는 단점은 있지만 다중분류기라는 장점을 가지고 있다. 표 3에서 볼 수 있듯이 한 가지 기법을 이용할 경우 다중분류기인 DT 기법이 가장 정확도가 높으며 모호성이 적고 결정트리를 기반으로 HW를 구현할 수 있기 때문에 GPS 재밍탐지에 가장 적합하다고 할 수 있다. 하지만, 모호성을 해결해주는 kNN 기법을 추가 적용할 수 있는 경우에는 곡선 분류기인 SVM도 좋은 분류수단이 될 수 있다.
References
- Young-Joong Lee, Gil-Jae Lee, and Sung-Woong Ra, "A Study on GPS Jamming Detection Using Support Vector Machine", Journal of KIIT, 17(1), p11-20, Jan.), (2019. [https://doi.org/10.14801/jkiit.2019.17.1.11]
- Young-Joong Lee, and Sung-Woong Ra, "A Study on Real Time GPS Jamming Detection Possibility Using Commercial GPS Receiver and Military EGI Receiver with Anti-jamming Function", Journal of KIIT, 16(5), p53-65, May), (2018. [https://doi.org/10.14801/jkiit.2018.16.5.53]
- Young-Joong Lee, In-Seon Kim, and Joo-Rae Park, "A Study on Direction Finding Accuracy Analysis for Airborne ESM", Journal of the KIMST, 11(6), p63-73, Dec.), (2008.
- Hak-Yong Han, "Introduction to Pattern Recognition", Hanbit Academy, p304-536, Jan.), (2014.
- Seaung-Lok Ham, and No-Jun Kwak, "Binary classification by the combination of Adaboost and feature extraction methods", Journal of the Institute of Electronics and Information Engineers, 49(4), p42-53, Jul.), (2012.
- Sung-Wook Park, and Jong-Wook Park, "The Performance Improvement of Face Recognition Using Multi-Class SVMs", Journal of the Institute of Electronics and Information Engineers, 41(6), p43-49, Nov.), (2004.
- C. Burges, "A tutorial on support vector machines for pattern recognition", Data Mining and Knowledge Discovery, 2(2), p121-167, Jun.), (1998.
- Andreas C. Müller, "Introduction to Machine Learning with Python", Hanbit Publishing Network, p58-124, Jan.), (2017.
2013년 8월 : 한국항공대학교 항공전자공학과(공학사)
2015년 8월 : 한국항공대학교 항공전자공학과(공학석사)
2015년 9월 ~ 현재 : 국방과학연구소 연구원
관심분야 : EMI/EMC, RF, Electronic Warfare