Ubuntu는 DEP 및 ALSR과 같은 보안 기능을 사용합니까?


11

DEP (Data Execution Prevention) 및 ASLR (Address Space Layout Randomization)과 같은 기능이 Windows에서 제공되는 경우가 많습니다. Windows에서는 32 비트 프로그램에 대해 DEP를 켜는 것을 제어 할 수 있습니다.

  • 이 기능들은 우분투에서 사용할 수 있습니까
  • 이 기능을 켜려면 어떻게해야합니까?

답변:


20

둘 다 그렇습니다. 기본적으로 켜져 있습니다. 당신이 그것을 활성화하기 위해 아무것도 할 필요가 없습니다. 더 긴 대답은 다음과 같습니다 ...

DEP는 우분투에서 기본적으로 사용됩니다. CPU가 지원하는 경우 NX 비트를 통해 수행되거나 CPU가 지원하지 않는 경우 메모리 분할을 통해 에뮬레이션됩니다. 자세한 내용은 비 실행 메모리 기능 항목을 참조하십시오 .

ASLR은 재배치 될 수있는 메모리 세그먼트 (스택, 라이브러리, 힙, mmap)에서 우분투에서 기본적으로 사용됩니다. 기본적으로 재배치 할 수없는 프로그램의 유일한 부분은 기본 코드 영역 ( "텍스트"세그먼트)입니다. 이를 가능하게하려면 프로그램을 PIE (위치 독립적 실행 파일)로 특수하게 컴파일해야합니다. 많은 민감한 프로그램이 이미 이런 식으로 구축되었습니다. 자세한 내용 은 목록을 참조하십시오

우분투에서는 기본적으로 많은 추가 보안 기능을 사용할 수 있습니다. 전체 목록 은 Ubuntu 보안 기능 설명서 를 참조하십시오 .


1

Linux 커널은 기본적으로 유사한 기술을 사용하지만 Windows 버전과 다릅니다. 프로세서에 NX 비트 (대부분 최신 CPU)를 설정할 수있는 기능이 있다면 커널은이를 사용합니다. 커널의 ASLR에는 약한 구현이 있으며 더 강력한 것을 설치할 수 있지만 우분투에는 기본적으로 설치되지 않습니다.


3
현재 위키 백과 기사 en.wikipedia.org/wiki/ASLR 에는 엔트로피 비교가 없지만 Windows ASLR이 Linux보다 약하다는 것을 이해하고 있습니다. 또한 Linux 기본값보다 무거운 ASLR을 원한다면 PaX 패치 세트를 자체 커널로 구축 할 수 있으며, 이는 적은 호환성 비용으로 더 높은 엔트로피를 제공합니다.
Kees Cook

차이를 나누는 좋은 기사 cert.org/blogs/certcc/post.cfm?EntryID=191 미세한 세부 사항 중 일부 토론하는 완료되지 않을 것 과정을, : D의 reddit.com/r/netsec/comments/ 1xjwde /…
Univ426

0

일반적으로 간단히 말해 PAE 버전의 커널이 필요합니다. 이 주제에 대한 자세한 정보는 이 요약을 참조하십시오 .


3
PAE는 하드웨어 NX에만 필요합니다. 64 비트는 이미 PAE이므로 PAE 커널을 실행하지 않거나 하드웨어에 NX 비트가없는 경우 32 비트에서 Ubuntu는 메모리 분할을 사용하여 NX 기능을 에뮬레이션합니다.
Kees Cook

@ 키스 쿡 : 정보 주셔서 감사합니다. OP는 32 비트에 대해 물었다. 내 시스템 (우분투 10.10 32 비트)에서 dmesg말합니다 NX (Execute Disable) protection cannot be enabled: non-PAE kernel. 반면에 bazaar.launchpad.net/~ubuntu-bugcontrol/qa-regression-testing/… 에서 테스트를 실행했을 때 nx가 적용되는 것처럼 보였지만 -pie-rie테스트 에는 적용되지 않았습니다 . 그래서 약간 혼란 스럽습니다.
정렬

2
불행히도 10.10 이후의 dmesg 보고서에는 NX가 있지만 PAE 커널이없는 하드웨어에서 NX 에뮬레이션이 활성화되어있을 때 알 수없는 버그가 있습니다. kernel.ubuntu.com/git?p=ubuntu/…
Kees Cook

1
(이것은 버그로보고되었습니다 : bugs.launchpad.net/ubuntu/+source/linux/+bug/745181 )
Kees Cook
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.