IRM Enforcement of Java stack Inspection Pslab YunKyung Kim.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Towards Remote Policy Enforcement for Runtime Protection of Mobile Code Using Trusted Computing Xinwen Zhang Francesco Parisi-Presicce Ravi Sandhu
Containment and Integrity for Mobile Code Status Report to DARPA ISO: Feb Fred B. Schneider Andrew Myers Department of Computer Science Cornell University.
Java security (in a nutshell)
Mobile Code Security Aviel D. Rubin, Daniel E. Geer, Jr. MOBILE CODE SECURITY, IEEE Internet Computing, 1998 Minkyu Lee
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Chapter 51 Scripting With JSP Elements JavaServer Pages By Xue Bai.
Internet Security Association & Key Mana gement Protocol CNET 이동재.
A SECURE JAILING SYSTEM FOR CONFINING UNTRUSTED APPLICATIONS Guido Noordende, ´Ad´am Balogh, Rutger Hofman, Frances M. T. Brazier, and Andrew S. Tanenbaum.
1 Extensible Security Architectures for Java Authors: Dan S.Wallch, Dirk Balfanz Presented by Moonjoo Kim.
Edward Tsai – CS 239 – Spring 2003 Strong Security for Active Networks CS 239 – Network Security Edward Tsai Tuesday, May 13, 2003.
Programming Language Semantics Java Threads and Locks Informal Introduction The Java Specification Language Chapter 17.
Policy-Carrying, Policy-Enforcing Digital Objects Sandra Payette and Carl Lagoze Cornell Digital Library Research Group ECDL2000 Lisbon, Portugal September.
Bending Binary Programs to your Will Rajeev Barua.
1 Memory Model of A Program, Methods Overview l Closer Look at Methods l Memory Model of JVM »Method Area »Heap »Stack l Preview: Parameter Passing.
An Approach to Safe Object Sharing Ciaran Bryce & Chrislain Razafimahefa University of Geneva, Switzerland.
Chapter 16 Java Virtual Machine. To compile a java program in Simple.java, enter javac Simple.java javac outputs Simple.class, a file that contains bytecode.
CS884 (Prasad)Java Goals1 “Perfect Quote” You know you've achieved perfection in design, Not when you have nothing more to add, But when you have nothing.
Policy-Carrying, Policy-Enforcing Digital Objects Sandra Payette Project Prism - Cornell University DLI2 All-Projects Meeting June 14, 2000.
1 Memory Model of A Program, Methods Overview l Memory Model of JVM »Method Area »Heap »Stack.
Android Security Enforcement and Refinement. Android Applications --- Example Example of location-sensitive social networking application for mobile phones.
Page 1 Sandboxing & Signed Software Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
1 Subspace: Secure Cross Domain Communication for Web Mashups Collin Jackson and Helen J. Wang Mamadou H. Diallo.
Java Security Updated May Topics Intro to the Java Sandbox Language Level Security Run Time Security Evolution of Security Sandbox Models The Security.
var site="s15gizmodo" var site="s15gizmodo"
Understanding Android Security Yinshu Wu William Enck, Machigar Ongtang, and PatrickMcDaniel Pennsylvania State University.
The Impact of Programming Language Theory on Computer Security Drew Dean Computer Science Laboratory SRI International.
Java Security. Topics Intro to the Java Sandbox Language Level Security Run Time Security Evolution of Security Sandbox Models The Security Manager.
Page 19/4/2015 CSE 30341: Operating Systems Principles Raid storage  Raid – 0: Striping  Good I/O performance if spread across disks (equivalent to n.
Introduction to Java Kumar Harshit. Objectives ( 목적지 ) At the end of the lesson, the student should be able to: ● Describe the features of Java technology.
HDFS -Hadoop Overview 유현정. Data Replication HDFS’s blocks in a file except the last block are the same size. The block size and replication.
Lesson 27: Introduction to the Java GUI. // helloworldbutton.java import java.awt.*; import javax.swing.*; class HelloButton{ public static void main.
Introduction to the Java Virtual Machine 井民全. JVM (Java Virtual Machine) the environment in which the java programs execute The specification define an.
Announcements Assignment 3 due. Invite friends, co-workers to your presentations. Course evaluations on Friday.
Java Security Nathan Moore CS 665. Overview Survey of Java Inherent Security Properties Java Runtime Environment Java Virtual Machine Java Security Model.
Java 2 security model Valentina Casola. Components of Java the development environment –development lifecycle –Java language features –class files and.
Debugging in Java. Common Bugs Compilation or syntactical errors are the first that you will encounter and the easiest to debug They are usually the result.
Continuations And Java Regis -
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Introduction to Concurrency.
More on Hierarchies 1. When an object of a subclass is instantiated, is memory allocated for only the data members of the subclass or also for the members.
CSC 205 – Java Programming II Applet. Types of Java Programs Applets Applications Console applications Graphics applications Applications are stand-alone.
SAFKASI: A Security Mechanism for Language-based Systems Dan S. Wallach Rice University Andrew W. Appel and Edward W. Felten Princeton University Excerpt.
1 cs205: engineering software university of virginia fall 2006 Forgiveness and Permissions.
1 Relational Database Implementation of a Multi- dimensional database 컴퓨터언어연구실 석사 3 학기 김혜진 U.S. Patent Number: 5,926,818 Date of Patent: Jul.20,1999 inventor:
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
CT1513 Introduction To java © A.AlOsaimi.
A Microkernel Virtual Machine: Building Security with Clear Interfaces Xiaoqi LuScott Smith The Johns Hopkins University.
15.1 Threads and Multi- threading Understanding threads and multi-threading In general, modern computers perform one task at a time It is often.
1. An Introduction A Programming Language A Technology Java Development Kit Java API One Language: Three Editions Standard Edition Enterprise Edition.
SASI Enforcement of Security Policies : A Retrospective* PSLab 오민경.
Configuring, Managing and Maintaining Windows Server® 2008 Servers Course 6419A.
Vertical Profiling : Understanding the Behavior of Object-Oriented Applications Sookmyung Women’s Univ. PsLab Sewon,Moon.
CSS430 Protection1 Textbook Ch14 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class materials.
An Exception Monitoring System for Java ps lab Yun-kyung Kim.
Introduction to Programming 1 1 2Introduction to Java.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Software, IEE Proceedings, Vol.152, Num.3, June 2005,Page(s): Prasanthi.S March, Java-based component framework for dynamic reconfiguration.
Compilers and Security
This presentation has been IRM protected by policy.
Applications Active Web Documents Active Web Documents.
Java security (in a nutshell)
Topic: Java Security Models
2.1. Compilers and Interpreters
Building Systems That Flexibly Control Downloaded Executable Content
Chapter 14: Protection.
System Calls David Ferry CSCI 3500 – Operating Systems
Multithreading Tutorial
Understanding Android Security
CSc 453 Interpreters & Interpretation
Presentation transcript:

IRM Enforcement of Java stack Inspection Pslab YunKyung Kim

Content.  Introduction  Inlined Reference Monitors(IRM)  Review of Java 2’s Stack Inspection Policy  A Security-Passing Style IRM : IRM sps  A New IRM Stack Inspection Implementation : IRM Lazy  Concluding Remarks

1. Introduction  Java 는 untrusted code down 받아 실행하는 응용 application 개발하기 위한 language 로서 security policy 가 필요  Sand box policy(Java2 이전 ) : locally code 와 network 을 통해 얻어진 code 구별  Stack inspection policy(Java2 이후 ) : 현재 수행중인 method 에 따라 access 가 허용되어진 것인지 검사 (JVM run time call stack 의 information 에 의존 )  이 논문에서는 application 이 수행되어지는 동안에 특정한 security 를 위반하고 있는지를 Monitor 하기위 해 IRM 을 application 에 통합시키는 두 가지 방법에 대해 소개.

2. Inlined Reference Monitors  IRM Rewriter checking code merge into original application at load time checking code merge into original application at load time Program analysis Program analysis Application transformed Application transformed

 PoET(Policy Enforcement Toolkit) rewriter : JVML applications 를 위해 IRM 을 구현하기 위한 도구  PSLang(Policy Specification Language) : PoET 에서 security policy 를 작성하기 위한 언어

  security events : the policy-relevant operations that must be mediated by the reference monitor   security state : information stored about earlier security events that is used to determine which security events can be allowed to proceed   security updates : program fragments that are executed in response to security events and that update the security state, signal security violations, and/or take other remedial action (e.g. block execution)

3. Review of Java 2’s Stack Inspection Policy  Java 2’s stack inspection access control policy 는 permission 과 protection domain 을 연관시킨 policy file 에 근거하여 동작  Protection domain : application source 에 따른 permission set 을 포함.  Checkpermission(p) Call: JVM call stack 을 top~bottom 또는 doPrivilege() 블록 내에 있는 method frame 을 만날 때까지 traverse 함 => 그 method 의 protection domain 이 P 를 imply 하고 있 지 않으면 security exception 이 발생

Display Load(this.txt) Checkpermission() Untrusted Applet(/home/ue/*) File system( >) Display Use paint font Load(‘Courier’) Untrusted Applet(/home/ue/*) GUI library(/fonts/*) : doPrivilege() 블록 내에 있음. File System( >) Checkpermisssion()

4. A Security-Passing Style IRM  Domain stack(new variable) JVM run time call stack 으로 부터 policy 와 관련 된 정보를 replicate. JVM run time call stack 으로 부터 policy 와 관련 된 정보를 replicate. Each thread 에 local. Each thread 에 local. checkPermission call 일때 sacanned. checkPermission call 일때 sacanned.  SPS(security passing style) : IRM 을 구현 한 example 로서 method 가 invocation 될 때 domain stack 을 argument 로 passing

Performance Overhead

5. A New IRM Stack Inspection Implementation  IRM Lazy : JVM call stack 에 직접 access 하기 위해 Security Manager 의 getclassContext() 를 이용

Overhead Performance

6. Concluding Remarks  IRM 의 장점  Stack inspection policy 를 적용하고자하는 application 들 은 이전 버전의 JVM 에서 수행이 불가능.  Flexibility mechanism 과 policy file, protection domain, permission classes 들을 분리 함으로써, unused enforcement mechanisms 이 생략가능 mechanism 과 policy file, protection domain, permission classes 들을 분리 함으로써, unused enforcement mechanisms 이 생략가능 application event 와 관련된 security policy 를 security events,security updates 형태로 삽입함으로써 application 마다 다른 security policy 적용이 가능 application event 와 관련된 security policy 를 security events,security updates 형태로 삽입함으로써 application 마다 다른 security policy 적용이 가능