목차 1. Amcache.hve 파일 소개 2. Amcache.hve 파일 위치 및 구조 3. Amcache.hve 파일 분석(방법) 4. Amcache.hve SHA-1 값 5. 결론
1. Amcache.hve 파일 소개
Amcache.hve 파일은 본래 윈도우 7에서 사용하던 'RecentFileCache.bcf' 아티팩트를 윈도우 8이상의 운영 체제에서 사용되는 아티팩트로 계승되었습니다. 이 파일은 Application Compatibility Cache의 줄임말입니다. 시스템에서 실행된 프로그램과 관련된 정보를 저장합니다. 레지스트리 일부는 아니지만, 하이브 구조를 가지고 있어 하이브 형식으로 저장되며, 프로그램 실행 기록, 파일 경로, 타임스탬프 등 다양한 정보를 가지고 있습니다.
2. Amcache.hve 파일 위치 및 구조
Amcache.hve 경로 : C:\Windows\AppCompat\Programs\Amache.hve (%systemroot%/appcompat/Programs/Amcache.hve) 이 파일은 하이브 형식으로 저장되며 주요키로는 다음과 같습니다.
- Root\File : 실행된 프로그램의 파일 경로, 크기, 타임스탬프 등의 정보를 저장 - Root\Programs : 실행된 프로그램의 이름, 버전, 언어 등의 정보를 저장합니다. - Root\InventoryApplicationFile : 설치된 프로그램의 파일 정보를 저장합니다. - Root\InventoryApplication : 설치된 프로그램의 이름, 버전, 언어 등의 정보를 저장합니다.
3. Amcache.hve 파일 분석
파일을 분석하는데 Registry Explorer 를 사용하였습니다. 이 도구를 이용해 Amcache.hve 파일에 접근합니다(관리자 권한 실행)
Reg Explorer로 확인한 결과 사진
위 사진 처럼 내 디바이스의 OS가 언제 설치 되었는지 그 OS의 언어 Pro인지와 같은 정보들도 확인 가능합니다.
4월1일에 Dism++ 을 설치한 사진
위 사진처럼 인벤토리 응용파일 폴더 안에서 확인 해본 결고 언제 내가 Dism 파일을 설치 했는지와 경로까지 다 나오는 것 또한 확인이 가능했습니다. 맨 오른쪽에 있는 값은 SHA-1 해시를 나타내는데 SHA-1은 해시값이 이미 알려진 악성프로그램과 비교해서 악성프로그램의 여부도 확인 가능합니다.
4. Amcache.hve SHA-1 값
Amcache.hve 파일에는 실행된 프로그램의 SHA-1 해시값이 저장될 수 있는데 이는 프로그램의 "무결성" 을 확인하고 변조 여부를 판단하는데 큰 역할을 합니다. 하지만 이러한 해시값에 제한 사항이 존재하는데 그 사항은 다음과 같습니다. - 프로그램의 크기가 일정 크기(약1MB)이상인 경우, SHA-1 해시값이 부정확하게 기록될 수 있습니다. - SHA-1해시는 Windows 성능상의 이유로 전체 파일을 해시하지 않고 파일의 처음 31,457,280Byte만 저장됩니다. 따라서 파일이 해당 바이트를 넘어버리면 처음 바이트만 해시값에 사용됨으로 그 이후의 값은 무결성은 체크가 되지않는다는 것을 알 수 있습니다.
5. 결론
Amcache.hve 파일은 윈도우 8 이상의 시스템에서 실행된 프로그램과 관련된 중요한 정보를 저장하는 아티팩트입니다. 이러한 아티팩트는 포렌식 조사에 필수적인 정보를 얻을 수 있기에 포렌식을 하면 반드시 알아야하는 아티팩트입니다. 물론 만능은 아니기에 4번에서 말한 제한 사항 SHA-1해시 값의 부정확성, 사용자가 수정할 수도 있다는 점을 사전에 알고 있어야 한다는 것입니다.