목록Software Engineering/Paper (14)
Pure Software Engineer :)
Xen hypervisor에서 TCB를 줄이기 위해 dom0에서 privilege operation들을 domain builder라는 isolated domain으로 따로 분리해 낸 방법을 제안. 이 페이퍼의 contribution은 크게 2가지이다. 1. 우선 domain builder 라는 domain을 통해 dom0를 TCB에서 제거함으로써 TCB를 줄였다. 2. TCB의 trustworthness를 평가하는데 있어 code line을 가장 중요시 했던 기존의 approach와는 달리, 코드 수는 많더라도 state space size라고 해서 privilege operation을 TCB에 두는 대신 untrusted code와의 interface가 있어야 하는데 이 코드의 양도 같이 고려해 줘야한..
HyperSentry introduces a software component that is properly isolated from the hypervisor to enable stealthy and in-context measurement of the runtime integrity of the hypervisor. - Stealthiness : necessary to ensure that a compromised hypervisor does not have a chance to hide the attack traces upon detecting an up-coming measurement - In-context measurement : necessary to retrieve all the neede..
이 페이퍼를 한마디로 요약하면 다음과 같다. The decoupling of memory isolation from memory allocation, both of which are currently performed by the hypervisor.(논문 내용 참조) 현재의 가상화 환경에서는 hypervisor가 guest VM에 대한 memory를 모두 관리한다.(Nested Page table) 하지만 만약 hypervisor가 compromise되면 사용자의 memory가 그대로 노출 되게 된다. 그래서 제안한 것이 hypervisor가 메모리 allocation/deallocation은 기존처럼 하게 하나, memory mapping은 hardware를 통해 하자는 것이다. (H-SVM이라는 h..
이 논문 역시 XOM[ASPLOS 2000] 과 비슷한 내용으로 processor architecture를 제안하며, processor 밖으로 나가는 모든 data를 encryption하고 안으로 들어오는 데이터는 다시 processor 내에서 decryption 하여, code와 data를 보호하고자 하는데 있다. 논문에서는 2가지 레벨의 환경을 나눠서 제공하고 있다. Tamper-Evident(TE) : any physical or software tampering is guaranteed to be detected Private Tamper-Resistant(PTR) : adversary is unable to obtain any information about software or data 즉, ..
소프트웨어는 Copy되기 쉬워서 저작권을 보호하기가 힘들다. 많은 사용자들이 불법 복제를 해서 사용하고 있고, 이를 보호하려고 해도 막는것이 힘들다. 이 논문은 이러한 소프트웨어의 저작권을 보호하기 위해 software 적인 접근방식인 아닌 hardware 접근 방식으로 새로운 processor architecture를 제안한다. XOM(eXecute Only Memory). processor는 자신만의 private, public key pair를 공정상에서 가지게 되고, 소프트웨어 구매자는 자신의 public key를 company에 제공하게 되면 company는 그 key를 이용해서 binary를 encryption하여 customer에게 보내준다. 물론 빠른encryption을 하기 위해 내부적으..
NoHype 에 대한 prototype 제시 (on Intel Nehalem quad-core processor) VM의 life time을 creation, bootup, execution, shutdown 으로 보고 아래의 4가지 단계로 prototype을 나눠서 design 함 1. VM Creation - pre-allocation (CPU, memory) Dom0는 Core 0번에 고정 CPU : pin a VM to a set of cores memory : pre-setting Extended Page Table(EPT) - virtualized I/O device (여기서는 NIC 만) PCI pass through mechanism(?)을 통해... -> Xen에서 지원된다는데... 2...
cache replacement algorithm은 보통 LRU 를 사용한다. 하지만 LRU는 cache size 보다 큰 working set 을 가지는 memory intensive workload 들에 의한 thrashing 에 안좋은 성능을 보이는 단점이 있다. 이 논문의 아이디어는 이러한 thrashing 이 발생하는 경우, working set의 일부분이라도 cache에 유지시켜 그 부분에 대해서는 hit 이 날 수 있도록 하고, 나머지 부분에서는 thrashing 발생하도록 하면 어떨까 하는 것이다. 3가지 방법을 제안했다. LIP(LRU Insertion Policy) 를 통해 새로운 line을 MRU position 대신 LRU position 에 넣어 만약 다시 reference 되지 ..
CMP 환경에서 multi-threads의 경우 각 thread 별로 page를 참조하는 영역이나 패턴이 비슷할 것이다. 그래서 관찰해보니 대부분 core의 TLB miss가 같은 addresses에 의한 miss인 경우나(redundant), 특정 패턴(stride)가 있다는 것을 발견하였다. (PARSEC의 data-parallel, pipeline workloads 들을 통해 real system에서 돌려보고 simics simulation을 통해서도 input을 줄여서 실험 함.) 이러한 현상을 바탕으로 앞으로 HW/SW TLB를 design하는데 있어 hierarchy, shared, stride를 prediction 해서 TLB performance를 향상시키는 방향으로 나아가야함을 주장함. ..