가상머신 부채널 공격 (VM Side-Channel Attack)
쉽게 풀면
부채널 공격은 금고의 비밀번호를 직접 훔쳐보는 대신, 금고 다이얼을 돌릴 때 나는 미세한 소리나 걸리는 느낌을 분석해서 번호를 추측해내는 것과 비슷합니다. 가상머신 부채널 공격도 마찬가지로, 옆방에 세든 다른 가상머신의 데이터를 직접 훔쳐보는 것이 아니라, 같은 물리 서버의 CPU 캐시나 메모리 같은 공유 자원을 사용할 때 남는 흔적(속도 변화, 사용 패턴 등)을 관찰해 간접적으로 민감한 정보를 알아내려는 시도입니다.
왜 중요한가
클라우드 환경에서는 서로 모르는 여러 고객의 가상머신이 같은 물리 서버 위에서 함께 실행되는 멀티테넌시 구조가 일반적입니다. 정보보안학과 클라우드 보안 연구에서는 이런 공유 자원 구조 자체가 부채널 공격의 근본 원인이 될 수 있다고 보고, 이를 탐지하고 완화하는 기법을 지속적으로 연구하고 있습니다.
논문에서는 이렇게 쓰입니다
실제 공유 자원을 이용한 부채널 공격 가능성을 실험한 연구를 설명하는 예문입니다.
공격 가능성을 줄이는 예방적 접근을 다루는 연구를 설명하는 예문입니다.
조금 더 깊게 보면
가상머신 부채널 공격은 흔히 CPU 캐시, 메모리 버스, 전력 소비 패턴 등 물리적으로 공유되는 자원의 특성을 관찰 대상으로 삼습니다. 공격자는 자신의 가상머신을 피해자의 가상머신과 같은 물리 서버에 배치시키는 것을 시도의 첫 단계로 삼는 경우가 많다고 알려져 있습니다. 이에 대한 방어책으로는 자원 사용 패턴을 감추는 기법이나, 민감한 워크로드를 격리된 하드웨어에 배치하는 방식 등이 연구되고 있습니다. 가상머신 사이드채널 공격은 동일 물리 서버에 함께 올라간 가상머신들이 CPU 캐시나 메모리 버스 같은 하드웨어 자원을 공유한다는 점을 악용해, 캐시 접근 패턴 같은 간접 정보로 다른 VM의 데이터를 유추합니다. 대표 기법으로는 캐시 타이밍을 이용한 Prime+Probe 공격이 자주 연구 대상이 됩니다.
주의할 점
부채널 공격은 공격 난이도가 높고 특정 조건이 갖춰져야 성립하는 경우가 많아, 모든 클라우드 환경에서 동일한 위험도로 발생한다고 보기는 어렵습니다. 그럼에도 민감한 정보를 다루는 시스템에서는 이러한 위협 가능성을 배제하지 않고 설계 단계부터 고려하는 것이 바람직합니다.
공격이 성립하려면 공격자의 가상머신이 피해자와 동일한 물리 서버에 배치되어야 하는 등 여러 전제조건이 필요하므로, 위협 가능성을 인지하되 과장된 위험도로 오해하지 않는 것이 중요합니다. 이 공격은 가상화 계층 자체의 취약점이 아니라 하드웨어 자원 공유 구조에서 비롯되므로, 소프트웨어 패치만으로 완전히 차단하기 어렵다는 한계가 있습니다.