Nvidia 드라이버를 설치한 후 MOK 비밀번호를 설정하라는 메시지가 표시됩니다. 그렇지 않으면 타사 드라이버가 제대로 작동하지 않을 수 있으므로 비밀번호를 만들었습니다. 재부팅 후 여러 옵션이 포함된 파란색 MOK 관리 화면이 표시되었으며, 그 중 첫 번째 옵션은 부팅을 계속하는 것이었습니다. 그래서 이것을 선택했는데 부팅이 완료되었을 때 두 번째 모니터가 인식되지 않았습니다. 처음에 MOK에 대한 메시지가 표시되었을 때 보안 부팅에 대해 읽은 것을 기억하고 BIOS로 부팅하고 보안 부팅을 껐습니다. 이제 두 번째 화면이 돌아왔습니다. 몇 가지 질문이 떠오릅니다.
- 먼저, MOK란 무엇인가?
- 나에게 그것이 필요합니까? 필요하지 않은 경우 어떻게 제거합니까?
- Nvidia 드라이버 설치 또는 MOK 설정으로 인해 두 번째 화면이 인식되지 않습니까?
- 안전 부팅을 계속 끌 수 있나요?
도와주셔서 감사합니다!
답변1
광고 1)
MOK(머신 소유자 키)는 승인된 운영 체제 구성 요소와 드라이버만 실행되도록 허용하여 부팅 프로세스를 보호하도록 설계되었습니다. 그럼에도 불구하고 MOK는 "BIOS" 또는 컴퓨터 내부의 일부 시작 코드로 구현되어야 합니다.
주요 아이디어는 운영 체제(OS)가 로드될 때 서명된 코드만 실행되도록 허용된다는 것입니다. 일단 부팅되면 운영 체제는 BIOS로부터 시스템을 보호하는 책임을 맡을 수 있습니다.
MOK 시스템은 공개 키 암호화를 사용합니다. 즉, 키 쌍을 만든 다음 개인/비밀 키 쌍을 사용하여 실행할 수 있는 모든 구성 요소에 서명합니다. 여기에는 GRUB 부트 로더 자체가 포함됩니다. 그런 다음 BIOS는 공개 키(설치해야 함)를 사용하여 코드를 실행하기 전에 서명을 확인합니다.
내 개인적인 의견으로는 MOK의 장점은 키를 직접 생성하고 신뢰할 수 있는 구성 요소에 서명할 수 있다는 것입니다. 예전에는 EFI BIOS가 마이크로소프트의 공개키만 설치했고, 리눅스 부트로더 서명을 꺼렸어요 :-) 과거에는 SHIM(EFI BIOS와 GRUB 사이의 중개자)이 필요했던 이유입니다.
모든 보안 부팅 방법은 시스템이 정상적으로 시작되고 맬웨어에 의해 변조되지 않도록 하여 해커와 바이러스로부터 시스템을 보호하기를 희망합니다. 시작 코드나 드라이버가 변조된 경우 시스템이 이를 감지하여 적절한 조치를 취할 수 있습니다. 공격자가 컴퓨터에 물리적으로 접근할 수 있는 경우("사악한 하녀 공격") 컴퓨터를 보호할 수 있는 옵션이 많지 않습니다. 중요한 데이터가 모두 포함된 디스크가 암호화되어 있더라도 공격자는 시작 코드를 수정하여 읽을 수 있습니다. 비밀번호를 입력할 때 비밀번호를 가져온 다음 나중에 읽을 수 있도록 전송하거나 저장하세요. 보안 부팅은 이러한 수정을 방지합니다.
Kyle Rankin은 Librem 노트북 제품군의 부팅 프로세스 보안을 위해 많은 작업을 수행했으며,그의 작품에 대한 훌륭한 기사는 다음과 같습니다.. 나는 그것이 여러분의 시스템에 직접적으로 적용되지 않더라도 읽을 가치가 있다고 믿습니다. 아이디어는 동일합니다.
광고 2)와 4)
MOK와 보안 부팅이 필요합니까? 해커, 특히 노트북에 물리적으로 접근할 수 있거나 브라우저/사무실/Linux 버그를 통해 인터넷에서 루트 액세스 권한을 얻을 수 있는 해커에 의해 성공적으로 손상되는 경우에는 그렇지 않습니다. 비활성화에 관해서는 올바른 작업을 수행했습니다. BIOS에서 보안 부팅을 비활성화합니다.
답변2
광고 3)
보안 부팅이 적용되면 유효한 서명이 있는 커널 모듈만 허용됩니다. MOK 설치 프로세스가 실제로 완료되지 않았기 때문에 Nvidia 모듈에 대한 서명 확인이 실패했으며 Nvidia 모듈 설치 프로세스가 nouveau
커널 드라이버를 블랙리스트에 올렸을 수 있으므로 시스템은 가속되지 않은 efifb
디스플레이 드라이버로 대체될 가능성이 높습니다. 펌웨어로 설정된 것이 지원됩니다.
MOK의 무단 수정으로부터 시스템을 보호하기 위해 MOK 설치 프로세스에서는 운영 체제가 실제로 실행되는 동안이 아니라 부팅 시에만 액세스할 수 있는 방식으로 MOK를 저장하도록 펌웨어에 요청합니다. 따라서 MOK 설치 프로세스를 다시 시작해야 합니다.
먼저, 운영 체제가 실행되는 동안 MOK가 생성되어 설치를 준비하고, 설치 프로세스의 두 번째 단계를 보호하기 위해 일회용 비밀번호가 생성됩니다. 그러면 시스템이 재부팅되고 shimx64.efi
MOK 설치 프로세스가 시작된 것을 감지하며 시작 시 파란색 MOK 관리자 화면이 표시됩니다. 이때 "키 설치" 옵션을 선택하고, 다시 시작하기 전에 설정한 일회용 비밀번호를 입력하여 확인해야 합니다. 이 비밀번호는더 이상 필요하지 않음: MOK 설치가 성공하면 커널 모듈 관리 도구가 필요할 때 자동으로 MOK를 사용할 수 있고, 실패할 경우 처음부터 MOK 설치 프로세스를 시작해야 합니다.
처음에 보안 부팅 펌웨어는 *.efi
암호화 해시를 통해 명시적으로 허용 목록에 포함되거나 보안 부팅에 의해 생성된 부트로더 파일(Linux에서 사용하는 ELF 형식이 아닌 Windows 스타일 PE32/PE32+ 바이너리 형식을 사용해야 함)만 허용합니다. 인증서 서명된 펌웨어 NVRAM 1개. 이렇게 하면 shimx64.efi
Linux 배포판의 서명 인증서와 선택적 MOK 인증서가 허용된 인증서(비영구) 목록에 추가됩니다.
이렇게 하면 특정 Linux 배포판에 대한 보안 부팅 서명 키를 사용하여 서명된 부트 로더 및 배포 커널을 shimx64.efi
로드 할 수 있습니다 . grubx64.efi
UEFI용으로 구축된 경우 Linux 커널에는 UEFI 부팅 스텁이 포함될 수 있습니다. 이를 통해 커널은 PE32+ 바이너리처럼 보이게 되므로 보안 부팅 호환 방식으로 커널을 서명할 수도 있습니다.
보안 부팅 사양에서는 커널이 모든 커널 코드를 실행하기 전에 서명 확인을 유지해야 한다고 요구합니다. 그렇지 않으면 호환되지 않는 커널이 향후 보안 부팅 사양 호환 펌웨어 버전에 의해 블랙리스트에 추가될 수 있습니다. 따라서 커널은 로드하는 모든 커널 모듈에 대해서도 서명 확인을 수행합니다. 이를 위해 커널은 빌드된 서명 키를 공리적으로 신뢰합니다. 배포 커널은 일반적으로 Secure Boot에서 허용하는 키를 화이트리스트에 추가합니다(Modern Linux 또는 이전 버전 참조 keyctl list %:.builtin_trusted_keys
). MOK가 설정된 경우 여기에 포함됩니다.keyctl list %:.secondary_trusted_keys
keyctl list %:.system_keyring