[clearfix]
1. 개요
Intel Management Engine (Intel ME)2006년 7월에 코어 2 시리즈와 함께 등장한 965 보드부터 탑재된[1] 인텔의 PC 프로세서 관리 펌웨어와 이를 동작시키는 마이크로컨트롤러. 참고로 다른 플랫폼은 관리 엔진과 다른 펌웨어가 들어가 서버의 경우 서버 플랫폼 서비스(Server Platform Services, SPS)가, 태블릿 PC나 NUC 같은 저전력 플랫폼은 신뢰 실행 엔진(Trusted Execution Engine, TXE)이 이를 대신하고 있다. 인텔은 이를 통틀어 컨버전스형 보안 및 관리 엔진(Converged Security and Manageability Engine, CSME)이라 부르고 있다.
인텔 쿼크 프로세서로 인텔이 수정한 Minix 3를 실행하며, 보드의 사우스브리지 칩셋에 있다.[2] 그러므로 운영체제에서 관여할 수 없다. 인텔 관리 엔진은 운영체제 및 UEFI와 독립적으로 하드웨어에 직접 접근할 수 있다.
2. 설명
인텔 스카이레이크 마이크로아키텍처부터 인텔 쿼크 프로세서와 Minix 3를 사용하고 있다. 그 이전에는 ARC 인터내셔널과 계약해 ARC(Argonaut RISC Core) 아키텍처와 Express Logic과 계약해 ThreadX라는 RTOS를 사용했다. 린필드까지는 노스브리지 칩셋에 있었으나, 메모리 컨트롤러가 CPU로 통합된 인텔 샌디브릿지 마이크로아키텍처부터 사우스브리지로 이동해 오늘날에 이르고 있다.구글이 리버스 엔지니어링하면서 Minix 3로 만들어졌다는 사실과 기능들이 밝혀졌다.
파일:Intel-Rings.png
- '당신이 모르는 코드 영역'으로 표시된 주황색과 붉은 색 영역은 사용자가 들여다 볼 수 없는 영역을 뜻하며
- 붉은 색으로 구분된 영역은 인텔 쿼크에서 실행됨을 뜻한다.
아래의 기능들이 관리 엔진 기능을 이용해 구현되었다. 그렇기 때문에 관리 엔진 기능을 끄면 아래 기능을 사용할 수 없다.
- fTPM(인텔 플랫폼 신뢰 기술(Intel Platform Trust Technology))
- 보안 부팅(Secure Boot)
- 입출력 메모리 주소 가상화(Intel Virtualization Technology for Directed I/O(VT-d))
- 도난 방지(Anti-theft)
- 온도, 전압, 전류, 팬 제어(Intel Quiet System Technology)
- Protected Media Path(DRM)
- 네트워크 원격 관리(인텔 vPro 전용)
- 액티브 관리 기술을 이용한 원격 제어(인텔 vPro 전용)
3. 문제점
프로세서에 펌웨어가 있는 것은 흔한 일이기 때문에 문제가 되지 않는다. 스마트폰에도 있으며 AMD의 프로세서에도 있다. 다만 관리 엔진으로 인텔이 비난받고 있는 원인은 관리 엔진이 과도한 권한과 기능을 가진채 불투명하게 작동한다는 점 때문이다.이 관리 엔진의 소스 코드는 인텔의 기밀이라 인텔만 안다. 소스 코드를 공개하지 않는 것에 대해서 당연하다는 의견도 있다. 소스 코드가 해커에게 유출될 경우, 더 심각한 보안 문제가 생길 수 있기 때문이다. 하지만 구글은 보안을 위해 오픈 소스로 만드는 게 더 안전하다고 주장하고 있다. 소스 코드를 공개하면 수많은 보안 전문가들이 매의 눈으로 보안 취약점을 찾을 수 있기 때문이다. 오픈 소스로 내버려뒀더니 하트블리드가 터진 OpenSSL을 생각해보면 설득력이 떨어지긴 하지만[3] 여튼, 이 때문에 마이크로소프트와 구글은 이 기능을 무진장 싫어하고 있다.
구글은 AMD CPU 구입이 해결책이 될 수 없다고 평가했는데, 아래에 기술되어 있지만 AMD도 인텔 관리 엔진과 비슷한 기능을 하는 AMD 보안 프로세서(AMD Secure Processor)[4]라는 마이크로컨트롤러가 있으며 소스 코드를 공개하지 않기 때문이다.# 구글은 관리 엔진과 AMD 보안 프로세서는 물론 UEFI도 신뢰할 수 없다는 입장이었기 때문에 자사의 하드웨어 탑재된 관리 엔진을 무력화하고 시스템 관리 모드(System Management Mode, SMM) 등 운영 체제에서 관리할 수 없게 구현된 UEFI까지 최소화한 LinuxBoot라는 펌웨어를 직접 개발해 사용하고 있다. 구글이 관리 엔진을 무력화한 방식 역시 일반인들의 방식과 마찬가지로 부팅을 차단하는 펌웨어 무결성 검사가 모든 모듈을 검증하지 않는다는 부분을 이용한 꼼수를 사용한 것이다. 이는 인텔이 구글에게도 관리 엔진을 손볼 수 있도록 허락하지 않았기 때문이다.
이러한 서드 파티나 사용자들의 불만이 그저 불투명성과 보안에 대한 과민한 걱정으로 치부할 수 없는 것이 인텔 관리 엔진은 여러 번 보안 이슈를 겪었다.
그 중 일부는 인텔 액티브 관리 기술(Intel Active Management Technology, 인텔 AMT)과 관련된 문제였는데, 이 모듈은 별도의 BMC(Baseboard Management Controller) 등을 통해서 제공되는 관리 기능을 플랫폼 허브 컨트롤러의 관리 엔진과 메인보드에 내장된 이더넷 컨트롤러 칩셋만으로 제공하는 기능이다. BMC 투자 없이도 IPMI(Intelligent Platform Management Interface) 등 원격 관리 프로토콜을 지원하므로 작은 규모의 홈 서버 등에서는 상당히 유용한 기능이나, 불투명하면서 막강한 권한을 가진 관리 엔진이 원격지에 포트를 개방하고 통신하는데 사용자의 자료에는 무제한 접근할 수 있다는 점 때문에 보안 취약점이 노출된다면 굉장히 위험할 수 있다. 이러한 위험에도 불구하고 소규모 시스템에 한해서는 BMC를 탑재 하는 것에 비해서 아주 편의적이고 기능적으로 우월한 면마저 있기 때문에 위험에도 불구하고 이 기능은 도태되지 않고 꾸준히 업데이트 되고 있다.
그리고 2017년 11월 20일 6.x~11.7 버전의 인텔 관리 엔진이 있는 컴퓨터에 USB 메모리를 꽂으면 액티브 관리 기술이 활성화 되면서 무단으로 시스템 권한을 획득할 수 있는 보안 취약점이 발견되었다. 즉, USB 메모리만 꽂으면 랜섬웨어든 뭐가 실행되어도 운영 체제에서 방어할 수 없다. USB 포트에 물리적으로 접근할 기회만 부여되면 해당 시스템 보안 레벨이나 운영 체제에 상관없이 침투할 수 있다는 것으로[5] 도청이나 감시, 기밀 탈취에 활용 가능한 여지가 무궁무진하다. 클라우드와 암호화 기술이 발전하면서 물리적 탈취보다는 보안 정보를 취득하는 것이 중요해지고 있는데 여기에 사용할 수 있는 만능키인 셈. 실제로 이 취약점을 악용해서 USB 메모리로 배틀아이같은 게임 부정행위 적발 프로그램을 우회하는 해킹 프로그램도 퍼지고 있다. 이 문제는 같은 해 11월 30일 11.8.50.3425 인텔 관리 엔진 펌웨어와 11.7.0.1045 인텔 관리 엔진 인터페이스 드라이버 업데이트를 컴퓨터나 메인보드 기업들에게 제공해 해결됐다.
4. AMD의 경우
AMD도 비슷한 기능으로 2014년에 출시된 3세대 A 시리즈부터 PSP(Platform Security Processor)가 있는데, 인텔이 플랫폼 컨트롤러 허브 칩셋에 있는 것과 달리 AMD는 CPU에 내장되어 있다.AMD 플랫폼 보안 프로세서는 ARM Cortex-A5 마이크로아키텍처 기반의 코프로세서를 통해 펌웨어를 가동하며, 그 코드는 ARM 프로세서의 Secure Enclave에 저장되어 있다. 별도의 프로세서를 따로 가지고 있다는 점에서 관리 엔진과 같지만, 적어도 AMD의 것은 자체적인 웹 서버를 가지고 있지는 않은 것으로 알려져 있기에 그나마 더 신뢰할만 하다.
2017년 9월 28일, AMD에서 인텔의 관리 엔진 역할을 하는 플랫폼 보안 프로세서에 원격 코드 실행 취약점이 발견되었다. 해당 취약점은 구글 클라우드 보안 팀에 의해 발견되었으며 2017년 12월 7일에 보안 업데이트가 완성되었다. 해당 보안 취약점에 대한 정보는 2018년 1월 3일 대중에 공개되었다.
5. 관련 문서
[1] 정확히 따지면, 965 칩셋과 함께 탑재된 ICH8 기반의 82801H 시리즈 I/O 컨트롤러에 내장되었다.[2] CPU, 노스브리지, 사우스브리지 모두 별개의 칩셋 구조였던 초기에는 ICH(I/O 컨트롤러 허브)에 내장되었지만, 2009년 9월에 1세대 코어 i 시리즈와 함께 등장한 P55 보드부터 PCH(플랫폼 컨트롤러 허브)에 내장되었다.[3] 물론 OpenSSL이 클로즈드 소스였으면 하트블리드는 한참 악용되다가 발견됐을 수도 있다. 실제로 Internet Explorer는 이렇게 악용돼서 쓰이던 게 뒤늦게 발견돼서 패치된 사례가 많다.[4] 옛 플랫폼 보안 프로세서(Platform Security Processor)[5] 물론 목표로 삼은 시스템에 맞춘 공격 수단은 별도로 준비해야 할 것이다. 리눅스에 윈도우용 코드를 넣어도 소용 없으니까.