In today’s computing environment, we use various applications on our various computing devices to process our data. However, we can only implicitly trust that the applications do not do anything harmful or violate our desired confidentiality policy for the data, especially when those applications are run on today’s feature-rich and monolithic commodity operating systems. In this thesis, we pres...