클라우드 환경 스케줄러 취약점과 공격

클라우드 환경 스케줄러 취약점과 공격
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 Xen 하이퍼바이저의 CPU 스케줄러에 존재하는 설계 결함을 밝혀내고, 이를 이용해 가상 머신이 다른 사용자에게 할당된 공정한 CPU 시간을 거의 전부 독점할 수 있음을 실험적으로 증명한다. 또한 Amazon EC2와 같은 상용 클라우드 서비스에서의 영향과, 제안된 방어 메커니즘이 오버헤드 없이 취약성을 차단함을 보여준다.

상세 분석

Xen 하이퍼바이저는 가상 머신(VM) 간에 CPU 시간을 공정하게 분배하기 위해 credit‑based scheduler를 사용한다. 이 스케줄러는 각 VM에 할당된 credit 값을 기준으로 실행 순서를 결정하고, 일정 주기마다 credit을 재조정한다. 논문은 이 과정에서 “idle‑time detection” 메커니즘이 부정확하게 구현되어 있음을 지적한다. 구체적으로, VM이 짧은 시간 동안 CPU를 사용하지 않을 경우, 하이퍼바이저는 이를 ‘idle’ 상태로 판단하고 credit을 회수한다. 공격자는 고해상도 타이머를 이용해 의도적으로 짧은 ‘sleep’ 구간을 삽입함으로써 하이퍼바이저가 해당 VM을 idle 로 오인하도록 만든다. 결과적으로 공격 VM은 credit 회수 없이 지속적으로 실행될 수 있으며, 다른 VM은 credit이 감소해 스케줄링 우선순위가 낮아진다.

두 가지 구현 경로가 제시된다. 첫 번째는 커널 모드에서 직접 하이퍼콜을 호출해 타이머 인터럽트를 조작하는 방법이며, 두 번째는 사용자 공간에서 usleep 혹은 nanosleep을 반복 호출해 동일한 효과를 얻는 방법이다. 실험 결과, 공격 VM은 98 %에 달하는 CPU 점유율을 달성했으며, 이는 할당된 fair‑share 비율과 무관하게 유지되었다.

클라우드 서비스 제공자 입장에서 이 취약점은 심각한 비즈니스 리스크를 만든다. Amazon EC2와 같이 사용량 기반이 아닌 시간 기반 과금 모델을 채택한 경우, 공격자는 실제 사용한 CPU 자원보다 적은 비용만 지불하고도 다른 고객의 자원을 독점할 수 있다. 논문은 Amazon에 책임 있는 공개 절차를 통해 취약점을 보고했으며, 이후 적용된 패치가 공격을 무력화함을 확인하였다.

방어 전략으로는 세 가지 주요 수정이 제안된다. 첫째, idle‑time 판단 기준을 고정된 시간 창이 아닌 실제 CPU 사용량 측정으로 전환한다. 둘째, credit 회수 로직에 하이퍼바이저‑레벨의 최소 사용량 보장을 도입해 급격한 credit 감소를 방지한다. 셋째, VM 내부에서의 고해상도 타이머 사용을 제한하거나, 타이머 인터럽트 발생 시 스케줄러가 즉시 credit을 재평가하도록 한다. 이러한 수정은 실험적으로 0.1 % 이하의 오버헤드만을 발생시켰으며, 공격 시나리오를 완전히 차단했다.

결론적으로, 이 논문은 클라우드 환경에서 하이퍼바이저 스케줄러가 공격 표면이 될 수 있음을 경고하고, 설계 단계에서 공정성 보장을 위한 정밀한 자원 측정과 회수 메커니즘이 필요함을 강조한다.


댓글 및 학술 토론

Loading comments...

의견 남기기