Additional code is added to sensitive code in order to foil an adversary
attempting to examine or modify the sensitive code. The additional code
implements a cascade failure system. In the cascade failure system an
intrusion is detected by an authorization check, and when an intrusion is
detected, further changes are made which will trigger failures of other
authorization checks or cause corruptions to the internal execution state
of the program. Eventually, the changes will trigger a complete failure
of the code to run correctly, however the genesis of the cascading
failure will be concealed, so an adversary will not be able to determine
how the intrusion was initially detected. The insertion of the additional
cascade failure system code can be performed automatically by a mechanism
with some random components, and thus the locations and content of the
inserted code may be different for each instance of sensitive code into
which a content failure system has been inserted.