GRUB가 암호화된 부팅 파티션을 잠금 해제하는 데 너무 오랜 시간이 걸림

GRUB가 암호화된 부팅 파티션을 잠금 해제하는 데 너무 오랜 시간이 걸림

암호화된 환경에 GRUB2를 설치했습니다.시작하다파티션, 세부정보 보기여기. 내가 선택한 해싱 알고리즘은 luksFormat다음과 같습니다.샤512, 기본값 iter-time(2초)을 사용합니다.

명령줄에서(에서아치소또는 실행 중인 시스템에서), GRUB가 잠금을 해제하는 데 평균 10.5초가 걸립니다. 이는 내 시나리오에 허용되는 것보다 느립니다.

다른 사람들도 같은 문제가 있다는 것을 알았습니다여기그리고여기. 두 번째 링크에서 사용자는프로스트슈츠이 문제의 원인에 대한 몇 가지 팁이 게시되어 있으며 그 중 2개는 매우 타당하다고 생각합니다.

1) 초기 GRUB 잠금 해제 중에 CPU가 절전 모드에서 실행될 수 있습니다.

2) GRUB은 시스템보다 훨씬 느린 해시 구현을 사용할 수 있습니다. 벤치마크 테스트를 해보니,여기.

부팅 파티션 암호화가 점점 더 보편화되고 있는 것 같고 아직 이 질문에 대한 만족스러운 답변이 없기 때문에 질문을 드려야겠다고 생각했습니다. 반복 횟수를 줄이는 것(오프라인 공격 시나리오에서 보안을 크게 감소시키는 것) 외에도 GRUB 부트로더의 (훨씬 느린) 복호화 시간을 해결하기 위해 수행할 수 있는 다른 방법은 무엇입니까?

최소한 정확한 원인이라도 알고 싶습니다. 부트로더 화면에서 CPU 시계를 확인하고 변경할 수 있는 방법이 있나요? 나는 GRUB에 쉘이 있다는 것을 알고 있습니다. 그것을 열어서 시도했지만 cat /proc/cpuinfo"/proc not Found" 또는 이와 유사한 오류로 인해 실패했습니다. 나는 또한 그것을 시도했는데 cpuid실패하지는 않지만 아무것도 반환하지 않습니다.

추가 정보로 다음과 같은 시간을 얻었습니다.

  • GRUB에는 다음이 필요합니다.9초 이상/boot비밀번호를 입력하고 키를 눌러 부팅 파티션( )을 잠금 해제합니다 Enter.
  • 커널이 루트 파티션( /)을 잠금 해제하는 데 약 7초가 소요되는 것으로 보입니다. 다시 한 번 을 누른 후 시간이 측정됩니다 Enter.
  • 커널은 /boot( )를 통해 부팅 파티션을 잠금 해제하고 마운트합니다.crypttab2초 남짓 소요됩니다.

고쳐 쓰다:

  • SHA256 해싱을 시도했지만 시간이 더 오래 걸렸습니다(13초). 이는 GRUB가 64비트를 사용해야 함을 나타낼 수 있습니다.여기,https://security.stackexchange.com/a/40218/91904그리고프로스트슈츠의 답변.

  • SHA1도 시도했는데 11.5초가 걸렸습니다.

  • AES256을 사용하든 AES512를 사용하든 차이가 없는 것 같습니다.

  • 또한 부팅 파티션이 어떤 파일 시스템을 사용하는지는 중요하지 않습니다.

답변1

GRUB은 초기 부팅입니다. 아직 운영 체제나 Linux가 없었습니다. 하지만 GRUB가 자체적으로 놀랍고 놀라운 일을 많이 할 수 있기 때문에 우리는 이를 잊어버리는 경향이 있습니다. 따라서 /proc not found놀라운 메시지는 아닙니다.

SHA512는 64비트 명령어의 이점을 크게 활용하지만 GRUB는 아직 이러한 명령어를 사용하지 못할 수도 있습니다. SHA256이나 SHA1을 사용해 보세요. GRUB에 더 적합할 수도 있습니다. 반복 횟수가 그에 따라 조정되므로 LUKS에서 어떤 해시 사양을 사용하는지는 중요하지 않습니다. 바라보다기존 dm-crypt LUKS 장치의 해시 사양 및 반복 시간을 어떻게 변경합니까?모든 것을 다시 암호화하지 않는 방법에 대해 설명합니다.

GRUB은 해싱 요구에 따라 gcrypt 라이브러리의 변형을 사용하는 것으로 보입니다. 나는 모른다나의 아주 오래된 벤치마크여전히 유효. 테스트해 보니 가장 빠른 라이브러리도 아니었고(적어도 제가 사용한 방식으로는 cryptsetup benchmark) 놀라울 정도로 큰 차이가 있었습니다.

따라서 cryptsetup 바이너리와 함께 gcrypt를 사용하지 않는 경우 이는 잠금 해제 시간 차이의 또 다른 이유일 수 있습니다. 어쩌면 자신에게 맞는 값을 찾을 때까지 실험을 해봐야 할 수도 있습니다.

암호화된 부팅 파티션이 점점 더 보편화되면서

잘못된 이유로 인해... 사람들이 /boot를 조작하는 것처럼, 사람들이 부트로더를 조작하는 것도 마찬가지로 쉽습니다. GRUB는 가장 간단한 솔루션만 지원하는데, 저렴한 키로거의 손에 넘어간다면 무슨 소용이 있을까요?

관련 정보