🇰🇷 한글 설명
Linux kernel 2.6.32부터 4.x까지 KSM(Kernel Samepage Merging)이 write-timing side channel을 방지하지 못하여 게스트 OS 사용자가 다른 게스트 OS의 ASLR 보호를 우회할 수 있습니다. 메모리 중복 제거 기능은 상호 신뢰할 수 없는 테넌트 간 정보 유출이 본질적으로 가능하므로, 이 공격을 우려한다면 중복 제거를 비활성화할 것을 권장합니다.
💡 쉬운 설명
가상 머신 환경에서 메모리 절약 기능의 작동 타이밍을 분석하여 다른 가상 머신의 메모리 정보를 유출할 수 있습니다. 이를 통해 보안 메커니즘을 우회하고 시스템 공격을 가능하게 합니다.
🇺🇸 원문 (English)
Kernel Samepage Merging (KSM) in the Linux kernel 2.6.32 through 4.x does not prevent use of a write-timing side channel, which allows guest OS users to defeat the ASLR protection mechanism on other guest OS instances via a Cross-VM ASL INtrospection (CAIN) attack. NOTE: the vendor states "Basically if you care about this attack vector, disable deduplication." Share-until-written approaches for memory conservation among mutually untrusting tenants are inherently detectable for information disclosure, and can be classified as potentially misunderstood behaviors rather than vulnerabilities
📍 영향받는 시스템
Linux kernel 2.6.32부터 4.x 버전 (KSM 활성화 시)
⚔️ 공격 벡터
Cross-VM timing side-channel analysis를 통한 write-timing 패턴 분석으로 메모리 주소 정보 유출
🛡️ 대응 방법
KSM 비활성화 또는 신뢰할 수 없는 게스트 OS 격리
🔧 검증 코드
KSM run 파일이 존재하고 값이 1이면 KSM이 활성화되어 있어 취약점 영향을 받으므로 비활성화 필요
cat /sys/kernel/mm/ksm/run 2>/dev/null && [ $(cat /sys/kernel/mm/ksm/run) -eq 1 ] && echo 'VULNERABLE: KSM enabled' || echo 'Safe or not available'