x86/cpu: SGX disabled by BIOS.

우분투 22.10 을 새로 설치했다. 기존에 사용하던 22.04 LTS 에서 우분투 프로 베타를 신청하라는 메시지가 떠서 그냥 홧김에 질렀다. 이번엔 쿠분투가 아니라 우분투를 설치했는데, 확실히 쿠분투가 덜 이쁘지만 더 직관적이고 설정이 편하다.

어쨌든, 이번에 설치를 하고 보니, 부트화면에 잠깐 에러 메시지가 지나가는 것이 보였다. 그래서…

# sudo dmesg >> dmesg.txt

생성된 dmsg.txt 를 에디터로 열어서 찬찬히 훑어봤다. 중간에 아까 봤던 에러 메시지가 보였다.

[    0.143734] x86/cpu: SGX disabled by BIOS.

SGX 가 뭔지부터 검색해 봤다.

What Is Intel® SGX?

There is tremendous opportunity for application and solution developers to take charge of their data security using new hardware-based controls for cloud and enterprise environments. Intel® Software Guard Extensions (Intel® SGX)1 2 offers hardware-based memory encryption that isolates specific application code and data in memory. Intel® SGX allows user-level code to allocate private regions of memory, called enclaves, which are designed to be protected from processes running at higher privilege levels. Only Intel® SGX offers such a granular level of control and protection.

요약하면 사용자의 데이터를 엔클레이브라는 영역에 따로 넣어서 침입자가 볼 수 없게 해 준다고 한다. 보안 관련 기술인 것 같은데, 사실 10세대 이전의 구형 인텔 CPU 는 하드웨어에 구현된 대부분의 보안 기술이 무용지물인 상황이라 켤까 말까 고민을 하며 검색을 더 해봤는데…

역시… SGX 에 L1TF, 포쉐도우 라는 취약점이 있다고 한다. 심지어 포쉐도우NG (Next Generation) 라는 취약점은 L1 캐시까지 읽을 수 있다고 한다. L1 이면 프로세스를 나누든, 하드웨어 가상화든 모든 구분이 소용없는 거나 마찬가지다.

더 찾아보니, 블루레이의 DRM 에 관련되어 있어서, 해당 기술이 없으면 FHD ~ 2K 정도로 해상도가 제한된다고 한다. 그리고 인텔은 12세대 CPU 부터 SGX 를 빼고, 이 기술에 대한 지원을 중단했다. 게임의 보안에 관한 논문이 몇 개 정도 있기는 한데, 취약점으로 발표 된 이상 굳이 이걸 쓸 것 같지는 않다.

하지만, 내 노트북에 달려 있는 것은 커다란 구멍이 숭숭 뚫려있는 8세대 인텔 CPU, 보안이고 뭐고 에러 메시지 안 뜨면 장땡이다. AskUbuntu 에 올라온 스레드의 해결책을 적용한다.

작업은 간단하다.

  1. GitHub 에서 소스코드를 다운받는다.
  2. 압축을 푼다
  3. 컴파일한다
  4. 루트 권한으로 실행한다.

https://github.com/intel/sgx-software-enable

위 링크를 클릭해서 깃허브로 들어가 소스코드를 다운로드 받는다.

노란 상자를 클릭하자.

받은 ZIP 파일을 적당히 압축을 풀고 컴파일한다.

# unzip sgx-software-enable-master.zip
# cd sgx-software-enable-master
# make
gcc -c sgx_enable.c 
gcc -o sgx_enable sgx_enable.o
#

별 에러가 없다면 sgx_enable 라는 실행 파일이 생성된다. 관리자 권한으로 실행하면 된다.

# sudo ./sgx_enable

간단히 적용된다. -s, –status 옵션을 사용하면 적용 여부를 알 수 있다.

# sudo ./sgx_enable --status
Intel SGX is already enabled on this system
#

아, 새 노트북 사고 싶다. 인텔 아닌 걸로…

—참고 사이트–

https://askubuntu.com/questions/1406760/sgx-disabled-by-bios-in-ubuntu-22-04/1437816#1437816

https://www.boannews.com/media/news_print.asp?idx=72242

https://www.intel.com/content/www/us/en/architecture-and-technology/software-guard-extensions.html

https://www.itworld.co.kr/tags/55723/4K/222574

https://github.com/intel/sgx-software-enable

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다