반응형

ASLR 2

[ 시스템 해킹 ] Mitigation: NX & ASLR

어떤 공격이 새롭게 등장할지는 누구도 예상할 수 없기 때문에 시스템 개발자들은 여러 겹의 보호 기법을 적용하여 시스템이 공격당할 수 있는 표면(Attack Surface)자체를 줄여나가려고 했다. 공격자의 침입을 더 어렵게 하려면, 공격자가 메모리에서 임의 버퍼의 주소를 알기 어렵게 하고, 메모리 영역에서 불필요한 실행 권한을 제거하는 보호 기법을 추가로 도입해야 한다. 이와 관련하여 시스템 개발자들은 Address Space Layout Randomization(ASLR)과 No-eXecute(NX)을 개발하고, 시스템에 적용했다. 1. ASLR Address Space Layout Randomization(ASLR)은 바이너리가 실행될 때마다 스택, 힙, 공유 라이브러리 등을 임의의 주소에 할당하는 ..

[ 시스템 해킹 ] Background : PIE

ASLR이 적용되면 바이너리가 실행될 때마다 스택, 힙, 공유 라이브러리 등이 무작위 주소에 매핑되므로, 공격자가 이 영역들을 공격에 활용하기 어려워진다. 그런데 다른 영역의 주소는 계속 변화하는데 main 함수의 주소는 매번 같았다. 이를 이용하여 공격자는 고정된 주소의 코드 가젯을 활용한 ROP(Return Oriented Programming)를 수행할 수 있었다. Position-Independent Executable(PIE)은 ASLR이 코드 영역에도 적용되게 해주는 기술이다. 이 기술은 보안성 향상을 위해 도입된 것이 아니라서 엄밀하게는 보호 기법이 아니다. 그러나 실제로는 공격을 더욱 어렵게 만들었기에 보호 기법이라고 소개되기도 한다. 1. PIC 리눅스에서 ELF는 실행 파일(Execut..

반응형