윈디하나의 누리사랑방. 이런 저런 얘기

글쓴시간
분류 기술,IT

NX 비트(NX bit)

NX는 No eXecute 의 약어. 메모리에서 데이터 영역을 '실행'하는 것을 방지해주는 CPU의 기능이다.

인텔에서는 XD(eXecute Disable) bit, AMD에서는 EVP(Enhanced Virus Protection), 윈도에서는 DEP(Data Execution Prevention)라고 부른다.

악성코드를 침투시키는 방법중 하나가, 실행코드로 위장한 데이터를 전송해 이를 실행시키는 기법인데, 전송된 데이터는 '데이터 영역'에 쌓이기 때문에 필수적으로 데이터 영역의 데이터를 '실행'시켜야 한다. 이를 CPU 자체에서 방지하는 기능이다.

반대로 기존의 프로그래밍 기법중, '바이너리 코드'를 동적으로 생성해 실행하는 프로그래밍 기법이 있었는데, NX bit를 사용하는 운영체제에서는 이런 기법을 사용할 수 없다. 윈도 XP부터 추가된 기능이며, 윈도 비스타부터 일반화되어있다. (XP부터 사용할 수 있지만 비스타부터 기본값이 켜짐으로 되어있다)