NX 비트 - 위키백과, 우리 모두의 백과사전 NX 비트 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 NX 비트 ( NX bit, Never eXecute bit, 실행 방지 비트 ) 는 프로세서 명령어나 코드 또는 데이터 저장을 위한 메모리 영역을 따로 분리하는 CPU의 기술이다. 이 기능은 하버드 아키텍처 프로세서에서 보통 쓰인다. 그러나 NX 비트는 기본적인 폰 노이만 구조 프로세서에서 보안을 목적으로 많이 쓰인다. NX 특성으로 지정된 모든 메모리 구역은 데이터 저장을 위해서만 사용되며, 프로세서 명령어가 그 곳에 상주하지 않음으로써 실행되지 않도록 만들어 준다. 실행 보호라는 일반 기술은 특정한 종류의 악성 소프트웨어를 컴퓨터에 들어오지 못하게 막는 데 사용된다. 악성 소프트웨어의 경우 자신의 코드를 다른 프로그램의 자료 기억 영역에 심어 놓은 다음 이 구역 안에서 자신의 코드를 실행하게 만들며, 이를 버퍼 오버플로 공격이라고 한다. 인텔은 eXecute Disable의 약자인 XD 비트로 광고하기로 결정하였다. 그러나 인텔의 XD 비트와 AMD의 NX 비트는 같은 기능을 수행하며 이름만 다른 것이다. 목차 1 하드웨어 배경 2 소프트웨어 구현 3 운영 체제로의 도입 3. 1 FreeBSD 3. 2 OS X 3
) 공개일 : ( 처음 공개된 날 ) 아키텍처 독립 에뮬레이션을 공급하는 기술은 하드웨어적으로 지원하지 않는 모든 프로세서에서 사용할 수 있다. " 기타 지원 " 는 NX 비트가 분명히 존재하지 않는 프로세서를 위한 것이다. FreeBSD [ 편집 ] FreeBSD는 2007년 4월 6일 이후로 NX를 지원하지 않는다. OS X [ 편집 ] 인텔 기반 OS X은 애플로부터 NX 비트를 지원한다. ( 처음 공개한 인텔 기반의 10. 4. 4 뒤로 ). 리눅스 [ 편집 ] 리눅스 커널은 NX 비트를 지원하는 CPU ( 이를테면 현재 팔리는 64비트 AMD, 인텔, VIA, 트랜스메타 CPU ) 의 기본 하드웨어 NX를 지원하고 있다. x86 - 64 CPU 위의 64비트 모드에서 이 기능에 대한 지원이 2004년에 앤디 클린에 의해 추가되었고, 같은 해에 인고 몰나는 64비트 CPU 위의 32 비트 모드에서 NX 비트에 대한 지원을 추가하였다. 이러한 기능들은 안정화된 리눅스 커널 ( 2004년 8월에 공개한 2. 6. 8 이후 ) 에서 사용할 수 있다. 32비트 x86 CPU와 64비트 x86 호환 CPU에서 실행되는 32비트 x86 커널 위의
다른 것이다. 목차 1 하드웨어 배경 2 소프트웨어 구현 3 운영 체제로의 도입 3. 1 FreeBSD 3. 2 OS X 3. 3 리눅스 4 같이 보기 5 외부 링크 하드웨어 배경 [ 편집 ] 80286 이후의 x86 프로세서들은 세그먼트 수준으로 추가된 비슷한 기능을 제공한다. 그러나 이러한 제어 구조는 너무 빈약하여 쓸모가 없다. 특히 플랫 메모리 모델 ( Flat memory model ) 을 사용하는 현대의 소프트웨어의 경우에는 그렇다. 완전한 세그먼트가 아닌, 각 페이지마다 실행을 제어할 수 있는 새로운 구조가 필요하게 되었다. 페이지 수준의 구조는 썬의 SPARC, 알파, IBM의 파워PC와 같은 다른 다양한 프로세서 아키텍처에서 여러 해 동안 사용되었다. 2001년에 인텔은 IA - 64 아키텍처를 사용하는 자사의 아이테니엄 ( Merced ) 프로세서에 비슷한 기능을 추가하였지만, 당시 사람들이 애용하던 x86 프로세서 계열 ( 펜티엄, 셀러론, 제온 등 ) 에는 도입하지 않았다. x86 아키텍처의 경우, AMD는 애슬론 64와 옵테론과 같은 AMD64 계열 프로세서에 NX 비트를 도입하였다. NX 비트라는 용어는 다른 프로세서의 비슷한 기술을 서술할 때에도 흔히
책 만들기PDF로 다운로드인쇄용 판 다른 언어 日 本 語 中 文 링크 편집 이 문서는 2019년 4월 19일 ( 금 ) 21 : 05에 마지막으로 편집되었습니다. 모든 문서는 크리에이티브 커먼즈 저작자표시 - 동일조건변경허락 3. 0에 따라 사용할 수 있으며, 추가적인 조건이 적용될 수 있습니다. 자세한 내용은 이용 약관을 참고하십시오. 미국 및 다른 국가에 등록되어 있는 Wikimedia Foundation, Inc. 소유의 등록 상표입니다. 개인정보 정책 위키백과 소개 면책 조항 개발자 쿠키 정책 모바일 보기
계열 프로세서에 NX 비트를 도입하였다. NX 비트라는 용어는 다른 프로세서의 비슷한 기술을 서술할 때에도 흔히 쓰이게 되었다. AMD가 이 기능을 AMD64 명령어 세트에 도입하기로 결정한 뒤, 인텔은 후반 코어의 x86 기반의 펜티엄 4 프로세서부터 이와 비슷한 기능을 도입하였다. 구체적으로 말해, NX 비트는 페이지 테이블 안에 있는 64비트 엔트리의 비트 숫자 63 ( 가장 중요한 비트 ) 을 일컫는다. 이 비트가 0으로 설정된 경우, 코드는 그 페이지에서 실행될 수 있다. 1로 설정된 경우, 코드는 그 페이지에서 실행될 수 없으며 어떠한 것도 그 데이터에 상주할 수 없다. 또한 물리 주소 확장 ( PAE ) 페이지 테이블 포맷으로만 사용될 수 있다는 것도 잊어서는 안 된다. 왜냐하면 x86의 원래 32비트 페이지 테이블 포맷은 분명히 비트 63이 존재하지 않기 때문이다. 소프트웨어 구현 [ 편집 ] 하드웨어로 이 기능을 구현하기 앞서, 여러 운영 체제는 소프트웨어를 통해 이 기능을 가상으로 구현하였다. 이를테면 W ^ X 또는 Exec Shield를 들 수 있다. NX 비트의 이점을 이용하고 이를 가상으로 구현하는 기능을 포함하는 운영 체제는 스택과 히프 메모리 영역이 실행되지 못하게 막
회로 조합 논리 순차 논리 이미터 결합 논리 ( ECL ) 트랜지스터 - 트랜지스터 논리 ( TTL ) 글루 로직 게이트 게이트 배열 계수기 버스 반도체 소자 클럭 속도 CPU 배수 비전 칩 멤리스터 전원 관리 APM ACPI 동적 주파수 스케일링 동적 전압 스케일링 클럭 게이팅 하드웨어보안 NX 비트 인텔 MPX 인텔 시큐어 키 하드웨어 제한 ( 펌웨어 ) Software Guard Extensions ( 인텔 SGX ) Trusted Execution Technology 신뢰 플랫폼 모듈 ( TPM ) 안전한 암호 보조 처리기 하드웨어 보안 모듈 헝즈칩 관련 항목 범용 CPU의 역사 원본 주소 " " 분류 : 중앙 처리 장치운영 체제 보안숨은 분류 : 영어 표기를 포함한 문서깨진 링크를 가지고 있는 문서 둘러보기 메뉴 개인 도구 로그인하지 않음토론기여계정 만들기로그인 이름공간 문서토론 변수 보기 읽기편집역사 보기 더 보기 검색 둘러보기 대문사용자 모임요즘 화제최근 문서 보기임의 문서로도움말기부 도구 여기를 가리키는 문서가리키는 글의 최근 올리기특수 문서 목록고유 링크문서 정보위키데이터 항목이 문서 인용하기 인쇄 / 내보내기 책 만들기PDF로 다운로드인쇄용 판 다른 언어 日 本 語 中 文 링크 편집 이 문서는 2019년 4월
페도라 코어 6은 PAE, NX를 지원하는 커널 PAE 패키지를 제공하지 않는다. 실행 방지 기능은 다른 비 x86 프로세서에도 존재한다. 같이 보기 [ 편집 ] 데이터 실행 방지 외부 링크 [ 편집 ] CPU 기반 보안 : NX Bit AMD, 인텔이 바이러스 방지 기술을 칩에 추가한다 [ 깨진 링크 ( 과거 내용 찾기 ) ] 마이크로소프트 보안 개발자 센터 : 윈도 XP SP 2 : 실행 보호 vdehCPU 기술구조 튜링 기계 포스트 튜링 기계 범용 튜링 기계 양자 튜링 기계 벨트 머신 스택 머신 레지스터 머신 카운터 머신 포인터 머신 랜덤 접근 기계 랜덤 액세스 스토어드 프로그램 머신 유한 상태 기계 큐 오토마톤 폰 노이만 하버드 ( 수정됨 ) 데이터플로 TTA 셀룰러 인공신경망 기계 학습 딥 러닝 신경 처리 장치 ( NPU ) 돌림형 신경망 로드 / 스토어 아키텍처 레지스터 메모리 아키텍처 엔디언 FIFO 제로 카피 NUMA HUMA HSA 모바일 컴퓨팅 서피스 컴퓨팅 착용 컴퓨팅 이기종 컴퓨팅 병렬 컴퓨팅 병행 컴퓨팅 분산 컴퓨팅 클라우드 컴퓨팅 무정형 컴퓨팅 유비쿼터스 컴퓨팅 패브릭 컴퓨팅 재배열 컴퓨팅 인지 컴퓨팅 아날로그 컴퓨팅 기계식 컴퓨팅 하이브리드 컴퓨팅 디지털 컴퓨팅 DNA 컴퓨팅 컴퓨팅 화학 컴퓨팅 유기 컴퓨팅 컴퓨팅 양자 컴퓨터 신경 모방 컴퓨팅 광 컴퓨터 리버서블 컴퓨팅 비전통 컴퓨팅 하이퍼 계산 3진법 컴퓨터 대칭형 다중 처리 (
프로세서 멀티칩 모듈 ( MCM ) 칩 스택 멀티칩 모듈 단일 칩 체제 ( SoC ) 멀티프로세서 시스템 온 칩 ( MPSoC ) 프로그래밍 가능 단일 칩 체제 ( PSoC ) 네트워크 온 칩 ( NoC ) 구성 요소 실행 장치 ( EU ) 산술 논리 장치 ( ALU ) 주소 생성 장치 ( AGU ) 부동 소수점 장치 ( FPU ) 로드 스토어 유닛 ( LSU ) 분기 예측 유니파이드 레저베이션 스테이션 배럴 시프터 언코어 Sum addressed decoder ( SAD ) 프론트 사이드 버스 백사이드 버스 노스브리지 사우스브리지 가산기 곱셈기 복호화 주소 디코더 멀티플렉서 멀티플렉서 레지스터 캐시 메모리 관리 장치 ( MMU ) IOMMU 통합 메모리 컨트롤러 ( IMC ) 전원 관리 장치 ( PMU ) 변환 색인 버퍼 ( TLB ) 스택 엔진 레지스터 파일 프로세서 레지스터 하드웨어 레지스터 메모리 버퍼 레지스터 ( MBR ) 프로그램 카운터 마이크로코드 ROM 데이터패스 제어 장치 인스트럭션 유닛 재배열 버퍼 버퍼 쓰기 버퍼 코프로세서 전자 개폐기 전자 회로 집적 회로 3차원 집적 회로 불리언 회로 디지털 회로 아날로그 회로 혼합 신호 집적 회로 전원 관리 집적 회로 회로 논리 회로 조합 논리 순차 논리 이미터 결합 논리 ( ECL ) 트랜지스터 - 트랜지스터 논리 ( TTL ) 글루 로직 게이트
컴퓨팅 유기 컴퓨팅 컴퓨팅 양자 컴퓨터 신경 모방 컴퓨팅 광 컴퓨터 리버서블 컴퓨팅 비전통 컴퓨팅 하이퍼 계산 3진법 컴퓨터 대칭형 다중 처리 ( SMP ) 비대칭형 다중 처리 ( AMP ) 캐시 계층 메모리 계층 구조 ISA 유형 ASIP CISC RISC EDGE ( TRIPS ) VLIW ( EPIC ) MISC OISC NISC ZISC 비교 ISA X86 z / 아키텍처 ARM MIPS 파워 아키텍처 ( 파워PC ) SPARC 밀 아이테니엄 ( IA - 64 ) 알파 프리즘 슈퍼H V850 클리퍼 VAX 유니코어 PA - RISC 마이크로블레이즈 RISC - V 워드 크기 1비트 2비트 4비트 8비트 9비트 10비트 12비트 15비트 16비트 18비트 22비트 24비트 25비트 26비트 27비트 31비트 32비트 33비트 34비트 36비트 39비트 40비트 48비트 50비트 60비트 64비트 128비트 256비트 512비트 가변 실행 명령어 파이프라인 버블 피연산자 포워딩 비순차적 명령어 처리 레지스터 리네이밍 모의 실행 분기 예측 메모리 의존성 예측 하자드 병렬 레벨 비트 비트 직렬 워드 명령어 파이프라이닝 스칼라 슈퍼스칼라 태스크 스레
이용하고 이를 가상으로 구현하는 기능을 포함하는 운영 체제는 스택과 히프 메모리 영역이 실행되지 못하게 막으며, 실행 가능한 메모리를 기록하지 못하게 막는다. 특히 새서 블래스터 같은 코드를 실행하고 거부하는 특정한 버퍼 오버플로의 이용을 막는 데 도움을 준다. 이러한 공격은 쓰기 가능, 실행 가능이 되기 위한 메모리 일부 ( 보통 스택 ) 에 따라 달라진다. 쓰기나 실행이 불가한 경우, 공격은 실패로 끝난다. 운영 체제로의 도입 [ 편집 ] 수많은 운영 체제는 NX 정책을 포함하고 있으며, 그 운영 체제들 가운데 일부는 NX 에뮬레이션을 사용한다. 일부 기술의 경우, 각 기술이 지원하는 주된 기능을 다음과 같이 요약하고 있다. 하드웨어 지원 프로세서 : ( CPU 아키텍처의 쉼표 구분 목록 ) 에뮬레이션 : ( 아니오 ) 또는 ( 아키텍처 독립 ) 또는 ( CPU 아키텍처의 쉼표 구분 목록 ) 기타 지원 : ( 없음 ) 또는 ( CPU 아키텍처의 쉼표 구분 목록 ) 표준 분배 : ( 아니오 ) 또는 ( 예 ) 또는 ( 이 기술을 지원하는 버전이나 배포의 쉼표 구분 목록 ) 공개일 : ( 처음 공개된 날 ) 아키텍처 독립 에뮬레이션을 공급하는 기술은 하드웨어적으로 지원하지 않는
NX 비트(NX bit, Never eXecute bit, 실행 방지 비트)는 프로세서 명령어나 코드 또는 데이터 저장을 위한 메모리 영역을 따로 분리하는 CPU의 기술이다. 이 기능은 하버드 아키텍처 프로세서에서 보통 쓰인다. 그러나 NX 비트는 기본적인 폰 노이만 구조 프로세서에서 보안을 목적으로 많이 쓰인다. NX 특성으로 지정된 모든 메모리 구역은 데이터 저장을 위해서만 사용되며, 프로세서 명령어가 그 곳에 상주하지 않음으로써 실행되지 않도록 만들어 준다. 실행 보호라는 일반 기술은 특정한 종류의 악성 소프트웨어를 컴퓨터에 들어오지 못하게 막는 데 사용된다. 악성 소프트웨어의 경우 자신의 코드를 다른 프로그램의 자료 기억 영역에 심어 놓은 다음 이 구역 안에서 자신의 코드를 실행하게 만들며, 이를 버퍼 오버플로 공격이라고 한다. 인텔은 eXecute Disable의 약자인 XD 비트로 광고하기로 결정하였다. 그러나 인텔의 XD 비트와 AMD의 NX 비트는 같은 기능을 수행하며 이름만 다른 것이다.