시스템에서 인텔 마이크로 코드 업데이트가 작동하지 않는 이유는 무엇입니까?


8

Spectre 및 Meltdown 익스플로잇을 완화하기 위해 시스템을 업그레이드하고 싶습니다.

관련 Ubuntu 페이지 에는 마이크로 코드를 업데이트해야한다고 명시되어 있습니다. "2 월 21 일 커널 업데이트를 기준으로 게스트 및 비 하이퍼 바이저 베어 메탈 관점에서 64 비트의 Spectre 및 Meltdown에 대한 완화 amd64, ppc64el 및 s390x는 시스템 아래의 모든 마이크로 코드, 펌웨어 및 하이퍼 바이저 업데이트가 완료되는 한 기능이 완벽합니다. ... "

나는 한 intel-microcode하고 iucode-tool있지만 실행되지, 설치 및 업데이트 dmesg | grep -i microcodegrep -i microcode /var/log/syslog*나를 CPU 마이크로 중 하나가 업데이트되지 않습니다 생각 또는 뭔가 잘못하게 반환 아무것도.

패키지가 최신 상태이며 마지막 업데이트 이후 다시 시작되었습니다.

운영 체제 : Lubuntu 16.04

CPU : 인텔 N3700 (Braswell)

사용 가능한 소프트웨어 저장소 : 기본, 유니버스

사용 가능한 업데이트 : xenial-security

편집 :
의 출력 grep name /proc/cpuinfo | sort -uIS
model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz

내 프로세서는 Skylake 또는 Kaby Lake가 아닙니다.

에서 /proc/cpuinfo지원되는 최대로 쇼를 하이퍼 스레딩,하지만 인텔의 페이지가 지원되지 않습니다 말한다 :
https://ark.intel.com/products/87261/Intel-Pentium-Processor-N3700-2M-Cache-up-to-2_40 -GHz

편집 2 :
실행 sudo update-initramfs -u하고 재부팅했습니다. 출력은 여전히 ​​동일합니다.

출력 /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*:

/usr/sbin/iucode_tool: system has processor(s) with signature 0x000406c3
selected microcodes:

내 CPU에 대해 업데이트 된 마이크로 코드가없는 것 같습니다. Additional Drivers이전 에 탭에 선택 가능한 마이크로 코드가 있었기 때문에 흥미 롭습니다 (2017 년 말). 지금은 없습니다.

편집 3 :
출력 apt list --installed | grep intel-microcode:

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

intel-microcode/xenial-security,now 3.20180108.0+really20170707ubuntu16.04.1 amd64 [installed]

편집 4 :
이제 CPU 마이크로 코드에 대한 업데이트가 없다는 것을 이해합니다. 즉, 원래 문제가 해결되었다는 것을 의미하며 그대로 둡니다.

그러나 dmesgjournalctl -b마이크로 버전에 대한 여전히 출력 라인, 나는 생각한다.
또한 이러한 부팅 로그가 tipical 1 또는 0 대신 "5"에서 시작하고 잘리는 반복 오류 메시지가 있음을 알았습니다 ( dmesg절단에 대해서는 아무 것도 말하지 않지만 journalctl커널 메시지가 371635 개 누락되었습니다 (아래 참조). . 지금은 이것을 무시하겠습니다.

March 19 06:36:40 NN systemd-journald[266]: Runtime journal (/run/log/journal/) is 8.0M, max 78.9M, 70.9M free.
March 19 06:36:40 NN systemd-journald[266]: Missed 371635 kernel messages
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40, 
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120
March 19 06:36:40 NN kernel: ->action():           (null)
March 19 06:36:40 NN kernel:    IRQ_NOPROBE set
March 19 06:36:40 NN kernel: irq 115, desc: ffff9b91f5df8200, depth: 1, count: 0, unhandled: 0
March 19 06:36:40 NN kernel: ->handle_irq():  ffffffffb9ee8f70, 
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40, 
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120
March 19 06:36:40 NN kernel: ->action():           (null)
March 19 06:36:40 NN kernel:    IRQ_NOPROBE set
March 19 06:36:40 NN kernel: irq 115, desc: ffff9b91f5df8200, depth: 1, count: 0, unhandled: 0
March 19 06:36:40 NN kernel: ->handle_irq():  ffffffffb9ee8f70, 
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40, 
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120
March 19 06:36:40 NN kernel: ->action():           (null)
March 19 06:36:40 NN kernel:    IRQ_NOPROBE set
March 19 06:36:40 NN kernel: irq 115, desc: ffff9b91f5df8200, depth: 1, count: 0, unhandled: 0
March 19 06:36:40 NN kernel: ->handle_irq():  ffffffffb9ee8f70, 
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40, 
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120

1
- 여기 데비안 시스템에 마이크로 코드를 확인하는 방법에 대한 지침을 자세히 설명되어 있습니다 lists.debian.org/debian-devel/2017/06/msg00308.html을 . 해당 명령의 출력을 게시하십시오. 당신의 프로세서를 식별하여 시작합니다 grep name /proc/cpuinfo | sort -u. 그들은 하이퍼 스레딩 지원이 부족하기 때문에 영향을받지 않습니다이 두 목록에있는 프로세서의 일부 "를 참고 명령 행 쉘에서 아래 명령을 실행하여 (예를 들어, xterm 등), 그리고 출력 하이퍼 경우 메시지를 것이다 -스레딩 지원 / 활성화 : " grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && echo "Hyper-threading is supported"
Panther

질문을 편집했습니다.
MeltingPoint

sudo update-initramfs -u && sudo reboot재부팅 후 다시 실행 하여 확인할 수 있습니까?
Panther

1
우분투 패키지에 CPU에 대한 마이크로 코드가 없을 수도 있습니다. 이것을보고 실행하십시오/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
doug

1
"late 2017"에서는 시도 된 스펙터 / 멜트 다운 수정에 따라 CPU에 대한 마이크로 코드가있을 수 있습니다. 해당 코드가 제거되었습니다. 즉, 번들이 CPU에 필요하지 않은 이전으로 되돌 렸습니다.
doug

답변:


4

/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*현재 CPU가 없기 때문에 CPU에 마이크로 코드가로드되지 않은 결과를 기반으로합니다 . 그렇다고 미래에는 없을 것입니다. 인텔의 마이크로 코드 및 iucode-tool을 안전하게 설치 한 상태로 둘 수 있습니다. CPU의 서명에 대한 마이크로 코드가 포함 된 업데이트가 있으면 사용됩니다.


2

Meltdown / Spectre Intel Microcode의 버그

2018 년 초 Intel Microcode 업데이트 에서 Meltdown / Spectre 보안 허점을 해결하기 위한 버그 가있었습니다 . 따라서 마이크로 코드는 이전 버전으로 롤백해야했습니다.

다음은 내가 사용하는 마이크로 코드입니다 (2018 년 1 월부터 모든 업데이트에서 제외).

$ apt list --installed | grep intel-microcode

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

intel-microcode/now 3.20170707.1~ubuntu16.04.0 amd64 [installed,upgradable to: 3.20180108.0+really20170707ubuntu16.04.1]

Intel Microcode Update를 설치하면이 버전 또는 이와 유사한 것을 얻을 수 있습니다.

intel-microcode/3.20180108.0+really20170707ubuntu16.04.1

우분투 16.04 LTS 메뉴

Lubuntu 메뉴 구조는 확실하지 않지만 일반적인 Ubuntu의 경우 Intel Microcode Update 컨트롤에 액세스하는 방법입니다.

추가 드라이버 .png

하단 옵션은 인텔 마이크로 코드 업데이트를 제어합니다.

CLI에서 Intel Microcode 설치

GUI 메뉴를 완전히 건너 뛰려면 명령 행에서 설치할 수 있습니다.

sudo apt update
sudo apt install intel-microcode

dmesg 이제 올바른 출력을 보여줍니다

설치 단계를 수행 한 후 dmesg(아무것도 보이지 않는 질문과 달리) 원하는 출력을 반환합니다.

$ dmesg | grep -i microcode
[    1.166542] microcode: sig=0x506e3, pf=0x20, revision=0xba
[    1.166993] microcode: Microcode Update Driver: v2.2.
[16082.584598] microcode: microcode updated early to revision 0xba, date = 2017-04-09

문제에서 OP는 명확하게 "인텔 마이크로 코드 및 iucode 도구가 설치 및 업데이트되었습니다"라고 표시하므로 이것이 어떻게 도움이되는지 확실하지 않습니다.
Panther

@Panther 나는 dmesg원래 답변을 쓰기 시작할 때 내 출력을 추가하는 것을 놓쳤다 . 추가하겠습니다. 기본적으로 설치 단계를 수행 한 후 dmesg출력이 예상대로 나타납니다.
WinEunuuchs2Unix

OP는 또한 "dmesg 실행 | grep -i 마이크로 코드 및 grep -i 마이크로 코드 / var / log / syslog * 아무것도 반환하지 않음"이라고 명확하게 표시합니다. 나는 우리가 달릴 필요가 있다고 생각한다sudo update-initramfs -u && sudo reboot
Panther

@Panther 마이크로 코드가 올바르게 설치되지 않은 것으로 나타났습니다. 재부팅에 대한 좋은 지적. OP는 그것에 대해 언급하지 않습니다. 질문에 대한 귀하의 의견에 대한 OP의 향후 답변을 모니터하겠습니다. askubuntu.com/questions/545925/…에update-initramfs -u 나와 있지 않으므로 필요한지 확실 하지 않습니다 . 그러나 결코 아프지 않습니다.
WinEunuuchs2Unix

마이크로 코드는 일반적으로 initramfs의 일부이며 부팅 중에로드되므로 예상하지는 않지만 OP 비정상 상황에 대한 가능한 수정 사항으로 initramfs를 다시 작성하는 것이 좋습니다. 설치된 마이크로 코드를 알고 있다면 도움이 될 것입니다.
Panther

2

우분투는이 악용에 대한 고정 커널 업데이트를 발표했습니다. 새로운 커널은 변경이 필요했습니다.

참조 : SecurityTeam / KnowledgeBase / SpectreAndMeltdown | 우분투 위키

Nouveau 디스플레이 드라이버를 사용하는 Ubuntu 16.04에 있습니다. 필자의 경우 새 커널을 설치 한 후 Intel-microcode가 제거되었습니다.

이 업데이트는 인텔에서 스펙터 버그 보안 취약점에 대한 버그 수정을 릴리스 한 직후에 릴리스되었습니다.

문제가 해결 될 것입니다.

당신은 내 장소 에서처럼 인텔 속성 드라이버를 교체하고 여전히 인텔 마이크로 코드 속성 드라이버를 원한다면.

인텔, 멜트 다운 및 스펙터 버그 수정을 위해 Linux CPU 마이크로 코드 출시 | bleepingcomputer.com

현재 새 드라이버는 Ubuntu ppa에 포함되어 있지 않습니다. 사용자는 Intel 웹 사이트에서 수동으로 다운로드해야 할 수도 있습니다.

경고 : 이로 인해 우분투에서 드라이버 충돌 또는 불안정이 발생할 수 있습니다. 당신은 자신의 위험에 설치해야합니다.

Linux 프로세서 마이크로 코드 데이터 파일 다운로드 | downloadcenter.intel.com

저에게는 우분투 랩톱에 문제가 없습니다. 그래서 위험을 감수하고 싶지 않습니다. 나는 우분투 팀을 떠나 내 시스템에서 가장 좋은 것을 결정했습니다. 우분투 드라이버 팀에서 업데이트를 기다리고 있습니다.


이것이 내 질문에 어떻게 대답하는지 이해하지 못합니다. 설명 할 수 있습니까? 나는 한 intel-microcode설치.
MeltingPoint


커널을 업데이트하십시오. 우분투는 다른 방식으로 패치했습니다.
Aravind


인텔-마이크로 코드가 제거 된 경우 두 가지 옵션이 있습니다. 옵션 1) 안전을 유지하고 우분투 팀이 업데이트를 릴리스 할 때까지 기다리십시오. 또는 2) 위험에 따라 수동으로 다운로드하여 직접 실험을 실행할 수 있습니다.
Aravind
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.