Patent ID: 7409675
Filing Date: 2008-08-05
Classification: G06F

Abstract:
1. A computer apparatus comprising a computing device and memory: a code unit; a composable set of rewriters, each rewriter configured to rewrite the code unit in a unique manner; a rewrite manager configured to identify one or more rewriters from the composable set of rewriters, sequence the rewriters and to execute the identified one or more rewriters against the code unit, wherein the rewrite manager accessing a rewrite list that identifies which rewriter to apply to rewrite the code unit and provides the sequence the rewriters are applied to the code unit; and a rewritten code unit generated by executing the identified one or more rewriters against the code unit; a first digital signature associated with the code unit; and a set of second digital signatures, each second digital signature associated with a specific rewriter from the composable set of rewriters; wherein the rewrite manager is further configured to determine if the code unit is trusted based on the first digital signature, determine if each rewriter from the identified one or more rewriters is trusted based on a corresponding second digital signature from the set of second digital signatures, and execute the identified one or more rewriters against the code unit only if both the code unit and each rewriter from the identified one or more rewriters are trusted.