Lỗ hổng trong nhân Linux có thể vượt qua cơ chế KASLR

DDos

VIP Members
22/10/2013
524
2.191 bài viết
Lỗ hổng trong nhân Linux có thể vượt qua cơ chế KASLR
Lỗ hổng tiết lộ thông tin cho phép bỏ qua cơ chế bảo vệ KASLR và thu thập các thông tin nhạy cảm của hệ thống, chưa được vá trong các thiết bị ARM.

Các nhà nghiên cứu bảo mật của Cisco Talos vừa phát hiện một lỗ hổng tiết lộ thông tin trong nhân Linux. Lỗ hổng có thể bị khai thác để làm lộ thông tin trong bộ nhớ ngăn xếp nhân của các thiết bị chứa lỗ hổng.

Cụ thể, Cisco Talos cho biết lỗi CVE-2020-28588 tồn tại trong chức năng /proc/pid/syscall của các thiết bị ARM 32-bit chạy Linux và phát sinh từ việc chuyển đổi không đúng các giá trị số khi đọc tệp.
Linux_700_420.png
Kẻ tấn công thông qua vài dòng lệnh có thể xuất ra 24 byte bộ nhớ ngăn xếp chưa được khởi tạo, từ đó thực hiện việc bỏ qua cơ chế ngẫu nhiên hóa sơ đồ không gian địa chỉ hạt nhân (KASLR). KASLR là một biện pháp bảo mật để ngẫu nhiên hóa vị trí các mô-đun hạt nhân nằm trong bộ nhớ. Mục đích của nó là làm cho việc hạt nhân khó bị hack hơn khi bạn không thể dựa vào cùng một đoạn mã luôn ở cùng một vị trí bộ nhớ.

Các cuộc tấn công khai thác lỗ hổng này sẽ "không thể bị phát hiện trên mạng từ xa" và “kẻ tấn công có thể tận dụng việc rò rỉ thông tin này để khai thác thành công các lỗ hổng Linux chưa được vá”, theo Cisco Talos.

Proc là một hệ thống tệp ảo, một hệ thống tệp thời gian thực, đặc biệt trong hệ điều hành Unix, được sử dụng để theo dõi các tiến trình đang chạy cùng với trạng thái của hệ thống trong hạt nhân. Nó trình bày thông tin về các quy trình và thông tin hệ thống khác trong một cấu trúc giống như tệp phân cấp. Ví dụ: nó chứa các thư mục con /proc/[pid], mỗi thư mục chứa các tệp và thư mục con hiển thị thông tin về các quy trình cụ thể, có thể đọc được bằng cách sử dụng ID quy trình tương ứng. Trong trường hợp của tệp “syscall”, đó là tệp hợp pháp trong hệ điều hành Linux chứa nhật ký các lệnh gọi hệ thống được hạt nhân sử dụng.

Kẻ tấn công có thể khai thác lỗ hổng bằng cách đọc / proc / <pid> / syscall. Hãng Cisco cho biết “Chúng tôi có thể thấy kết quả đầu ra trên bất kỳ hệ thống Linux nào có nhân được định cấu hình bằng CONFIG_HAVE_ARCH_TRACEHOOK".

Tệp này tiết lộ số cuộc gọi hệ thống và các đăng ký đối số cho lệnh gọi hệ thống hiện đang được thực thi bởi các tiến trình, theo sau là các giá trị của con trỏ ngăn xếp và các thanh ghi bộ đếm chương trình. Các giá trị của tất cả sáu thanh ghi đối số được hiển thị, mặc dù hầu hết các lệnh gọi hệ thống sử dụng ít thanh ghi hơn."

Các lệnh shell kích hoạt lỗ hổng bảo mật là:
Mã:
# echo 0 > /proc/sys/kernel/randomize_va_space (# only needed for a cleaner output)
$ while true; do cat /proc/self/syscall; done | uniq (# waits for changes)
$ while true; do free &>/dev/null; done (# triggers changes)

Cisco Talos lần đầu tiên phát hiện vấn đề trên thiết bị Azure Sphere (phiên bản 20.10), một thiết bị ARM 32-bit chạy nhân Linux.

Người dùng được khuyến cáo cập nhật ngay các sản phẩm bị ảnh hưởng bởi lỗ hổng này. Các hạt nhân bị ảnh hưởng bao gồm hạt nhân Linux phiên bản 5.10-rc4, 5.4.66 và 5.9.8. Cisco xác nhận các phiên bản hạt nhân Linux này có thể bị khai thác bởi lỗ hổng này.

Theo threatpost
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
cve-2020-28588
Bên trên