Intel 프로세서의 마이크로코드를 해독할 수 있는 도구인 Microcode Decryptor

의 그룹 uCode 팀의 보안 연구원 발표 프로젝트 소스 코드 릴리스 마이크로코드 해독기 이름에서 알 수 있는 대로 정확하게 수행할 수 있습니다. 이 도구는 세 개의 Python 스크립트로 구성되며 GitHub에서 사용할 수 있습니다.

마이크로코드 해독기 일부 Intel 프로세서의 마이크로코드를 디코딩할 수 있습니다. Goldmont 및 Goldmont Plus 마이크로아키텍처를 기반으로 하는 Atom, Pentium 및 Celeron과 같이 Intel이 특정 프로세서 기능을 구현하거나 다양한 기능 및 보안 수정을 구현한 방법을 이해하는 것과 같은 다양한 시나리오에 대한 문을 엽니다.

Red Unlock 기술 개발 2020년 같은 연구원에 의해 암호화된 마이크로코드를 추출하는 데 사용할 수 있습니다. 제안된 마이크로코드 해독 가능성을 통해 마이크로코드의 내부 구조와 x86 기계 명령어를 구현하는 방법을 탐색할 수 있습니다. 또한 연구원들은 펌웨어 업데이트 형식, 암호화 알고리즘, 마이크로코드(RC4) 보호에 사용된 키를 복구했습니다.

사용할 암호화 키를 결정하려면 Intel TXE의 취약점이 문서화되지 않은 디버그 모드를 활성화하는 데 사용되었습니다., 연구원에 의해 "빨간 잠금 해제"라는 코드명. 디버그 모드에서 우리는 CPU에서 직접 작동하는 마이크로코드가 있는 덤프를 로드하고 알고리즘과 키를 추출했습니다.

마이크로코드 해독기 마이크로코드만 해독할 수 있습니다., 그러나 마이크로코드의 무결성은 RSA 알고리즘을 기반으로 하는 디지털 서명에 의해 추가로 검증되므로 변경을 허용하지 않습니다.

Microcode Decryptor의 개발이 어떻게 가능했는지에 관해서는 Goryachy와 Ermolov가 Intel SA-00086으로 색인이 지정된 치명적인 취약점을 발견했을 때 XNUMX년 전에 발생했다고 언급합니다. Intel Management Engine으로 알려진 하위 시스템이 포함된 커널.

인텔은 버그를 수정하고 패치를 발표했지만 칩은 항상 이전 펌웨어 버전으로 롤백한 다음 악용될 수 있기 때문에 취약점을 효과적으로 제거할 방법이 없습니다.

그 후(XNUMX개월 전) XNUMX명의 과학자가 취약점을 사용하여 인텔 칩에 내장된 서비스 모드에 액세스할 수 있었습니다. 영화 매트릭스에 고개를 끄덕이며 연구원들은 이전에 문서화되지 않은 이 디버거에 액세스하는 도구 이름을 Chip Red로 지정했습니다. Pill은 연구자들이 일반적으로 한계가 있는 칩의 내부 작동을 경험할 수 있도록 해주기 때문입니다.

인텔 대변인은 다음과 같이 말했습니다.

도구의 가용성으로 인해 "보안 위험이 없어야 합니다". 실제로 회사는 더 많은 사람들이 인텔의 마이크로코드를 검토할 수 있도록 하면 칩 제조업체가 향후 더 많은 취약점을 식별하는 데 도움이 될 수 있다고 말했습니다. 이렇게 하는 데 성공한 사람이라면 인텔의 버그 바운티 프로그램을 통해 잠재적으로 약간의 돈을 벌 수 있다는 의미입니다.

“연구원의 마이크로코드 분석 능력은 새로운 취약점을 발견할 수 있게 해줍니다. 이 마이크로코드가 노출되었기 때문에 인텔은 문제가 발견될 경우를 대비하여 마이크로코드 버그 현상금 프로그램에 연구원을 초대합니다.”라고 말했습니다.

이 도구의 개발자는 다음과 같이 언급했습니다.

"CPU 마이크로코드를 읽을 수 있는 기회는 Intel이 TXT(신뢰할 수 있는 실행 기술)와 같은 기술을 구현하거나 Meltdown 및 Spectre와 같은 심각한 취약점을 완화한 방법을 이해하는 데 도움이 될 수 있습니다."

다른 과학자 중 한 명인 예르몰로프는 도구의 가용성은 그 사람들 이제 XuCode를 탐색할 수 있습니다., 마이크로코드 업데이트로 다운로드되는 Intel SGX의 일부를 구현하는 데 사용되는 86비트 모드 x64 코드 변형입니다. SGX는 보안 메모리 엔클레이브를 만들기 위한 인텔의 기술입니다. 이는 운영 체제나 하이퍼바이저를 비롯한 다른 프로그램과 사용자가 간섭할 수 없는 보호 영역입니다.

XuCode는 매우 흥미롭습니다. SGX 엔클레이브를 관리하기 위한 x86 관련 명령어는 너무 복잡하여 필요한 작업을 수행하는 일련의 XuCode 명령어로 나뉩니다.

이러한 XuCode 명령어는 일부 확장이 있는 86비트 x64 아키텍처의 표준이며 프로세서에 의해 일반 x86 마이크로 연산으로 나뉩니다. 응용 프로그램이 고급 SGX 명령을 사용하는 경우 프로세서는 XuCode로 점프하여 작동할 수 있습니다.

이러한 XuCode 시퀀스는 마이크로코드에 저장되며 이제 위의 Python 스크립트로 추출하고 표준 x86 리버스 엔지니어링 키트로 분석할 수 있습니다.

최종적으로 그것에 대해 더 많이 알고 싶다면 도구에 대한 자세한 내용은 다음에서 확인할 수 있습니다. 다음 링크.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.