Từ lâu, phần mềm diệt virus đã trở thành tiêu chuẩn để bảo vệ người dùng trước các mối nguy hiểm ảnh hưởng đến dữ liệu, hệ thống từ trên mạng. Từ đó, hacker luôn cố gắng tìm kiếm cách tạo ra loại mã độc vô hình với các phần mềm diệt virus. Đây là điều kiện để loại mã độc mới ra đời với tên gọi mã độc fileless có khả năng tấn công máy tính người dùng mà không bị phần mềm diệt virus thông thường phát hiện.
Để hiểu rõ hơn về mã độc fileless, chúng ta sẽ điểm lại cách thức mã độc truyền thống hoạt động:
Bước 1: Mã độc vào máy tính bằng nhiều cách thức sau: khai thác lỗ hổng, usb, tải file…
Bước 2: Sau khi vào máy tính, mã độc thực hiện lưu trữ chính nó ở trên ổ cứng.
Bước 3: Mã độc thực hiện các hành vi độc hại như ăn cắp dữ liệu, cấu hình lại hệ thống cho những cuộc tấn công khác, và nhiều hành vi khác nữa.
Bước 4: Mã độc thực hiện hành vi thường trú (tạo registry khởi động cùng hệ thống, service…) để luôn hoạt động sau mỗi lần người dùng mở máy tính lên.
Với mã độc fileless, loại mã độc này không lưu trữ file trên ổ cứng trong quá trình hoạt động. Điều này khiến cho mã độc đã thực sự trở nên “vô hình” với phần mềm diệt virus thông thường.
Chúng ta sẽ phân tích cụ thể kỹ thuật fileless ở một vài trường hợp mà hacker đã sử dụng trong các chiến dịch tấn công thực tế.
Trường hợp 1: Khai thác kỹ thuật fileless qua macro của Microsoft Word và tiến trình powershell
Đầu tiên là tổng quan cách thức lây nhiễm, hoạt động của mã độc trên máy tính người dùng
Trong quá trình lây nhiễm, mã độc đã thực hiện 5 bước để có thể lấy cắp được thông tin của người dùng. Cụ thể từng bước như sau:
– Bước 1: Mã độc khởi nguồn là một file dữ liệu (microsoft word) đã được cài mã nguồn độc hại.
– Bước 2: Khi file word được mở ra thì mã nguồn VBS độc hại sẽ được thực thi.
– Bước 3: Mã độc thực hiện hành vi fileless là mở tiến trình powershell với tham số đã được mã hóa
– Bước 4: Tiếp theo, mã độc thực hiện inject code vào tiến trình explorer.exe với kỹ thuật phổ biến là Invoke-ReflectivePEInjection
– Bước 5: Mã độc thực hiện lấy thông tin máy tính, keylogger. Mà những hành vi độc hại này thuộc về tiến trình explorer.exe
Như vậy, trong cả quá trình hoạt động, mã độc fileless không có thực hiện lưu trữ file ở trên ổ cứng. Tất cả các hành vi của mã độc được thực hiện trên bộ nhớ và lợi dụng tiến trình chuẩn của Windows để thực thi như powershell.exe, explorer.exe, Microsoft word.
Trường hợp 2: Khai thác kỹ thuật fileless bằng cách sử dụng registry để cư trú và thực thi
Về cách thức lây nhiễm vào máy tính thì rất đa dạng. Mã độc có thể khai thác lỗ hổng ở các phần mềm, email lừa đảo, usb hay lây nhiễm qua mạng nội bộ.
Mẫu mã độc sau khi lây nhiễm sẽ chọn một nơi cư trú để có thể chạy thường xuyên trên máy tính như registry, task schedule. Ở đây, với mẫu mã độc fileless này sẽ thực hiện ghi vào registry khởi động (registry run).
Mã độc thực hiện tạo value EsxilryvAvT để lưu trữ mã độc hại và một registry Run để lưu trữ cách thức chạy mã độc hại. Registry Run có nội dung sau:
Mã độc sử dụng tiến trình PowerShell (là một tiến trình chuẩn trên windows) để thực thi nội dụng độc hại. Mã độc fileless được thực hiện ghi dữ liệu trên registry thay vì ghi trên ở cứng.
Trường hợp 3: Khai thác kỹ thuật fileless bằng cách lợi dụng dịch vụ BITS để lưu trữ và thực thi mã độc hại trên memory
Trường hợp này, hacker thực hiện khai thác một dịch vụ có tên là Background Intelligent Transfer Service (viết tắt là BITS – một dịch vụ hỗ trợ chức năng download trên windows). Sau khi lây nhiễm vào máy tính, mã độc đăng ký một công việc cho BITS (JOB):
Từ việc kiểm tra các job của BITS bằng câu lệnh bitsadmin /list /allusers /verbose, chúng ta có thể xem được nội dung các job đã được đăng ký. Ở đây, mã độc đã đăng ký download một file từ http://dynamaven[.]info vào C:\ProgramData\41fd8392-06b1-1\41fd8392-06b1-1.d. Sau đó, mã độc sẽ thực thi file tải về bằng tiến trình cmd.exe được ghi ở chỗ NOTIFICATION COMMAND LINE. Như vậy, mã độc không có ghi bất kỳ dữ liệu độc hại nào trên ở cứng mà thay vào đó, mã độc đã ghi dữ liệu vào một dịch vụ BITS trên windows. Nếu như không kiểm tra ở trong các job của BITS thì mã độc vẫn luôn luôn tồn tại trên máy tính.
Trường hợp 4: Khai thác kỹ thuật fileless thông qua WMI trên Windows
WMI là viết tắt của dịch vụ Windows Management Instrumentation. WMI là cơ sở hạ tầng cho việc quản lý dữ liệu và hoạt động trên hệ thống Windows. WMI cho phép nhúng một đoạn mã Script để có thể thực thi mỗi lần Windows được khởi động. Chính vì điều này mà hacker chỉ cần đăng ký một WMI Class có một mã Script với nhiệm vụ download và thực thi file tải về.
Mã độc được nhúng Script vào WMI thì trên ổ cứng sẽ không cần phải lưu trữ file mà mã độc hại vẫn có thể thực thi một cách bình thường. Đồng thời, WMI cũng là một nơi mà các phần mềm thường không chú ý nhiều và khó khăn trong việc phát hiện mã độc.
Vậy làm sao để bảo vệ máy tính trước những cuộc tấn công fileless?
Mã độc fileless đã hoàn toàn qua mặt được các phần mềm diệt virus thông thường. Không những thế, hàng loạt mã độc tinh vi khác liên tục được ra đời và cải tiến bởi bàn tay hacker như: Advanced Persistent Threat, TTPs (Tactics, Techniques and Procedures, Lateral Movement…
Vậy đâu là giải pháp triệt để giúp người dùng tự bảo vệ hệ thống mạng và các dữ liệu quan trọng của bản thân khỏi mã độc fileless nói riêng và các loại mã độc khác nói chung? Câu trả lời không gì khác ngoài Endpoint Detection & Respone (viết tắt là EDR).
Tại sao EDR lại có khả năng bắt được mẫu mã độc fileless?
EDR hoàn toàn có khả năng loại bỏ mẫu mã độc fileless, bởi lẽ:
– EDR liên tục giám sát, phân tích các hoạt động bất thường xảy ra trên máy tính như tiến trình, memory, gọi API… để đưa ra nhận định chính xác nhất là máy tính đã nhiễm mã độc hay không.
– EDR thực hiện loại bỏ mã độc ra khỏi máy tính khi tự động phát hiện ra. Sau đó, EDR sẽ cảnh báo cho người dùng các nhân, cho quản lý biết rõ ràng hiện tượng, hoạt động của mã độc trên máy tính đã bị lây nhiễm.
– EDR cung cấp khả năng truy vết lại các hoạt động của mã độc trên toàn bộ hệ thống được giám sát.
– EDR cung cấp khả năng phòng vệ cho các máy tính trong hệ thống khi phát hiện ra một máy tính đã bị lấy nhiễm. Nhằm hạn chế khả năng lây nhiễm của mã độc trong mạng nội bộ của hệ thống.