Information flow analysis for mobile code in dynamic security environments

نویسنده

  • Robert Grabowski
چکیده

stack: as ∈ Exp∗ Table 5.1 on the preceding page defines the function BC2IRinstr which takes a bytecode address, a bytecode instruction and an abstract input stack, and produces an IR instruction and an abstract output stack. The function reconstructs the high-level expressions from operand-stack manipulating bytecode instructions. The bytecode instructions store x, putf f , newC , and callm are translated to assignments blocks, where the result of the operation is immediately written to a temporary variable. There is a one-to-one correspondence between the BC instructions and the IR instructions. The function assumes for each method m and for each instruction address i the existence of arbitrarily many temporary variables t 0 i , t 1 i , t 2 i , . . . that are available for the instruction IR[m, i ]. This way, each temporary variable t k i is assigned at exactly one point in the IR program, namely at address i . The side conditions require that an assigned temporary variable t k i must not have occurred in the input stack of the instruction at address i . Special care has to be taken for instructions that possibly invalidate the contents of the abstract stack. For store x operations, the contents of the variable x is first stored in a temporary variable t 0 i before x is overwritten. In the output stack, all occurrences of x are replaced by t 0 i , which holds the saved old value of x. For putf f and callm, the entire abstract input stack as is saved in a sequence of temporary variables ti , and this sequence is then the output stack. Transformation of multiple instructions Ranges of bytecode instructions are transformed with BC2IRrng(BC ,m, I ), shown as Algorithm 1 on the previous page. The function traverses a set of instruction addresses I sorted in ascending order, and writes the compiled instructions into the array IR[m, i ]. At the same time, it defines the arrays ASin[m, i ] (input stack for instruction i ) and ASout[m, i ] (output stack for instruction i ). The function BC2IRrng(BC ,m, I ) relies on BC2IRinstr, and chains the abstract stacks, such that the output stack of an instruction becomes the input stack of its immediate successor. Additionally, it ensures that the abstract input stacks at jump targets are empty, and fails if a jump instruction produces an output stack that is not empty. Note that it cannot happen that a side condition of BC2IRinstr fails when used within BC2IRrng. This would only be possible if any of the variables t k i occurs in the input stack ASin[m, i ], but no instruction preceding the one at address i generates the variable t k i . Transformation of method bodies The function BC2IRmtd(BC ,m), shown as Algorithm 2 on the preceding page, transforms methods by setting the input stack of the entry point to 2, and then using BC2IRrng for the method body.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Noninterference for Mobile Code with Dynamic Security Domains

Language-based information flow analysis is used to statically examine a program for information flows between objects of different security domains, and to verify these flows follow a given policy. When the program is distributed as mobile code and executed in different environments, the program may access external objects whose domains are not known until runtime. To maintain information flow...

متن کامل

CAMAC: a context-aware mandatory access control model

Mandatory access control models have traditionally been employed as a robust security mechanism in multilevel security environments such as military domains. In traditional mandatory models, the security classes associated with entities are context-insensitive. However, context-sensitivity of security classes and flexibility of access control mechanisms may be required especially in pervasive c...

متن کامل

Java Mobile Code Security by Bytecode Analysis

Since mobile code can migrate from a remote site to a host and can interact with the resources and facilities of the host, security becomes the key to the success of mobile code computation. Existing mobile code security mechanisms such as access control are not able to fully address the import security properties of the host including confidentiality and integrity. And these practices tend to ...

متن کامل

Java Mobile Code Dynamic Verification by Bytecode Modification for Host Confidentiality

In this paper we present a novel dynamic verification approach to protect the local host confidentiality from malicious Java mobile code. In our approach we use Bytecode Modification to add the verification function to the Java mobile code’s class files before the local JVM executes them. Thus the verification work is done when the host JVM executes the modified class files. By this way our app...

متن کامل

Authorization models for secure information sharing: a survey and research agenda

This article presents a survey of authorization models and considers their 'fitness-for-purpose' in facilitating information sharing. Network-supported information sharing is an important technical capability that underpins collaboration in support of dynamic and unpredictable activities such as emergency response, national security, infrastructure protection, supply chain integration and emerg...

متن کامل

Noninterference with Dynamic Security Domains and Policies

Language-based information flow analysis is used to statically examine a program for information flows between objects of different security domains, and to verify these flows follow a given policy. When the program is distributed as mobile code, it may access resources whose domains depend on the client environment, or may face different security policies. In proof-carrying code scenarios, it ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012