Hashdeep: 리눅스에서 파일 확인을 위한 강력한 도구

오랜 경험을 가진 리눅스 사용자로서, 시스템 관리, 보안, 포렌식의 다양한 측면에서 도움이 되는 많은 도구들을 접해왔습니다.

그 중에서 특히 유용하다고 생각하는 도구는 hashdeep으로, 주로 파일 무결성 검사 및 암호화 해시 검증에 사용되는 강력한 명령줄 유틸리티입니다.

이 글에서는 hashdeep이 무엇인지, 어떻게 작동하는지, 그리고 리눅스 환경에서 효과적으로 사용하는 방법에 대해 자세히 설명하겠습니다.

hashdeep이란 무엇인가?

hashdeep은 파일의 해시를 계산, 비교 및 검증하는 데 사용되는 도구로, 파일의 내용을 해시 함수(예: SHA-256 또는 MD5)에 적용하여 생성된 고유 식별자입니다. 이러한 해시는 파일의 “지문” 역할을 합니다. 두 파일이 동일한 해시를 가지면, 그 내용이 동일하다는 것을 의미합니다.

hashdeepMD5, 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은 해시를 계산하려는 파일입니다.

선호하는 알고리즘에 따라 sha256md5, sha1 또는 다른 지원되는 알고리즘으로 바꿀 수 있습니다.

Calculating File Hashes in Linux

2. 디렉토리 내 파일 재귀 해싱

-r 플래그(재귀)를 사용하여 디렉토리 내 모든 파일 및 하위 디렉토리의 해시를 계산할 수도 있습니다.

hashdeep -c sha256 -r /path/to/your/directory
Recursively Hashing a Directory

3. 해시를 파일로 저장

계산된 해시를 나중에 비교하기 위해 파일에 저장하려면 출력 파일을 지정하는 -o 옵션을 사용할 수 있습니다:

hashdeep -r ravi > hashes.txt
cat hashes.txt
Save Calculated Hashes to a File

4. 파일 무결성 확인

hashdeep의 가장 중요한 용도 중 하나는 파일의 무결성을 확인하는 것입니다. 알려진 해시 목록(예: 이전 세션에서 가져온)이 이미 있다면 현재 파일 해시를 이러한 알려진 값과 비교하여 파일이 변경되었는지 확인할 수 있습니다.

이를 위해 다음 명령을 사용하여 파일을 확인하십시오:

hashdeep -a -k hashes.txt -r /home/ravi/ravi

이 명령은 “ravi” 디렉토리 내의 모든 파일을 hashes.txt에 나열된 해시와 비교하여 그들의 무결성을 올바르게 확인할 수 있게 해줍니다.

Verifying File Integrity

5. 동시에 여러 해시 생성

한 번에 여러 유형의 해시(MD5, SHA-1 및 SHA-256 등)를 계산하려면 -c 플래그와 함께 둘 이상의 알고리즘을 지정할 수 있습니다:

hashdeep -c md5,sha1,sha256 -r /path/to/your/directory
Calculate Multiple Hashes
결론

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

Source:
https://www.tecmint.com/hashdeep-file-integrity-checker/