도움말닫기
편집할 때 기술적인 문제가 발생했다면 보고해 주세요.
알림 2개닫기

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

이 편집기가 공식적으로 지원하지 않는 브라우저를 사용하고 있습니다.

ASLR

IT 위키
Address Space Layout Randomization

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

우회 기법[편집 | 원본 편집]

  • BruteForce
    • 메모리가 완전히 랜덤화 되는 것이 아니다. 일정한 간격으로 할당이되거나 주소의 일부 위치가 특정 배수로 할당되는 등 규칙을 파악할 수 있는 경우가 많음
    • 규칙을 파악해서 여러번 시도 하면 리턴 주소가 덮어씌여지는 경우가 존재함
  • Non ASLR Module
    • ASLR은 일종의 보안 프로그램으로 컴파일 시 명시적으로 로드해 줘야 한다. 한 프로그램 안에서도 ASLR이 안걸린 모듈(dll 등)을 찾아 공략할 수 있다.
  • HeapSpray
    • 힙 공간의 메모리가 해제되는 순간에 같은 크기의 악성코드를 할당하면 빈 주소에 악성코드가 할당되게 된다. 정확한 크기를 모를 경우 다양하게 padding을 부여하여 뿌려줄 수 있다.
  • Info Leak = Memory Leak
    • 스택의 메모리를 읽어오는 버그(또 다른 취약점)를 이용해 랜덤화된 메모리 주소를 읽어서 사용한다.

관련 항목[편집 | 원본 편집]

Address Space Layout Randomization

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

우회 기법

  • BruteForce

    • 메모리가 완전히 랜덤화 되는 것이 아니다. 일정한 간격으로 할당이되거나 주소의 일부 위치가 특정 배수로 할당되는 등 규칙을 파악할 수 있는 경우가 많음

    • 규칙을 파악해서 여러번 시도 하면 리턴 주소가 덮어씌여지는 경우가 존재함

  • Non ASLR Module

    • ASLR은 일종의 보안 프로그램으로 컴파일 시 명시적으로 로드해 줘야 한다. 한 프로그램 안에서도 ASLR이 안걸린 모듈(dll 등)을 찾아 공략할 수 있다.

  • HeapSpray

    • 힙 공간의 메모리가 해제되는 순간에 같은 크기의 악성코드를 할당하면 빈 주소에 악성코드가 할당되게 된다. 정확한 크기를 모를 경우 다양하게 padding을 부여하여 뿌려줄 수 있다.

  • Info Leak = Memory Leak

    • 스택의 메모리를 읽어오는 버그(또 다른 취약점)를 이용해 랜덤화된 메모리 주소를 읽어서 사용한다.

관련 항목