더 높은 투명성과 보안을 위한 오픈 소스의 성공: EPYC에서 AMD openSIL + Coreboot 실행하기
요약
3mdeb가 AMD EPYC 9005 시리즈 하드웨어에서 openSIL과 Coreboot를 성공적으로 포팅하여 오픈 소스 펌웨어 스택을 구현했습니다. 이를 통해 서버 환경에서 더 높은 투명성, 보안성 및 빠른 부팅 성능을 확보할 수 있는 길을 열었습니다.
핵심 포인트
- AMD openSIL과 Coreboot를 Gigabyte 서버 메인보드에 포팅 성공
- Dasharo를 통해 보안 메모리 암호화 등 안전한 환경 제공
- BMC 웹 인터페이스를 통한 간편한 펌웨어 플래싱 지원
- Zen 5 하드웨어에서 오픈 소스 펌웨어 실무 적용 가능성 확인
더 높은 투명성과 보안을 위한 오픈 소스의 성공: EPYC에서 AMD openSIL + Coreboot 실행하기
AMD가 AGESA를 대체하고 Coreboot 지원을 강화하기 위해 오픈 소스 CPU 실리콘 초기화(silicon initialization)를 위한 openSIL을 2023년 초에 발표한 이후, 저는 이를 직접 시도해 보기를 간절히 원해 왔습니다. 하지만 현재까지의 openSIL 코드는 특정 참조 플랫폼에만 집중되어 있으며, Zen 6 시기에 맞춰 프로덕션 상태를 목표로 하고 있습니다. 하지만 3mdeb가 openSIL과 Coreboot를 Gigabyte 서버 메인보드에 포팅한 덕분에, 이제 Zen 5 하드웨어에서 openSIL+Coreboot를 즉시 시도해 볼 수 있게 되었습니다.
컨설팅 업체인 3mdeb는 EPYC 9005 시리즈 프로세서용 Gigabyte MZ33-AR1 메인보드에서 오픈 소스 펌웨어 스택이 작동할 수 있도록 AMD openSIL과 Coreboot를 적응시켜 왔습니다. 데스크톱 AMD Ryzen 하드웨어에 더 관심이 있는 분들을 위해, 그들은 또한 올해 말 출시를 목표로 MSI 리테일 메인보드에도 Coreboot와 openSIL을 포팅하는 작업을 진행 중입니다.
최근 몇 년 동안 하이퍼스케일러(hyperscalers)부터 보안 중심 조직에 이르기까지, 더 높은 투명성, 더 빠른 부팅 시간과 공격 표면(attack surface) 감소를 위한 펌웨어 현대화 및 경량화 능력, 그리고 단순히 오픈 소스 펌웨어라는 개념을 넘어선 유사한 실질적인 목표를 위해 오픈 소스 펌웨어에 대한 관심이 훨씬 더 커졌습니다. 향후 몇 년 동안 특히 보안 및 기밀 컴퓨팅(confidential computing) 요구 사항과 관련하여 펌웨어에 대한 오픈 소스 펌웨어의 기업적 수요는 더욱 증가할 가능성이 높습니다.
3mdeb가 Coreboot+openSIL 포팅에 대한 초기 작업을 발표했을 때 Gigabyte MZ33-AR1 메인보드를 구매했기에, 그들이 openSIL을 포함한 Coreboot의 다운스트림 버전인 Dasharo의 출시를 발표하자마자 저는 바로 시도해 보았습니다. 그들이 Intel Alder Lake 데스크톱 메인보드에 Coreboot를 포팅했을 때와 마찬가지로, 결과적으로 즐거운 경험이었습니다.
Dasharo는 기본적으로 보안 메모리 암호화(Secure Memory Encryption)를 활성화하는 것과 같이, 별도의 설정 없이도 더 안전한 환경을 제공합니다.
Gigabyte MZ33-AR1의 경우, Gigabyte 서버 메인보드의 BMC 웹 인터페이스(web interface)를 통해 Dasharo 빌드로 플래싱(flashing)하는 것을 지원합니다. 따라서 Flashrom 같은 도구를 사용하여 번거롭게 작업할 필요 없이, BMC 웹 인터페이스에서 빠르고 쉽게 독점적인 BIOS에서 Coreboot+openSIL 기반의 Dasharo로 전환할 수 있습니다. 마찬가지로, Dasharo를 사용한 후 필요하다면 BMC 웹 인터페이스를 통해 기본 Gigabyte BIOS 이미지로 다시 플래싱하는 것도 가능합니다.
처음에는 몇 가지 문제에 부딪히기도 했습니다... 마침 Turin Dense CPU가 설치되어 있었는데, 알고 보니 AMD의 Turin용 openSIL 릴리스에는 해당 모델이 포함되어 있지 않았습니다. 하지만 3mdeb 엔지니어들과 협력하여 궁극적으로 이 문제는 해결되었습니다. 현재 이 openSIL 업스트림 풀 리퀘스트(upstream pull request)는 3mdeb가 Turin Dense를 지원하기 위해 해당 변경 사항을 업스트림 openSIL에 반영하기 위해 작업 중인 상태입니다. 그 사이 저는 non-dense EPYC 9005도 시도해 보았는데, 3mdeb가 코어 수가 적은 CPU에서 테스트했기 때문에 코어 수가 많은 CPU를 사용할 경우 일부 데이터 구조(data structures)의 크기가 초과되어 몇 가지 문제도 발생했습니다. 요약하자면, 이러한 문제들 또한 그들의 최신 빌드에서 모두 해결되었습니다.
최신 빌드들을 테스트한 결과, 3년 동안의 목표가 마침내 실현되었습니다! 저는 AMD openSIL과 Coreboot 환경에서 성공적으로 구동 중입니다! 3년 동안 openSIL의 발전을 지켜봐 온 입장에서, 초기 몇 가지 수정 과정을 거친 후 마침내 문제없이 작동하는 것을 직접 확인하고 실행해 볼 수 있어 매우 뿌듯했습니다. 초기 과제들을 극복한 이후에는 다른 눈에 띄는 문제 없이 잘 작동하고 있습니다.
openSIL 이전에는 AMD 서버 하드웨어에서 Coreboot / 오픈 소스 펌웨어 (open-source firmware)를 실행하고자 하는 사람들은 대부분 Coreboot가 탑재된 수년 된 AMD Opteron 서버 메인보드로 제한되었습니다. 오픈 소스 펌웨어의 이상을 추구함에 있어, 10년 이상 된 Opteron 플랫폼을 사용하는 것은 현대적인 컴퓨팅 요구 사항에 전혀 실용적이지 않았습니다. 하지만 이제 Gigabyte 리테일 EPYC 9005 메인보드에 Dasharo를 도입하려는 3mdeb의 노력 덕분에, 최신 세대의 AMD EPYC 서버 메인보드에서 Coreboot를 즐기는 것이 가능해졌습니다.
다만, AMD가 Zen 6 전까지는 openSIL의 양산 준비 (production readiness)를 계획하고 있지 않다는 점을 다시 한번 강조하는 것이 중요합니다. 그럼에도 불구하고, 저는 초기 테스트를 통해 지금까지 이것이 얼마나 잘 작동하는지에 대해 깊은 인상을 받았습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기