Detection of an attack on a data processing system. An example method
comprising, in the data processing system: providing an initial secret;
binding the initial secret to data indicative of an initial state of the
system via a cryptographic function; recording state changing
administrative actions performed on the system in a log; prior to
performing each state changing administrative action, generating a new
secret by performing the cryptographic function on a combination of data
indicative of the administrative action and the previous secret, and
erasing the previous secret; evolving the initial secret based on the log
to produce an evolved secret; comparing the evolved secret with the new
secret; determining that the system is uncorrupted if the comparison
indicates a match between the evolved secret and the new secret; and,
determining that the system in corrupted if the comparison indicate a
mismatch between the evolved secret and the new secret.