System Hacking

힙풍수 (Heap Feng Shui)

jir4vvit 2021. 3. 2. 14:59

힙풍수가 뭔지 몰라서 정말 간단하게 정리해보았다.


힙풍수란 단어를 처음으로 마주한 곳...

만약 커널 힙과 관련된 취약점을 테스트 하는 경우, user 권한일 때와 root권한일 때의 힙 풍수가 달라지기 때문에 테스트 중에는 user 권한으로 디버깅해야 한다. 

in [linux kernel] (12) - KADR 우회

 

What is 힙풍수 ...?

힙풍수란 뭘까? 이름이 뭔가 모르게 구수해보이지만 영어다. (힙 그루밍 이라고도 한다.)

노랑은 해제된 청크, 빨강은 오버플로우 시킬 청크이다.

이때, 빨강을 오버플로우 시키기 위해서 (위에서부터 할당된다고 가정했을 때) 힙을 3개 할당해서 힙풍수(아다리)를 맞춰야 한다.

 

이 힙은 계속 바뀌기 때문에 힙풍수를 맞춰줘야 한다. 특히 유저 권한일 때랑 루트 권한일 때는 다른 경우가 많다.

여기서 나온게 힙 스프레이 기법이다.

 

What is 힙 스프레이 ...?

힙에 특정 데이터로 도배하는 것

익스 확률을 올리기 위해 힙에 원하는 데이터를 수백개 뿌리는 것