본문 바로가기

백업과 복원, 복제/GSS - Ghost 11.5.1

[GSS - Ghost] -fcr, -crc32 : 백업시 CRC32 체크 파일을 생성하기, 변조 여부 검사하기

-fcr, -crc32 : GHO 이미지 파일의 변조 여부 검사하기

* 시작하기에 앞서! 이것은 GHO 이미지 파일 자체의 오류를 검사하는 것이 아닌 CRC 체크를 통해 포함된 파일들을 확인하고 이미지 파일의 변조 여부를 확인하는 것입니다. 이미지 파일 자체의 오류를 검사하는 것은 아래의 글을 참고하세요.

[GSS - Ghost] 고스트를 통해 GHO 이미지 파일의 오류 검사하기

* 예제는 64비트 고스트를 통해 작업하였습니다. 16비트, 32비트 고스트도 명령은 동일합니다.
* 16비트 고스트 = Ghost.exe     * 32비트 고스트 = Ghost32.exe      * 64비트 고스트 = Ghost64.exe


1. CRC32 체크섬 파일 만들기

고스트에는 이미지 파일의 변조 여부를 확인할 수 있는 CRC 파일을 생성하는 기능이 포함되어 있습니다. 이는 -crc32 스위치를 통해 만들 수 있지만, -crc32 스위치가 -clone 스위치만큼 복잡한 스위치인지라 설명하기가 상당히 복잡합니다. 스위치 구조는 -clone 스위치와 흡사하니 관심있으신 분들은 메뉴얼 글을 참고해보시길 바랍니다.



아무튼 -crc32 스위치 외에도 백업 작업에 -fcr 스위치를 적용하면 백업과 동시에 백업 이미지 파일의 CRC 파일을 만들 수 있습니다.

ghost64 -clone,mode=pcreate,src=7:1,dst=T:\DriveJ.gho -sure -z2 -fx -fcr=T:\DriveJ.crc


* 참고로 -crc32 스위치를 사용하여 이미 생성한 백업 이미지 파일에 대한 CRC 파일을 만들 수도 있습니다. 백업 이미지 파일에 대한 CRC 생성 작업은 dcreate 이며 명령은 아래와 같습니다.

ghost64 -crc32,action=dcreate,src=T:\DriveJ.gho,crcfile=T:\DriveJ.crc -sure -fx

-crc32 스위치의 명령 구조는 -clone 스위치와 거의 흡사하고, 위에서 -fcr 을 통해 CRC 를 생성한 것과 동일하게 작업한 것이니 비교하여 보시면 이해하시기 편하실 겁니다.




2. CRC 체크를 통해 이미지 파일의 변조 여부 검사하기

이제 이렇게 생성된 CRC 체크섬 파일을 통해 이미지 파일의 변조 여부를 검사할 수 있습니다. 해당 작업은 -crc32 스위치를 통해 진행할 수 있으며 이미지 파일의 CRC 를 검사하는 것은 dverify 가 담당합니다. 대충 아래와 같습니다. [* 처음 정리하는 것이니 작업엔 -sure 스위치를 적용하지 않았습니다. 평상시엔 적용하여 사용하시면 됩니다.]

action : 이미지 파일 검사 = dverify
src      : GHO 이미지 파일
crcfile : 검사에 사용할 CRC 파일
vlist    : 검사 결과를 저장할 리스트 파일 (기본값은 LS 이지만 TXT 파일로 저장해도 상관 없음)


ghost64 -crc32,action=dverify,src=T:\DriveJ.gho,crcfile=T:\DriveJ.crc,vlist=T:\DriveJ.txt







이미지 파일이 변조되지 않았으면 않았으면 (-sure 스위치를 적용하지 않은 경우) Found 0 difference 가 출력된 후 작업이 정상적으로 종료되며, 생성된 검사 결과 리스트 파일에서도 아무런 문제가 없는 것으로 표시됩니다. 그럼 해당 백업 이미지 파일은 생성할 때와(CRC 체크 파일을 만들었을 때와) 100% 동일한 파일인 거죠.



3. 만약에 이미지 파일이 변조되었다면?

* FAT32 백업본 기준! 참고로 지금의 설명은 FAT32 파티션을 백업한 백업 이미지에 해당하는 내용입니다. NTFS 파티션을 백업한 경우와는 조금 다르기 때문에 정확한 내용은 다음 단락을 함께 참고하세요.

그렇다면 만약에 이미지 파일이 변조되었다면 어떻게 될까요? 간단하게 고스트 익스플로러를 통해 이미지 파일 안의 내용을 수정해보도록 하겠습니다. 아래와 같이 7 개의 파일을 삭제해보죠.



이와 같이 이미지 파일의 내용을 변경한 후 동일하게 CRC 체크를 실행한 결과입니다.

ghost64 -crc32,action=dverify,src=T:\DriveJ.gho,crcfile=T:\DriveJ.crc,vlist=T:\DriveJ.txt





보시는 것과 같이 7 개의 다른 점을 발견했다고 표시해주게 됩니다. 그리고 고스트는 에러 코드를 출력하고 종료되죠. 생성된 검사 결과 파일을 열어서 확인해보면 어떠한 파일들이 변경되었거나, 빠졌는지 확인할 수 있습니다.

참고로 이건 FAT 또는 FAT32 와 같이 원본이 FAT 파일 시스템으로 포맷된 경우에만 해당하는 내용으로 원본이 NTFS 파일 시스템인 경우에는 조금 다릅니다.






FAT32 백업 이미지와 NTFS 백업 이미지의 CRC 체크 차이점

아래는 FAT32 파일 시스템인 파티션을 백업한 백업 이미지 파일에 생성된 CRC 체크 파일과 이를 통해 변조된 이미지 파일을 검사했을 때 생성된 검사 결과 파일입니다.


원본이 FAT 파일 시스템인 경우 CRC 체크 파일과 이를 통해 변조 여부를 발견한 검사 파일의 모습


아래는 NTFS 파일 시스템인 파티션을 백업한 백업 이미지 파일에 생성된 CRC 체크 파일과 이를 통해 변조된 이미지 파일을 검사했을 때 생성된 검사 결과 파일입니다.


원본이 NTFS 파일 시스템인 경우 CRC 체크 파일과 이를 통해 변조 여부를 발견한 검사 파일의 모습


FAT 파일 시스템일 때와 달리 NTFS 파일 시스템일 때는 뭔가 상당히 단촐하죠?

원본이 FAT 파일 시스템일 때 생성된 CRC 체크 파일은 해당 파티션에 저장된 모든 파일들에 대한 CRC 값을 저장하기 때문에, CRC 검사를 수행하면 정확하게 어떤 파일이 변경되거나 사라졌는지 확인할 수 있는 반면, 원본이 NTFS 파일 시스템일 때 생성된 CRC 체크 파일은 그냥 이미지 파일 자체에 대한 CRC 값만 저장하기 때문에, 그냥 이미지 파일이 변조되었다 아니다라는 변조 여부 자체만 확인할 수 있습니다.

즉, 원본이 NTFS 파일 시스템이라면 그냥 HashTab 과 같은 프로그램으로 백업 이미지 파일에 대한 해시값을 저장하고 이를 비교하는 것과 별반 다를 것이 없다는 것이죠. 이게 상당히 아쉽습니다.

이번 글은 여기까지 입니다. ^^