Đã tìm thấy một lỗ hổng trong hệ thống con tty của nhân Linux

Các nhà nghiên cứu từ nhóm Google Project Zero đã phát hành gần đây thông qua một bài đăng trên blog một phương pháp khai thác lỗ hổng bảo mật mới (CVE-2020-29661) trong việc triển khai trình xử lý ioctl TIOCSPGRP của Hệ thống con tty nhân Linux, cũng như các cơ chế bảo vệ chi tiết có thể chặn các lỗ hổng này.

Nó được đề cập trong bài viết rằng vấn đề là do lỗi trong cài đặt khóa, dẫn đến điều kiện chạy đua trong mã /tty/tty_jobctrl.c, được sử dụng để tạo điều kiện truy cập bộ nhớ sau khi khởi chạy (use-after-free), được khai thác bởi không gian người dùng thông qua thao tác với ioct- bằng cách gọi TIOCSPGRP.

Ngoài những thông tin được công bố, cũng một bản trình diễn khai thác chức năng đã được thực hiện để leo thang đặc quyền trong Debian 10 với nhân 4.19.0-13-amd64 và điều này cũng không loại trừ rằng nó có thể ảnh hưởng đến các bản phân phối khác nhau, trong đó tất nhiên là các bản phân phối dựa trên và có nguồn gốc từ Debian.

Nhiều kỹ thuật khai thác riêng lẻ và các phương án giảm thiểu mà tôi đang mô tả ở đây không phải là mới lạ. Tuy nhiên, tôi nghĩ nên viết chúng lại với nhau để cho thấy các biện pháp giảm nhẹ khác nhau tương tác như thế nào với việc khai thác sau khi miễn phí khá bình thường.

Các đoạn mã trong bài đăng blog này có liên quan đến việc khai thác được lấy từ phiên bản 4.19.160 trước đó, vì đó là nhân Debian đích dựa trên; một số đoạn mã khác là từ dòng chính của Linux.

Đồng thời, trong bài báo đã xuất bản, sự nhấn mạnh không phải là kỹ thuật tạo ra một khai thác chức năng, mà là các công cụ trong nhân để bảo vệ bản thân chống lại các lỗ hổng như vậy.

Kết luận thật đáng thất vọng, vì nó đã được đề cập rằng các phương pháp như phân đoạn bộ nhớ trong heap và kiểm soát quyền truy cập vào bộ nhớ sau khi nó được giải phóng không được áp dụng trong thực tế vì chúng dẫn đến giảm hiệu suất và bảo vệ dựa trên CFI (Control Flow Integrity), ngăn chặn việc khai thác sau này các giai đoạn của một cuộc tấn công, yêu cầu cải tiến.

Một loại thiết bị đầu cuối đặc biệt là thiết bị đầu cuối giả, được sử dụng khi bạn mở một ứng dụng đầu cuối trong môi trường đồ họa hoặc kết nối với máy từ xa qua SSH. Trong khi các thiết bị đầu cuối khác được kết nối với một số loại phần cứng, cả hai đầu của thiết bị đầu cuối giả đều được kiểm soát bởi không gian người dùng và thiết bị đầu cuối giả có thể được tạo tự do bởi không gian người dùng (không có đặc quyền).

Bất cứ khi nào / dev / ptmx được mở (viết tắt của "pseudo-terminal multiplexer"), bộ mô tả tệp kết quả đại diện cho phía thiết bị (được gọi trong tài liệu và nguồn hạt nhân là "thiết bị đầu cuối giả chính") của thiết bị giả mới. phần cuối.

 Thiết bị đầu cuối tương ứng (mà một trình bao thường kết nối với nó) được tạo tự động bởi hạt nhân trong / dev / pts / .

Khi xem xét điều gì có thể tạo ra sự khác biệt về lâu dài, trọng tâm là sử dụng trình phân tích cú pháp tĩnh nâng cao hoặc sử dụng các ngôn ngữ an toàn cho bộ nhớ như phương ngữ Rust và C với các chú thích mở rộng (như C đã được chứng minh) để xây dựng bộ kiểm tra trạng thái, khóa, đối tượng và con trỏ. Các phương pháp bảo vệ cũng đề cập đến việc kích hoạt chế độ hoảng loạn_on_oops, làm cho cấu trúc hạt nhân ở chế độ chỉ đọc và hạn chế quyền truy cập vào các lệnh gọi hệ thống thông qua các cơ chế như seccomp.

Lỗi gây ra sự cố nó đã được sửa trong nhân Linux vào ngày 3 tháng XNUMX năm ngoái. Vấn đề tự hiển thị trong các hạt nhân trước phiên bản 5.9.13, nhưng hầu hết các bản phân phối đã khắc phục sự cố trong các bản cập nhật gói hạt nhân được cung cấp vào năm ngoái.

Một lỗ hổng tương tự cũng được đề cập (CVE-2020-29660) đã được tìm thấy đồng thời trong quá trình thực hiện lệnh gọi ioctl TIOCGSID, nhưng cũng đã bị xóa ở mọi nơi.

Cuối cùng Nếu bạn muốn biết thêm về nó, bạn có thể kiểm tra các chi tiết Trong liên kết sau đây.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.