Một nhà nghiên cứu bảo mật của Google mới đây đã tiết lộ chi tiết về lỗ hổng mức độ nghiêm trọng cao chưa được vá đã tồn tại 20 năm ảnh hưởng đến tất cả các phiên bản Microsoft Windows, từ Windows XP cho đến Windows 10 mới nhất.
Lỗ hổng, có thể cho phép một ứng dụng đặc quyền thấp đọc và ghi dữ liệu lên một ứng dụng đặc quyền cao hơn, nằm trong cách các máy khách và máy chủ của MSCTF giao tiếp với nhau.
MSCTF trong Text Services Framework
MSCTF là một mô-đun trong Text Services Framework (TSF) của hệ điều hành Windows, quản lý những thứ như phương thức nhập (input method), bố trí bàn phím (keyboard layout), xử lý văn bản (text processing) và nhận dạng giọng nói (speech recognition).
Tóm lại, khi người dùng đăng nhập vào máy Windows, nó sẽ khởi động dịch vụ giám sát CTF hoạt động như một cơ quan trung ương để xử lý các liên lạc giữa tất cả các máy khách, thực chất là các cửa sổ cho mỗi tiến trình chạy trên cùng một phiên.
Các nhà nghiên cứu giải thích rằng người dùng có thể đã phát hiện thấy dịch vụ ctfmon trong trình quản lý tác vụ, nơi chịu trách nhiệm thông báo cho các ứng dụng về những thay đổi trong cách bố trí bàn phím hoặc phương thức nhập. Nhân (kernel) buộc các ứng dụng kết nối với dịch vụ ctfmon khi chúng khởi động, sau đó trao đổi tin nhắn với các máy khách khác và nhận thông báo từ dịch vụ.
Tavis Ormandy từ Nhóm Zero Project của Google đã phát hiện ra rằng vì không có kiểm soát truy cập hoặc bất kỳ loại xác thực nào được áp dụng cho tương tác này, nên bất kỳ ứng dụng, người dùng hay thậm chí quy trình hộp cát nào cũng đều có thể:
- kết nối với phiên CTF,
- đọc và viết văn bản của bất kỳ cửa sổ nào từ một phiên bất kỳ,
- giả mạo id thread, id tiến trình và HWND,
- giả vờ như một dịch vụ CTF, lừa các ứng dụng khác, thậm chí là các ứng dụng đặc quyền để kết nối với nó, hoặc
- thoát khỏi hộp cát và leo thang đặc quyền.
Không có cơ chế kiểm soát truy cập trong CTF
Ormandy giải thích trong một bài đăng trên blog được công bố mới đây rằng không có kiểm soát truy cập nào trong CTF, vì vậy bất cứ ai cũng có thể kết nối với phiên hoạt động của người dùng khác, tiếp quản các ứng dụng hoặc thậm chí đợi Quản trị viên đăng nhập và thỏa hiệp phiên của họ.
Hóa ra lỗ hổng tồn tại có thể cho phép đạt tới các phiên và vi phạm ranh giới an ninh NT trong gần hai mươi năm mà không ai để ý.
Hacker có thể bỏ qua UIPI
Nếu bị khai thác, điểm yếu trong giao thức CTF có thể cho phép kẻ tấn công dễ dàng bỏ qua User Interface Privilege Isolation (UIPI), cho phép ngay cả một quy trình không có đặc quyền để:
- đọc văn bản nhạy cảm từ bất kỳ cửa sổ nào của các ứng dụng khác, bao gồm cả mật khẩu trong hộp thoại,
- đạt được các đặc quyền HỆ THỐNG,
- kiểm soát hộp thoại đồng thuận UAC,
- gửi lệnh đến phiên giao diện điều khiển của quản trị viên, hoặc
- thoát khỏi hộp cát IL / AppContainer bằng cách gửi input đến các cửa sổ không có hộp cát.
Ormandy cũng đã xuất bản một video PoC mô phỏng cách thức vấn đề có thể được khai thác để đạt được các đặc quyền HỆ THỐNG trong Windows 10.
CTF chứa nhiều lỗi hỏng bộ nhớ
Bên cạnh đó, giao thức CTF được báo cáo cũng chứa nhiều lỗi hỏng bộ nhớ mà theo nhà nghiên cứu thì các lỗi này có thể được khai thác trong một cấu hình mặc định.
Ormandy cho biết ngay cả khi không có lỗi, giao thức CTF cũng cho phép các ứng dụng trao đổi input và đọc nội dung của nhau. Tuy nhiên, có rất nhiều lỗi giao thức cho phép kiểm soát hoàn toàn hầu như tất cả các ứng dụng khác. Sẽ rất thú vị để chờ đợi xem Microsoft sẽ quyết định hiện đại hóa giao thức này như thế nào.
Nhà nghiên cứu cũng đã phát hành một “Công cụ khám phá CTF” nguồn mở tùy chỉnh trên Github để khám phá nhiều vấn đề bảo mật quan trọng trong giao thức CTF của Windows. Ormandy đã báo cáo các phát hiện của mình cho Microsoft vào giữa tháng 5 năm nay.
Tuy nhiên mới đây nhà nghiên cứu này đã quyết định công khai các chi tiết về lỗ hổng sau khi Microsoft thất bại trong việc giải quyết vấn đề này trong vòng 90 ngày kể từ khi được thông báo
Thêm bình luận