Use After Free

From CS Wiki
Revision as of 03:38, 12 August 2018 by 110.70.55.60 (talk) (새 문서: ;Use After Free 특정 함수가 메모리에서 해제된 뒤 다시 호출되는 버그가 있을 때 발생하는 취약점 * 프로그램 구조상의 에러로 해제된 메모...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Use After Free

특정 함수가 메모리에서 해제된 뒤 다시 호출되는 버그가 있을 때 발생하는 취약점

  • 프로그램 구조상의 에러로 해제된 메모리를 참조하려고 하면 오류가 발생한다. 일반적으론 크래쉬와 함께 종료되어버리지만 이 종료되는 순간에 악성코드(셸코드)를 할당하여 Exploit을 만들 수 있다.
  • 메모리가 해제된 순간에 그 빈 메모리 공간에 셸코드를 할당한다.
    • LFH(Low Flagmentation Heap) 속성을 이용하여 빈 공간과 정확히 일치하는 셸코드를 할당시킨다.
    • Heap Spray를 이용한다.
  • 실제 마이크로소프트 익스플로러에서 발생한 유명 사례