Lỗ hổng CVE-2017-5689, ảnh hưởng trong công nghệ quản trị từ xa của Intel. Lỗ hổng này nằm trong các công nghệ Active Management Technology (AMT), Intel Standard Manageability (ISM) và Intel Small Business Technology (SBT) phiên bản từ 6 đến 11.6. Lỗ hổng được phát hiện bởi Maksim Malyutin, một thành viên của nhóm nghiên cứu Embedi vào tháng 2/2017. Tuy nhiên, lỗ hổng bảo mật này đã âm thầm tồn tại trên các chip Intel trong vòng 7 năm qua.
Chi tiết kỹ thuật về lỗ hổng cho thấy, tin tặc có thể chiếm kiểm soát máy tính sử dụng chip Intel thông qua việc gửi một chuỗi ký tự rỗng.
Công nghệ Intel AMT là gì?
Các chip Intel sử dụng một công nghệ nhúng có tên Active Management Technology, giúp nâng cao khả năng của quản trị viên, cho phép quản lý và sửa chữa máy tính, máy trạm và máy chủ từ xa. Sử dụng một bảng điều khiển qua giao diện website với cổng 16992 và 16993. Quản trị viên có thể thực hiện truy cập vào hệ thống từ xa. Giao diện web của AMT hoạt động ngay cả khi hệ thống đã tắt, chỉ cần thiết bị vẫn còn kết nối điện và kết nối mạng. Vì nó hoạt động độc lập với hệ điều hành.
Lỗ hổng Intel AMT
Để bảo vệ giao diện web Intel AMT khỏi những người dùng không có thẩm quyền, Intel sử dụng giao thức HTTP Digest và giao thức xác thực Kerberos. Lỗ hổng leo thang đặc quyền tồn tại trong việc xử lý xác thực thông qua giao thức HTTP Digest.
Xác thực Digest hoạt động như sau: để đăng nhập, máy trạm gửi yêu cầu và đợi máy chủ trả về một chuỗi giá trị duy nhất, phương thức HTTP và đường dẫn URI. Sau đó, người dùng được thông báo yêu cầu nhập tên đăng nhập và mật khẩu. Máy trạm gửi một chuỗi mã hóa (user_response) tới máy chủ. Chuỗi mã hóa được tạo ra bởi một hàm băm gồm thông tin tên đăng nhập, mật khẩu, giá trị nonce, phương thức HTTP và đường dẫn URI. Máy chủ cũng tính toán một chuỗi mã hóa tương tự (computed_response) gồm thông tin tài khoản và mật khẩu trong cơ sở dữ liệu. Máy chủ so sánh hai chuỗi thông qua hàm strncmp() và nếu trùng khớp sẽ cho phép người dùng đăng nhập vào giao diện web Intel AMT.
Lỗ hổng Intel AMT thực chất nằm trong hàm strncmp() mà server sử dụng để so sánh hai chuỗi mã hóa.
Cú pháp: strncmp(string_1, string_2, length).
Trong đó, tham số length định nghĩa số ký tự được so sánh.
strncmp() là một hàm so sánh trả về giá trị số âm, dương, hoặc giá trị 0 phụ thuộc vào kết quả so sánh chuỗi ký tự string_1 lớn hơn hay nhỏ hơn chuỗi ký tự string_2, và nếu chúng bằng nhau sẽ trả về giá trị 0.
Hàm chứa lỗ hổng:
Để xác thực thành công, giá trị biến user_response phải trùng với giá trị biến computed_response và hàm strncmp() trả về giá trị 0. Nhưng phần mã lệnh xử lý xác thực đã sử dụng nhầm tham số response_length, cụ thể là lập trình viên đã sử dụng độ dài của biến user_response thay vì độ dài biến computed_response .
Cách khai thác lỗ hổng Intel AMT
Để khai thác lỗ hổng trong giao diện web Intel AMT, toàn bộ những gì tin tặc cần làm là gửi chuỗi ký tự rỗng vào trường user_response đến máy chủ. Hàm xử lý sẽ không thực hiện so sánh hai chuỗi mã hóa và cho phép người dùng đăng nhập vào hệ thống. Tin tặc có thể sử dụng tính năng Keyboard Video Mouse (KVM) của Intel AMT để kiểm soát toàn bộ hệ thống từ xa.
Cảnh báo từ chuyên gia
Lỗ hổng ảnh hưởng tới các phiên bản 6.x, 7.x, 8.x 9.x, 10.x, 11.0, 11.5 và 11.6. Tuy nhiên, phiên bản trước 6 và sau 11.6 không bị ảnh hưởng. Intel đánh giá lỗ hổng này là cực kỳ nghiêm trọng và đã phát hành một bản cập nhật firmware mới và hướng dẫn cách thức phát hiện máy trạm nào đang sử dụng AMT, ISM, và SBT.
Người dùng Intel được khuyến cáo cài đặt firmware mới nhất ngay lập tức. Một công cụ có sẵn được công bố trên Github cũng giúp người dùng vô hiệu hóa tính năng Intel AMT trên hệ điều hành Windows.