소프트웨어건 하드웨어건 보안 취약점이란 것이 존재합니다. 그리고 안타깝게도 CPU에도 보안 취약점이 존재합니다.
이 CPU의 보안 취약점에 대응하기 위해서 BIOS, 마이크로코드 등을 업데이트 합니다. 그래도 해결이 안되면 OS 차원에서 보안 위협을 완화(mitigation)할 수 있는 알고리즘을 사용해서 대응하게 됩니다.
다만, 이 과정에서 CPU 성능이 떨어지게 됩니다. 아래 링크의 자료를 보면 mitigation을 적용(on) 했을 때 성능 차이를 보여주고 있습니다.
출처 : https://www.phoronix.com/review/3-years-specmelt/9
구세대일 수록 성능 차이가 많이 나는 것을 볼 수 있습니다.
그래서 성능이 아쉬운 경우에는 완화(mitigation) 기능을 끄고(off) 사용하는 것을 고민하게 됩니다.
이 보안 취약점 완화 기능을 끄고 사용하는 것은 비권장 방법입니다. 스스로의 책임하에 제한적으로 사용하시기 바랍니다.
CPU 보안 취약점 확인
lscpu 명령을 사용하면 그림과 같은 결과를 보여줍니다. 이 중에 아래에 Vulnerabilities 아래에 표시된 것들이 CPU의 보안 취약점과 관련된 내용입니다.
각 항목들에는 다음과 같은 내용이 표시됩니다.
- Vulnerable : 취약한 상태
- Not affected : 영향 받지 않음
- Mitigation : 완화됨
mitigation=off 방법
Mitigation 설정은 부팅할 때 커널 파라메타를 통해서만 설정할 수 있습니다.
(1) Proxmox VE 노드에 root로 로그인
(2) /etc/default/grub 파일에서 GRUB_CMDLINE_LINUX_DEFAULT="quiet"
로 표시된 항목을 GRUB_CMDLINE_LINUX_DEFAULT="quiet mitigations=off"
로 수정
(4) update-grub 명령 실행
(5) 리부팅(reboot)
적용 여부 확인
리부팅한 이후에 lscpu 명령을 이용해서 적용 여부를 확인합니다.
그림에서 보는 것 처럼 앞서 Mitigation으로 표시되던 항목들 일부가 Vulerable로 표시되고 있습니다. 즉 해당 보안 취약점에 위험한 상태로 변한 것입니다.
다시 한번 강조 합니다.
보안 취약점 완화 기능을 끄고 사용하는 것은 비권장 방법입니다. 스스로의 책임하에 제한적으로 사용하시기 바랍니다.