Làm cách nào để phát hiện và giảm thiểu sự leo thang của lỗ hổng đặc quyền của Intel trên hệ thống Linux (CVE-2017-5689)?


26

Theo bài đăng của trung tâm bảo mật Intel ngày 1 tháng 5 năm 2017, có một lỗ hổng nghiêm trọng trên bộ xử lý Intel có thể cho phép kẻ tấn công giành được đặc quyền (leo thang đặc quyền) bằng cách sử dụng AMT, ISM và SBT.

Vì AMT có quyền truy cập trực tiếp vào phần cứng mạng của máy tính, lỗ hổng phần cứng này sẽ cho phép kẻ tấn công truy cập vào bất kỳ hệ thống nào.

Có sự leo thang của lỗ hổng đặc quyền trong Công nghệ quản lý chủ động Intel® (AMT), Khả năng quản lý tiêu chuẩn Intel® (ISM) và các phiên bản phần mềm công nghệ doanh nghiệp nhỏ Intel® phiên bản 6.x, 7.x, 8.x 9.x, 10 .x, 11.0, 11.5 và 11.6 có thể cho phép kẻ tấn công không có đặc quyền giành quyền kiểm soát các tính năng quản lý được cung cấp bởi các sản phẩm này. Lỗ hổng này không tồn tại trên các PC tiêu dùng dựa trên Intel.

Intel đã phát hành một công cụ phát hiện có sẵn cho Windows 7 và 10. Tôi đang sử dụng thông tin từ dmidecode -t 4và bằng cách tìm kiếm trên trang web của Intel, tôi thấy rằng bộ xử lý của tôi sử dụng Intel® Active Management Technology (Intel® AMT) 8.0.

Sản phẩm bị ảnh hưởng:

Vấn đề đã được quan sát trong các phiên bản phần mềm quản lý Intel 6.x, 7.x, 8.x 9.x, 10.x, 11.0, 11.5 và 11.6 cho Công nghệ quản lý hoạt động Intel®, Công nghệ doanh nghiệp nhỏ Intel® và Intel ® Khả năng quản lý tiêu chuẩn. Các phiên bản trước 6 hoặc sau 11.6 không bị ảnh hưởng.

Mô tả:

Kẻ tấn công cục bộ không có đặc quyền có thể cung cấp các tính năng có thể quản lý để có được các đặc quyền mạng hoặc hệ thống cục bộ không được ưu tiên trên SKU khả năng quản lý của Intel: Công nghệ quản lý hoạt động Intel® (AMT), Quản lý tiêu chuẩn Intel® (ISM) và Công nghệ doanh nghiệp nhỏ Intel® (SBT)

Làm cách nào tôi có thể dễ dàng phát hiện và giảm thiểu sự leo thang của lỗ hổng đặc quyền của Intel trên hệ thống Linux?


1
Vụ việc còn phức tạp hơn khi nhiều người trong chúng ta đang sử dụng máy ảo; đối với máy thật thì có đủ để quét sự hiện diện của dịch vụ tại UDP 16992 không? +1
Rui F Ribeiro

2
Các bước phòng ngừa: sử dụng SPARC (Tôi biết, tôi biết, không phải là một giải pháp khả thi). Có +1
Fox

3
@Fox đủ thú vị CPU ME trong bộ xử lý Intel là SPARC ngày nay ;-).
Stephen Kitt

2
@StephenKitt Thật sao? Tôi có thể phải suy nghĩ lại về lập trường của mình đối với chip của Intel! Hầu như tất cả các máy của tôi là PPC hoặc SPARC, vì vậy tôi phải thừa nhận sự thiên vị của tôi là có thật
Fox

Câu trả lời:


18

Bài đăng rõ ràng nhất tôi từng thấy về vấn đề này là Matthew Garrett, (bao gồm cả các bình luận).

Matthew hiện đã phát hành một công cụ để kiểm tra hệ thống của bạn cục bộ: xây dựng nó, chạy nó với

sudo ./mei-amt-check

và nó sẽ báo cáo liệu AMT có được bật và cung cấp hay không, và nếu có, các phiên bản phần sụn (xem bên dưới). Các README có thêm chi tiết.

Để quét mạng của bạn để tìm các hệ thống dễ bị tấn công, hãy quét các cổng 623, 624 và 16992 đến 16993 (như được mô tả trong tài liệu giảm thiểu của Intel ); ví dụ

nmap -p16992,16993,16994,16995,623,664 192.168.1.0/24

sẽ quét mạng 192.168.1 / 24 và báo cáo trạng thái của tất cả các máy chủ phản hồi. Khả năng kết nối với cổng 623 có thể là dương tính giả (các hệ thống IPMI khác sử dụng cổng đó), nhưng bất kỳ cổng mở nào từ 16992 đến 16995 đều là một chỉ báo rất tốt về AMT được bật (ít nhất là nếu chúng phản hồi phù hợp: với AMT, điều đó có nghĩa là một phản hồi HTTP trên 16992 và 16993, phản hồi sau với TLS).

Nếu bạn thấy phản hồi trên các cổng 16992 hoặc 16993, việc kết nối với các cổng và yêu cầu /sử dụng HTTP sẽ trả về phản hồi với một Serverdòng có chứa Công nghệ quản lý hoạt động của Intel Intel (R) trên các hệ thống có bật AMT; cùng dòng đó cũng sẽ chứa phiên bản phần sụn AMT đang sử dụng, sau đó có thể so sánh với danh sách được đưa ra trong tư vấn của Intel để xác định xem nó có dễ bị tấn công hay không.

Xem câu trả lời của CerberusSec để biết liên kết đến tập lệnh tự động hóa ở trên.

Có hai cách để khắc phục sự cố đúng cách

  • nâng cấp chương trình cơ sở, khi nhà sản xuất hệ thống của bạn cung cấp bản cập nhật (nếu có);
  • tránh sử dụng cổng mạng cung cấp AMT, bằng cách sử dụng giao diện mạng không có AMT trên hệ thống của bạn hoặc bằng cách sử dụng bộ chuyển đổi USB (nhiều máy trạm AMT, như hệ thống C226 Xeon E3 với cổng mạng i210, chỉ có một AMT- giao diện mạng có khả năng - phần còn lại đều an toàn, lưu ý rằng AMT có thể hoạt động trên wi-fi, ít nhất là trên Windows, vì vậy sử dụng wi-fi tích hợp cũng có thể dẫn đến thỏa hiệp).

Nếu cả hai tùy chọn này đều không khả dụng, bạn đang ở trong lãnh thổ giảm nhẹ. Nếu hệ thống có khả năng AMT của bạn chưa bao giờ được cung cấp cho AMT, thì bạn đã an toàn một cách hợp lý; cho phép AMT trong trường hợp đó rõ ràng chỉ có thể được thực hiện cục bộ và theo như tôi có thể yêu cầu sử dụng phần mềm hệ thống hoặc phần mềm Windows của hệ thống. Nếu AMT được bật, bạn có thể khởi động lại và sử dụng phần sụn để tắt nó (nhấn CtrlPkhi thông báo AMT được hiển thị trong khi khởi động).

Về cơ bản, trong khi lỗ hổng đặc quyền khá khó chịu, có vẻ như hầu hết các hệ thống Intel không thực sự bị ảnh hưởng. Đối với các hệ thống của riêng bạn chạy Linux hoặc hệ điều hành tương tự Unix khác, việc leo thang có thể yêu cầu quyền truy cập vật lý vào hệ thống để bật AMT ngay từ đầu. (Windows là một câu chuyện khác.) Trên các hệ thống có nhiều giao diện mạng, như được chỉ ra bởi Rui F Ribeiro , bạn nên đối xử với các giao diện có khả năng AMT giống như cách bạn đối xử với bất kỳ giao diện quản trị nào (có khả năng IPMI hoặc giao diện máy chủ cho một trình ảo hóa VM) và cách ly nó trên một mạng hành chính (vật lý hoặc Vlan). Bạn không thể dựa vào máy chủ để bảo vệ chính nó: iptablesv.v. không hiệu quả ở đây, vì AMT nhìn thấy các gói trước khi hệ điều hành thực hiện (và giữ các gói AMT cho chính nó).

Máy ảo có thể làm phức tạp vấn đề, nhưng chỉ theo nghĩa là chúng có thể gây nhầm lẫn AMT và do đó tạo ra kết quả quét khó hiểu nếu AMT được bật. amt-howto(7)đưa ra ví dụ về các hệ thống Xen trong đó AMT sử dụng địa chỉ được cung cấp cho DomU qua DHCP, nếu có, điều đó có nghĩa là quá trình quét sẽ hiển thị AMT hoạt động trên DomU, chứ không phải là Dom0 ...


Có cách nào để phát hiện AMT từ Linux trên máy không? Sử dụng /proc/cpuinfohay dmidecode?
heo

Điều đó có nghĩa là nếu một hệ thống không phản hồi với bất kỳ cổng nào trong số đó có an toàn khỏi lỗ hổng này hay vẫn có thể bị khai thác cục bộ?
comfreak

Giảm thiểu trên máy tính xách tay có thể ở dạng sử dụng USB USB thay vì tích hợp.
Michael Mol

1
Bạn viết "lưu ý rằng AMT có thể hoạt động trên wi-fi, ít nhất là trên Windows". Tôi nghĩ rằng lỗ hổng này hoạt động độc lập với hệ điều hành?
wurtel

1
@wurtel lỗ hổng độc lập với HĐH trên các giao diện có dây, nhưng trên AMT wi-fi dường như cần sự hợp tác từ trình điều khiển của HĐH đang chạy: nó không chặn các gói, nó dựa vào các gói chuyển tiếp phù hợp của HĐH với nó (theo tôi hiểu - lưu ý rằng tôi chưa thử nghiệm khía cạnh này).
Stephen Kitt

8

Chỉ đơn giản là phát hiện các cổng mở cho dịch vụ này là không đủ, nó không cho biết phiên bản có bị ảnh hưởng hay không. Nhóm của chúng tôi đã tạo ra một kịch bản python có sẵn tại github của chúng tôi: CerberusSecurity / CVE-2017-5689 để phát hiện nếu một hệ thống mục tiêu dễ bị tấn công từ xa.

Sử dụng mẫu:

python CVE_2017_5689_detector.py 10.100.33.252-255

Điều này sẽ cho phép bạn có thể kiểm tra nếu bạn có thể khai thác từ xa. Nếu bạn quan tâm, chúng tôi cũng đã viết một bài đăng blog ngắn tại http://cerberussec.org/ với việc chúng tôi đảm nhận lỗ hổng này.


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.