# SBAT란 무엇이며 왜 갑자기 모두가 관심을 가지는가

> Clean Markdown view of GeekNews topic #16423. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=16423](https://news.hada.io/topic?id=16423)
- GeekNews Markdown: [https://news.hada.io/topic/16423.md](https://news.hada.io/topic/16423.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-08-23T09:44:51+09:00
- Updated: 2024-08-23T09:44:51+09:00
- Original source: [mjg59.dreamwidth.org](https://mjg59.dreamwidth.org/70348.html)
- Points: 2
- Comments: 1

## Topic Body

### SBAT(Secure Boot Advanced Targeting)의 정의  
- UEFI Secure Boot가 처음 지정되었을 때, 모든 관련자들이 다소 순진했음  
- Secure Boot의 기본 보안 모델은 커널 레벨의 권한 환경에서 실행되는 모든 코드가 실행 전에 검증되어야 한다는 것  
- 취약점이 발견된 서명된 구성 요소를 폐기하는 방법이 포함되어 있음  
- 그러나 Secure Boot 생태계에서 작동하는 모든 Linux 배포판은 자체 부트로더 바이너리를 생성하므로, 취약점이 식별되면 폐기해야 할 바이너리가 많음  
- 해시를 저장할 수 있는 공간이 제한되어 있어 SBAT가 개발됨  
  
### SBAT의 작동 방식  
- 부트 체인의 모든 중요 구성 요소는 서명된 바이너리에 포함된 보안 생성을 선언함  
- 취약점이 식별되고 수정되면 해당 생성이 증가함  
- 업데이트를 통해 최소 생성을 정의할 수 있음  
- 부트 구성 요소는 체인의 다음 항목을 보고, 이름과 생성 번호를 펌웨어 변수에 저장된 것과 비교하여 실행 여부를 결정함  
- 개별 해시를 많이 폐기하는 대신, 특정 번호 이하의 보안 생성을 가진 grub 버전을 신뢰할 수 없다고 말하는 하나의 업데이트를 푸시할 수 있음  
  
### 최근 이슈의 원인  
- Microsoft는 특정 수준 이하의 보안 생성을 가진 grub 버전을 신뢰하지 않도록 Windows 업데이트를 내보냄  
- 이는 해당 grub 버전에 Windows 보안 부팅 체인을 손상시킬 수 있는 실제 보안 취약점이 있기 때문  
- 문제는 몇몇 Linux 배포판이 새로운 보안 버전의 grub 버전을 아직 제공하지 않았다는 것  
- Microsoft의 의도는 Windows만 있는 시스템에만 SBAT 업데이트를 적용하는 것이었지만, 이는 의도대로 작동하지 않았음  
  
### 요약  
- Microsoft는 취약한 grub 버전을 사용하여 Windows를 공격할 수 없도록 하기 위해 Windows 업데이트를 밀어냄   
- 이 업데이트는 이중 부팅 시스템에는 적용되지 않도록 했지만, 무시되었음  
- 일부 Linux 배포판은 grub 코드와 SBAT 보안 생성을 업데이트하지 않았음  
- 결과적으로 일부 사용자는 시스템을 부팅할 수 없게 되었음  
  
### 비난의 대상  
- Microsoft는 이중 부팅 설정을 정확하게 식별할 수 있도록 더 많은 테스트를 했어야 함  
- 그러나 또한 서명된 부트로더를 제공하는 배포판은 이를 업데이트하고 보안 생성을 업데이트해야 함  
- 이는 다른 운영 체제를 공격하는 데 사용될 수 있는 벡터를 제공하기 때문  
  
### 결론  
- 갑자기 원하는 OS를 부팅할 수 없게 된 최종 사용자가 피해자가 된 것은 안타까운 일임  
- 이는 절대 일어나서는 안 되는 일임  
- UEFI Secure Boot가 대부분의 최종 사용자에게 이점이 없다고 느끼지만, 사후에 필요한 것을 알게 되는 것은 원하지 않는 일이므로 기본적으로 켜져 있는 Microsoft의 선택에 공감함  
- 이중 부팅 시스템에서 업데이트를 피하려는 실패한 시도를 제외하고는 Microsoft의 선택에 공감함  
  
### GN⁺의 의견  
- 이 사건은 보안과 사용자 경험 사이의 균형을 맞추는 것이 얼마나 어려운지 보여줌  
- Microsoft와 Linux 배포판 모두 사용자를 보호하기 위해 최선을 다하고 있지만, 이 과정에서 사용자 경험이 희생될 수 있음  
- 이중 부팅 시스템을 사용하는 사용자의 경우 이러한 문제에 직면할 가능성이 더 높음  
- 따라서 이중 부팅을 사용하는 사용자는 두 운영 체제 모두 최신 버전으로 유지하고 정기적으로 업데이트하는 것이 중요함  
- 장기적으로는 Linux와 Windows 커뮤니티 간의 더 나은 협력과 조정이 필요할 것으로 보임

## Comments



### Comment 28221

- Author: neo
- Created: 2024-08-23T09:44:51+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=41318222) 
- 최근 Linux Unplugged 에피소드에서 TPM을 사용하여 Linux 부팅 프로세스의 신뢰 체인을 설정하는 방법을 다루었음, Clevis를 사용하여 매우 흥미로웠음
- Microsoft의 의도는 Windows Update가 Windows 전용 시스템에만 SBAT 업데이트를 적용하고, 듀얼 부팅 설정은 설치된 배포판이 grub을 업데이트하고 SBAT 업데이트를 자체적으로 배포할 때까지 취약하게 남겨두는 것이었음
  - EFI 부팅 순서를 읽으면 shim을 먼저 부팅하라고 명확히 나와 있을 텐데, 무엇이 잘못되었는지 궁금함
  - 듀얼 부팅 설정에서 사용자가 펌웨어 메뉴를 사용하여 Linux 또는 Windows를 선택하는 경우였는지 궁금함
  - 이 문제는 Microsoft의 정당한 수정 사항으로 보이지만, 커뮤니케이션이 좋지 않았음
- shim 또는 SB의 일반적인 보안 검사 실패 시 오류 메시지가 매우 싫음, 무엇이 정확히 실패했는지와 해결 방법을 알려주었으면 좋겠음
- MS가 TPM2.0을 강제하고 SBAT 업데이트를 시행하는 이유 중 하나는 광범위한 루트킷 수준의 악성코드가 존재하기 때문이라고 생각함
- 듀얼 부팅의 현실에 대해, 10년 전 Win7/8/10에서 suspend-to-hiberfile.sys 문제와 업데이트로 인해 grub이 깨지는 문제가 많았음
  - 10년 전부터 Linux만 사용하기로 결정했으며, 필요할 경우 VM을 사용하거나 별도의 예비 컴퓨터를 사용함
  - 이후로 배포판에 Secure Boot를 성공적으로 설정하고, QEMU 성능 및 패스스루를 조정하는 방법을 배웠으며, QEMU macOS VM을 작동시켰음
  - XCode를 유지하기 위해 몇 달마다 업데이트해야 하는 것이 번거롭지만, 전반적으로 만족스러움
- Linux를 설치할 때 Secure Boot를 비활성화하는 것이 첫 번째가 아닌가?
- 주요 질문은 거부되는 grub이 완전히 패치되지 않은 것인지, 아니면 배포판에서 "보안 세대"를 업데이트하지 않고 패치한 것인지임
  - MS가 듀얼 부팅 감지를 시도한 방법에 대해 매우 궁금하며, 누군가(더 숙련된 사람이) 업데이트에서 그 부분을 역공학해주기를 바람
- Microsoft가 듀얼 부팅 시스템을 깨뜨린 이유는 다른 운영 체제를 공격할 수 있는 벡터를 제공하지 않기 위해서이며, 이는 사회적 계약의 위반임
- Windows를 시스템에서 제거하고 Linux를 설치하는 데 방해가 되는지, 아니면 Windows를 설치하면 TPM 모듈이 영구적으로 오염되는지 궁금함
- Windows에서 grub을 업데이트할 수 있는지, 아니면 Secure Boot를 비활성화하고 Linux를 부팅한 다음 업그레이드하고 다시 활성화하는 것으로 충분한지 궁금함
- MS의 오래된 취약한 grub 설치를 차단하는 입장은 합리적으로 보이지만, 게임과 단일 레거시 소프트웨어를 위해서만 Windows를 사용하며, 네트워크 접속 없이 사용함
  - Windows 업데이트를 허용하는 순간 모든 것이 운에 맡겨짐
  - MS가 레지스트리 키를 이동시키고 "텔레메트리"(광고 및 행동 데이터 스캔을 위한 ML) 강제를 위해 사용자에게 장난을 치는 것은 충분히 말해줌
  - Windows Pro에서도 이러한 일이 발생하며, Win 10을 사용하고 있음
