ASLR: Difference between revisions

From CS Wiki
No edit summary
No edit summary
Line 5: Line 5:
== 우회 기법 ==
== 우회 기법 ==
* BruteForce
* BruteForce
** 메모리가 완전히 랜덤화 되는 것이 아니다. 랜덤으로 부여되는 주소의 일부 규칙을 파악해서 여러번 시도 하면 리턴 주소가 덮어씌여지는 경우가 존재함
** 메모리가 완전히 랜덤화 되는 것이 아니다. 일정한 간격으로 할당이되거나 주소의 일부 위치가 특정 배수로 할당되는 등 규칙을 파악할 수 있는 경우가 많음
** 규칙을 파악해서 여러번 시도 하면 리턴 주소가 덮어씌여지는 경우가 존재함
* Non ASLR Module
* Non ASLR Module
** ASLR은 일종의 보안 프로그램으로 컴파일 시 명시적으로 로드해 줘야 한다. 한 프로그램 안에서도 ASLR이 안걸린 모듈(dll 등)을 찾아 공략할 수 있다.
** ASLR은 일종의 보안 프로그램으로 컴파일 시 명시적으로 로드해 줘야 한다. 한 프로그램 안에서도 ASLR이 안걸린 모듈(dll 등)을 찾아 공략할 수 있다.

Revision as of 03:19, 12 August 2018

Address Space Layout Randomization

메모리상의 공격을 어렵게 하기 위해 스택이나 힙, 라이브러리 등의 주소를 랜덤으로 프로세스 주소 공간에 배치하여 실행할 때 마다 데이터 주소가 바뀌게 하는 기법

우회 기법

  • BruteForce
    • 메모리가 완전히 랜덤화 되는 것이 아니다. 일정한 간격으로 할당이되거나 주소의 일부 위치가 특정 배수로 할당되는 등 규칙을 파악할 수 있는 경우가 많음
    • 규칙을 파악해서 여러번 시도 하면 리턴 주소가 덮어씌여지는 경우가 존재함
  • Non ASLR Module
    • ASLR은 일종의 보안 프로그램으로 컴파일 시 명시적으로 로드해 줘야 한다. 한 프로그램 안에서도 ASLR이 안걸린 모듈(dll 등)을 찾아 공략할 수 있다.
  • Info Leak = Memory Leak

관련 항목