chương 1, luận văn đã trình bày tổng quan về hệ điều hành, trong đó trình bày chi tiết về hai hệ điều hành phổ biến nhất hiện nay là Windows và Linux. Mỗi hệ điều hành, luận vă đã nghiên cứu về kiến trúc, thành phần và nguyên lý hoạt động. Trong chương tiếp theo, luận văn sẽ tập trung nghiên cứu về các phương thức thu thập dữ liệu liên quan tới tiến trình trên hệ thống. Luan van 7 CHƯƠNG 2: NGHIÊN CỨU PHƯƠNG PHÁP THU THẬP TIẾN TRÌNH TRÊN HỆ ĐIỀU HÀNH Định nghĩa về tiến trình bất thường: "Process, hay tiến trình, là sự thực thi của một chương trình và thực hiện các hành động liên quan được chỉ định trong một chương trình, hoặc nó là một đơn vị thực thi nơi chương trình chạy.
Hệ điều hành tạo, lên lịch và chấm dứt các tiến trình. Các tiến trình khác được tạo bởi tiến trình chính được gọi là tiến trình con. Hoạt động của bất kì tiến trình nào cũng được kiểm soát bởi khối điều khiển tiến trình (Process Control Block, viết tắt là PCB). PCB chứa tất cả những thông tin quan trọng liên quan đến các tiến trình, chẳng hạn như: id tiến trình, ưu tiên, trạng thái, CPU.
Tiến trình bất thường sẽ là các tiến trình lạ, làm thay đổi performance hệ thống như CPU, Memory. làm hệ thống hoạt động chậm chạp hoặc có thể bị treo. Định nghĩa tiến trình độc: Là tập các mẫu, các thuộc tính của tiến trình độc, mã độc, mã băm của mã độc, các chuỗi đại diện trích xuất từ mã độc (lấy từ virus total). Biểu hiện của tiến trình độc hại: - Không có icon (biểu tượng) - Không có thông tin mô tả hoặc tên công ty - Không có ký tên Microsoft Image - Tiến trình được packed - Bao gồm nhiều URL lạ trong phần string của tiến trình - Có chứa các DLL hoặc services khả nghi Tất cả các mã độc đều có các hành vi tương tác tới hệ thống và các tài nguyên trong hệ thống.
Do đó, để có thể phát hiện ra mã độc cần thực hiện việc theo dõi các tài nguyên của hệ thống, theo dõi sự thay đổi bất thường diễn ra khi sử dụng máy tính. Trong phần này, luận văn trình bày các công cụ có thể sử dụng để theo dõi về hoạt động của tiến trình trong hệ điều hành. Một số phương pháp và kỹ thuật thu thập tiến trình Windows 2. Process Monitor Process Monitor là công cụ giám sát và theo dõi dành cho hệ điều hành Windows được phát triển từ hai công cụ là Filemon và Regmon, được sử dụng để giám sát các tệp và hoạt động của chúng.
Process Monitor là công cụ giám sát hệ thống vô cùng mạnh mẽ, với khả năng giám sát các tập tin, cửa sổ đăng ký của một ứng dụng. Process Monitor cung cấp cái nhìn trực quan, chính xác những gì tiến trình đang hoạt động trên hệ thống và cho phép người dùng khả năng cách ly các tài nguyên và ứng dụng yêu cầu truy cập. Đây là công cụ rất hữu ích hỗ trợ quá trình phát hiện Malware, phần mềm độc hại hoặc muốn theo dõi hành vi của bất kỳ một chương trình nào đang tác động tới hệ thống. Process Monitor có khả năng thu thập rất nhiều dữ liệu trên máy tính Windows, đặc biệt tập trung vào các hoạt động (Input/Output) sau: - Registry: liên quan tới các việc tạo, xóa, truy vấn registry.
- File System: liên quan tới hoạt động tạo, ghi, xóa tập tin. - Network: hiển thị lưu lượng TCP/UDP. - Process: thông tin liên quan tới tiến trình như khởi tạo, xóa, suspend… - Cấu hình: những thông tin liên quan tới bộ nhớ, thời gian… Luan van 9 Hình 2. Màn hình công cụ Process Monitor ProcessMon có tính năng giám sát và khả năng lọc rất mạnh mẽ: - Khả năng bắt thông tin qua các tham số vào/ra.
- Quá trình lọc (filter) không làm mất dữ liệu. - Bắt các thông tin của stack trong các luồng cho từng hành động, do đó dễ dàng phát hiện ra gốc của hành động. - Đưa ra các thông tin tin cậy về chi tiết sản phẩm: đường dẫn, command line, người dùng, session ID. - Khả năng cấu hình các cột linh hoạt.
- Khả năng filter được thiết lập tới tất cả các trường dữ liệu. - Khả năng ghi log và capture dữ liệu rất lớn: khoảng 10 triệu sự kiện được capture với khoảng 10 triệu GB dữ liệu. - Process Tree chỉ ra mối quan hệ giữa các tiến trình liên quan trong cùng một nhánh. - Dễ dàng xem thông tin về process thông qua tool tip.
- Ghi log các thao tác, hành động thời gian boot. Luan van 10 Hình 2. Thông tin về một tiến trình Process Monitor thu thập Đối với mỗi tiến trình, công cụ Process Monitor có thể thu thập toàn bộ thông tin về tiến trình đó, đặc biệt trong đó tập trung vào các thông số như: - Time: thời gian bắt đầu khởi tạo tiến trình. - Process Name: tên tiến trình.
- PID: Process ID của tiến trình tạo ra sự kiện trên hệ thống. Mỗi tiến trình trên hệ điều hành đều được đánh một PID riêng biệt giúp hệ thống liên kết các sự kiện với nhau và phân biệt giữa các tiến trình trên hệ thống. - Parent PID: Process ID của tiến trình cha, là tiến trình tạo ra tiến trình hiện tại. - User: thông tin tài khoản tạo tiến trình.
- Operation: hoạt động của tiến trình với hệ thống như (đọc, ghi, xóa registry, tập tin, kết nối mạng hay tạo tiến trình mới). - Path: đây không phải là địa chỉ của tập tin tiến trình, nó là đường dẫn đến bất kỳ điều gì đang được thực hiện bởi sự kiện này. Ví dụ, nếu tiến trình tạo một sự kiện WirteFile, trường này sẽ hiển thị tên tệp hoặc thư mục mà tập tin mới được tạo. Luan van 11 Ngoài ra, công cụ còn cung cấp các thông tin khác như hình dưới đây: Hình 2.
Thông tin Process Monitor thu thập về tiến trình Ngoài những thông tin chi tiết về từng tiến trình, công cụ còn có khả năng tổng hợp, phân tích cung cấp cho người dùng cái nhìn tổng quan về toàn bộ tiến trình đang chạy trong hệ thống. Cây thư mục về tiến trình đang chạy trên hệ thống Luan van 12 Khả năng tổng hợp thông tin chi tiết về tài nguyên hệ thống, kết nối mạng và nhiều hoạt động khác của tiến trình. Hoạt động của tiến trình đang chạy trên hệ thống Process Monitor là công cụ được phát hành miễn phí trong bộ công cụ sysinternalsuite do Microsoft cung cấp, được các chuyên gia an ninh mạng hàng đầu thế giới tin dùng trong việc theo dõi, giám sát tiến trình trên hệ thống Windows để phát hiện mã độc trên hệ thống. System Monitor Sysmon là trình điều khiển thiết bị và dịch vụ hệ thống Windows, sau khi được cài đặt sẽ tồn tại trong toàn hệ thống để theo dõi và ghi nhật ký hoạt động của hệ thống vào nhật ký sự kiện của Windows.
Sysmon cung cấp thông tin chi tiết về các process được tạo, kết nối mạng và thay đổi thời gian tạo tệp. Bằng cách thu thập các sự kiện mà nó tạo ra bằng Windows Agent Collection hoặc các tác nhân SIEM và sau đó phân tích chúng để xác định hoạt động độc hại hoặc bất thường, từ đó tìm hiểu các kẻ xâm nhập hoạt động trên mạng. Luan van 13 Tổng quan về khả năng của Sysmon: - Ghi nhật ký quá trình tạo tiến trình với đầy đủ dòng lệnh cho cả tiến trình hiện tại và tiến trình cha. - Ghi lại giá trị băm của tập tin khởi tạo tiến trình với giá trị mặc định là SHA1, ngoài ra còn có các giá trị khác như MD5, SHA256 hoặc IMPHASH.
- Lưu trữ nhiều giá trị băm. - Lưu trữ giá trị GUID trong quá trình tạo sự kiện để cho phép tổng hợp, phân tích sự tương quan giữa các sự kiện ngay cả khi hệ điều hành Windows sử dụng lại PID. - Giá trị Session GUID trong mỗi sự kiện để cho phép tổng hợp, phân tích tương quan các sự kiện trên cùng một phiên đăng nhập. - Nhật ký quá trình tải, quá trình điều khiển hệ thống, thư viện với chữ ký và giá trị băm của từng tập tin.
- Lưu nhật ký mở, đọc ổ đĩa. - Lưu nhật ký kết nối mạng, bao gồm thông tin tiến trình kết nối, địa chỉ IP, cổng, địa chỉ kết nối. - Phát hiện các thay đổi về thời gian tạo tập tin để thu thông tin liên quan tới sự kiện thay đổi tập tin. Thay đổi thời gian tạo tập tin là một trong những kỹ thuật hay được mã độc sử dụng.
- Tự động tải lại cấu hình nếu có thay đổi trong registry. - Cơ chế lọc giúp loại trừ các sự kiện một cách linh hoạt - Theo dõi, giám sát hệ thống ngay từ khi quá trình khởi động để nắm bắt được toàn bộ hoạt động của các tiến trình trên hệ thống Windows. Hiện tại, Microsoft đã phát hành Sysmon phiên bản 11, người dùng có thể tải về từ trang chủ của hệ thống microsoft hoặc thông qua địa chỉ: https://docs.com/vi-vn/sysinternals/. Trang web Sysinternals được tạo ra từ năm 1996 bởi Mark Russinovich để lưu trữ các tiện ích hệ thống và thông tin kỹ thuật tiến tiến của ông.
Ngay cả những chuyên gia an ninh mạng hàng đầu thế giới, hay nhà phát triển phần mềm Windows, đều truy cập địa chi web này để tìm các tiện ích, công cụ liên quan tới việc giám sát Windows. Luan van 14 Người dùng có thể đơn giản cài đặt hoặc gỡ bỏ Sysmon bằng dòng lệnh như bảng dưới đây Bảng 2. Câu lệch cài đặt và gỡ bỏ Sysmon Thông tin Lệnh Cài đặt Sysmon64 -i [<tập tin cấu hình>] Cập nhật cấu hình Sysmon64 -c [<tập tin cấu hình>] Cài đặt event manifest Sysmon64 -m Hiển thị thông tin cấu hình Sysmon64 -s Gỡ cài đặt Sysmon64 -u [force] Bảng 2. Thông tin chi tiết tùy chọn cấu hình của Sysmon Tùy Mô tả chọn Cài đặt dich vụ và trình điều khiển.
Ngoài việc cài đặt mặc định, người -i dùng có thể cấu hình theo tập tin cấu hình tùy chỉnh -c Cập nhật cấu hình của Sysmon sau khi đã cài đặt -m Cài đặt event manifest -s Hiển thị thông tin cấu hình cài đặt đã định nghĩa Gỡ bỏ dịch vụ và trình điều khiển. Tùy chọn “force” giúp hệ thống gỡ -u bỏ công cụ ngay cả khi một vài thành phần chưa được cài đặt -l Lưu nhật ký những mô đun được cài đặt lên hệ thống -n Lưu nhật ký kết nối mạng -r Kiểm tra chữ ký của các tập tin được cài Ngay sau khi cài đặt, Sysmon sẽ lập tức thu thập toàn bộ thông tin sự kiện liên quan tới tiến trình hoạt động trên hệ thống từ khi hệ thống bắt đầu khởi động và lưu trữ vào hệ thống.