Rate this post

Binary Planting là một thuật ngữ chung để chỉ một cuộc tấn công trong đó kẻ tấn công đặt (tức là planting) một tệp nhị phân có chứa mã độc hại vào hệ thống tệp cục bộ hoặc từ xa để ứng dụng dễ bị tấn công có thể tải và thực thi nó.

Có nhiều cách khác nhau mà cuộc tấn công này có thể xảy ra:

  1. Quyền truy cập không an toàn trên một thư mục cục bộ cho phép kẻ tấn công cục bộ đặt tệp nhị phân độc hại ở một vị trí đáng tin cậy. (Ví dụ điển hình là trình cài đặt ứng dụng không định cấu hình đúng các quyền trên các thư mục được sử dụng để lưu trữ các tệp ứng dụng.)
  2. Một ứng dụng có thể được sử dụng để plant một tệp nhị phân độc hại ở vị trí đáng tin cậy của ứng dụng khác. (Một ví dụ là Internet Explorer – lỗ hổng bảo mật kết hợp Safari)
  3. Ứng dụng tìm kiếm một tệp nhị phân ở các vị trí không đáng tin cậy, có thể trên các hệ thống tệp từ xa. (Ví dụ điển hình là ứng dụng Windows tải thư viện liên kết động từ thư mục làm việc hiện tại sau khi thư mục sau đã được đặt thành thư mục chia sẻ mạng)

Khái niệm Binary Planting attack

Binary Planting attack, hay còn được gọi là DLL Preloading, là một hình thức tấn công thường xảy ra trong môi trường hệ điều hành Windows, nhằm khai thác lỗ hổng trong quá trình tải và thực thi các file thực thi (executable files) và thư viện động (dynamic-link libraries – DLLs). Tấn công này tirên nguyên lý khai thác việc hệ điều hành tìm kiếm và tải các file thực thi từ các đường dẫn được xác định trước, mà không kiểm tra tính hợp lệ của các đường dẫn này.

Kẻ tấn công sẽ tạo ra một file độc hại có tên và đường dẫn tương tự với các file thực thi hoặc DLLs được mục tiêu ứng dụng sử dụng. Khi ứng dụng bị khai thác, nó sẽ tìm kiếm các file thực thi hoặc DLLs trong các thư mục ưu tiên, bao gồm cả thư mục hiện tại, và lựa chọn file độc hại mà kẻ tấn công đã tạo ra. Khi file độc hại được tải và thực thi, kẻ tấn công có thể tiến hành thực hiện các hành động độc hại, như lây nhiễm malware, chiếm quyền điều khiển hệ thống hoặc đánh cắp thông tin.

Binary Planting attack có thể được thực hiện thông qua các phương thức khác nhau, bao gồm tấn công qua các ứng dụng cục bộ, tấn công qua mạng hoặc tấn công thông qua các tệp tin chia sẻ. Điều quan trọng là kẻ tấn công cần tạo ra các file độc hại có tên và đường dẫn giống với các file thực thi hoặc DLLs được mục tiêu ứng dụng sử dụng, và đặt chúng trong các thư mục mà hệ điều hành tìm kiếm trước khi tìm kiếm các file khác.

Để ngăn chặn Binary Planting attack, các biện pháp bảo mật phải được triển khai, bao gồm kiểm tra tính hợp lệ của đường dẫn và tên file trước khi tải và thực thi chúng, sử dụng các kỹ thuật bảo mật như ASLR (Address Space Layout Randomization) và DEP (Data Execution Prevention), và cập nhật thường xuyên các ứng dụng và hệ điều hành để vá lỗ hổng bảo mật.

Các bài viết liên quan:

Các yếu tố rủi ro về Binary Planting attack

Tấn công dựa trên quyền truy cập không an toàn

  1. Trình cài đặt ứng dụng Windows tạo thư mục gốc (C: \ Application) và cài đặt ứng dụng trong đó, nhưng không giới hạn quyền ghi vào thư mục cho người dùng không có đặc quyền.
  2. Giả sử ứng dụng (C: \ Application \ App.exe) tải thư viện WININET.DLL bằng cách gọi LoadLibrary (“WININET.DLL”). Thư viện này dự kiến ​​sẽ được tìm thấy trong thư mục Windows System32.
  3. Người dùng cục bộ A plant một thư viện WININET.DLL độc hại trong C: \ Application
  4. Người dùng cục bộ B khởi chạy ứng dụng, ứng dụng này sẽ tải và thực thi WININET.DLL` độc hại thay vì hợp pháp.

Xem thêm Binary Trees

Tấn công dựa trên thư mục làm việc hiện tại

  1. Giả sử một ứng dụng Windows tải thư viện DWMAPI.DLL bằng cách gọi LoadLibrary (“DWMAPI.DLL”). Thư viện này dự kiến ​​sẽ được tìm thấy trong thư mục Windows System32, nhưng chỉ tồn tại trên Windows Vista và Windows 7.
  2. Giả sử ứng dụng được liên kết với phần mở rộng tệp .bp.
  3. Kẻ tấn công thiết lập một thư mục chia sẻ mạng và đặt các tệp honeypot.bp và DWMAPI.DLL trong thư mục này (có thể đánh dấu tệp sau là ẩn).
  4. Kẻ tấn công mời người dùng Windows XP truy cập thư mục được chia sẻ với Windows Explorer.
  5. Khi người dùng nhấp đúp vào honeypot.bp, Windows Explorer của người dùng sẽ đặt thư mục làm việc hiện tại thành chia sẻ từ xa và khởi chạy ứng dụng để mở tệp.
  6. Ứng dụng cố gắng tải DWMAPI.DLL, nhưng không tìm thấy nó trong thư mục hệ thống Windows, ứng dụng sẽ tải và thực thi nó từ phần chia sẻ mạng của kẻ tấn công.

Xem thêm binary search trong c++

Cách thức hoạt động của Binary Planting attack

Binary Planting attack, hay còn được gọi là DLL Preloading, là một hình thức tấn công khai thác lỗ hổng trong quá trình tải và thực thi các file thực thi và thư viện động (DLLs). Đây là cách thức hoạt động cơ bản của Binary Planting attack:

  1. Tìm kiếm các đường dẫn tải file: Hệ điều hành và các ứng dụng sẽ tìm kiếm và tải các file thực thi và DLLs thông qua một danh sách các đường dẫn được xác định trước, bao gồm các thư mục ưu tiên như thư mục hiện tại, thư mục hệ thống và các thư mục khác.
  2. Kiểm tra tên file và đường dẫn: Trong quá trình tìm kiếm, hệ điều hành và ứng dụng sẽ kiểm tra tính hợp lệ của tên file và đường dẫn trước khi tải và thực thi chúng. Tuy nhiên, nếu không có các biện pháp bảo mật phù hợp, hệ điều hành và ứng dụng có thể dễ dàng bị đánh lừa bởi các file độc hại.
  3. Tạo file độc hại: Kẻ tấn công tạo ra một file độc hại có tên và đường dẫn tương tự với các file thực thi hoặc DLLs được mục tiêu ứng dụng sử dụng. Điều này có thể được thực hiện bằng cách sao chép và đổi tên file có sẵn hoặc tạo mới các file độc hại.
  4. Đặt file độc hại trong các thư mục ưu tiên: Kẻ tấn công đặt các file độc hại trong các thư mục mà hệ điều hành và ứng dụng tìm kiếm trước khi tìm kiếm các file khác. Điều này đảm bảo rằng các file độc hại sẽ được tải và thực thi thay vì các file hợp lệ.
  5. Thực hiện hành động độc hại: Khi ứng dụng bị khai thác và tải các file độc hại, kẻ tấn công có thể tiến hành thực hiện các hành động độc hại. Điều này có thể bao gồm lây nhiễm malware, chiếm quyền điều khiển hệ thống, đánh cắp thông tin hoặc thực hiện các hành vi không mong muốn khác.

Xem thêm Traversing Binary Trees

Các ví dụ cơ bản về Binary Planting attack

Dưới đây là một số ví dụ cơ bản về Binary Planting attack:

  1. DLL Hijacking: Kẻ tấn công tạo một DLL độc hại có cùng tên với một DLL hợp lệ mà ứng dụng cần tải. Khi ứng dụng khởi động và tìm kiếm DLL, nếu không có biện pháp bảo mật phù hợp, ứng dụng sẽ tải DLL độc hại thay vì DLL hợp lệ, cho phép kẻ tấn công thực hiện các hành động độc hại.
  2. File Execution Hijacking: Kẻ tấn công tạo một file độc hại có cùng tên với một file thực thi hợp lệ mà ứng dụng cần thực thi. Khi ứng dụng khởi động và tìm kiếm file thực thi, nếu không có các biện pháp bảo mật phù hợp, ứng dụng sẽ thực thi file độc hại thay vì file hợp lệ, cho phép kẻ tấn công thực hiện các hành động độc hại.
  3. Remote Binary Planting: Kẻ tấn công sử dụng các kỹ thuật khai thác mạng để đưa các file độc hại vào máy tính mục tiêu thông qua việc tải và thực thi từ xa. Khi người dùng truy cập vào một tài nguyên mạng, ví dụ như trang web hoặc email, các file độc hại sẽ được tải về và thực thi trên máy tính mục tiêu mà không cần tương tác trực tiếp từ người dùng.
  4. USB Binary Planting: Kẻ tấn công đặt các file độc hại trên các thiết bị USB, ví dụ như ổ đĩa USB hoặc ổ cứng di động. Khi người dùng cắm thiết bị USB vào máy tính, các file độc hại sẽ tự động được tải về và thực thi trên máy tính mục tiêu, nhờ vào quá trình tự động mở và chạy các file từ thiết bị USB.

Các ví dụ trên chỉ minh họa một số trường hợp cơ bản của Binary Planting attack. Thực tế, kẻ tấn công có thể sáng tạo và áp dụng nhiều phương pháp và kỹ thuật khác nhau để thực hiện tấn công này, tùy thuộc vào lỗ hổng cụ thể và mục tiêu của họ.

Xem thêm Binary Operation

Cách ngăn chặn và bảo vệ khỏi Binary Planting attack

Để ngăn chặn và bảo vệ khỏi Binary Planting attack, có thể áp dụng các biện pháp bảo mật sau:

  1. Cập nhật hệ điều hành và ứng dụng: Hãy đảm bảo rằng hệ điều hành và các ứng dụng trên máy tính của bạn luôn được cập nhật mới nhất. Nhà cung cấp sẽ phát hành các bản vá lỗi và bản vá bảo mật để vá các lỗ hổng liên quan đến Binary Planting attack.
  2. Kiểm tra tính hợp lệ của đường dẫn và tên file: Hệ điều hành và các ứng dụng nên thực hiện kiểm tra tính hợp lệ của đường dẫn và tên file trước khi tải và thực thi chúng. Các biện pháp như kiểm tra chữ ký số, kiểm tra quyền truy cập, và sử dụng các danh sách độc lập để xác định danh sách đường dẫn và tên file hợp lệ có thể giúp ngăn chặn tấn công.
  3. Sử dụng kỹ thuật bảo mật như ASLR và DEP: Address Space Layout Randomization (ASLR) và Data Execution Prevention (DEP) là các kỹ thuật bảo mật hệ điều hành có thể giúp ngăn chặn tấn công Binary Planting. ASLR thay đổi vị trí bộ nhớ của các thành phần trong quá trình thực thi, làm khó cho kẻ tấn công dự đoán vị trí các file độc hại. DEP ngăn chặn việc thực thi mã từ các vùng bộ nhớ không được phép, giúp ngăn chặn việc thực thi các file độc hại.
  4. Sử dụng phần mềm bảo mật và giám sát: Sử dụng phần mềm bảo mật và giám sát hệ thống để phát hiện và ngăn chặn các hoạt động độc hại. Các giải pháp bảo mật như chương trình chống malware, tường lửa, và phân tích hành vi độc hại có thể giúp phát hiện và ngăn chặn Binary Planting attack.
  5. Hạn chế quyền truy cập: Hạn chế quyền truy cập cho các ứng dụng và người dùng chỉ cần những quyền cần thiết để thực hiện công việc của họ. Điều này giúp giới hạn khả năng của kẻ tấn công để tải và thực thi các chương trình binary.

Xem thêm Binary Search Trees

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now