Sunil Soman, Chandra Krintz, Giovanni Vigna@UCSB
关键字:
1. fine-grained access to app execution event
2. auditing
3. JVM
本项研究的原因:
所有在JVM上运行的程序在操作系统看,都是以一个JVM的Process在跑;但是实际上,JVM跑的多个Application是以Java Thread在跑。所以,提出了Thread level auditing。
主要工作:
JVM Auditing Mechanism
里面包含event driver,监控的事件有class event、system call event、JNI event和Thread Interaction event。
然后从event stream里面检测malicious java code。
相关工作:
1. intrusion detection
2. safe execution of mobile program
2.1. type-safety, load-time verification [5, 31, 40, 22, 46, 48, 11, 21, 27, 4]
2.2. mobile code的执行会不会危害到其下的系统(我理解为OS)
2.2.1. Stack inspection [16]
2.2.2. proof-carrying code [42, 10, 9]
2.2.3. software fault isolation [53]
2.2.4. code replacement [7]
3. thread termination technique
三个抽象层次的auditing:
OS level auditing
JVM level auditing
Java本身具备的安全机制:
Java authentication [17]
Java access control [2]
可利用的资源:
开源JVM - JikesRVM[1]:这个东西原来是IBM自己开发的东西,名字叫做Jalapeno;后来开源了,将名字改为了Jikes Research Virtual Machine。
STAT[26]:一个signature-based intrusion detection framework
未来工作:
第一部分 - 扩展与优化
1 支持更多event
2 reduce overhead of instrumentation
3 publish-subscribe支持
第二部分 - 关联不同层次trace,更加有效的intrusion detection
1 JVM-level trace
2 application-level trace
3 OS-level trace