반응형
DEP(Data Execution Prevention)
DEP 란?
Data Execution Prevention
데이터 실행 방지 기법
실행 권한이 없는 메모리 영역의 코드가 실행되지 못하도록 방지하는 기법
스택이나 힙영역에서의 shell 코드 실행을 막아주는 메모리 보호 기법
[종류]
HardWare DEP : 가상 메모리 페이지 단위로 해당 메모리에서 코드를 실행 할 수 없도록 함
SoftWare DEP : SEH overwirte 같이 특정 유형의 악의적인 코드 공격을 막음
DEP를 사용하는 이유
어셈블리 공격 코드와 Buffer overflow 공격을 통해
Heap 영역, 스택 또는 private 영역 에서 악의적인 코드를 실행 시키는 공격방법이 존재하는데
이 공격법을 막는 방법이
DEP 기법
DEP 우회 공격 기법
ROP (Return Oriented Programming)
DEP를 통해 보호된 메모리 영역에서 공격자가 삽입한 코드 실행은 불가능 하지만
이미 로드된 (정상적으로 실행 가능한 영역에서 추출된) 명령어 코드는 사용이 가능함
즉 새로운 코드를 사용하는 것이 아니라
이미 프로그램 내부에 존재하는 코드 조각들을 끼워 맞추는 기술
Windows API
VirtualAlloc
HeapAlloc
SetProcessDEPPolicy
상위 두가지 기법을 동시에 사용하면
DEP 를 뚫고 공격이 가능함
반응형
'보안' 카테고리의 다른 글
PKI 리서치 - 비대칭키(공개키) 알고리즘을 이용한 전자서명 (0) | 2022.04.02 |
---|---|
PKI 리서치 - 암호화 알고리즘 개념 (0) | 2022.04.02 |
ASLR 이란? (0) | 2021.08.27 |
OpenSSL를 이용한 암/복호화, 해쉬 (0) | 2021.02.23 |
해쉬 (HASH) (0) | 2021.02.23 |