Electronic Notes in Theoretical Computer Science
Author:
Keywords:
bytecode, inlining, Science & Technology, Technology, Computer Science, Theory & Methods, Computer Science, security, bytecode rewriting, .NET, MSIL, 0802 Computation Theory and Mathematics, 0803 Computer Software, 1702 Cognitive Sciences, Computation Theory & Mathematics, 4613 Theory of computation
Abstract:
This paper describes the S3MS.NET run time monitor, a tool that can enforce security policies expressed in a variety of policy languages for .NET desktop or mobile applications. The tool consists of two major parts: a bytecode inliner that rewrites .NET assemblies to insert calls to a policy decision point, and a policy compiler that compiles source policies to executable policy decision points. The tool supports both singlethreaded and multithreaded applications, and is sufficiently mature to be used on real-world applications. This paper describes the overall functionality and architecture of the tool, discusses its strengths and weaknesses, and reports on our experience with using the tool on case studies as well as in teaching.