Suppose for some reason, you and your peers absolutely positively have know that a server is acting honestly.

Could the server behaviour be audited remotely through some mechanism of randomly polling portions of server memory and disk content to check against the predicted result derived from publicly cross-signed drive content?

Or could a server cunningly subvert any such mechanism?


I can think of several methods, not necessarily independent:

  • Fully homomorphic encryption, the ability to securely compute on other machines without revealing the data, and possibly without revealing the program itself.
    • HElib, a FOSS project by IBM
    • Scarab a FOSS project, though impractical/slow, it is a good demonstration
  • Secure function evaluation, see External links section of article on secure multi-party computation for possible implementations
  • SNARK/s, (Succint Non-interactive Argument of Knowledge), the ability to turn a program into a proof, and obtain a succinct that the program ran. Here the input isn't provided by you, necessarily, but the twist is, the input can be provided by the computer running the program, and not revealing that input to you. This is a bit different, but for this application, this detail doesn't matter. The program can be verified that it ran fully.

    SCIP (Succinct Computational Integrity and Privacy) is an effort to make this practical. They have designed a virtual architecture called TinyRam, for creating and verifying the program/trace/proof, and are working on a C-compiler to the architecture (see SNARKs for C : Verifying Program Executions Succinctly and in Zero Knowledge (extended version) (PDF)).

See also:


A highly skilled adversary could spoof the responses to any remote probe, so the compromised host responded exactly the same as an honest host. Although a technique like probing memory would be difficult to spoof and would certainly detect standard viruses - it's only a skilled targeted attack you'd miss.

If your server is running as a VM then you could get the hypervisor to probe it's memory. A compromised machine can't spoof this, although it can obfuscate the malware to a high degree so it's difficult to detect. And there is the potential risk of guest to host attacks against the hypervisor.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.