เหตุใดการอัปเดตไมโครโค้ดของ Intel จึงไม่ทำงานในระบบของฉัน


8

ฉันต้องการอัพเกรดระบบของฉันเพื่อลดช่องโหว่ Spectre และ Meltdown

หน้า Ubuntu ที่เกี่ยวข้องระบุว่าฉันจำเป็นต้องอัปเดตไมโครโค้ด: "จากมุมมองของแขกและไม่ใช่ไฮเปอร์ไวเซอร์ที่ไม่ใช่โลหะเมื่อมีการอัพเดตเคอร์เนล 21 ก.พ. เท่าที่เราทราบการบรรเทาผลกระทบสำหรับ Spectre และ Meltdown บน 64 บิต amd64, ppc64el และ s390x เป็นคุณสมบัติที่สมบูรณ์ตราบใดที่มีการอัปเดตไมโครโค้ดเฟิร์มแวร์และไฮเปอร์ไวเซอร์ทั้งหมดภายใต้ระบบ ... "

ฉันมีintel-microcodeและiucode-toolติดตั้งและอัปเดตแล้วอย่างไรก็ตามการทำงานdmesg | grep -i microcodeและการgrep -i microcode /var/log/syslog*คืนไม่มีอะไรทำให้ฉันคิดว่า cpu microcode ไม่ได้รับการอัปเดตหรืออย่างอื่นไม่ถูกต้อง

แพคเกจเป็นรุ่นล่าสุดและเริ่มใหม่ตั้งแต่การอัพเดทครั้งล่าสุด

ระบบปฏิบัติการ: Lubuntu 16.04

ซีพียู: Intel N3700 (Braswell)

repos ซอฟต์แวร์ที่เปิดใช้งาน: หลักจักรวาล

เปิดใช้งานการปรับปรุง: xenial-security

แก้ไข:
ผลลัพธ์ของgrep name /proc/cpuinfo | sort -uคือ
model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz

โปรเซสเซอร์ของฉันไม่ใช่ Skylake หรือทะเลสาบ Kaby

ใน/proc/cpuinfoHyper-Threading แสดงว่าได้รับการสนับสนุน แต่หน้า Intel นี้บอกว่าไม่รองรับ:
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 microcode ซึ่งหมายความว่าปัญหาดั้งเดิมได้รับการแก้ไขแล้วและฉันจะทิ้งไว้ตามที่เป็นอยู่

อย่างไรก็ตามdmesgและฉันjournalctl -bควรจะยังคงบรรทัดเอาท์พุทเกี่ยวกับเวอร์ชั่นไมโครโค้ด
ฉันยังสังเกตเห็นว่าบันทึกการบูตเหล่านี้เริ่มต้นที่ "5" แทนที่จะเป็น tipical 1 หรือ 0 และมีข้อความแสดงข้อผิดพลาดซ้ำซึ่งทำให้พวกเขาถูกตัดทอน ( 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
อาจจะไม่มี microcode สำหรับ cpu ของคุณในแพ็คเกจของ ubuntu ทำงานนี้เพื่อดู/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
ดั๊ก

1
ใน "ปลายปี 2017" คุณอาจมีรหัสไมโครสำหรับซีพียูของคุณโดยอ้างอิงจากการแก้ไขสเป็กเตอร์ / การล่มสลายที่พยายามทำ รหัสนั้นถูกลบออก / นั่นคือกลุ่มได้ถูกเปลี่ยนกลับไปเป็นก่อนหน้าซึ่งไม่จำเป็นสำหรับซีพียูของคุณ
doug

คำตอบ:


4

ขึ้นอยู่กับผลลัพธ์ของ/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*microcode ที่ไม่โหลดสำหรับซีพียูของคุณเพราะในขณะนี้ไม่มี ไม่ได้หมายความว่าจะไม่มีในอนาคต คุณสามารถปล่อยให้ intel-microcode และ iucode-tool ติดตั้งได้อย่างปลอดภัยหากมีการอัพเดตที่มี microcode สำหรับลายเซ็นของ cpu ของคุณมันจะถูกใช้


2

ข้อผิดพลาดใน Meltdown / Spectre Intel Microcode

มีข้อผิดพลาดในการอัปเดต Intel Microcode เมื่อต้นปี 2561เพื่อระบุช่องโหว่ความปลอดภัยของ Meltdown / Specter เช่นนี้จะต้องย้อนกลับไปเป็นเวอร์ชั่นก่อนหน้า microcode

นี่คือไมโครโค้ดที่ฉันใช้ (ยกเลิกการอัปเดตทั้งหมดตั้งแต่เดือนมกราคม 2561):

$ 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

เมนู Ubuntu 16.04 LTS

ฉันไม่แน่ใจเกี่ยวกับโครงสร้างเมนู Lubuntu แต่สำหรับ Ubuntu ปกตินี่คือวิธีที่คุณเข้าถึงการควบคุม Intel Microcode Update:

Drivers.png เพิ่มเติม

ตัวเลือกด้านล่างควบคุมการอัพเดท Intel Microcode

ติดตั้ง Intel Microcode จาก CLI

ในการข้ามเมนู 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 ระบุอย่างชัดเจนว่า "ฉันมี intel-microcode และ iucode-tool ติดตั้งและอัปเดต" ดังนั้นฉันจึงไม่แน่ใจว่าวิธีนี้จะช่วยได้อย่างไร
Panther

@ Panther ฉันพลาดการเพิ่มdmesgผลลัพธ์ของฉันฉันมีเมื่อฉันเริ่มเขียนคำตอบ ฉันจะเพิ่มสิ่งต่อไปนี้โดยทั่วไปหลังจากทำตามขั้นตอนการติดตั้งdmesgผลลัพธ์จะปรากฏตามที่ควรจะเป็น
WinEunuuchs2Unix

OP ยังระบุอย่างชัดเจนว่า "กำลังเรียกใช้ dmesg | grep -i microcode และ grep -i microcode / var / log / syslog * ไม่ส่งคืนอะไร" ฉันสงสัยว่าเราต้องวิ่งsudo update-initramfs -u && sudo reboot
Panther

@Panther มันปรากฏตัวครั้งแรกกับฉันว่าไมโครโค้ดไม่ได้ติดตั้งอย่างถูกต้อง ข้อดีของการรีบู๊ต OP ไม่ได้กล่าวถึงสิ่งใด ฉันจะตรวจสอบการตอบกลับของ OP ในอนาคตต่อความคิดเห็นของคุณภายใต้คำถามของเขา ผมไม่แน่ใจว่าเกี่ยวกับการupdate-initramfs -uถูกจำเป็นที่มันไม่อยู่ที่นี่: askubuntu.com/questions/545925/... อย่างไรก็ตามมันไม่เคยเจ็บ
WinEunuuchs2Unix

ไมโครโค้ดเป็นส่วนหนึ่งของ initramfs และโหลดระหว่างการบู๊ตดังนั้นแม้ว่าจะไม่ได้คาดหวัง แต่ฉันขอแนะนำให้สร้าง initramfs ใหม่เพื่อแก้ไขสถานการณ์ OP ที่ผิดปกติ จะช่วยได้ถ้าเรารู้ว่าติดตั้งไมโครโค้ดไว้
Panther

2

Ubuntu ได้เปิดตัวการปรับปรุง kernal แบบคงที่ต่อการโจมตีนี้ เมล็ดใหม่มีการเปลี่ยนแปลงที่จำเป็น

การอ้างอิง: SecurityTeam / KnowledgeBase / SpectreAndMeltdown | Ubuntu Wiki

ฉันอยู่ใน Ubuntu 16.04 โดยใช้ไดรเวอร์การแสดงผลแบบนูโว ในกรณีของฉัน Intel-microcode ถูกถอนการติดตั้งหลังจากติดตั้งเคอร์เนลใหม่

การปรับปรุงนี้ออกวางจำหน่ายทันทีหลังจากที่ Intel ได้เปิดตัวแก้ไขข้อบกพร่องสำหรับช่องโหว่ความปลอดภัยของ Spectre Bug

วิธีนี้จะช่วยแก้ปัญหาของคุณได้

หากคุณมีไดรเวอร์ของ Intel ที่ถูกแทนที่เหมือนในสถานที่ของฉันและยังคงต้องการไดรเวอร์ของ Intel-microcode

Intel เปิดตัว Linux CPU Microcodes เพื่อแก้ไขปัญหา Meltdown & Specter Bugs | bleepingcomputer.com

ปัจจุบันไดรเวอร์ใหม่ไม่รวมอยู่ใน Ubuntu ppa ผู้ใช้อาจต้องดาวน์โหลดด้วยตนเองจากเว็บไซต์ Intel

คำเตือน: นี่อาจทำให้เกิดความขัดแย้งของไดรเวอร์หรือความไม่แน่นอนใน Ubuntu ของคุณ คุณต้องติดตั้งด้วยความเสี่ยงของคุณเอง

ดาวน์โหลด Linux Data Microcode Data File | downloadcenter.intel.com

สำหรับฉันฉันไม่มีปัญหาในแล็ปท็อป Ubuntu ของฉัน ดังนั้นฉันไม่ต้องการเสี่ยง ฉันออกจากทีมอูบุนตูเพื่อตัดสินใจว่าอะไรดีที่สุดในระบบของฉัน ฉันกำลังรอการอัปเดตจากทีมงานไดรเวอร์ Ubuntu


ฉันไม่เข้าใจว่าคำถามนี้ตอบคำถามของฉันอย่างไร คุณสามารถอธิบาย? ฉันintel-microcodeติดตั้งแล้ว
MeltingPoint


อัปเดต kernal ของคุณ Ubuntu ได้ทำการแก้ไขด้วยวิธีอื่น
Aravind


หากถอนการติดตั้ง intel-microcode คุณมี 2 ตัวเลือก ตัวเลือก 1) อยู่อย่างปลอดภัยและรอจนกว่าทีม ubuntu จะปล่อยการอัปเดตเหมือนฉัน หรือ 2) คุณสามารถเรียกใช้การทดสอบของคุณเองโดยการดาวน์โหลดด้วยตนเองภายใต้ความเสี่ยงของคุณเอง
Aravind
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.