Linux 6.9, LUKS 키 메모리 상주 보안 이슈 발생

by DD
1일 전
조회수 0

Linux 6.9 버전부터 LUKS 암호화 키가 시스템 재개(Resume) 후에도 메모리에 잔존하는 문제가 발견됨

`luksSuspend` 훅 사용 시, 드라이브 잠금은 되지만 키가 메모리에서 완전히 제거되지 않는 예상치 못한 동작이 보고됨

해당 문제는 배포판별 기본 설정에 따라 다르며, 모든 LUKS 사용자에게 영향을 주는 것은 아님

LUKS 키 관리와 `luksSuspend`의 오해

커뮤니티에서는 `luksSuspend` 훅이 시스템 일시 중단(Suspend) 전에 드라이브를 잠그면서도 RAM 상태를 유지하는 방식에 혼란을 겪고 있다. 예상과 달리, 키가 메모리에서 완전히 제거되지 않고 잔존하는 현상이 지적된다. 이는 `luksSuspend`가 키를 제거했다고 판단하더라도, 메모리 어딘가에 키의 복사본이 남아있을 수 있음을 시사한다.

배포판별 기본 설정의 차이

해당 이슈는 모든 LUKS 사용자에게 동일하게 적용되는 것이 아니라, 배포판별 기본 설정에 따라 달라질 수 있다고 언급된다. 일부 배포판에서는 시스템 재개 시 키 재입력을 요구하지만, `luksSuspend`를 기본으로 사용하는 경우 키가 메모리에 상주하는 것이 예상된 동작일 수 있다는 설명이다. Debian이 이러한 설정을 사용하는 유일한 배포판일 가능성이 제기되었다.

보안 영향 및 잠재적 위험

이 문제는 시스템이 일시 중단된 상태에서 물리적 접근이 가능할 경우, 메모리에 잔존하는 LUKS 키를 통해 데이터 유출 위험이 발생할 수 있다는 점을 시사한다. 특히 `luksSuspend`를 사용하지 않더라도, 키가 메모리에서 완전히 정리되지 않는 유사한 메커니즘이 존재할 가능성이 제기되었다. 이는 데이터 격리 아키텍처(Data Isolation Architecture) 측면에서 중요한 보안 고려 사항이다.

Since Linux 6.9 (May 2024), the LUKS encryption key remained resident in memory across suspend