Phát hiện phần mềm độc hại PE bằng cách sử dụng mạng thần kinh đồ thị và pháp chứng bộ nhớ

PE malware detection by using GNN and memory forensics

Nghiên cứu tập trung vào phương pháp phát hiện phần mềm độc hại PE thông qua việc sử dụng mạng thần kinh đồ thị từ dữ liệu pháp chứng bộ nhớ. Mạng thần kinh đồ thị là một công nghệ tiên tiến giúp mô hình hóa mối quan hệ giữa các thành phần trong phần mềm, tạo ra một biểu đồ độ thị phức tạp. Kết hợp với pháp chứng bộ nhớ, ta có thể nắm bắt được những thay đổi động trong bộ nhớ của hệ thống khi có sự tương tác của phần mềm độc hại.

Khoá luận tốt nghiệp

TÁC GIẢ

Lê Thanh Duẩn

GIẢNG VIÊN HƯỚNG DẪN

NGÀNH

Năm:

Tổng quan

Trước sự gia tăng đáng kể của các mối nguy hiểm trên không gian mạng hiện nay và sự tiến triển không ngừng của phần mềm độc hại, việc đối mặt với thách thức phát hiện và phân tích malware trở thành một yếu tố đặc biệt quan trọng trong lĩnh vực bảo mật mạng và an ninh thông tin. Nghiên cứu này đặc trọng điểm vào mục tiêu phát triển một phương pháp tiên tiến, kết hợp Mạng thần kinh đồ thị (GNN) và Pháp chứng bộ nhớ (Memory Forensics), nhằm xác định và nhận biết phần mềm độc hại PE trong bối cảnh cuộc tấn công, nhằm giúp quản trị viên có khả năng phát hiện, xử lí, và loại bỏ mã độc nguy cơ ngay từ khi nó tấn công vào máy tính.

Đối với loại phần mềm độc hại PE (Portable Executable) – một dạng tập tin thực thi chủ yếu chạy trên hệ điều hành Windows, bao gồm các định dạng tệp như .exe, .dll, .sys,… – thì nó thường lan truyền thông qua các phương tiện như email với tệp đính kèm, tải xuống từ internet, hoặc tir chính các lỗ hổng bảo mật. Điều này làm tăng nguy cơ nhiễm phải malware PE, và vì vậy, nghiên cứu này hướng đến mục tiêu là phát triển một hệ thống có khả năng phát hiện và xử lí các mối nguy hiểm này nhanh chóng và hiệu quả.

Kĩ thuật Pháp chứng bộ nhớ (Memory Forensics) được tích hợp để thực hiện trích xuất ra các tiến trình PE đang chạy trên hệ thống và trong đó có chứa tiến trình độc hại. Pháp chứng bộ nhớ không chỉ đơn thuần trích xuất thông tin tiến trình từ bộ nhớ hệ thống mà còn làm nổi bật các tiến trình PE liên quan, cung cấp một cái nhìn chi tiết và đầy đủ về sự hoạt động của chúng. Bằng cách này, nó giúp xác định các tiến trình có thể đang làm việc nhưng mang theo mối đe dọa độc hại.

Mạng thần kinh đồ thị (GNN) đóng một vai trò vô cùng quan trọng trong việc phát hiện phần mềm độc hại này. Bằng cách sử dụng GNN, chúng ta có thể xây dựng biểu đồ đại diện cho mối quan hệ phức tạp giữa các thành phần của tập tin PE. Từ những biểu đồ này, chúng ta có thể nhận diện các tương tác và phụ thuộc quan trọng, làm nổi bật các mẫu độc hại tiềm ẩn. Điều này tạo nền tảng để phát hiện và ngăn chặn các cuộc tấn công từ phần mềm độc hại PE.

Mục tiêu nghiên cứu

Mục tiêu chính của đề tài là: Xây dựng một hệ thống phát hiện phần mềm độc, tìm kiếm các dấu vết độc hại trong hệ thống đang hoạt động bằng Mạng thần kinh đồ thị (GNN) dựa trên dữ liệu từ pháp chứng bộ nhớ từ một cuộc tấn công an ninh mạng,. Việc phát hiện nhanh chóng góp phần giảm thiểu thiệt hại   , xử lí  nhanh và loại bỏ mã độc ra khỏi máy  bị nhiễm mã độc.

Phạm vi nghiên cứu

Phạm vi của đề tài này sẽ bao gồm:

  • Phát triển một mô hình Mạng thần kinh đồ thị để phát hiện phần mềm độc hại dựa trên tập dữ liệu pháp chứng bộ nhớ xác định mã độc và các dấu hiệu của mã độc.
  • Thử nghiệm và đánh giá hiệu suất của hệ thống trên các tình huống thử nghiệm và tập dữ liệu mẫu phức tạp.

Phương pháp thực hiện

Trong quá trình thực hiện bài luận văn, tôi đã lựa chọn hai hướng tiếp cận khác nhau. Đầu tiên, tôi thực hiện việc dump toàn bộ tiến trình đang chạy trong từ tệp tin memory dump được trích xuất từ một cuộc tấn công và sử dụng Virustotal để phân tích phát hiện tiến trình nào là mã độc. Thứ hai, tôi sử dụng một bộ dữ liệu (dataset) từ Kaggle để triển khai mô hình mạng nơ-ron đồ thị (GNN) nhằm mục đích phát hiện malware.

Hướng tiếp cận thứ nhất

Bằng Volatility 3 framework, chúng ta có khả năng tạo ra một ứng dụng sử dụng các tính năng của Volatility như một thư viện, cho phép chúng ta xây dựng một công cụ mạnh mẽ. Điều này mang lại khả năng trích xuất thông tin về tất cả các tiến trình đang chạy hoặc thậm chí cả những tiến trình ẩn trong một bức ảnh bộ nhớ (memory dump).

Chúng ta có thể sử dụng Volatility 3 để tận dụng các plugin sẵn có, trong trường hợp này, chúng ta quan tâm đến plugin PsScan để phân tích tiến trình. Bằng cách này, chúng ta có thể trích xuất thông tin về các tiến trình hiện đang hoạt động trên hệ thống, bao gồm cả những tiến trình được ẩn.

Hướng tiếp cận thứ hai

image 4

Kiến trúc tổng quát của GNN cho việc phát hiện mã độc bao gồm ba giai đoạn chính:

  1. Chuẩn bị dữ liệu: Trong giai đoạn này, dữ liệu memory dump được chuẩn bị cho việc đào tạo. Điều này có thể bao gồm các bước như loại bỏ các dữ liệu không liên quan, tạo các tính năng từ dữ liệu và chuẩn hóa dữ liệu.
  2. Đào tạo: Trong giai đoạn này, mô hình GNN được đào tạo trên dữ liệu chuẩn bị. Điều này có thể được thực hiện bằng cách sử dụng các thuật toán học máy như backpropagation.
  3. Kiểm tra và đánh giá: Trong giai đoạn này, mô hình GNN được kiểm tra trên dữ liệu kiểm tra. Điều này cho phép đánh giá hiệu suất của mô hình.

Trong giai đoạn chuẩn bị dữ liệu, dữ liệu memory dump ở dạng tệp csv. Các trường trong tệp csv có thể đại diện cho các tiến trình của bộ nhớ, tiến trình được chạy dưới quyền quản trị viên, trường handles, trường chứa module đang tải vào hệ thống,….

Trong giai đoạn đào tạo, mô hình GNN được đào tạo để học cách phân biệt giữa dữ liệu memory dump hợp pháp và dữ liệu memory dump độc hại. Điều này thường được thực hiện bằng cách sử dụng các thuật toán học máy như backpropagation.

Trong giai đoạn kiểm tra và đánh giá, mô hình GNN được kiểm tra trên dữ liệu kiểm tra. Dữ liệu kiểm tra thường được chia thành hai tập: tập xác nhận và tập đánh giá. Tập xác nhận được sử dụng để điều chỉnh các tham số của mô hình, trong khi tập đánh giá được sử dụng để đánh giá hiệu suất của mô hình.

Kết luận

Trong luận văn này, tôi đã nghiên cứu về vấn đề phát hiện phần mềm độc hại PE bằng cách sử dụng mạng thần kinh đồ thị và pháp chứng bộ nhớ. Tôi đã thực hiện 2 hướng tiếp cận:

Hướng tiếp cận thứ nhất là xây dựng công cụ trích xuất tiến trình từ memory dump và thực hiện phát hiện mã độc từ các tiến trình thông qua Virustotal. Công cụ này có thể trích xuất thành công các tiến trình đang hoạt động từ memory dump và gửi yêu cầu quét mã độc cho virustotal. Kết quả cho thấy, công cụ này có thể phát hiện được 100% mã độc trong bộ dữ liệu thử nghiệm.

Hướng tiếp cận thứ hai là huấn luyện mô hình GNN để phát hiện mã độc từ bộ dữ liệu memory dump. Bộ dữ liệu này được xây dựng từ memory dump của các tiến trình bị nhiễm mã độc và tiến trình sạch. Mô hình GNN được huấn luyện trên bộ dữ liệu này và đạt được kết quả chính xác khoảng 80%.

Kết quả nghiên cứu cho thấy, việc sử dụng mạng thần kinh đồ thị và pháp chứng bộ nhớ có thể phát hiện phần mềm độc hại PE một cách hiệu quả. Tuy nhiên, vẫn còn một số vấn đề cần được giải quyết trong tương lai, bao gồm:

  • Tăng cường khả năng phát hiện mã độc mới. Mã độc mới thường được thiết kế để tránh các phương pháp phát hiện truyền thống. Do đó, cần phải nghiên cứu các phương pháp mới để phát hiện mã độc mới.
  • Giảm thiểu thời gian và tài nguyên cần thiết. Việc phân tích memory dump là một quá trình tốn thời gian và tài nguyên. Do đó, cần phải nghiên cứu các phương pháp để giảm thiểu thời gian và tài nguyên cần thiết cho việc phân tích memory dump.