DieHarder: Securing the Heap

Ahn9807 (토론 | 기여)님의 2024년 2월 20일 (화) 07:02 판
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)


Gene Novark, Emery D. Berger
CCS 2010

개요

기존의 DieHard와 OpenBSD Allocator의 장점을 합쳐서, Performance측면 그리고 Memory overhead측면에서 좋은 Secure heap allocator를 개발하였다.

Motivation

Use after free참고

Importance

Free-list방식의 메모리 Allocator는 성능과 메모리 오버헤드 측면에서 장점이 있지만, Heap metadata를 보호하지 못한다는 단점이 있었다. 이 문제를 해결하기 위해서 BIBOP-based allocator를 사용하여 Randomization allocator을 통해서 Secure heap allocator을 디자인 할 필요가 있었다. 기존의 유샤한 방식인 OpenBSD와 DieHard는 내재적인 문제로 인해서 오버헤드가 컸는데 이문제를 해결하였다.

Main Idea

OpenBSD Allocator에 DieHard의 Randomization allocation을 더하여서, 안전하고 빠른 Allocator을 디자인 하였다. 이때 기존의 Diehard와는 조금 다른 Randomization (per page allocation)을 사용하는데, 이를 통해서 Randomness를 올렸다.

Conclusion

  1. Allocator Analysis를 철저하게 하여, Openbsd와 Diehard의 장점을 더한 Allocator을 만들어서 Pratical함을 보임
  2. 매커니즘 측면에서 기존 연구들에 비해 나아간점은 조금 부족해 보여서, Engineering work으로 보임