One or more aspects relate, in general, to trustable computing environments, and in particular, to debugging within such environments.
Most information technology (IT) infrastructures place a great deal of trust in their operator staff to not only ensure a level of service and availability, but also to not disclose company related data or programs. This is also one of the biggest obstacles companies face when moving their infrastructure to a public or hybrid cloud environment. In such a case, the company not only needs to trust their own employees but also the employees of the cloud provider. This might also be critical in a sense of jurisdiction, as the cloud provider might be forced to open data of the customer to state agencies.
To address this, advances have been made to prevent operators from being able to copy the data and programs, to intercept or observe the inner workings of programs, or to modify the running programs. This is accomplished by allowing the customer to upload some encrypted application or virtual machine which is in no way accessible to the operator. Thus, an operator or other, whether or not malicious, is not able to directly observe the customers' memory or program. However, the program, as well as the operating system running within that virtual machine, might still contain errors in respect to execution, leading to unexpected and unwanted behavior of the service provided by the appliance. In such a situation, the customer is restricted in respect to the tools available to understand the problem.