오랜 경험을 가진 리눅스 사용자로서, 시스템 관리, 보안, 포렌식의 다양한 측면에서 도움이 되는 많은 도구들을 접해왔습니다.
그 중에서 특히 유용하다고 생각하는 도구는 hashdeep으로, 주로 파일 무결성 검사 및 암호화 해시 검증에 사용되는 강력한 명령줄 유틸리티입니다.
이 글에서는 hashdeep이 무엇인지, 어떻게 작동하는지, 그리고 리눅스 환경에서 효과적으로 사용하는 방법에 대해 자세히 설명하겠습니다.
hashdeep이란 무엇인가?
hashdeep은 파일의 해시를 계산, 비교 및 검증하는 데 사용되는 도구로, 파일의 내용을 해시 함수(예: SHA-256 또는 MD5)에 적용하여 생성된 고유 식별자입니다. 이러한 해시는 파일의 “지문” 역할을 합니다. 두 파일이 동일한 해시를 가지면, 그 내용이 동일하다는 것을 의미합니다.
hashdeep은 MD5, SHA-1, SHA-256과 같은 여러 해시 알고리즘을 지원하여 다양한 사용 사례에 유연하게 대응할 수 있습니다.
주로 사용되는 경우는:
- 파일 무결성 확인: 파일이 시간이 지나도 손상되거나 변경되지 않았는지 확인하는 것.
- 디지털 포렌식: 포렌식 조사에서 파일의 무결성을 확인하는 것.
- 백업 및 복원: 백업 파일의 무결성을 확인하고 복구 프로세스 중 데이터 일관성을 보장하는 것.
Linux에 hashdeep 설치
사용법을 살펴보기 전에 먼저 대부분의 배포 패키지 저장소에서 사용 가능한 Linux 시스템에 hashdeep를 설치해야 합니다. 설치는 쉽습니다.
sudo apt install hashdeep [On Debian, Ubuntu and Mint] sudo yum install hashdeep [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] sudo emerge -a sys-apps/hashdeep [On Gentoo Linux] sudo apk add hashdeep [On Alpine Linux] sudo pacman -S hashdeep [On Arch Linux] sudo zypper install hashdeep [On OpenSUSE] sudo pkg install hashdeep [On FreeBSD]
설치한 후에는 hashdeep를 사용하여 파일 해시를 계산하고 확인할 수 있습니다.
가장 일반적인 사용 사례 중 일부는 다음과 같습니다.
1. 파일 해시 계산
hashdeep의 가장 기본적인 사용법은 단일 파일 또는 여러 파일의 해시를 계산하는 것입니다.
hashdeep -c sha256 myqr.png
이 명령에서:
-c sha256
는 해시 알고리즘을 지정합니다 (이 경우 SHA-256).myqr.png
은 해시를 계산하려는 파일입니다.
선호하는 알고리즘에 따라 sha256
를 md5
, sha1
또는 다른 지원되는 알고리즘으로 바꿀 수 있습니다.

2. 디렉토리 내 파일 재귀 해싱
-r
플래그(재귀)를 사용하여 디렉토리 내 모든 파일 및 하위 디렉토리의 해시를 계산할 수도 있습니다.
hashdeep -c sha256 -r /path/to/your/directory

3. 해시를 파일로 저장
계산된 해시를 나중에 비교하기 위해 파일에 저장하려면 출력 파일을 지정하는 -o
옵션을 사용할 수 있습니다:
hashdeep -r ravi > hashes.txt cat hashes.txt

4. 파일 무결성 확인
hashdeep의 가장 중요한 용도 중 하나는 파일의 무결성을 확인하는 것입니다. 알려진 해시 목록(예: 이전 세션에서 가져온)이 이미 있다면 현재 파일 해시를 이러한 알려진 값과 비교하여 파일이 변경되었는지 확인할 수 있습니다.
이를 위해 다음 명령을 사용하여 파일을 확인하십시오:
hashdeep -a -k hashes.txt -r /home/ravi/ravi
이 명령은 “ravi” 디렉토리 내의 모든 파일을 hashes.txt
에 나열된 해시와 비교하여 그들의 무결성을 올바르게 확인할 수 있게 해줍니다.

5. 동시에 여러 해시 생성
한 번에 여러 유형의 해시(MD5, SHA-1 및 SHA-256 등)를 계산하려면 -c
플래그와 함께 둘 이상의 알고리즘을 지정할 수 있습니다:
hashdeep -c md5,sha1,sha256 -r /path/to/your/directory

결론
hashdeep는 파일 무결성 확인 및 디지털 포렌식을 위한 다재다능하고 강력한 도구입니다. 여러 해시 알고리즘의 지원, 재귀적 디렉토리 해싱 및 파일 비교 기능은 보안, 포렌식 또는 시스템 관리 작업을 수행하는 사람들에게 필수적인 유틸리티로 만들어 줍니다.
Source:
https://www.tecmint.com/hashdeep-file-integrity-checker/