Tấn công mạng nguy hiểm: Vượt EDR bằng In-Memory PE Loaders

Các nhà nghiên cứu bảo mật đã phát hiện một làn sóng tấn công mạng mới, sử dụng các trình tải PE trong bộ nhớ (in-memory PE loaders) để vượt qua các hệ thống phát hiện và phản hồi điểm cuối (EDR).
Trong các sự cố này, các tác nhân đe dọa (threat actors) phân phối một trình tải xuống (downloader) nhỏ đến các nạn nhân. Việc phân phối thường diễn ra thông qua các phương tiện như liên kết độc hại trong email hoặc tệp đính kèm chứa mã độc, ngụy trang dưới dạng tài liệu hợp pháp hoặc phần mềm cập nhật.
Khi được thực thi trên hệ thống của nạn nhân, trình tải xuống này không tự chứa payload chính. Thay vào đó, nó sẽ kết nối tới một máy chủ từ xa do kẻ tấn công kiểm soát để tải về một tệp Portable Executable (PE) hoàn chỉnh.
Điểm mấu chốt của kỹ thuật này là tệp PE độc hại được ánh xạ trực tiếp vào bộ nhớ của một tiến trình hợp pháp và đáng tin cậy đã có sẵn trên hệ thống. Điều này cho phép mã độc hoạt động mà không cần lưu trữ bất kỳ thành phần nào xuống ổ đĩa vật lý, gây khó khăn lớn cho việc phát hiện và điều tra.
Cơ Chế Kỹ Thuật Của In-Memory PE Loaders
Kỹ thuật này cho phép payload chạy mà không bao giờ chạm vào ổ đĩa, khiến các công cụ chống vi-rút truyền thống và hệ thống EDR gặp khó khăn cực độ trong việc phát hiện hoặc chặn các cuộc tấn công mạng.
In-memory PE loaders tận dụng triệt để các chức năng hệ điều hành hợp pháp để tải xuống và thực thi mã độc hoàn toàn trong bộ nhớ hệ thống.
Quy Trình Tải và Thực Thi Mã Độc Trong Bộ Nhớ
Quy trình bắt đầu khi một stub ban đầu, thường là một phần mềm tải xuống nhỏ, sử dụng các giao diện lập trình ứng dụng (API) như WinInet hoặc các hàm mạng tương tự để truy xuất payload độc hại từ một URL do kẻ tấn công kiểm soát.
Sau khi tải xuống, stub này không ghi payload xuống ổ đĩa. Thay vào đó, nó sẽ cấp phát một vùng bộ nhớ ảo bên trong một tiến trình đang chạy và được hệ thống EDR chấp thuận là hợp pháp.
Các byte thô của tệp EXE độc hại sau đó được sao chép trực tiếp vào vùng bộ nhớ ảo vừa được cấp phát. Đây là bước quan trọng giúp payload ẩn mình trong tiến trình hợp lệ.
Tiếp theo, loader sẽ phân tích các tiêu đề PE của tệp độc hại. Việc này bao gồm việc xác định cấu trúc của tệp PE, ánh xạ từng phần (section) của nó vào các địa chỉ ảo thích hợp trong bộ nhớ và sửa chữa các bảng import (nhập khẩu) cũng như relocation (tái định vị) để mã có thể chạy đúng cách và tương tác với các thư viện hệ thống.
Sau khi thiết lập các bảo vệ bộ nhớ phù hợp cho từng phần, chẳng hạn như đánh dấu các trang chứa mã là có thể thực thi, loader sẽ chuyển quyền kiểm soát. Nó nhảy đến điểm nhập (entry point) của payload, cho phép mã độc hại bắt đầu hoạt động.
Toàn bộ quy trình này diễn ra hoàn toàn trong bộ nhớ, không để lại bất kỳ tệp thực thi độc hại nào trên ổ đĩa. Điều này giúp bỏ qua hiệu quả các cơ chế phát hiện dựa trên quét tệp hoặc giám sát hoạt động hệ thống tệp. Đây là một thách thức lớn trong việc ngăn chặn tấn công mạng.
Ngay cả các hệ thống EDR tiên tiến theo dõi việc tạo tiến trình và hành vi bộ nhớ cũng thường bỏ lỡ hoặc phân loại sai các bước này. Lý do là stub ban đầu có vẻ lành tính, và payload chính chạy bên trong một tiến trình đáng tin cậy đã tồn tại trên hệ thống.
Chiến Dịch Tấn Công Thực Tế và Thách Thức Điều Tra Pháp Y
Theo báo cáo chi tiết từ g3tsyst3m.com, các chiến dịch gần đây đã phân phối các loader trong bộ nhớ này thông qua nhiều con đường. Các phương thức phổ biến bao gồm tệp đính kèm email được vũ khí hóa, các bản cập nhật phần mềm giả mạo và các trang web bị xâm nhập hoặc lừa đảo.
Nạn nhân thường bị lừa khởi chạy một trình tải xuống dường như vô hại, chỉ có kích thước vài kilobyte. Sự nhỏ gọn này giúp nó dễ dàng vượt qua các kiểm tra ban đầu và không gây nghi ngờ.
Tệp tải xuống nhỏ đó sau đó kéo một payload PE lớn hơn nhiều. Payload này thường là các công cụ tùy chỉnh, trojan truy cập từ xa (RATs), hoặc trình đánh cắp thông tin đăng nhập, được lưu trữ trên các dịch vụ lưu trữ đám mây hoặc kho lưu trữ GitHub của kẻ tấn công.
Vì payload không bao giờ được ghi vào ổ đĩa, các nhà điều tra pháp y (forensic investigators) có thể gặp khó khăn nghiêm trọng trong việc tìm bằng chứng về tấn công mạng sau khi sự việc đã xảy ra. Thiếu dấu vết trên ổ đĩa làm cho quá trình phân tích và truy vết trở nên phức tạp.
Trong một trường hợp được ghi nhận, kẻ tấn công đã sử dụng một loader để tải một công cụ quản trị từ xa. Công cụ này được ngụy trang cẩn thận thành một tiện ích phổ biến, nhằm tránh bị phát hiện.
Công cụ độc hại này đã được tiêm vào một tiến trình hợp pháp, cho phép các tác nhân đe dọa di chuyển ngang (lateral movement) trong mạng và đánh cắp dữ liệu nhạy cảm. Các tổ chức chỉ dựa vào các biện pháp phòng thủ dựa trên chữ ký đã bị xâm nhập trước khi họ có thể phản ứng với các tấn công mạng này.
Tăng Cường Phòng Thủ và Khả Năng Phát Hiện Xâm Nhập
Các nhà phòng thủ có thể cải thiện khả năng phát hiện xâm nhập của các in-memory PE loaders bằng cách kết hợp và phân tích nhiều nguồn dữ liệu đo lường từ xa (telemetry) khác nhau từ hệ thống.
Việc giám sát liên tục các lệnh gọi API bất thường là rất quan trọng. Các API như VirtualAlloc (cấp phát bộ nhớ ảo), WriteProcessMemory (ghi dữ liệu vào bộ nhớ của tiến trình khác) và VirtualProtect (thay đổi quyền truy cập bộ nhớ) có thể tiết lộ các nỗ lực tiêm mã độc hoặc thay đổi hành vi của tiến trình hợp pháp.
Ngoài ra, việc áp dụng phát hiện bất thường (anomaly detection) để theo dõi các kết nối mạng không mong đợi từ các tiến trình người dùng cũng có thể gắn cờ hoạt động tải xuống đáng ngờ. Những kết nối này thường là dấu hiệu của các hoạt động trái phép.
Việc triển khai kiểm tra tính toàn vẹn bộ nhớ (memory integrity checks) và phân tích hành vi điểm cuối (endpoint behavior analytics) có thể giúp phát hiện các loader ẩn này trong thời gian thực. Các công cụ này cung cấp khả năng quan sát sâu hơn vào các hoạt động bộ nhớ và tiến trình, giảm thiểu rủi ro từ các tấn công mạng tinh vi.
Các Biện Pháp Chiến Lược Để Củng Cố Bảo Mật Mạng
Để củng cố hệ thống bảo mật mạng toàn diện, các tổ chức nên thực thi danh sách cho phép ứng dụng nghiêm ngặt (application allowlists). Điều này đảm bảo chỉ các ứng dụng đã được phê duyệt mới có thể chạy, hạn chế đáng kể khả năng thực thi mã độc.
Triển khai các công cụ quét bộ nhớ (memory-scanning tools) có khả năng kiểm tra các tiến trình đang hoạt động (live processes) là một biện pháp thiết yếu. Các công cụ này có thể phát hiện mã độc ẩn náu trong bộ nhớ mà không cần ghi xuống đĩa.
Phân đoạn các môi trường nhạy cảm trong mạng (network segmentation) giúp hạn chế khả năng di chuyển ngang (lateral movement) của kẻ tấn công nếu một phần hệ thống bị xâm nhập.
Thực hiện các bài tập săn lùng mối đe dọa (threat hunting exercises) thường xuyên, mô phỏng các tấn công mạng trong bộ nhớ, sẽ tăng cường khả năng hiển thị các mối đe dọa tiềm ẩn và chuẩn bị cho các nhóm an ninh mạng phản ứng nhanh chóng và hiệu quả.
Cuối cùng, việc giữ cho các giải pháp EDR được cập nhật với các quy tắc phát hiện mới nhất cho các kỹ thuật file-less là cực kỳ quan trọng. Điều này giúp đảm bảo hệ thống phòng thủ luôn sẵn sàng đối phó với những biến thể mới nhất của các tấn công mạng phức tạp.









