에 관한 기사를 읽었습니다.실행 비활성화 비트(EDB)x86 CPU에서. 이는 다음과 같이 더 널리 알려져 있습니다.NX 비트;인텔에서는 XD라고도 부릅니다.
따라서 Windows XP는 이 하드웨어 기능을 지원합니다. 응! 하지만 내가 선택한 Linux 배포판이 이를 지원하는지 어떻게 알 수 있나요?
이 BIOS 옵션을 활성화하면 어떤 문제가 발생할 수 있습니까?
Linux가 이 기능을 처리하는 방법에 대한 자세한 내용은 어디에서 읽을 수 있습니까?
답변1
이 기능은 종종 호출됩니다.NX 비트. 메모리 페이지의 플래그입니다메모리 관리 유닛페이지를 실행할 수 없는 것으로 표시: 일부 코드가 페이지로 이동하면 분할 오류(Unix 용어로)가 발생합니다.
일반적으로 코드를 수정할 수 없으므로 쓰기 가능한 페이지를 읽기 전용으로 표시하는 것이 지원되는 일반적인 위생 조치입니다. 모든 경우에 이 작업을 수행할 수는 없습니다. 예를 들어적시 컴파일. 이것의 이점은 특정 오류로 인해 프로그램이 데이터가 포함된 메모리 영역으로 점프하는 것을 방지하는 것입니다. 이는 사용자가 코드를 삽입하고 프로그램을 악용할 수 있기 때문에 사용자가 데이터를 제공할 때 특히 나쁩니다. 결과적으로 NX 비트로 인해 보안 취약점에 대한 일부 공격이 중단될 수 있습니다. 그러나 보안 조치로서 이는 만병통치약이 아닙니다. 이를 해결할 수 있는 기술이 있습니다.복귀 지향 프로그래밍. NX의 주요 목적은 오류를 보다 쉽게 감지하는 것입니다.
인용하신 기사는 다소 오해의 소지가 있음을 알려드립니다. NX는 기존의 많은 공격을 차단하지만 공격과 바이러스는 시대에 맞춰 적응해 왔습니다. 기사의 또 다른 오류는 NX가 BIOS 기능이 아니라 CPU의 기능이라는 것입니다(일부 BIOS는 이를 비활성화할 수 있습니다. 비활성화하면 어떤 이점이 있는지 모르겠습니다).
이것위키피디아 페이지NX에 대한 일부 지원을 제공하는 UNIX 변형에 대해 자세히 설명합니다. 애플리케이션은 다음을 호출하여 페이지가 실행 가능한지 여부를 제어할 수 있습니다.mmap
시스템 호출.
답변2
내가 선택한 배포판이 이를 지원하는지 어떻게 알 수 있나요?
이미 커널에 있음2004년부터, 그래서 그들은 모두 어떤 방식으로든 그렇게 합니다. 주위를 둘러보실 때 RedHat의 이전 기사를 보지 마십시오. 분명히 1년 전에 이에 대한 패치가 있었던 것 같습니다.