Download presentation
Presentation is loading. Please wait.
Published bySydney Lloyd Modified over 9 years ago
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)
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 이 발생
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
13
Performance Overhead
14
5. A New IRM Stack Inspection Implementation IRM Lazy : JVM call stack 에 직접 access 하기 위해 Security Manager 의 getclassContext() 를 이용
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 적용이 가능
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.