Tại sao các bản cập nhật vi mã Intel không hoạt động trên hệ thống của tôi?


8

Tôi muốn nâng cấp hệ thống của mình để giảm thiểu khai thác Spectre và Meltdown.

Trang Ubuntu có liên quan nói rằng tôi cần cập nhật các mã vi mô: "Từ góc độ kim loại trần của khách và không phải là nhà ảo thuật, kể từ bản cập nhật kernel ngày 21 tháng 2, theo như chúng tôi biết, các giảm thiểu cho Spectre và Meltdown trên 64 bit amd64, ppc64el và s390x được hoàn thiện tính năng miễn là tất cả các cập nhật microcode, firmware và hypanneror bên dưới hệ thống được thực hiện. ... "

Tôi đã intel-microcodeiucode-toolcài đặt và cập nhật, tuy nhiên chạy dmesg | grep -i microcodegrep -i microcode /var/log/syslog*không có gì trở lại mà làm cho tôi nghĩ rằng một trong hai mã vi cpu không được cập nhật hay cái gì khác là sai.

Các gói được cập nhật và đã được khởi động lại kể từ lần cập nhật cuối cùng.

hệ điều hành: Lubfox 16.04

CPU: Intel N3700 (Braswell)

kích hoạt repos phần mềm: chính, vũ trụ

kích hoạt cập nhật: xenial-security

Chỉnh sửa:
Đầu ra của grep name /proc/cpuinfo | sort -u
model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz

Bộ xử lý của tôi không phải là Skylake, cũng không phải hồ Kaby.

Trong /proc/cpuinfosiêu phân luồng hiển thị dưới dạng được hỗ trợ, nhưng trang Intel này cho biết nó không được hỗ trợ:
https://ark.intel.com/products/87261/Intel-Pentium-Processor-N3700-2M-Cache-up-to-2_40 -GHz

Chỉnh sửa 2:
Tôi đã chạy sudo update-initramfs -uvà khởi động lại. Các đầu ra vẫn giống nhau.

Đầu ra của /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*:

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

Có vẻ như không có microcode được cập nhật cho cpu của tôi, điều này rất thú vị vì đã có một microcode có thể chọn trong Additional Driverstab trước đó (cuối năm 2017); Bây giờ, không có.

Chỉnh sửa 3:
Đầu ra của 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]

Chỉnh sửa 4:
Bây giờ tôi hiểu rằng không có bản cập nhật cho microcode cpu, điều đó có nghĩa là vấn đề ban đầu đã được giải quyết và tôi sẽ để nguyên như vậy.

Tuy nhiên, dmesgjournalctl -bnên dòng vẫn ra về phiên bản mã vi, tôi tin.
Tôi cũng nhận thấy rằng các nhật ký khởi động này bắt đầu từ "5" thay vì 1 hoặc 0, và có một thông báo lỗi lặp lại khiến chúng bị cắt ngắn ( dmesgkhông nói gì về việc cắt bớt, nhưng journalctlnói rằng có 371635 tin nhắn kernel bị bỏ lỡ, xem bên dưới) . Tôi sẽ bỏ qua điều này cho bây giờ.

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
Dưới đây là hướng dẫn chi tiết về việc kiểm tra microcode trên các hệ thống debian --lists.debian.org/debian-devel/2017/06/msg00308.html . Đăng đầu ra của các lệnh đó. Bắt đầu bằng cách xác định bộ xử lý của bạn grep name /proc/cpuinfo | sort -uvà ghi chú "Một số bộ xử lý trong hai danh sách này không bị ảnh hưởng vì chúng thiếu hỗ trợ siêu phân luồng. Chạy lệnh bên dưới trong trình bao dòng lệnh (ví dụ xterm) và nó sẽ xuất ra một thông báo nếu siêu -threading được hỗ trợ / kích hoạt: " grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && echo "Hyper-threading is supported"
Panther

Tôi chỉnh sửa câu hỏi.
MeltingPoint

Bạn có thể vui lòng chạy sudo update-initramfs -u && sudo rebootvà kiểm tra lại sau khi khởi động lại.
Panther

1
Có thể không có microcode cho cpu của bạn trong gói ubfox. chạy cái này để xem/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
doug

1
Vào "cuối năm 2017", bạn có thể có mã vi mô cho cpu của mình dựa trên các bản sửa lỗi bóng ma / meltdown đã thử. Mã đó đã bị xóa /, tức là gói đã được hoàn nguyên về trước đó không có gì cần thiết cho cpu của bạn.
doug

Câu trả lời:


4

Dựa trên kết quả /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*không có microcode nào được tải cho cpu của bạn vì hiện tại không có. Điều đó không có nghĩa là sẽ không có trong tương lai. Bạn có thể cài đặt intel-microcode và iucode-tool một cách an toàn, nếu có một bản cập nhật chứa microcode cho chữ ký của cpu của bạn thì nó sẽ được sử dụng.


2

Lỗi trong Meltdown / Spectre Intel Microcode

Có một lỗi trong bản cập nhật Intel Microcode đầu năm 2018 để giải quyết các lỗ hổng bảo mật Meltdown / Spectre. Do đó, microcode phải được đưa trở lại phiên bản trước.

Dưới đây là microcode tôi đang sử dụng (đã từ chối tất cả các bản cập nhật bắt đầu từ tháng 1 năm 2018):

$ 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]

Khi bạn cài đặt Intel Microcode Update, bạn sẽ nhận được phiên bản này hoặc một cái gì đó tương tự:

intel-microcode/3.20180108.0+really20170707ubuntu16.04.1

Menu Ubuntu 16.04 LTS

Tôi không chắc chắn về cấu trúc menu của Lubfox nhưng đối với Ubuntu thông thường thì đây là cách bạn truy cập vào các điều khiển Cập nhật Microcode của Intel:

Trình điều khiển bổ sung.png

Tùy chọn dưới cùng kiểm soát Cập nhật Microcode của Intel.

Cài đặt Intel Microcode từ CLI

Để bỏ qua các menu GUI hoàn toàn, bạn có thể cài đặt từ dòng lệnh:

sudo apt update
sudo apt install intel-microcode

dmesg bây giờ hiển thị đầu ra chính xác

Sau khi làm theo các bước cài đặt dmesgsẽ trả về đầu ra mong muốn (không giống như trong câu hỏi của bạn, nơi nó không hiển thị gì):

$ 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

Trong câu hỏi, OP nêu rõ "Tôi đã cài đặt và cập nhật công cụ intel-microcode và iucode", vì vậy tôi không thực sự chắc chắn điều này giúp ích như thế nào.
Panther

@Panther Tôi đã bỏ lỡ thêm dmesgđầu ra của tôi ban đầu tôi có khi tôi bắt đầu viết câu trả lời. Tôi sẽ thêm nó vào. Về cơ bản sau khi làm theo các bước cài đặt, dmesgđầu ra xuất hiện như mong muốn.
WinEunuuchs2Unix 18/03/18

OP cũng nêu rõ "đang chạy dmesg | grep -i microcode và grep -i microcode / var / log / syslog * return nothing". Tôi nghi ngờ chúng ta cần phải chạysudo update-initramfs -u && sudo reboot
Panther

@Panther Lần đầu tiên tôi thấy rằng microcode không được cài đặt chính xác. Điểm tốt về khởi động lại. OP không đề cập gì về điều đó. Tôi sẽ theo dõi câu trả lời trong tương lai của OP cho câu hỏi của bạn dưới câu hỏi của anh ấy. Tôi không chắc chắn về update-initramfs -uviệc cần thiết vì nó không được liệt kê ở đây: Askubfox.com/questions/545925/ . Tuy nhiên nó không bao giờ đau.
WinEunuuchs2Unix 18/03/18

Microcode thường là một phần của initramfs và được tải trong quá trình khởi động, vì vậy, mặc dù không được mong đợi, tôi khuyên bạn nên xây dựng lại initramfs như một cách khắc phục tình huống bất thường của OP. Sẽ giúp nếu chúng ta biết microcode nào đã được cài đặt.
Panther

2

Ubuntu đã phát hành bản cập nhật kernal cố định chống lại khai thác này. Hạt nhân mới có những thay đổi cần thiết.

Tham khảo: SecurityTeam / KnowledgeBase / SpectreAndMeltdown | Wiki Wiki

Tôi đang dùng Ubuntu 16.04, sử dụng trình điều khiển hiển thị Nouveau. Trong trường hợp của tôi, Intel-microcode đã được gỡ cài đặt sau khi cài đặt kernel mới.

Bản cập nhật này được phát hành ngay sau khi intel đã phát hành bản sửa lỗi cho lỗ hổng bảo mật lỗi của bóng ma.

Điều này sẽ giải quyết vấn đề của bạn.

Nếu bạn có trình điều khiển thuộc tính intel thay thế như ở vị trí của tôi và vẫn muốn trình điều khiển thuộc tính intel-microcode.

Intel phát hành các mã CPU CPU Linux để sửa lỗi Meltdown & Spectre Bugs | bleepingcomputer.com

Hiện tại, trình điều khiển mới không được bao gồm trong Ubuntu ppa. Người dùng có thể phải tải xuống thủ công từ trang web của Intel.

Cảnh báo: Điều này có thể gây ra xung đột trình điều khiển hoặc mất ổn định trong Ubuntu của bạn. Bạn phải cài đặt nó trên rủi ro của riêng bạn.

Tải xuống tệp dữ liệu vi mã của bộ xử lý Linux | downloadcenter.intel.com

Đối với tôi, tôi không có vấn đề gì trong máy tính xách tay Ubuntu của tôi. Vì vậy, tôi không muốn mạo hiểm. Tôi rời nhóm Ubuntu để quyết định cái gì là tốt nhất từ ​​hệ thống của tôi. Tôi đang chờ cập nhật từ nhóm trình điều khiển Ubuntu.


Tôi không hiểu làm thế nào câu trả lời cho câu hỏi của tôi. Bạn có thể giải thích? Tôi đã intel-microcodecài đặt.
MeltingPoint


Cập nhật hạt nhân của bạn, Ubuntu đã vá nó theo một cách khác.
Aravind


Nếu intel-microcode bị gỡ cài đặt, bạn có 2 tùy chọn. tùy chọn 1) giữ an toàn và đợi cho đến khi nhóm Ubuntu phát hành bản cập nhật như tôi. Hoặc 2) bạn có thể chạy thử nghiệm của riêng mình bằng cách tải xuống thủ công trong rủi ro của riêng bạn.
Aravind
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.