ASLR(Address Space Layout Randomization)은 프로그램이 실행될 때, 프로세스의 메모리 내 주요 구성요소(스택, 힙, 공유 라이브러리, 실행 파일 등)의 메모리 주소를 무작위(Random)하게 배치하여, 공격자가 특정 메모리 주소를 예측하거나 악용하는 것을 어렵게 만드는 메모리 보호 기법입니다. 이는 시스템을 공격하는 데 사용되는 대표적인 취약점인 버퍼 오버플로우(Buffer Overflow), Return-to-libc, ROP(Return-Oriented Programming) 등의 공격 기법을 어렵게 만듭니다.
프로세스가 실행될 때 운영체제는 해당 프로세스에 할당되는 가상 주소 공간의 중요한 위치를 무작위(Random)로 배정합니다. 예를 들어, 스택 시작 주소, 힙 시작 주소, 라이브러리 로딩 주소, 실행 파일(.text) 로딩 주소 등을 실행할 때마다 다르게 배치합니다.
0x08048000 <- 실행 파일(.text, .data)
0xbffff000 <- 스택
0x40000000 <- 공유 라이브러리(libc 등)
0x08000000 <- 힙 위와 같이 메모리 배치가 고정되어 있으면, 공격자가 특정 주소를 이용해 정확한 위치로 점프하는 공격이 가능합니다.
0x08f2a000 <- 실행 파일(.text, .data) - 무작위 위치
0xbf75d000 <- 스택 - 무작위 위치
0x426f1000 <- 공유 라이브러리(libc 등) - 무작위 위치
0x0915e000 <- 힙 - 무작위 위치 주소가 매번 다르기 때문에, 공격자가 정확한 주소를 모르면 쉘코드를 실행하거나 함수 포인터를 조작하기가 매우 어렵습니다.
ASLR의 주요 목적은 메모리 기반 공격을 어렵게 만들어 Exploit의 성공 가능성을 낮추는 것입니다. 메모리 취약점을 악용할 때, 공격자는 일반적으로 정확한 메모리 주소를 알아야 합니다. 하지만 ASLR이 활성화되어 있으면 다음과 같은 보안 효과를 얻을 수 있습니다:
| 장점 | 설명 |
|---|---|
| ✔️ 보안성 향상 | 메모리 주소 예측을 어렵게 하여 Exploit을 방지 |
| ✔️ 비용 효율적 | 소프트웨어 구조 변경 없이 OS 차원에서 적용 가능 |
| ✔️ 다른 보안 기법과 결합 가능 | DEP, Stack Canaries 등과 함께 사용할 수 있음 |
| 단점 | 설명 |
|---|---|
| ❗ 예측 가능성 존재 | 주소 공간이 좁거나, 랜덤화 범위가 작을 경우 예측 가능 |
| ❗ 성능 저하 | 아주 미세하지만 초기 로딩 시 오버헤드 발생 가능 |
| ❗ 우회 가능 | 정보 유출(leak) 취약점을 통해 주소를 알아낼 수 있음 (예: InfoLeak) |
/proc/sys/kernel/randomize_va_space 값으로 설정 확인 가능ASLR 활성화 상태 확인:
cat /proc/sys/kernel/randomize_va_space 결과값 의미:
0: 비활성화 (ASLR 미적용)1: 일부 랜덤화2: 완전한 랜덤화 (기본 권장값)설정 변경 (일시적으로 비활성화):
echo 0 > /proc/sys/kernel/randomize_va_space 영구 적용을 원할 경우 /etc/sysctl.conf에 다음 줄 추가:
kernel.randomize_va_space = 2 ASLR은 운영체제에서 제공하는 기본적이면서도 강력한 메모리 보안 기법입니다. 그러나 완벽한 보안책은 아니며, 다른 보안 기법들과 함께 사용해야 실제 효과를 극대화할 수 있습니다. 특히, ASLR은 정보 유출이 있는 경우 우회가 가능하기 때문에, 시스템의 다른 취약점도 함께 고려하여 방어 전략을 세워야 합니다. 다양한 운영체제에서 지원되고 있으며, 서버 및 클라이언트 시스템 모두에서 기본 활성화되어야 합니다.
요양원 선택 전 반드시 확인해야 할 체크리스트를 공개합니다. 공식 평가 자료 조회법, 방문 시 확인…
공공기관 채용 비리의 실태와 피해 지원자의 대응법을 정리했습니다. 채용 비리 신고 방법, 공익신고자 보호제도, 취준생…
주식 손실을 세금 절약에 활용하는 합법적 방법을 공개합니다. 해외주식 손익통산, ISA 계좌 활용, 연금계좌 절세까지…
배달이 예상 시간보다 크게 늦으면 취소·환불을 요청할 수 있습니다. 배달앱별 지연 취소 방법과 잘못 배달됐을…
통신비 절약의 핵심은 요금제 최적화입니다. 내 데이터 사용량 확인법, 알뜰폰 전환 비교, 위약금 없이 요금제…