Skip to content

Add Audit Mode #12

@boyter

Description

@boyter

It is time to add this last piece to fully do everything that hashdeep does. Thoughts and ideas below.

  1. Should maintain 100% compatibility with hashdeep output. This allows for independent verification. Having 2 tools that can verify is great for the paranoid, and it serves as a implementation verifier as well.
  2. This will mean accepting the hashdeep output format as an input for verification.
  3. We want the verifier to scale, to levels that hashdeep cannot, or where there is a RAM limited environment, as loading a 20 GB verification file might not be possible in some situations.
  4. Having an output format for verification that is not dependant on hashdeep should be supported as well. I propose using SQLite for this. This would allow for other scripts and processes to connect and verify without needing to build their own custom parsers of the format.

Hashdeep can verify files like so,

$ hashit --format hashdeep processor > audit.txt && hashdeep -l -r -a -v -k audit.txt processor
hashdeep: Audit passed
          Files matched: 9
Files partially matched: 0
            Files moved: 0
        New files found: 0
  Known files not found: 0

Note that you have ensure that the output does not land in the thing being verified which affects the verification, hence doing it on the processor folder in the above.

Hashdeep is doing a few things here.

  1. Confirming that all the files in the audit exist.
  2. Confirming if any of the files have changed
  3. Confirming if any of the files have moved
  4. Notifying about any new files
  5. Reporting any missing files

In effect it works with what could be two options.

  1. Tell me if the files I have seen previously are still here, moved or modified.
  2. Tell me if this matches my previous audit exactly.

Both seem like they could be options to include, but having a by default hashdeep compatible layer would be a good idea.

I propose, having the following

  1. Like for like output as per what we see with hashdeep. Need to confirm all output types for it when doing this however.
  2. Have an option to do the "Tell me if the files I have seen previously are still here, moved or modified."
  3. Have an option to do the "Tell me if this matches my previous audit exactly."

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions