Intel CPU 보안 홀 패치로 인해 성능 손실을 회복하기 위해 페이지 테이블 격리를 비활성화하는 방법은 무엇입니까? 성능이 저하되는 패치가 예상됩니다. 이 패치가 Ubuntu 시스템에

현재 인텔 CPU 보안 허점 문제로 인해 시스템 성능이 저하되는 패치가 예상됩니다.

이 패치가 Ubuntu 시스템에 설치되지 않도록하려면 어떻게해야합니까?



답변

패치 (일명 “페이지 테이블 격리”)는 일반적인 커널 업데이트의 일부입니다 (시스템을 업데이트 할 때 나타납니다). 그러나 다른 많은 보안 픽스도 제공하므로 커널을 최신 상태로 유지하는 것이 좋습니다. 따라서 수정없이 오래된 커널을 사용하는 것은 좋지 않습니다 .

그러나, 당신은 효과적으로 추가하여 패치를 비활성화 할 수 있습니다 pti=off( 추가 정보를 원하시면이 옵션을 추가 커널 패치를 커널 명령 행 (을) HOWTO ). 이렇게하면 시스템의 보안 수준이 떨어집니다.

PostgreSQL 메일 링리스트 에 PTI를 활성화 및 비활성화 한 정보 및 성능 테스트가 더 있습니다. TLDR은 성능에 10 ~ 30 %의 영향을 미친다는 것입니다 (ProstgreSQL의 경우 게임과 같은 다른 영향은 거의 영향을받지 않음) .

AMD 는 영향을받지 않기 때문에 ( reddit ) 인텔 프로세서에만 영향을 미치므로 AMD 에서는 기본적으로 비활성화되어있을 것입니다.


답변

업데이트 : 이 문제에는 Meltdown 및 Specter 한 쌍의 모니 커가 제공되었습니다 . 새로운 정보로 답변을 업데이트했습니다.

처음에는 커널 패치입니다. 더 높은 버전으로 표시됩니다. 설치했기 때문에 linux-image-generic설치됩니다. 그것이 그 패키지의 목적입니다. 그래서 당신은 제거 할 수 linux-image-generic있습니다. 그것은 끔찍하고 비참한 생각입니다. 모든 종류의 미숙함에 노출 되지만 그렇게 할 수 는 있습니다. CPU 내 수정 을 위해 따르는 CPU 마이크로 코드 가 있을 수도 있습니다 linux-firmware. 그것은 실제로 인텔에 있습니다.

이 문제를 해결하기 위해 따르는 방법은 관련이 없습니다. 버그의 실제 영향이나 버그 수정의 성능 비용을 알지 못하는 것을 우회하도록 요청하고 있습니다.

  • 버그가 심하다. 보고 된 CVE는 프로세스 간 메모리 읽기입니다. 모든 프로세스는 다른 프로세스의 메모리를 읽을 수 있습니다. 입력, 비밀번호, 전체 로트. 이것은 샌드 박스에도 영향을 줄 수 있습니다. 매우 초기의 일이며 사람들이 영향력과 접근성 모두에서이를 더욱 발전시킬 것으로 기대합니다.

  • 성능 저하는 걱정만큼 크지 않을 것입니다. 사람들이 이론적 서브 시스템 성능 또는 최악의 경우에 집중하고있는 숫자. 캐시가 잘못 된 데이터베이스는 가장 큰 타격을받을 것입니다. 게임과 일상적인 것들이 눈에 띄게 변하지 않을 것입니다.

지금도 실제 버그가 무엇인지 알 수 있지만, 그 영향이 무엇인지 말하기에는 너무 이릅니다. RAM에 대한 무료 읽기 액세스는 좋지 않지만 더 나쁜 점이 있습니다. 또한 수정 사항이 실제로 귀하에게 미치는 영향을 확인합니다.

플래그로 GRUB 설정을 미리로드하거나 아직 커널 메타 패키지를 제거하지 마십시오.


답변

권장하지는 않지만 PTI를 비활성화 할 수 있습니다.

nopti 커널 명령 줄 매개 변수

Phoronix 에 따르면 .

이, APPEND을 수행하려면 nopti다음 행으로 문자열에 그와 시작 GRUB_CMDLINE_LINUX_DEFAULT/etc/default/grub다음 실행

sudo update-grub

다시 시작합니다.

성능 관련 보안 기능을 비활성화하기위한 커널 부팅 매개 변수에 대한 자세한 내용 은 Ubuntu Wiki의 Spectre & Meltdown 완화 제어를 참조하십시오.


답변

grub에서 커널 인수 끝에 다음을 추가하십시오.

spectre_v2 = 끄기 nopti pti = 끄기

커널 매개 변수는 https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SpectreAndMeltdown/MitigationControls에 설명되어 있습니다.


답변

가장 간단한 방법 : 커널 구성에서 확인 해제

-> 보안 옵션

[] 사용자 모드에서 커널 매핑 제거

그런 다음 새 커널을 컴파일하십시오.


답변