Ứng dụng máy học và hệ chuyên gia trong chẩn đoán virus máy tính

MỤC LỤC

KÝ HIỆU VÀ VIẾT TẮT

BAT BATch files Tập tin lệnh theo lô BP Base Pointer register Thanh ghi con trỏ cơ sở BX Base register Thanh ghi cơ sở. Diagnosing Tìm kiếm - Suy diễn - Chẩn đoán Ký hiệu của đề tài SP Stack Pointer register Thanh ghi con trỏ ngăn xếp SS Stack Segment.

Các cơ chế chẩn đoán virus máy tính và một số vấn đề liên quan

Chương 2

  • Các cơ chế chẩn đoán virus máy tính
    • Các hệ phòng chống virus máy tính 1. Các sản phẩm trong nước
      • Tình hình nghiên cứu virus máy tính
        • Hướng giải quyết của đề tài
          • Các hệ cơ sở tri thức 1. Các Hệ chuyên gia

            Trong khi trong nước vẫn chưa giải quyết trọn vẹn bài toán nhận dạng virus máy tính tự động, đề tài “Tiếp cận Máy học và Hệ chuyên gia để nhận dạng, phát hiện virus máy tính” được đặt ra nhằm tìm hướng đi mới cho bài toán nhận dạng virus máy tính phù hợp với tình hình thực tiễn, điều kiện nghiên cứu và triển khai sản phẩm ở Việt Nam. Các hệ học thường sử dụng các kỹ thuật học và rút luật tiêu biểu như thuật toán Hybrid Algorithms (Clark & Niblett 1989); thuật toán cây quyết định - Decision Tree Algorithms (C5.0, Quinlan-1993); thuật toán luật kết hợp - Association Rule Algorithms (Kaufman và Michalski, 1999); các thuật toán CLIP - Cover Learning Using Integer Linear Programming [20]….

            Hình 2.2: Biểu đồ tăng trưởng các lớp virus máy tính
            Hình 2.2: Biểu đồ tăng trưởng các lớp virus máy tính

            Cơ chế máy học chẩn đoán virus máy tính

            Chương 3

            • Các độ đo chất lượng chẩn đoán

              Khi xử lý đối tượng (là virus mẫu hay đối tượng chẩn đoán), hệ sẽ trích ra danh sách các macro name của đối tượng rồi cập nhật vào CSDL (đối với mẫu virus) hoặc phân tích và phát hiện mối nguy hiểm tiềm ẩn (đối với đối tượng cần chẩn đoán). Các luật RS1 chỉ phát huy trong thời gian rất ngắn (khoảng vài miligiây của tiến trình xử lý), trong khi các luật RS2 có hiệu quả trong thời gian dài (từ vài giây đến hàng tháng, thậm chí hàng năm tùy theo tốc độ lây của virus và tần suất sử dụng hệ thống). Thay vì phân tích thủ công từng chỉ thị mã độc, tiếp cận mô tả đặc điểm tổng quát hướng heuristic (heuristic-based generic description) [50] sử dụng máy ảo để giám sát quá trình thi hành mẫu chẩn đoán và ‘tóm lấy’ (capture) đoạn mã nhận dạng của virus khi quá trình tự giải mã (decryption) hoàn tất [69].

              Hình 3.8: Lưu đồ chẩn đoán đối tượng E-class
              Hình 3.8: Lưu đồ chẩn đoán đối tượng E-class

              Thiết kế xây dựng hệ thống và thực nghiệm

                Chương 4

                • Giai đoạn Học dữ liệu

                  Mô hình lớp thích hợp cho việc phân loại các virus đa hình (lây nhiễm vào nhiều đối tượng thi hành thuộc nhiều môi trường, hệ điều hành khác nhau), hoặc virus lai tạp (sử dụng nhiều kỹ thuật của nhiều loại virus khác nhau). Có hai kỹ thuật phân cụm phân cấp là (i) xuất phát từ các đối tượng đơn lẻ, gộp các điểm dữ liệu đủ gần vào các cụm hoặc (ii) xuất phát từ một cụm duy nhất (toàn bộ không gian), tách các điểm dữ liệu có độ phân biệt cao nhất vào các cụm con [6] (Hình 4.2). Do nút hiện tại (DLL) chưa có nút con nào là ‘Registry’ nên tạo nút mới ‘Registry’, cập nhật nút này vào danh sách các con của ‘DLL’, đặt nút này làm nút hiện tại, bổ sung thứ tự mẫu tin đang xét (mẫu 1) vào nút ‘Registry’.

                  Hình 4.1. Mô hình tổng quát của hệ Phòng chống virus máy tính
                  Hình 4.1. Mô hình tổng quát của hệ Phòng chống virus máy tính

                  Virus 2 Nhóm 6: Virus 6, Virus 8

                  • Rút luật phân bố trị thuộc tính
                    • Giai đoạn Xử lý dữ liệu
                      • Kết quả thực nghiệm

                        Công tác phân loại thực hiện hai nhiệm vụ: (i) giữ lại các điểm (+), loại bớt các điểm (-) an toàn khỏi không gian quan sát và (ii) ước lượng nhóm (cluster) virus mà mỗi điểm (+) có thể thuộc về, nhằm hạn chế các truy vấn không cần thiết trên các mẫu virus không liên quan. Nhận định bản chất của quá trình chẩn đoán virus hướng tiếp cận chuỗi mã là bài toán truy vấn dữ liệu chắc chắn và đầy đủ; quan niệm biến thể virus máy tính là đối tượng mang thông tin chưa chắc chắn và không đầy đủ, MAV đề xuất phương án DF2RV khôi phục (recall) dữ liệu virus sử dụng kỹ thuật hợp nhất dữ liệu qua ba bước NULL húa dữ liệu, giải mó NULL và làm rừ dữ liệu NULL, nhằm tỏi tạo cỏc trị thuộc tính chưa được nhận dạng của biến thể virus vào thư viện virus mẫu. Cuối cùng, bước 4 ở mức giao tiếp người dùng sẽ tạo ra các giải thích, tương tác chất vấn hội thoại và đưa ra kết quả chẩn đoán (xem chi tiết kỹ thuật các gói phân tích hệ thống, mô tả chức năng, thiết kế các phân hệ và giao diện người dùng của hệ phần mềm MAV ở các Phụ lục 4, 5 và 6).

                        Hình 4.7 : Kết quả phân cụm CSDL virus bằng V-Tree
                        Hình 4.7 : Kết quả phân cụm CSDL virus bằng V-Tree

                        Chương 5

                          Tiếp cận máy học và hệ chuyên gia được vận dụng để xử lý virus máy tính dưới góc độ dữ liệu, do đó phương pháp này có thể áp dụng cho các loại virus lây trên các HĐH khác, chạy trên các kiến trúc máy tính khác, sau khi tái cấu trúc mô hình dữ liệu cho phù hợp. Các nghiên cứu tiếp theo cần tập trung cải tiến chất lượng các bài toán bằng cách bổ sung các mô hình học tiên tiến, áp dụng lý thuyết mờ để cải thiện độ dự báo bằng cách học các giá trị tích lũy của hằng số λ, nghiên cứu phương án kế thừa tri thức chuyên gia từ các hệ AV khác, xây dựng hệ tích hợp tri thức chẩn đoán virus máy tính…. Cùng với việc nghiên cứu các hình thức tấn công không xác định địa chỉ (virus máy tính, sâu trình, trojan horse…), cần nghiên cứu xây dựng cơ chế bảo vệ hệ thống CNTT khỏi các cuộc tấn công có địa chỉ xác định (SPAM, DoS/DDoS, phishing, dirty tricks…) trên các website và cổng thông tin công cộng; từng bước mở rộng nghiên cứu sang các hệ thống liên lạc di động (wireless, điện thoại cầm tay, máy iPod, máy nghe nhạc…) tạo thành một thế trận bảo vệ các hệ thống CNTT chặt chẽ, liên hoàn và vững chắc.

                          Khảo sát virus máy tính

                          Các loại virus máy tính Boot virus

                            “Các chương trình có khả năng tạo bản sao chính nó (thường là qua mạng máy tính) như một chương trình (hoặc tập các chương trình) độc lập, không phụ thuộc vào sự tồn tại của ứng dụng chủ”. Khai thác các dịch vụ vận chuyển dữ liệu như HTTP (HyperText Transfer Protocol), FTP (File Transfer Protocol), IRC (Internet Relay Chat), DNS (Domain Name Service), Drive Sharing, Email, Packet Routing…, sõu trỡnh len lừi vào cỏc hệ thống đích để tìm cơ hội do thám, đánh cắp, phá hoại dữ liệu. Thuật ngữ “trojan horse” (mượn từ điển tích “ngựa gỗ thành Troie” trong thần thoại Hy Lạp, gọi tắt là trojan) là tên gọi các loại mã độc do người lập trình cài sẵn vào ứng dụng.

                            Hình P1.2a là MTKĐ chuẩn của Windows. Hình P1.2b là MTKĐ nhiễm virus.
                            Hình P1.2a là MTKĐ chuẩn của Windows. Hình P1.2b là MTKĐ nhiễm virus.

                            Khảo sát virus máy tính

                            Trong lĩnh vực anti-virus, nghiên cứu malware là bài toán sôi nổi và khá lý thú.

                            Các định dạng dữ liệu nhiễm virus máy tính

                            Các tác tử hoạt động và thuật toán SID

                            Các tác tử hoạt động Tác tử Duyệt quét

                              Khác với VSA, VAA được thiết kế để chạy thường trực ở mức nền sau (background) nhằm đón bắt các loại kiến thức tức thời (tình huống phát sinh trên đối tượng) dựa vào lớp luật RS1. - Câu móc (hooking) các hàm API (Application Programming Interface) hệ thống để kiểm soát các tình huống truy xuất file như Create/OpenFiles, Get/SetFileAttribute, Read/WriteFile, Close/DeleteFile…. Ví dụ sau khi các tác tử con được sinh ra, một số tác tử con sẽ tự di chuyển đến các ngăn đĩa hệ thống (system folders) để giám sát các tình huống truy nhập tập tin hệ thống, trong khi các tác tử khác di chuyển vào vùng nhớ, đến các cổng truy nhập mạng để theo dừi tiến trỡnh bộ nhớ hoặc canh giữ cỏc luồng dữ liệu vào-ra mạng (Hỡnh P3.2).

                              Hình P3.2: Tác tử VAA với các tác tử con di động
                              Hình P3.2: Tác tử VAA với các tác tử con di động

                              Phân tích hệ thống phần mềm MAV

                                Đặc tả các chức năng phân hệ máy chủ

                                  - Quét virus trên máy chủ: hệ thống file, tiến trình trên máy chủ - Quét virus trên máy khách: hệ thống file trên máy khách. - Quét virus theo yêu cầu máy chủ - Tổng hợp tình trạng database - Gửi mẫu nghi ngờ cho máy chủ - Cập nhật database từ máy chủ. - CSDL Kiểm chứng: Create Table, Delete Table, Add Record, Delete Record, Purge/Save/Delete Database….

                                  Phân hệ máy chủ MAVSR

                                  Giới thiệu hệ phần mềm MAV

                                    - Cài đặt dịch vụ nối kết: C:\Program Files\MAV Anti-virus\Srv.bat - Kích hoạt dịch vụ: Control Panel > Administrative Tools > Services >. - Cài đặt dịch vụ nối kết:C:\Program Files\MAV Anti-virus\Service.bat - Kích hoạt dịch vụ: Control Panel > Administrative Tools > Services >. - Cập nhật cơ sở dữ liệu Nhận dạng virus cho các máy trạm Hình P5.3: Khai báo tên, địa chỉ IP của máy chủ.

                                    Hình P5.1: Đăng ký dịch vụ liên lạc của MAVs với Windows Firewall
                                    Hình P5.1: Đăng ký dịch vụ liên lạc của MAVs với Windows Firewall

                                    Vận hành MAVSR

                                    • Nhóm lệnh Tác nghiệp mạng 1. Quét virus các máy trạm
                                      • Nhóm lệnh Quản lý và điều phối

                                        - Các máy nhiễm: ngoài các thông tin cơ bản (số tập tin đã quét, số tập tin nhiễm, số tập tin đã xóa, số tập tin làm sạch, thời gian bắt đầu, thời gian kết thúc), báo cáo còn hiển thị chi tiết về tình trạng của các máy nhiễm (tên máy, tên tập tin nhiễm virus, địa chỉ tập tin, kích thước và thời gian của tập tin, tên virus, tình trạng sau khi xử lý). Nhóm lệnh biên tập cơ sở dữ liệu (chèn mẫu, đổi tên mẫu, xóa mẫu, xóa bảng) Nhóm công cụ: phân nhóm, rút luật, tùy chọn (chọn từng mẫu hay chọn toàn bộ thư mục chứa mẫu). Căn cứ vào tình trạng CSDL của các máy trạm (up-to-date: đã cập nhật, out- of-date: hiện lỗi thời), người quản trị nhấn nút Cập nhật để yêu cầu cập nhật CSDL.

                                        Hình P5.5: Giao diện quét virus các máy trạm
                                        Hình P5.5: Giao diện quét virus các máy trạm

                                        Phân hệ máy trạm MAVCL

                                        Khảo sát giao diện

                                          Bật/tắt hiển thị thanh địa chỉ Bật/tắt hiển thị thanh trạng thái Bật/tắt hiển thị kết quả quét Thiết lập các tùy chọn mặc định. Các thiết lập điều khiển MAVCL được bố trí trên Bảng điều khiển bên trái cửa sổ ứng dụng với 5 hộp chức năng gồm “Đối tượng quét”, “Kiểu tập tin”, “Chẩn đoán thông minh”, “Tự động quét” và “Đáp ứng”. Quét tập tin trong thư mục và các thư mục con chỉ định trên cây Chỉ quét các tập tin trong thư mục đang hiển thị nội dung.

                                          Hình P6.8: Chọn kiểu tập tin tham gia quét virus
                                          Hình P6.8: Chọn kiểu tập tin tham gia quét virus

                                          Các thao tác cơ bản

                                            - Chọn tự quét khi máy khởi động hay/và quét theo giờ định sẵn - Trước khi quét, có hỏi hay không.

                                            Các tiện ích của MAVCL

                                              - Xóa một mẫu tin khỏi danh sách: Thanh công cụ > Xóa bỏ - Khôi phục các tập tin đã xóa: Thanh công cụ > Khôi phục - Dọn dẹp danh sách: Thanh công cụ > Xóa hết. - Bảng: chứa các mẫu tin trong cùng thư mục đã được MAV quét virus - Quan hệ: biểu diễn quan hệ thứ bậc của bảng với các bảng khác - Cơ sở dữ liệu: hệ thống các bảng và quan hệ giữa các bảng. - Các lệnh về mẫu tin: kiểm tra, xóa bỏ, tìm kiếm mẫu tin - Các lệnh về bảng: xóa rỗng, xóa bảng, xuất bảng, nhập bảng - Các lệnh về cơ sở dữ liệu: kết nhập, kết xuất, tinh giản, xóa CSDL.

                                              Hình P6.14: Cơ sở dữ liệu Tiền sử chẩn đoán
                                              Hình P6.14: Cơ sở dữ liệu Tiền sử chẩn đoán