Interfaces for stack inspection
نویسندگان
چکیده
Stack inspection is a mechanism for programming secure applications in the presence of code from various protection domains. Run-time checks of the call stack allow a method to obtain information about the code that (directly or indirectly) invoked it in order to make access control decisions. This mechanism is part of the security architecture of Java and the .NET Common Language Runtime. A central problem with stack inspection is to determine to what extent the local checks inserted into the code are sufficient to guarantee that a global security property is enforced. A further problem is how such verification can be carried out in an incremental fashion. Incremental analysis is important for avoiding re-analysis of library code every time it is used, and permits the library developer to reason about the code without knowing its context of deployment. We propose a technique for inferring interfaces for stack-inspecting libraries in the form of secure calling context for methods. By a secure calling context we mean a pre-condition on the call stack sufficient for guaranteeing that execution of the method will not violate a given global property. The technique is a constraint-based static program analysis implemented via fixed point iteration over an abstract domain of linear temporal logic properties.
منابع مشابه
Understanding Java Stack Inspection
Current implementations of Java make security decisions by searching the runtime call stack. These systems have attractive security properties, but they have been criticized as being dependent on specific artifacts of the Java implementation. This paper models the stack inspection algorithm in terms of a well-understood logic for access control and demonstrates how stack inspection is a useful ...
متن کاملGenerating Stack-based Access Control Policies
The stack-based access control mechanism plays a fundamental role in the security architecture of Java and Microsoft CLR (common language runtime). It is enforced at runtime by inspecting methods in the current call stack for granted permissions before the program performs safety-critical operations. Although stack inspection is well studied, there is relatively little work on automated generat...
متن کاملA Simple Semantics and Static Analysis for Stack Inspection
The Java virtual machine and the .NET common language runtime feature an access control mechanism specified operationally in terms of run-time stack inspection. We give a denotational semantics in “eager” form, and show that it is equivalent to the “lazy” semantics using stack inspection. We give a static analysis of safety, i.e., the absence of security errors, that is simpler than previous pr...
متن کاملAn Architecture and Communication Protocol for Interaction of Industrial Robots and Vision Systems
In this document an architecture and communication protocol stack for interaction of industrial robots and vision systems is introduced. With examples of a weld seam inspection and a motor compartment inspection real-time communication via Ethernet, TCP/IP and XML is examined. An XML command set for type independent robot control is presented.
متن کاملInlining in the presence of Stack Inspection ?
We consider languages that use stack inspection as an access control mechanism, and concentrate on a specific optimization technique, namely method inlining. Based on the static analysis of [5], we specify when this optimization is possible, preserving the policy for access control associated with applications. Remarkably, our proposal works even in the presence of dynamic linking.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- J. Funct. Program.
دوره 15 شماره
صفحات -
تاریخ انتشار 2005