Linux 6.9, LUKS 키 메모리 상주 보안 이슈 발생
Linux 6.9 버전부터 LUKS 암호화 키가 시스템 재개(Resume) 후에도 메모리에 잔존하는 문제가 발견됨
`luksSuspend` 훅 사용 시, 드라이브 잠금은 되지만 키가 메모리에서 완전히 제거되지 않는 예상치 못한 동작이 보고됨
해당 문제는 배포판별 기본 설정에 따라 다르며, 모든 LUKS 사용자에게 영향을 주는 것은 아님
LUKS 키 관리와 `luksSuspend`의 오해
커뮤니티에서는 `luksSuspend` 훅이 시스템 일시 중단(Suspend) 전에 드라이브를 잠그면서도 RAM 상태를 유지하는 방식에 혼란을 겪고 있다. 예상과 달리, 키가 메모리에서 완전히 제거되지 않고 잔존하는 현상이 지적된다. 이는 `luksSuspend`가 키를 제거했다고 판단하더라도, 메모리 어딘가에 키의 복사본이 남아있을 수 있음을 시사한다.
배포판별 기본 설정의 차이
해당 이슈는 모든 LUKS 사용자에게 동일하게 적용되는 것이 아니라, 배포판별 기본 설정에 따라 달라질 수 있다고 언급된다. 일부 배포판에서는 시스템 재개 시 키 재입력을 요구하지만, `luksSuspend`를 기본으로 사용하는 경우 키가 메모리에 상주하는 것이 예상된 동작일 수 있다는 설명이다. Debian이 이러한 설정을 사용하는 유일한 배포판일 가능성이 제기되었다.
보안 영향 및 잠재적 위험
이 문제는 시스템이 일시 중단된 상태에서 물리적 접근이 가능할 경우, 메모리에 잔존하는 LUKS 키를 통해 데이터 유출 위험이 발생할 수 있다는 점을 시사한다. 특히 `luksSuspend`를 사용하지 않더라도, 키가 메모리에서 완전히 정리되지 않는 유사한 메커니즘이 존재할 가능성이 제기되었다. 이는 데이터 격리 아키텍처(Data Isolation Architecture) 측면에서 중요한 보안 고려 사항이다.