반응형
BOF 방어 기법 중 뭐 아주 기초적인 방어 기법이라고 할 수 있다.
NX-bit는 "스택에서 코드 실행 불가"
기본적으로 우리는 BOF공격을 할 때 일단 스택 상에서 셸코드가 실행되는 공격을 생각한다.
[버퍼크기 + SFP] 만큼 쓰레기값을 채우고, RET에 스택 상에서 셸코드가
실행 되게끔 하는 위치로 잡아서 공격하는 BOF.
이것은 NX-bit가 설정 되어 있지 않아 스택 상에서 코드가 실행 가능할 때야 먹히는 공격이다.
위 그림에서 스택 영역으로 보이는 위치에 권한을 보면 x(실행) 권한이 주어져 있다.
NX-bit가 적용되어있지 않다는 말임.
NX-bit를 우회하기 위해 사용하는 공격 기법으로 RTL(Return-to-Libc) 등이 있는데
(더 고수준 공격들도 있지만, 아직 공부하는 단계라 추후에 공부한 후 다시 설명할 예정)
일단 이 포스트에서는 방어 기법에 대한 설명만 하도록 함.
언뜻 검색하다 2004년 3,4분기 부터 인텔 컴퓨터에 NX-bit를 적용 시켰다는 뉴스기사를 보았다.
오래되긴 했지만 현재는 거의 모든 컴퓨터에 적용되어 있으므로, 반드시 알아야 하는 개념
반응형
'IT 그리고 정보보안 > Knowledge base' 카테고리의 다른 글
ASLR (Address Space Layout Randomization) (0) | 2021.04.15 |
---|---|
Ascii Armor (아스키 아머) (0) | 2021.04.15 |
argv[] 인자로 받는 페이로드 구성 시 유의할 점 (0) | 2021.04.15 |
RTL Chaining으로 커스텀 스택(.bss)에 문자열 저장 (0) | 2021.04.15 |
RTL Chaining (esp lifting technique) (0) | 2021.04.15 |