NOP 슬라이드
1. 개요
NOP 슬라이드 탐지는 메모리 내 NOP 슬라이드의 존재를 감지하는 기술을 의미한다. 2005년 연구에 따르면, 메모리 이미지가 일련의 바이트 시퀀스를 포함하는지 확인하여 NOP 슬라이드를 쉽게 감지할 수 있다. 여기서 시퀀스 내 각 시작 오프셋은 유효하며 실행을 동일한 위치로 이끈다.
NOP 슬라이드
NOP 슬라이드
정의
| 정의 | NOP 슬라이드는 프로세서에게 아무것도 하지 않도록 지시하는 일련의 No-Operation (NOP) 명령어 바이트 코드 시퀀스임. NOP 슬라이드를 실행하면 프로세서 상태가 보존되고 프로그램 카운터만 증가함. |
|---|
작동 방식
| 작동 방식 | CPU가 NOP 슬라이드를 만나면 아무런 작업도 수행하지 않고 다음 명령어로 넘어감. 해커는 NOP 슬라이드를 사용하여 버퍼 오버플로우 공격 시 대상 코드를 덮어쓰고, 프로그램의 실행 흐름을 제어함. |
|---|
활용
| 악용 | NOP 슬라이드는 악성 코드가 실행될 메모리 주소를 정확히 알 필요 없이 공격을 성공시킬 가능성을 높임. |
|---|---|
| 목적 | 버퍼 오버플로우 공격 시 공격 코드를 실행시키기 위해 사용됨. |
보안 대책
| ASLR (Address Space Layout Randomization) | ASLR은 메모리 주소를 무작위화하여 NOP 슬라이드의 효과를 감소시킴. |
|---|---|
| DEP (Data Execution Prevention) | DEP는 데이터 영역에서의 코드 실행을 막아 NOP 슬라이드를 이용한 공격을 차단함. |
x86 NOP 코드
| x86 아키텍처 | x86 아키텍처에서 가장 일반적인 NOP 코드는 0x90이며, 이는 x86 어셈블리 언어에서 'XCHG AX, AX' 명령어에 해당함. |
|---|
📚 더 읽어볼만한 페이지
2. NOP 슬라이드 탐지
메모리 내 NOP 슬라이드의 존재를 감지하는 다양한 기술이 연구 및 개발되고 있다. 2005년 그리스 연구원들은 메모리 이미지 분석을 통해 NOP 슬라이드를 쉽게 감지할 수 있음을 발견했다.