
KeePass 메모리 누수 취약점(CVE-2023-32784)에 대한 공격 및 심층 방어 완화 전략.
KeePass Password Safe (v2.53)의 CVE-2023-32784 취약점을 분석하고, 메모리 덤프를 통한 마스터 비밀번호 추출을 시연하며, 강력한 탐지 및 완화 통제를 설계합니다.
KeePass는 마스터 비밀번호 입력을 위해 맞춤형 SecureTextBoxEx를 사용하며, 입력된 문자마다 프로세스 주소 공간에 문자열 조각을 남깁니다. 실행 중인 프로세스의 .DMP 파일을 캡처하면 이러한 조각들을 조합하여 평문 비밀번호를 재구성할 수 있습니다.
팀이 익스플로잇 및 완화 단계를 협력하는 동안, 나는 구체적으로 Windows 보안 감사를 활용한 취약점 설계 및 탐지 전략을 설계했습니다:
프로세스 생성 감사 (이벤트 ID 4688): 전체 명령줄 인수를 포함한 모든 프로세스 실행을 기록하도록 그룹 정책을 구성했습니다. 이를 통해 C# 익스플로잇 도구(keepass_password_dumper.exe KeePass.DMP)의 정확한 실행 문자열을 성공적으로 캡처했습니다.
개체 액세스 감사 (이벤트 ID 4663 및 4656): KeePass.exe 및 Database.kdbx에 대한 파일 시스템 감사를 구성했습니다. 이로 인해 중요한 메모리 공간에 대한 핸들 액세스 또는 요청 시도가 있을 때마다 경고가 트리거되었습니다.
액세스 제어: 로컬 보안 정책을 통해 표준 사용자로부터 '프로그램 디버그' 권한을 제거하여 OS 수준에서 무단 메모리 덤프 생성을 방지했습니다.
암호화: XTS-AES 128비트 암호화를 사용하는 BitLocker 전체 디스크 암호화를 배포하여 저장 상태의 메모리 덤프와 페이징 파일을 보호했습니다.