1. INTRODUCTION
사이버 공격을 어렵게 만들기 위해 시스템을 동질적(homogeneous), 정적(static), 결정론적(deterministic)이지 않게 만드는 사이버 이동 표적 기법의 개요를 제공한다.
각 기법의 기술적 세부 사항을 설명하고, 해당 기법과 연관된 적절한 위협 모델을 식별하며, 구현 및 운영 비용을 파악한다.
현재 제안된 공격 및 우회 악용 사례를 바탕으로 각 기법의 취약점을 설명하고, 해당 분야의 향후 연구 방향을 제시한다.
1.1 Taxonomy of Moving-Target Techniques
five top-level categories, two subcategories of moving-target techniques

1. Dynamic Data
data format, syntax, encoding, or representation
2. Dynamic Software
코드 자체 또는 실행 구문을 동적으로 변경
프로그램 명령어 수정
변경 사항: 프로그램 명령어의 수정, 명령어 순서 변경, 명령어 그룹화 변경, 명령어 형식 변경
3. Dynamic Runtime Environment
Address Space Randomization
메모리 레이아웃을 동적으로 변경하는 기술
프로그램 코드, 라이브러리, 스택/힙, 개별 함수의 위치
Instruction Set Randomization
운영체제가 애플리케이션에 제공하는 인터페이스를 동적으로 변경하는 기술
인터페이스 범주: I/O device 조작에 사용되는 프로세서 및 시스템 호출
4. Dynamic Platforms
플랫폼 속성을 동적으로 변경하는 기술
– 예: OS 버전, CPU 아키텍처, OS 인스턴스, 플랫폼 데이터 형식
5. Dynamic Networks
네트워크 속성을 동적으로 변경하는 기술
– 네트워크 속성 예: 프로토콜, 주소
1.2 Taxonomy of Attack Techniques
Common Attack Pattern Enumeration and Classification (CAPEC) attack
1. Data Leakage Attacks
시스템 내 중요 정보를 적극적으로 노리는 공격
– 예: 메모리에서 암호화 키 유출
2. Resource Attacks
시스템 내 공유 자원을 고갈시키거나 조작하는 공격
– 예: CPU 포화 상태를 이용한 서비스 거부 공격
3. Injection
시스템에 악의적인 동작을 강제하는 공격
a. Code Injection
악성 코드를 삽입하여 시스템에 악의적인 동작을 강제하는 공격
– 예: 버퍼 오버플로우, 스크립트 인젝션; SQL 인젝션
b. Control Injection
악성 코드 없이 시스템의 제어를 조작하여 악의적인 동작을 강제하는 공격
– 제어의 포함 범위: 타이밍 순서, 다양한 연산의 인자
– 기존 코드 조각들을 연결하여 악의적인 동작을 달성하는 리턴 지향 프로그래밍 (ROP)
4. Spoofing
사용자나 시스템의 신원을 위조하는 공격
– 예: 중간자 공격(man-in-the-middle attack), 피싱 공격
5. Exploitation of Authentication (인증 악용)
시스템의 명시적 또는 암묵적 인증 프로세스를 손상시키는 공격
– 예: 크로스 사이트 스크립팅
6. Exploitation of Privilege/Trust (권한/신뢰 악용)
부여된 권한을 오용하는 공격
– 예: 세션 하이재킹
7. Scanning
수동적으로 또는 비침입적인 방식으로 정보를 수집하는 공격
– 예: 포트 스캐닝
8. Supply Chain/Physical Attacks
시스템의 공급망이나 물리적 보안을 대상으로 하는 공격
– 예: 악성 프로세서
1.3. Taxonomy of Entities Protected
1. Applications
모든 또는 특정 애플리케이션들이 네트워크 엔티티나 동일 시스템에서 실행되는 다른 애플리케이션들로부터 보호됨
– 예: 다른 애플리케이션으로부터 애플리케이션 메모리 위치 보호, 데이터베이스 애플리케이션 보호
2. Operating System
운영체제가 네트워크 엔티티나 그 위에서 실행되는 악성 애플리케이션으로부터 보호됨
이 보호는 주로 권한 상승이나 커널 공간 및 다른 애플리케이션에 대한 접근을 방지하려 함
– 예: 의심스러운 애플리케이션 샌드박싱
3. Machine
모든 또는 특정 유형의 머신(클라이언트, 호스트, 서버라고도 함)이 다른 네트워크 엔티티들로부터 보호됨
– 예: 스캐닝을 어렵게 하기 위한 IP 주소 변경, 방화벽 뒤의 웹 서버 보호
4. Network
네트워크나 서브넷이 다른 네트워크들로부터 보호됨
– 예: 악의적인 연결로부터 보호하기 위해 VPN 게이트웨이의 IP 주소를 동적으로 변경
5. Traffic
모든 또는 특정 유형의 네트워크 트래픽이 기밀성 및/또는 무결성이 보호됨
– 예: 트래픽 인젝션을 어렵게 하기 위해 프로토콜을 동적으로 변경
6. Session
사용자 작업 세트(세션 또는 트랜잭션)가 다른 신뢰할 수 없는 작업으로부터 보호됨
– 예: 동일 머신에서 브라우징된 다른 웹 페이지로부터 보안 웹 트랜잭션 보호
7. Data
애플리케이션이 처리하거나 머신에 저장된 데이터의 기밀성 또는 무결성이 보호됨
– 예: 악의적인 데이터 수정을 방지하기 위한 데이터 인코딩 변경
1.4 Cyber Kill Chain

1.5 Taxonomy of Weaknesses
1. Overcome Movement
움직임이 발생하고 그 패턴이 무작위이거나 통제되더라도, 공격자가 MT 기술로 보호된 표면을 여전히 공격할 수 있는 취약점
– 예: 주소 공간 무작위화를 극복하기 위해 익스플로잇의 많은 복사본을 주입하는 것
2. Predict Movement
움직임이 발생하고 그 패턴이 무작위이거나 통제되더라도, 공격자가 MT 기술로 보호된 표면을 여전히 공격할 수 있는 취약점
– 예: 라이브러리의 위치를 예측하기 위해 주소를 유출하는 것
3. Limit Movement
움직임은 발생하지만, 그 패턴이 공격자의 행동에 의해 제한되는 취약점
– 예: 주소 공간 무작위화의 무작위성을 제한하기 위해 메모리를 채우는 것(코드 스프레이)
4. Disable Movement
공격자가 명시적으로 움직임을 비활성화하는 취약점
– 예: 잘못된 설정을 푸시하여 OS에서 주소 공간 무작위화를 비활성화하는 것
1.6 Scope
2011년 버전 이후 100개 이상의 소스 식별
1.7 Organization
특별히 강조되는 측면: 각 기술의 배포 비용, 구현 및 운영의 복잡성, 대상으로 하는 사이버 킬체인 측면
2. DYNAMIC DATA
2.1 Data Diversity Through Fault Tolerance
2.2 Redundant Data Diversity 10
2.3 Data Randomization 14
2.4 End-to-End Software Diversification 17
2.5 Diglossia 21
2.6 NOMAD 24
2.7 HERMES 27
2.8 Content Randomization of Microsoft Office Documents 30
3. DYNAMIC SOFTWARE 33
3.1 CCFIR: Compact Control Flow Integrity and Randomization
3.2 Software Diversity Using Distributed Coloring
3.3 Security Agility for Dynamic Execution Environments
3.4 Proactive Obfuscation 42
3.5 Program Differentiation 45
3.6 Program Partitioning and Circuit Variation 3.7 librando 51
3.8 RedHerring 54
3.9 Reverse Stack Execution in a Multivariant Execution Environment
3.10 GenProg: A Generic Method for Automatic Software Repair
3.11 Distributed Application Tamper Detection Via Continuous Software Updates 33
References
Ward, B. C., Gomez, S. R., Skowyra, R., Bigelow, D., Martin, J., Landry, J., & Okhravi, H. (2018). Survey of cyber moving targets second edition (No. TR1228).
C.A.P. Enumeration, “Classification (CAPEC),” (2013), https://capec.mitre.org.