[review#23] Moving Target Defense: creating asymmetric uncertainty for cyber threats

미국 정부(OSTP, NITRD)가 ‘사이버 보안 혁신’을 위해 제시한 3대 테마 중 하나가 Moving Target Defense (MTD)

컴퓨터 침입 방어에서 가장 골치 아픈 문제 중 하나는, 보안 소프트웨어 개발 관행이 상당히 발전했음에도 불구하고 여전히 끝없이 발견되는 취약한 소프트웨어 버그의 존재이다. 주요 소프트웨어 벤더들은 최소 한 달에 한 번(예: 패치 화요일(Patch Tuesday)) 배포된 소프트웨어 코드 기반에서 발견된 취약점을 수정하는 패치를 발표한다. 이 패치들은 종종 취약점이 이미 알려지고, 일부 경우에는 수개월 또는 수년 동안 악용된 후에야 발표된다. 현재 배포된 시스템에서는 공격자가 고정된 대상을 연구하여 취약점을 찾아낸 뒤, 해당 취약점을 악용해 다른 사람의 컴퓨터와 네트워크에 특권 접근을 얻을 수 있는 ‘노출 창구(window of exposure)’가 존재한다. 이 창구는 공격이 감지되고, 취약점이 발견되며, 패치가 배포되고 널리 적용되기까지 계속 열려 있다. 이 과정의 역학은 공격자에게 유리하게 작용하는데, 공격자는 단 하나의 취약점만 찾아내면 되고, 반면 방어자는 모든 취약점이 제거되어야 하기 때문이다. 공격자는 소프트웨어 코드를 충분히 분석할 시간을 갖지만, 방어자는 공격자가 언제 공격을 감행할지 알 수 없다. 또한, 방어자는 일반적으로 공격이나 취약점이 알려진 이후에야 이를 차단할 수 있기 때문에, 제로데이 취약점을 이용한 공격에 대해 공격자가 자동적으로 우위를 가지게 된다.

이러한 배경 속에서, 방어자와 공격자 간의 불균형을 해소하기 위해 Moving Target Defense(MTD) 개념이 개발되었다. MTD의 기본 개념은 방어 대상 시스템의 공격 표면(attack surface)을 동적으로 변화시킴으로써, 공격자가 대상 시스템을 오프라인에서 충분히 연구하고 공격 시점에 사용할 취약점을 찾을 수 있는 이점을 제거하는 것이다. MTD 시스템은 공격자가 공격 시점에 취약점을 예측할 수 없도록 하는 한, 취약점이 존재하더라도 확률적인(probablistic) 보호를 제공한다. MTD는 백악관의 사이버 보안 연구개발 전략 계획(White House’s strategic plan for cyber security research and development)에서 네 가지 핵심 추진 분야 중 하나로 선정되었다.

MTD 1권에서는 MTD의 기초 이론, 소프트웨어 변환 기반 접근법, 그리고 네트워크 및 소프트웨어 스택 구성 변경 기반 접근법에 대한 논문들을 소개하였다.

이번 MTD 2권에서는, 저명한 연구자들이 모여 게임 이론 기반 접근법, 사이버 기동(cyber maneuver) 전략, 그리고 소프트웨어 변환 기법을 활용하여 MTD 시스템을 구성하고 분석하는 방법을 다루고 있다.


이 책의 각 장에서는 게임 이론 기반 접근법, 네트워크 기반 사이버 기동(cyber maneuver), 소프트웨어 변환을 바탕으로 한 다양한 MTD(Moving Target Defense) 도전 과제와 유망한 해결 경로들을 소개한다

Chap. 1: Manadhata가 이동 표적 방어(MTD) 접근법에서 공격 표면(attack surface) 이동의 활용을 탐구한다.
이 장에서는 소프트웨어 시스템의 공격 표면 이동 개념을 공식화하고, 이동 정도를 정량화하는 방법을 제시하며, 최적의 이동 표적 방어 전략을 결정하기 위한 게임 이론적 접근법을 소개한다.

Chap. 2: Jain 외 연구진이 보안을 위한 게임 이론 적용이라는 현실적이고 도전적인 문제를 다룬다. 이들은 대규모 현실 보안 게임(large-scale real-world security games)의 주요 아이디어와 알고리즘, 이 분야의 주요 미해결 연구 과제들, 그리고 초기 성공 사례를 함께 제시한다.

제3장에서는 Bilar 외 연구진이 Conficker 웜과 그에 대응하는 방어 기법들의 공진화(coevolution) 과정을 자세히 연구하고, 이를 설명하는 정량적 모델을 제시한다. 이 연구는 공격자와 방어자가 서로에게 이동하는 표적이 된다는 점, 즉 한쪽의 발전이 다른 쪽의 대응을 촉발하는 과정을 구체적으로 보여준다.

제4장에서는 Gonzalez가 개인 수준에서 인간 행동을 모델링하는 현재의 계산 모델(computational model) 현황을 요약하고, 이를 2인 비협력 동적 사이버 보안 상황(즉, 방어자와 공격자 간 상호작용) 예측 문제로 확장하는 데 있어 도전과 가능성을 논의한다.

이후 두 장에서는 네트워크 문맥에서의 사이버 기동(cyber maneuver) 을 탐구한다.

제5장에서는 Torrieri 외 연구진이 외부 소스 및 내부자의 공격(예: 재밍(jamming))으로 인한 연구 과제와 도전 과제를 식별하고, 이를 해결하기 위한 전파 스펙트럼 키(spread-spectrum keys) 개념에 기반한 일반적 프레임워크를 제안한다. 이 프레임워크는 고수준 네트워크 암호 키를 보완하며, 외부 및 내부 공격에 대한 저항 및 대응 수단을 제공한다.

제6장에서는 Yackoski 외 연구진이 IPv6 기반 네트워크 아키텍처를 설명한다. 이 아키텍처는 암호학적으로 강력한 동적 변화를 통해 공격자가 네트워크 내에서 계획, 확산, 통신하는 능력을 제한하는 구조를 갖춘다.

마지막 장들은 소프트웨어 변환 기반의 MTD 접근법을 다룬다.

제7장에서는 Le Goues 외 연구진이 Helix Metamorphic Shield를 소개한다. 이 기술은 프로그램의 공격 표면을 공간적(spatial) 및 시간적(temporal) 차원 모두에서 지속적으로 변화시키고, 진화 알고리즘(evolutionary algorithms) 을 활용해 자동으로 취약점을 수정함으로써 공격 표면을 줄인다. 공격 표면을 이동시키는 것과 줄이는 것의 상호작용을 통해 시간이 지남에 따라 품질이 향상되는 새로운 프로그램 변종들이 자동으로 생성된다.

제8장에서는 Jackson 외 연구진이 그들의 컴파일러 기반 자동 코드 다변화(automated compiler-based code diversification) 기법을 검토하고, 이에 대한 심층적인 성능 분석과 함께, 실제 시스템 스택 전체를 다변화함으로써 현실 적용 가능성을 입증한다.

마지막 제9장에서는 Pappas 외 연구진이 인플레이스 코드 무작위화(in-place code randomization) 기법을 소개한다. 이 기술은 제3자 소프트웨어(third-party software)에도 직접 적용할 수 있으며, 이를 통해 취약성이 내재된 Windows 7 애플리케이션을 강화하고, ROP(return-oriented programming) 공격에 대해 확률적(probablistic) 보호를 제공하는 방법을 시연한다.

Leave a Comment