사악한 하녀에 대한 방어, / boot 파티션 제거 처리 방법


11

LUKS 전체 디스크 암호화를 사용할 때 사악한 하녀로부터 어떻게 보호 합니까?

악의적 인 하녀 공격은 다음에 컴퓨터를 시작할 때 누군가가 컴퓨터에 물리적으로 액세스하여 암호화되지 않은 / boot 파티션을 손상시켜 FDE 암호를 캡처하는 경우입니다.

해결책 중 하나는 / boot 파티션을 항상 당신과 함께하는 USB 스틱에 남겨 두는 것입니다 (메이드는 얻을 수 없습니다). 어떤 파일 시스템을 사용해야합니까? 그리고 제거를 정상적으로 처리하도록 시스템을 구성하는 방법 USB 스틱 (및 / boot 파티션 자체)?

CentOS를 사용하고 있지만, 일반적인, 반발 불가 항론적인 답변은 물론 환영합니다. 감사.

답변:


5

마침내 알아 냈습니다. 시스템은 /boot마운트되지 않을 수도 있다는 것을 결코 알지 못하기 때문에 여전히 해킹되고 더러워집니다. 시스템 업데이트를 생각할 수는 있지만 시스템이 완전히 작동하는 것 이외의 작업을 수행하기 전에 수동으로 마운트해야합니다. .

  • 부팅 플래그가 설정된 단일 파티션으로 플래시 드라이브를 준비하십시오. shred -n 1 -v /dev/sdX이전 부트 섹터를 포함하여 완전히 지울 수 있습니다 . 완료되면 fdisk파티션과 mkfs선택한 파일 시스템 을 만들기 위해 실행 됩니다 .
  • 어딘가에 플래시 드라이브를 장착 /mnt/boot하거나 /newboot잘 작동합니다.
  • 으로 모든 것을 /boot플래시 드라이브로 옮깁니다 mv /boot/* /newboot.
  • /etc/fstab플래시 드라이브 중 하나와 일치하도록 원본 부트 파티션의 UUID를 편집 하고 변경하십시오 (없는 경우 항목 작성). 로 UUID를 얻을 수 있습니다 lsblk -o name,uuid. 또한 noauto시스템이 부팅을 시작하자마자 (커널이로드 된 후) 드라이브의 FS가 손상 될 위험이 없도록 드라이브를 자동으로 마운트 할 수 없도록 옵션을 추가하십시오 .
  • 원래 부팅 파티션과 플래시 드라이브를 마운트 해제하고 ( umount /boot && umount /newboot) 플래시 드라이브를 마운트하십시오. fstab 항목이 올바른 경우 바로 실행할 수 mount /boot있으며 fstab에 지정된 UUID를 기반으로 자동으로 마운트합니다.
  • 새 파티션의 UUID 및 "물리적"위치를 반영하도록 부트 로더 구성을 재생성하십시오. GRUB의 경우 플래시 드라이브는 실제로 컴퓨터의 첫 번째 하드 드라이브로 나타납니다 ( hd0). 대부분의 배포판에서 제공하는 기본 GRUB 구성 스크립트를 사용하는 grub-mkconfig -o /path/to/grub.cfg것이 좋다면 현재 마운트 된 파티션 및 / 또는 fstab에 따라 파일을 생성하고 생성 할 수 있습니다 . CentOS 7의 경우 올바른 grub.cfg위치는 실제로에 있습니다 /boot/grub2/grub.cfg.

부팅 파티션에 액세스 할 수있는 작업을 수행 할 때는 USB 스틱을 연결하고 실행하십시오 mount /boot. 완료되면를 실행할 수 있습니다 umount /boot. 후자의 명령은 버퍼를 디스크로 플러시하기 때문에 완료하는 데 약간의 시간이 걸릴 수 있습니다 (디스크 자체는 느리므로 커널은 쓰기 작업 속도를 높이기 위해 일부 쓰기 작업을 버퍼링합니다).


전혀 지저분하지는 않지만 가장 확실한 방법입니다. 작성해 주셔서 감사합니다!
dbanet

0

이 특정 문제에 대한 또 다른 접근 방식은 TPM을 사용하여 암호화 키를 저장하는 것이지만이를 방어하기 위해서는 사용자가이를 신뢰해야합니다. 초보적인 RHEL7 기반 솔루션은 tpm-luks ( https://github.com/GeisingerBTI/tpm-luks )입니다.

작동 방식은 부팅시이며 부팅 프로세스의 각 단계는 다음 단계를 측정하고이 측정 값을 TPM의 PCR에 저장합니다. 부팅 프로세스가 완료되면 tpm-luks는 "알려진 정상"구성과 비교하여 PCR 상태를 확인합니다. "알려진 올바른"구성 인 경우 TPM은 LUKS 키를 풀고 tpm-luks는이 데이터를 전달하여 루트 LUKS 파티션의 잠금을 해제합니다.

중요한 모든 것은 암호화 해시로 측정되기 때문에 악의적 인 하녀가 GRUB / 커널 / 램 디스크를 대체하여 FDE 암호 문구를 악의적으로 수집 할 수있는 방법이 없습니다. 추가 보너스로 FDE 암호가 전혀 필요하지 않습니다! 이론적으로 사람이 읽을 수있는 암호를 완전히 제거하고 tpm-luks에 전적으로 의존 할 수 있지만이 경로를 사용하는 경우 LUKS 헤더를 저장하고 백업으로 유지하는 것이 좋습니다.

내가 언급했듯이, 이것은 사용자에 대한 근면이 필요합니다. 컴퓨터를 무인 상태로두고 암호문 프롬프트가 표시되면 조사를 마칠 때까지 입력하는 것이 좋지 않은 것입니다. 이 시점에서 라이브 CD 환경으로 부팅하여 tpm-luks에 버그가 있는지 또는 /boot파티션이 실제로 변경 되었는지 확인해야 합니다. 여전히 /boot파티션을 암호화하지 않은 채로두고 있지만 중요한 사항이 변경되면 주 디스크는 절대 해독되지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.