보안 부팅 + 개스킷으로 Evil Maid를 예방할 수 있나요?

보안 부팅 + 개스킷으로 Evil Maid를 예방할 수 있나요?

Windows를 사용한 이중 부팅으로 아치 리눅스를 설정하고 보안 부팅을 활성화하고 있습니다. 내가 이해한 바로는 보안 부팅의 목표는 공격자가 부팅 관리자 및/또는 커널을 수정하지 못하도록 방지하는 것입니다. Windows의 경우 수정된 부팅 관리자가 Microsoft 키로 서명되지 않았기 때문에 노트북을 방치할 때도 이 기능이 작동합니다.

거의 모든 Linux 배포판에서는틈 메우는 물건설정하고 재부팅한 후 GRUB 부팅 관리자의 해시를 등록해야 합니다. 여태까지는 그런대로 잘됐다. 그런 다음 grub 바이너리에서 단일 바이트를 변경하여 공격을 시뮬레이션하고 재부팅했습니다. 해시를 등록하라는 메시지가 다시 표시되었고 번거로움 없이 등록할 수 있었습니다.

그렇다면 새 해시를 등록하여 보안 침해를 쉽게 "수정"할 수 있다면 어떻게 개선될까요? 제가 뭔가 오해한 게 있나요?

답변1

보안 부팅 자체로는 공격자가 컴퓨터에 물리적으로 액세스하는 것을 방지할 수 없습니다. 펌웨어 설정에 대한 무단 액세스를 방지하려면 비밀번호를 사용하는 것이 좋습니다. 보안 부팅의 주요 목표는 악성 코드가 손상된 커널과 부트 로더를 삽입하지 못하도록 방지하는 것입니다.

물리적 액세스 권한이 있는 사용자는 새로운 공개 키를 등록할 수 있습니다(예: 펌웨어로 제어되는 비휘발성 메모리에 저장). 이러한 공개 키는 부트 로더, 커널 및 부팅 시 실행되는 모든 항목의 무결성을 확인하는 데 사용됩니다. 새 키를 등록한 후 공격자는 공격자의 개인 키로 서명된 새 커널을 설치할 수 있습니다. 또는 물리적 액세스 권한이 있는 공격자가 보안 부팅을 완전히 비활성화할 수도 있습니다.

하지만 핵심은 다음과 같습니다. 운영자가 화면에 물리적으로 접근할 수 있고 펌웨어 설정에 들어갈 수 있는 경우에만 새 키를 추가할 수 있습니다. 물리적 접근은필수의새 키를 변경하거나 추가하는 기능. 보안 부팅은 시스템이 부팅되는 동안 공격자가 컴퓨터에 침입하여 중요한 시스템 파일을 수정하는 것을 방지하도록 설계되었습니다.이미 시작됨. 이러한 침입은 네트워크를 통해 발생하거나 합법적인 사용자를 속여 실행하도록 하는 트로이 목마를 사용하여 발생할 수 있습니다. 보안 부팅이 활성화된 경우에도 공격자가 커널 이미지를 수정할 수 있지만 펌웨어는 서명이 일치하지 않기 때문에 다음 부팅 시 커널 부팅을 거부합니다.

따라서 UEFI 보안 부팅에는 용도가 있지만 여기서 고려해야 할 또 다른 사항이 있습니다. 컴퓨터는 Microsoft 및 하드웨어 제조업체 키가 사전 설치된 상태로 배송되므로 컴퓨터가 시작될 때 실행되는 바이너리를 제어할 수 없습니다. 보안 부팅을 우회하는 데 사용할 수 있는 서명된 GRUB 이미지에서 버그가 감지되었습니다. Microsoft와 하드웨어 공급업체가 다양한 바이너리에 서명하고 있을 수 있으며 사용자는 이를 알 수 없습니다.

이 문제에 대한 해결책은 모든 펌웨어 키를 삭제하고 자신의 펌웨어 키로 교체하는 것입니다. 이렇게 하면 부팅 시 컴퓨터에서 실행이 허용된 바이너리에만 서명할 수 있습니다. 하지만 주의하세요. 일부 컴퓨터에는 부팅하려면 특수 드라이버가 필요하며 이러한 드라이버는 원래 공개 키가 필요한 키로 서명되어 있다는 보고가 있습니다. 그렇지 않으면 컴퓨터가 부팅되지 않습니다.

관련 정보