IT 그리고 정보보안/Knowledge base

NX-bit (Non-eXecutable stack)

plummmm 2021. 4. 15. 21:36
반응형

BOF 방어 기법 중 뭐 아주 기초적인 방어 기법이라고 할 수 있다.

NX-bit는 "스택에서 코드 실행 불가" 

 

기본적으로 우리는 BOF공격을 할 때 일단 스택 상에서 셸코드가 실행되는 공격을 생각한다.

[버퍼크기 + SFP] 만큼 쓰레기값을 채우고, RET에 스택 상에서 셸코드가 

실행 되게끔 하는 위치로 잡아서 공격하는 BOF.

이것은 NX-bit가 설정 되어 있지 않아 스택 상에서 코드가 실행 가능할 때야 먹히는 공격이다.

 

 

 

위 그림에서 스택 영역으로 보이는 위치에 권한을 보면 x(실행) 권한이 주어져 있다.

NX-bit가 적용되어있지 않다는 말임.

 

NX-bit를 우회하기 위해 사용하는 공격 기법으로 RTL(Return-to-Libc) 등이 있는데

(더 고수준 공격들도 있지만, 아직 공부하는 단계라 추후에 공부한 후 다시 설명할 예정)

일단 이 포스트에서는 방어 기법에 대한 설명만 하도록 함.

 

언뜻 검색하다 2004년 3,4분기 부터 인텔 컴퓨터에 NX-bit를 적용 시켰다는 뉴스기사를 보았다.

오래되긴 했지만 현재는 거의 모든 컴퓨터에 적용되어 있으므로, 반드시 알아야 하는 개념

 

반응형