Security Joes cho biết: “Kỹ thuật tấn công này tận dụng các tệp thực thi thường được tìm thấy trong thư mục WinSxS đáng tin cậy và khai thác chúng thông qua kỹ thuật chiếm quyền điều khiển thứ tự tìm kiếm DLL. Điều này cho phép tin tặc loại bỏ yêu cầu về đặc quyền nâng cao khi cố gắng chạy đoạn mã bất hợp pháp trên máy bị xâm nhập cũng như đưa các tệp nhị phân có khả năng bị tổn thương vào chuỗi tấn công”.
Việc chiếm quyền điều khiển thứ tự tìm kiếm DLL liên quan đến việc đánh lừa thứ tự tìm kiếm được sử dụng để tải các tệp DLL nhằm thực thi các payload độc hại với mục đích trốn tránh các giải pháp bảo mật và thực hiện leo thang đặc quyền.
Cụ thể, các cuộc tấn công khai thác kỹ thuật này sẽ loại bỏ các ứng dụng không chỉ định đường dẫn đầy đủ đến các thư viện mà chúng yêu cầu, thay vào đó, dựa vào thứ tự tìm kiếm được xác định trước để định vị các tệp DLL cần thiết trên đĩa.
Ví dụ về việc chiếm quyền điều khiển lệnh tìm kiếm DLL thành công bằng cách lạm dụng tệp nhị phân trong thư mục WinSxS
Hiểu cách Windows tải các tập DLL và các tệp thực thi là điều rất quan trọng để nắm bắt được kỹ thuật này. Khi một ứng dụng bắt đầu quá trình tải, nó sẽ tuân theo một trình tự cụ thể, trình tự này chỉ ra các bước mà hệ thống thực hiện để định vị và sử dụng các thành phần cần thiết, chẳng hạn như tệp DLL và tệp thực thi. Quá trình này đảm bảo các ứng dụng hoạt động hiệu quả, cho phép chúng truy cập các tài nguyên và chức năng được chia sẻ một cách liên tục. Nó cũng cung cấp một phương pháp thay thế để định vị đệ quy các tài nguyên có thể cần thiết nhưng không được nhà phát triển đưa vào gói cài đặt của ứng dụng.
Quy trình chung mà hệ điều hành Windows tuân theo khi tìm kiếm và tải các tài nguyên bên ngoài như sau:
1. Thư mục mà ứng dụng được khởi chạy.
2. Thư mục “C:\Windows\System32”.
3. Thư mục “C:\Windows\System”.
4. Thư mục “C:\Windows”.
5. Thư mục làm việc hiện tại.
6. Các thư mục được liệt kê trong biến môi trường PATH của hệ thống.
7. Các thư mục được liệt kê trong biến môi trường PATH của người dùng.
Nghiên cứu của Security Joes tập trung vào các tệp trong thư mục “C:\Windows\WinSxS”. Viết tắt của Windows side-by-side, WinSxS là một thành phần quan trọng của Windows được sử dụng để tùy chỉnh và cập nhật hệ điều hành nhằm đảm bảo tính tương thích và tính toàn vẹn.
Mục đích chính của thư mục WinSxS bao gồm:
Quản lý phiên bản: lưu trữ nhiều phiên bản của DLL và tệp hệ thống, đảm bảo truy cập hiệu quả khi cần. Tính năng này rất quan trọng để duy trì khả năng tương thích với nhiều ứng dụng, vì các chương trình khác nhau có thể yêu cầu các phiên bản cụ thể của cùng một thành phần.
Tính toàn vẹn của hệ thống: Thư mục WinSxS giúp duy trì tính toàn vẹn của hệ thống bằng cách ngăn chặn các phiên bản tệp hệ thống không chính xác hoặc bị hỏng. Biện pháp bảo vệ này đảm bảo sự ổn định và độ tin cậy của hệ điều hành.
Kích hoạt động: Thư mục tạo điều kiện cho việc kích hoạt hoặc hủy kích hoạt động các tính năng của Windows, loại bỏ nhu cầu cài đặt riêng biệt. Tính linh hoạt này cho phép người dùng bật hoặc tắt các tính năng cụ thể theo yêu cầu.
Các chuyên gia bảo mật đã nâng cao kỹ thuật chiếm thứ tự tìm kiếm DLL bằng cách tập trung vào các ứng dụng nằm trong thư mục Windows WinSxS. Điều khác biệt giữa cách tiếp cận này với các cách triển khai đã biết trước đó là việc nhắm mục tiêu có chủ ý vào các tệp nằm trong thư mục WinSxS. Những ưu điểm chính của phương pháp này bao gồm:
Phá vỡ các yêu cầu đặc quyền cao: Bằng cách nhắm mục tiêu các ứng dụng trong thư mục WinSxS, việc triển khai của Security Joes loại bỏ nhu cầu về đặc quyền nâng cao để thực thi mã độc trong các ứng dụng nằm trong thư mục Windows.
Loại bỏ nhu cầu về các tệp nhị phân bổ sung: Việc tận dụng thư mục WinSxS sẽ loại bỏ yêu cầu đưa các tệp nhị phân bổ sung, có khả năng bị phát hiện vào chuỗi tấn công. Vì Windows đã lập chỉ mục các tệp này trong thư mục WinSxS nên các nhà nghiên cứu không cần phải đính kèm ứng dụng dễ bị tấn công.
Tăng cường khả năng lẩn tránh: Việc thực thi mã độc trong không gian bộ nhớ của ứng dụng từ thư mục WinSxS giúp tăng cường khả năng ẩn dấu và giảm thiểu rủi ro bị phát hiện. Các công cụ bảo mật và nhà phân tích có thể ít gắn cờ phương pháp này hơn vì nó tận dụng các thành phần đáng tin cậy đã có trong môi trường Windows.
Nhìn chung, ý tưởng là tìm các tệp nhị phân dễ bị tổn thương trong thư mục WinSxS và kết hợp nó với các phương pháp chiếm quyền điều khiển thứ tự tìm kiếm DLL thông thường bằng cách đặt một DLL tùy chỉnh có cùng tên với DLL hợp pháp vào thư mục do tin tặc kiểm soát để thực thi mã.
Do đó, chỉ cần thực thi một tệp dễ bị tấn công trong thư mục WinSxS bằng cách đặt thư mục tùy chỉnh chứa DLL giả mạo làm thư mục hiện tại là đủ để kích hoạt việc thực thi nội dung của DLL mà không cần phải sao chép tệp thực thi từ thư mục WinSxS vào đó.