Presentation is loading. Please wait.

Presentation is loading. Please wait.

IRM Enforcement of Java stack Inspection Pslab YunKyung Kim.

Similar presentations


Presentation on theme: "IRM Enforcement of Java stack Inspection Pslab YunKyung Kim."— Presentation transcript:

1 IRM Enforcement of Java stack Inspection Pslab YunKyung Kim

2 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

3 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 에 통합시키는 두 가지 방법에 대해 소개.

4 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

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

6   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)

7

8 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 이 발생

9

10 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()

11 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

12

13 Performance Overhead

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

15

16 Overhead Performance

17 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 적용이 가능


Download ppt "IRM Enforcement of Java stack Inspection Pslab YunKyung Kim."

Similar presentations


Ads by Google