Stores a tag (digital signature of sorts) of a file. Update the tag everytime a change is commited to a file. And If some malware infects the file system. Change can be detected by verifying the tag.
Assumptions:
Can be extended by using VCS or container based commit mechanism. Store the changes alongside the file.