Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

umutcamliyurt/IntegrityGuard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

2 Commits

Repository files navigation

IntegrityGuard

A very secure tool for monitoring integrity of important files

Description:

This tool checks integrity of files in a selected directory and its subdirectories by hashing and securely storing file data. It monitors for any changes or modifications, identifying any unauthorized alterations or corruption in files. This is especially useful for critical system files, configuration files, bootloader of an operating system, or sensitive documents. If an attacker tries to modify system files or data on the device (e.g., to plant malware or backdoors), these changes would be detected during an integrity check. It's advised to run this tool from a live USB (Tails OS)

Features:

  • Checksums all files in a selected directory and its subdirectories

  • Encrypts directory hashes for storage

  • Scans for alterations in a directory using encrypted hash file

  • Catches an evil maid attack by monitoring integrity of a system's /boot partition

  • Able to check integrity of an entire SSD for alterations

Technical details:

  • AES-256-GCM for encryption
  • SHA-512 for hashing using 1MB chunks
  • Argon2id for key derivation using 1 thread, 64MB of memory and 4 iterations.

Installation:

Option 1:

Download from releases

Option 2:

Run the following command:

$ go install -v github.com/Nemesis0U/IntegrityGuard@latest

Usage:

Options:

Usage of IntegrityGuard:
 -check
 	Check integrity of the selected directory
 -dir string
 	The directory to hash and monitor for integrity
 -interactive
 	Enable interactive mode
 -password string
 	Encryption password for checksum storage (default "empty")
 -verbose
 	Enable verbose output

Generating checksum of a directory:

./IntegrityGuard -dir Documents -password 123456
[========================================] 2698/2698
Hashes stored in Documents.hashes.enc

Checking integrity of a directory:

Pass:

./IntegrityGuard -dir Documents -password 123456 -check
[========================================] 2698/2698
Integrity check successful. All files are verified. ✔️

Fail:

./IntegrityGuard -dir Documents -password 123456 -check
[========================================] 2698/2698
Integrity check failed for: Customer_Database_Export.pdf
New file detected: test Legal/Contracts/Agreement.txt
Deleted file detected: Research/Security_Analysis/latest.doc
Integrity check failed. Some files are missing or have been modified. ❌

License

Distributed under the MIT License. See LICENSE for more information.

AltStyle によって変換されたページ (->オリジナル) /