0. Abstract
이동 표적 방어(Moving Target Defense, MTD)는 공격자가 목표로 하는 시스템의 특성을 지속적으로 변화시켜 공격을 어렵게 만드는 선제적 사이버 방어 전략이다. 기존의 방어 방법은 공격이 발생한 이후 사후 대응 중심으로 이루어졌지만, MTD는 이러한 수동적 방어의 한계를 극복할 수 있다. 그러나 지금까지의 MTD 기술 평가는 명확한 정량화 지표가 부족하고 특정 상황에서만 유효한 한계가 있으며, 시스템의 동적인 특성을 충분히 표현하지 못한다는 문제점이 있다.
본 논문에서는 이 한계를 극복하기 위해 기만 공격면(Deception Attack Surface)이라는 개념을 제안한다. 이는 기만 기술이 적용된 후 공격자가 인식하게 되는 공격 가능한 자원들의 집합을 뜻하며, 이를 수학적이고 정량적으로 평가하는 방법을 제시한다.
1. Introduction
이동 표적 방어(MTD)는 잠재적인 공격을 방해하고 무력화하기 위해 제안된 선제적 방어 메커니즘으로, 방어자가 가진 불리함을 반전시키는 데 목적이 있다. MTD에서 사이버 기만이 어떤 역할을 하는지에 대한 이해는 아직 부족하며, 기만 기법의 효과를 정량적으로 평가한 연구는 거의 없다. 현재의 사이버 방어는 대부분 사후 대응 방식이기 때문에 공격이 발생한 이후에야 반응이 이루어진다.
현재까지 MTD 기법의 효과를 평가하는 기존 방법은 세 가지 범주로 나눌 수 있다: 지표 기반, 수학적 모델, 시뮬레이션 방법 등을 통해 평가가 이루어지고 있다.
MTD와 사이버 기만은 상호 보완적인 기술로, 동일한 목표(공격자 격퇴)를 위해 동시에 배치될 수 있다.
사이버 기만은 공격면 이동 공간을 확장하는 새로운 방향을 제시한다.
MTD: 시스템 속성(공격 표면)을 동적으로 지속적으로 무작위로 변경함으로써, 공격자에게 불확실성과 복잡성을 증가시키는 방식(다양성, 무작위성)
사이버 기만: 진짜처럼 보이지만 그럴듯하고 정교하게 설계된 허위 정보를 사용해 공격자를 속이고 오도하는 전략(판단을 혼란스럽게 만듦)
MTD + 사이버 기만 접근 방식: 기만 네트워크 [30], 웹 기만 [12][35], 데이터 기만 [36]
– 한계: 기만의 효과를 평가하는 체계적인 접근법은 거의 없다.
현재의 평가 방식: 지표 기반, 수학적 모델, 시뮬레이션 방법
– 한계:
1) 네트워크 내에서 기만 효과를 어떻게 정량화할지 명확하지 않다.
2) 기존 MTD 평가 방식은 특정 기술이나 한정된 상황에만 적용 가능해 범용성이 부족하다.
3) MTD 시스템은 동적이며 상호작용이 복잡해서, 전통적인 평가 방법으로는 이를 제대로 기술할 수 있는 형식 명세를 만들기 어렵다.
기만 기반 MTD를 설명하고 그 효과를 평가하기 위해, 우리는 이 논문에서 기만 공격면(deception attack surface)이라는 개념을 제안한다.
기만 공격면: 기만 기술이 적용된 이후 공격자가 인식하는 공격면
기만 효과를 정량적으로 측정하기 위해 도입 (기만 효과 수치화)
- 노출된 허위성 지수(exposed falseness degree)
- 숨겨진 진실성 지수(hidden truth degree)
모델 제시: MTD에서 기만이 어떤 역할을 하는지를 더 잘 이해하기 위해, 기만 게임 모델(deception game model)을 구성
2. Related Work
MTD의 주요 연구 방법론은 새로운 MTD 기법을 먼저 제안하고, 그 기법의 효과성을 평가하는 것이다.
- MTD 기법의 효과를 평가하는 기존 방법: 지표 기반, 수학 모델 기반, 시뮬레이션 기반
항목 | MTD | Cyber Deception |
유사점 | 시스템 보호를 위한 선제적 방어 기법 | ” |
기술 아이디어 | 시스템 구성을 변경하여 복잡성과 다양성을 높임 → 시스템 전환률이 공격 속도를 앞서게 만듦 | 시스템 구성을 변경하기보단, 일부 정보를 고의로 노출시켜 진짜 자산을 숨김 |
정보 공개 여부 | 공격자의 정보 수집을 방지 → 정보 공개 없음 | 필요 없는 정보 또는 설계된 허위 정보만 부분적으로 공개 |
비용 | 시스템에 높은 부하 발생 | 낮은 구축 비용, 간단한 설정, 낮은 시스템 부하 |
목표 | 시스템 이해 | 공격자 이해 |
관계 | 상호보완적 기법으로 동시에 적용 가능 | ” |

Figure 1: Deception-based MTD. We have two ways to shift the deception attack surface: adding a decoy or disguising the real attributes.
3. Deception-Based Moving Target Defense
3.1 Deception Attack Surface
공격 표면의 크기: 시스템 보안 수준을 나타내는 지표로 사용, 클수록 시스템이 더 취약하다는 의미
공격 표면(attack surface): 공격자가 시스템에 침투하기 위해 사용할 수 있는 자원들의 집합
– Manadhata el al. [24]이 공격 표면을 이동시키는 개념을 처음으로 제안했다.
– Albanese et al. [5]: 공격자가 인식하는 공격 표면, 즉 가상 공격 표면(virtual attack surface) 개념을 제안했다.
→ 특정 유형의 트래픽만 조작 가능하다는 한계가 있다.
→ 이 논문에서는 공격 표면의 이동 가능 공간을 확장하기 위해, 기만 공격 표면(deception attack surface) 개념을 도입한다.
기만 기술: 실제 공격 표면을 변경하지 않고, 공격자가 인식하는 공격 표면만 조작한다.
기만 공격 표면: 기만 기술이 적용된 이후 공격자가 인지하는 공격 표면
기만 공격 표면 개념은 MTD 시스템의 기만 정도를 측정하는 데도 활용할 수 있다.
이는 이후 게임 이론 기반 공격-방어 모델링의 기초로도 사용된다.

A, B: 두 개의 미끼 속성을 삽입해 공격자의 관심을 실제 목표에서 돌리도록 설계
3′: 실제 속성 3이 기만 속성 3’으로 위장되어, 공격자의 관심을 분산
기만 공격 표면을 이동시키는 방법: (1) 미끼(decoy)를 추가하거나, (2) 실제 속성을 위장(disguise)하는 것
공격 표면을 구성하는 속성(attribute)의 예: IP 주소, 포트, 라우팅, 프로토콜
- 공격자가 악용할 수 있는 취약점이나 결함일 수 있음
a. Adding a decoy
공격자의 관심을 실제 중요 자원에서 멀어지게 하기 위해 사용된다.
공격자가 진짜라고 믿을 수 있도록 정교하게 설계된 미끼 자산
– 예: 허니팟(honeypot)
b. Disguising a real attribute
실제 속성을 기만 속성처럼 위장한다.
– 예:
1) 시스템이 다른 버전처럼 응답하도록 만들어 공격자를 속임
2) 서비스가 작동하지 않는 것처럼 응답하여 실제 서비스를 숨김
3) 모든 포트가 열려 있는 것처럼 응답해서 공격자가 어떤 서비스가 실제 실행 중인지 알 수 없게 만듦
3.2 Deception Measurement
기만 공격면의 효과를 평가하기 위한 두 가지 주요 개념:
표출된 허위성(exposed falseness degree), 은폐된 진실성(hidden truth degree)
a. Exposed Falseness Degree
표출된 허위성: 실제 속성과 기만 속성 간의 유사도
구별 불가능(confusion theory) 개념에 기반하여, 구별 불가능한 기만이라는 개념을 도입하여 표출된 허위성을 측정한다.
구별 불가능한 기만(indistinguishable deception): MTD 모델에서 각 기만 속성이 얼마나 실제와 유사하게 보이는지를 나타내는 개념
– 기만 거리(deception distance)로 측정됨
![]() | ![]() |
그림 2. 기만 속성과 원래 속성을 특징 공간(feature space)에 매핑하고, 그 거리 차이를 기만 거리로 정의하여 표출된 허위성을 수치화하는 것이 핵심 아이디어
각 속성의 특징과 효과에 따라, 매핑 함수를 통해 n차원 특징 벡터를 생성하고, 이를 기반으로 특징 공간을 구성한다.
그 후, 유클리드 거리를 사용하여 개별 속성의 기만 거리를 측정하고, 속성별 가중치를 반영하여 전체 모델의 기만 거리를 계산한다.
특징 차원이 3인 경우, 속성은 기능, 상호작용, 설정이라는 세 가지 측면에서 특징을 추출하고, 각 차원의 세부 구성 요소에서 각 구성 요소는 존재 여부를 1(존재), 0(비존재)로 표시한다.
이진 값들을 더해 각 차원의 총합을 얻고, 정규화(normalization) 과정을 거쳐 특징값을 구한다.
각 차원의 특징값은 속성의 3차원 특징 벡터를 구성한다.
실제 속성과 기만 속성 간의 특징 벡터 거리를 계산하여, 이 값을 표출된 허위성으로 사용한다.
특징 벡터란?
e.g., FTP 서비스를 속성으로 보면,
- 기능 차원, listener: 파일 전송 상태 수신(listen)하는지 (21번 포트를 통해 FTP 연결을 대기(listening)하는지)
- 상호작용 차원, write: 쓰기 권한이 허용되는지
- 설정 차원, anonymous_enable: 익명 사용자의 접근 허용 여부를 나타낸다. (인증 없이)
각 차원의 특징은 여러 특징 구성 요소를 가질 수 있고, 특징의 차원도 확장될 수 있다.
- e.g., 보안 설정 차원, 성능 관련 차원
기만 기반 MTD 모델을 S라고 표기한다. 속성은 \(x=\{x_i\}_{i \in n}\) 형태이고, \(x_i\)는 i번째 특징값, n은 특징의 수를 의미할 때, 기만 속성은 \(y = \{y_i\}_{i \in n}\)로 정의한다.
그럼 단일 속성의 표출된 허위성 \(e_S\)를 x와 y의 유클리드 거리 제곱합으로 정의한다.
$$e_S=\Delta(x, y)=\sqrt{\sum_{i=1}^n\left(x_i-y_i\right)^2}$$
- 유클리드 거리란? 두 점 사이의 직선 거리를 의미하는 가장 직관적인 거리 계산 방식 (이 논문의 n차원에서는 두 벡터)
다수 속성에 대한 기만 거리는 다속성 가중치 이론을 활용한다.
속성 집합을 X, 기만 속성 집합을 Y, 각 속성의 가중치를 \(\omega\)라고 정의하고, 전체 가중치 합은 1이다.
전체 모델의 표출된 허위성 \(E_S\)는
$$E_S=\Delta(X, Y)=\sum_{i=1}^N \omega_i \Delta\left(X_i, Y_i\right)=\sum_{i=1}^N \omega_i e_S^i$$
b. Hidden Truth Degree
은폐된 진실성: 실제 속성의 은폐 정도를 측정
진정성(authenticity): 시스템 내 실제 모듈의 비율, 공격자에게 노출된 실제 속성의 비율 (이 비율이 낮을수록 시스템은 더 안전해진다.)
엔트로피 개념을 사용하여 은폐된 진실성을 수치화하고, 이를 통해 시스템 내 실제 구성 요소의 규모를 평가한다.
엔트로피(entropy): MTD의 중복성과 다양성을 측정하는 주요 지표
그림 3. 노란 점은 기만 속성, 회색 점은 실제 속성을 의미
– 위쪽 모델은 두 배치가 고정되어 있어 은폐된 진실성이 낮고, 공격자가 기만 여부를 쉽게 파악할 수 있다.
– 아래쪽 모델은 기만 속성의 분포를 자주 변경하기 때문에, 은폐된 진실성이 높아 공격자가 실제 속성을 구분하기 어려워진다.
모델 S에서, 속성 집합은 \(X = \{X_i\}_{i \in N}\), 가중치는 \(\omega = \{\omega_i\}_{i \in N}\), 기만 여부 벡터는 \(v = \{v_i\}_{i \in N}\), \(v_i \in \{0, 1\}, 1 \leq i \leq N\)로 정의한다.
- \(v_i = 1\): 해당 속성이 기만 상태
- \(v_i = 0\): 실제 상태
모델 S의 진정성 \(H_S\)는
$$H_S=\frac{\sum_{v_i=0} \omega_i}{\sum_{X_j \in S} \omega_j}=\sum_{v_i=0} \omega_i, 1 \leq i, j \leq N$$
information entropy theory에 따르면, 속성의 발생 확률이 클수록 불확실성은 작고, 작을수록 불확실성은 크다.
따라서 은폐된 진실성 \(I_S\)는
$$I_S=-\sum_{i=1}^N \omega_i p\left(v_i X_i\right) \log p\left(v_i X_i\right)$$
\(p\left(v_i X_i\right)\): 해당 속성이 기만인지 여부에 따른 확률
속성(attribute): 시스템 내에서 공격자가 접근하거나 공격할 수 있는 단일 서비스 단위 또는 요소(FTP 등)
차원(dimension): 속성의 특징을 구성하는 서로 다른 분석 관점 또는 영역(기능, 상호작용, 설정)
- 하나의 보안 기능 또는 속성 범주(네트워크 접근, 사용자 권한, 경로 접근 관련 설정 등)
특징(feature): 각 차원에서 추출되는 일반적인 성질, 속성을 정량화하기 위해 추출한 이진 벡터 구성 요소(0 또는 1)
- feature vector: 속성을 n차원 공간에 매핑한 값
- 특징 구성 요소(feature component): 각 차원 안에 존재하는 세부 요소
– feature component를 합산해서 dimension 값 하나를 만든다.
3.3 Game Model
이러한 기만 전략의 효율성을 평가하기 위해, 공격자와 방어자 간의 상호작용을 게임 이론적 모델로 구성한다. 본 모델은 플레이어 집합(N), 행동 집합(A), 보상 함수(R)로 구성된다.
방어자는 미끼를 추가하거나, 속성을 위장하거나, 속성을 실제로 변화시키는 행동을 통해 공격자의 공격 면을 혼란스럽게 한다. 공격자는 이를 탐지하기 위해 행동을 결정하며, 이 과정에서 공격 면의 크기, 복잡도, 그리고 공격에 드는 비용 등을 고려하여 전략을 선택한다.
보상 함수는 공격면의 변화, 공격 수행 비용을 포함하여 방어자와 공격자의 이익을 수학적으로 표현한다.
방어자가 기만 기반의 MTD 기법을 사용할 경우, 두 가지 방식으로 이익을 얻을 수 있다.
1) 방어자가 공격면을 기만 공격면으로 이동시켜 시스템의 위험을 줄일 수 있다.
2) 방어자가 실제 속성들 변형 사이에서 공격면을 변경할 수 있다.
그러나 방어자의 기만 행위가 공격자에게 식별되면, 이는 오히려 실제 대상에 대한 공격의 발판이 되어 공격면 측정값을 증가시킬 수 있다.
the defender’s reward function depends on the change on the attack surface, the change on the attack surface measurement, and the cost of shifting attack surface.
the attacker’s reward function depends on the change on the attack surface measurement and the cost on launching an attack.
- 방어자의 보상 함수: 공격면의 변화, 공격면 측정값의 변화, 공격면을 이동시키는 데 드는 비용에 의존
- 공격자의 보상 함수: 공격면 측정값의 변화, 공격 수행 비용에 의존
attack surface(ΔHA, ΔRA): 기만 속성이나 실제 속성을 위장함으로써 공격자가 보게 되는 공격 표면의 변화
attack surface measurement(ΔASM): 기만이 오히려 공격 표면의 전체 복잡성을 증가시키면, 보안에 불리해질 수 있음 (e.g., 공격자가 탐색할 공간이 더 넓어짐) ↔ 공격자가 취약점을 찾을 확률이 높아져 보상이 큼
cost of shifting attack surface: 기만 속성을 추가하거나 위장 속성을 만들 때 드는 비용 (리소스, 설정 복잡성, 관리 비용 등)
cost of launching an attack: 실제 공격을 수행하는 데 드는 비용 (시간, 자원, 실패 위험 등)
방어자 입장
• 기만을 잘 하면 공격자를 혼란스럽게 하여 보상을 얻음 (ΔHA, ΔRA)
– Δ𝐻𝐴: 허니 속성을 활성화하여 발생하는 기만 공격면의 변화
– Δ𝑅𝐴: 실제 속성을 위장하여 발생하는 기만 공격면의 변화
• 하지만 공격 표면을 과도하게 확장하면 보안이 오히려 악화될 수 있음 (ΔASM ↑)
• 기만을 구현하는 데 자원이 들기 때문에 비용도 고려해야 함 (Cost₁)
공격자 입장
- 공격 표면이 커지면 공격 기회가 늘어남 → 유리함
- 그러나 공격 시도 자체에 들어가는 비용이 커지면 보상이 줄어듦
4. Example Scenario
성공적인 공격은 공격면에서 진입점을 찾고, 해당 지점에서 목표까지의 공격 경로를 결정해야 한다.
4.1 Deception Game
방어자가 공격면의 속성을 무작위로 기만 속성을 추가하여 보호하는 상황을 고려한다.
공격자는 기만 속성이 아닌 실제 속성을 침해할 경우 승리하게 된다.
Stackelberg 게임 모델을 제안
시스템은 확률 \(P_d\)로 기만 속성(D), 확률 \(1-P_d\)로 정상 속성(N)을 선택한다.
공격자는 공격자의 속성을 식별한 뒤, 속성의 유형을 판단하지 않고 공격(A)하거나, 속성 유형을 사전 테스트(T)를 통해 판단한 후 공격하거나, 공격을 철회(R)할 수 있다.
4.2 Signaling Deception Game
방어자는 실제 속성의 유형과 관계없이 해당 속성이 기만(ℎ)인지 정상(𝑛)인지를 신호로 보낼 수 있다.
방어자의 순수 전략 (다음 네 가지 전략 중 하나 사용 가능)
- 방어자는 실제 속성과 관계없이 항상 ‘정상(𝑛)’이라고 신호를 보내는 전략(𝑠1) 또는 항상 ‘기만(ℎ)’이라고 신호를 보내는 전략(𝑠4)을 사용할 수 있다.
- 방어자는 속성의 실제 유형에 따라 ‘정상’ 또는 ‘기만’이라고 일치하게 신호를 보내는 전략(𝑠2)을 사용할 수 있다.
- 방어자는 실제 속성과 반대로 신호를 보내는 전략(𝑠3)을 사용할 수 있는데, 예를 들어 실제로 정상인 경우 ‘기만’으로, 실제로 기만인 경우 ‘정상’으로 신호를 보낸다.
5. Experimental Analysis

실험 플랫폼: 매니저와 여러 개의 노드 엔드
매니저: 노드 엔드를 생성하고 관리하며, 노드 엔드에서 수신한 데이터를 분석하고 시각화하는 역할
노드 엔드: 허니팟 서비스를 구축하고 매니저의 제어를 수행
노드에 공격을 감지하고 견딜 수 있는 허니팟을 배치하면, 공격자가 허니팟을 스캔하거나 공격할 때 해당 공격자와 행위 정보가 즉시 매니저로 전송되어 상세한 데이터 분석이 가능하다.
공격자의 목표는 대상 호스트의 포트를 스캔하여 실제 서비스를 식별하고 공격을 수행하는 것이다.
시스템 서비스: 파일 전송, 원격 접속, 웹 서비스, 데이터베이스 서비스
– 잠재적인 공격에 노출됨, e.g., SSH: 무차별 대입 공격, 웹 서비스: 취약점 공격
모든 서비스를 60% 확률로 기만 서비스로 전환하여 기만 공격면을 구성한다. (\(P_d\) = 0.6)
시스템의 노출된 기만도와 은폐된 진실도가 기준에 부합하면, 설정된 확률은 적절하다고 판단한다.
그렇지 않으면 확률을 다시 조정한다.
이번 실험에서는 노출된 기만도가 0.3 미만이고 은폐된 진실도가 0.5 이상인 것을 기준으로 삼았다.
각 차원에서 서비스의 중요한 특성 10개를 추출했다.
특성 구성요소의 존재 여부에 따라 0 또는 1로 값을 부여하고, 이 값들을 더한 후 정규화하였다.
각 서비스의 실제/기만 모드를 평가하고, 그 결과를 표 7에 제시했다.
6. Conclusion
본 논문에서는 기만 기반 이동 표적 방어(MTD) 기법을 설명하기 위해 기만 공격 표면(deception attack surface) 개념을 제안했다.
향후 연구에서는 혼합 전략(hybrid strategy) 하에서의 최적 전략을 탐색함으로써, 보다 효과적인 기만 기법과 전략을 제시할 계획이다.