Chương 1: Tổng quan về đề tài Trình bày khái quát định hướng nghiên cứu của khóa luận mà chúng tôi muốn hướng tới. Sơ lược một số công trình liên quan có cùng hướng nghiên cứu mà đề tài có tham khảo. Chương 2: Cơ sở lý thuyết Trình bày các định nghĩa, khái niệm cũng như những kiến thức nền tang dé có thé thực hiện được nghiên cứu. Chương 3: Mô hình tạo biến thể mã độc dựa trên học tăng cường Là phần trọng tâm của khoá luận, trình bày những nội dung chính về phương pháp thực hiện và mô hình được sử dụng.
Chương 4: Hiện thực và thực nghiệm Đề cập đến quá trình thực nghiệm cùng với kết quả thu được. Đưa ra nhận xét cho những công việc đã thực hiện ở Chương 3. Chương 5: Kết luận và và hướng phát triển Ở chương này chúng tôi đưa ra những đánh giá và nhận xét từ những thực nghiệm từ Chương 4. Từ đó đề xuất một số hướng phát triển để cải thiện mô hình theo hướng tốt hơn nữa.
Mã độc Chương trình độc hại hay con được gọi là mã độc là những đoạn mã chương trình được thiết kế dé thực hiện tối thiểu những công việc sau: 1) Tự xen vào tiến trình hiện hành của máy tính một cách bắt hợp lệ, dé thực hiện tự nhân bản và những công việc theo chủ ý của kẻ tắn công. Sau khi kết thúc thực thi mã mã độc thì điều khiển được trả cho trình đang thực thi mà máy không bi "treo", trừ trường hợp mã độc có ý treo máy. 2) Tự sao chép chính nó (tự nhân bản), một cách bất hợp lệ và lây nhiễm vào những tập tin (file) hay các vùng xác định (boot, FAT sector) ở các thiết bị lưu trữ như đĩa cứng, đĩa mềm, thiết bị nhớ flash (phổ biến là USB). thậm chí cả EPROM chính của máy.
Trước đây, mã độc thường được viết bởi một số người am hiểu về lập trình muốn chứng tỏ khả năng của mình nên thường mã độc có các hành động như: cho 1 chương trình không hoạt động đúng, xóa dir liệu, làm hỏng 6 cứng. hoặc gây ra những trò đùa khó chịu. Những mã độc mới được viết trong thời gian gần đây không còn thực hiện các trò đùa hay sự phá hoại đối với máy tính của nạn nhân bị lây nhiễm nữa, mà đa phần hướng đến việc lấy cắp các thông tin cá nhân nhạy cảm (các mã số thẻ tín dụng) mở cửa sau (backdoor) cho tin tặc đột nhập chiếm quyền điều khiển hoặc các hành động khác nhằm có lợi cho người phát tán mã độc. Hơn 90% số mã độc đã được phát hiện là nhắm vào hệ thống sử dụng hệ điều hành họ Windows chỉ đơn giản bởi hệ điều hành này được sử dụng nhiều nhất trên thế giới.
Do tính thông dụng của Windows nên các tin tặc thường tập trung hướng vào chúng nhiều hơn là các hệ điều hành khác. Cũng có quan điểm cho rang Windows có tính bảo mật không tốt bang các hệ điều hành khác (như Linux) nên có nhiều mã độc hơn, tuy nhiên nếu các hệ điều hành khác cũng thông dụng như Windows hoặc thị phần các hệ điều hành ngang bằng nhau thì cũng lượng mã độc xuất hiện có lẽ cũng tương đương nhau. Ngoài ra hiện nay mã độc máy tính không chỉ xuất hiện 7 trên các máy tính hệ điều hành Windows nói riêng và toàn bộ các máy tính thuộc tất cả các hệ điều hành nói chung mà nó còn xuất hiện trên cả các điện thoại di động thuộc các hệ điều hành Android và IOS (với tỷ lệ thấp hơn vì IOS có độ bảo mật cao hơn). Mặc dù phần mềm độc hại có thể được tạo cho hầu hết mọi Hệ điều hành nhưng trong khoá luận này, phần mềm PE được tập trung chủ yếu vào, vì Microsoft Windows là hệ điều hành được sử dụng nhiều nhất.
Dinh dạng tập tin PE (Portable Executable Format) Dinh dang PE là định dang dùng chung cho các ứng dụng trên toàn bộ hệ điều hành Windows nhằm lưu trữ thông tin cần thiết dé thực thi phần mềm trên các kiến trúc được hỗ trợ. Định dạng này có thể tìm thấy ở các tập tin thực thi (.exe), thư viện liên kết động (. với sự khác biệt duy nhất ở 1 bit biéu diễn loại tập tin trong phần Định dạng tệp đối tượng chung (Common Object File Format). Như minh họa ở Hình 2.1, định dạng PE gồm các phần sau: - Phan thông tin tiêu đề (header): trong đó các trường đầu tiên Tiêu dé DOS va DOS stub là các phần kế thừa được sử dụng dé tương thích ngược giữa các phiên bản hệ điều hành.
Bên cạnh đó, các trường trong tiêu đề PE (PE header) cung cấp thông tin cho hệ điều hành, về cách ánh xạ tệp vào bộ nhớ, vì không phải tất cả PE đều được ánh xạ. Ví dụ: các vị trí tái định vị (relocation) có thé được đọc nhưng không được ánh xạ, trong khi các phần 0 cuối tập tin thậm chí có thé không được ánh xạ. Tiêu dé tùy chon PE (optional header) cung cấp thông tin bổ sung về tập tin, chang hạn như kích thước và vi trí entry-point (vi trí lệnh đầu tiên) của tập tin. Ở cuối tiêu đề, có một Section table ở dạng cấu trúc mảng, bao gồm thông tin về từng section được định nghĩa trong PE.
Số mục có trong bảng phải khớp với số section trong tập tin. DOS Header DOS Stub Header PE Header PE Optional Header PE Signature Import / Export Table Section Table >< .text section data section .idata section Sections .edata section fsre section. Section Overlay Hình 2.1: Dinh dang tập tin PE. - Cac section: Theo sau thông tin tiêu dé là các section của tập tin, chứa các thông tin như mã nguồn hoặc dữ liệu cần thiết dé thực thi.
Section đầu tiên la.text, trong đó chứa các đoạn mã thực thi.data chứa dữ liệu chỉ cho phép đọc (ví dụ: hằng và chuỗi ký tự), không thay đổi trong quá trình thực thi.idata lưu trữ thông tin về các hàm thư viện được tập tin sử dụng (imported functions), bao gồm Import Address Table và thư mục nhập (import directory), trong khi phần .edata phân bổ thư mục xuất (export directory), bao gồm tên và địa chỉ của các hàm đã xuất. Đây chỉ là một số section phô biến thường thấy trong tập tin PE, một số tập tin có thé chứa các section khác, ví dụ .rsrc bao gồm thông tin tài nguyên. Bên cạnh đó, cuối tập tin PE còn có thé có một số dữ liệu chưa được ánh xạ, chang hạn như thông tin gỡ lỗi. Có một số phương pháp có thé thực hiện dé biến đổi các tập tin PE.
Tuy nhiên, việc tạo ra các phương pháp tiếp cận đa mục đích hiệu quả là một nhiệm vụ phức tạp, đó là lý do tại sao nhiều nghiên cứu chọn phương pháp triển khai các trình phân tích cú 9 pháp của riêng họ được gắn chặt với một ngôn ngữ và ngữ cảnh cụ thé, khiến việc tái sử dụng lại các công cụ đó khó khăn hơn. Đề giải quyết vấn đề này, một thư viện đa nén tang đã được tạo ra, được gọi là LIEF nhằm mục đích phân tích cú pháp và cung cấp giao diện dé thao tác với các tệp thực thi, bao gồm ca PE. Phạm vi nghiên cứu trong tạo biến thé mã độc Trong bài toán tạo mẫu đối kháng mới từ việc biến đổi một mẫu đầu vào ban đầu, mau đối tượng đầu vào có thể được chia thành hai loại: không gian đặc trưng va không gian vấn đề, dẫn đến hai phạm vi khác nhau của các nghiên cứu tạo mẫu đối kháng. Cụ thể, không gian đặc trưng liên quan đến việc xử lý mẫu đầu vào thông qua các biểu diễn nhúng của chúng, trong khi không gian vấn đề hướng tới xử lý trên các đối tượng thực (tức là các tập tin nhị phân phần mềm).
Các không gian đặc trưng và nhãn tương ứng được ký hiệu là X, Y, trong khi không gian van đề được biéu thị bằng Z. Đối với mỗi đối tượng đầu vào z € Z sẽ có mỗi một nhãn tương ứng với y € Y. Trình phát hiện mã độc sẽ thực hiện phép ánh xạ g : X — Y dự đoán nhãn y^=g(x) cho đối tượng đầu vào đã cho và hàm ánh xạ đặc trưng @ : Z —> X € R" được bộ phân loại yêu cầu để xử lý đối tượng đầu vào. Một hàm như vậy không thê đảo ngược, điều này không cho phép ánh xạ các đặc trưng ngược lại về không gian vấn đề, tức là ánh xạ lại với mẫu tập tin thực tế.
Tấn công không gian đặc trưng (Feature space attack) Đề đánh giá các trình phân loại phần mềm độc hại, chúng tôi tạo ra một kịch bản trong đó kẻ tấn công tiềm năng tạo ra các cuộc tấn công bằng cách sửa đổi đối tượng đầu vào (tức là tệp phần mềm độc hạn) cho đến khi mô hình không còn phát hiện được nó nữa. Điều này có nghĩa là kẻ tan công nhằm mục đích chuyên đổi một đối tượng x € X thành x’ € X, trong đó g(x’) =t € Y trong đó t # y, do đó buộc mô hình gán sai nhãn t cho một đối tượng x'. Trong không gian đặc trưng, mục tiêu là đánh lừa mô hình gan nhãn lành tính cho đối tượng độc hại được biểu diễn qua các đặc trưng. Tấn công không gian vấn đề (Problem space attack) Trong không gian van dé, các cuộc tan công phải được xây dựng can thận dé tạo ra các đối tượng thực, tức là các tập tin nhị phân thực.
Mục đích của kẻ tấn công là tạo ra một chuỗi T:TneTn-Ie.e Tl mà mọi phép biến đổi T : Z > Z đều chuyên z thành một đối tượng z' € Z sao cho g(T(z)) =t € Y trong đó t # y, trong đó tất cả các ràng buộc về không gian bài toán đều được thỏa mãn chính xác. Quá trình này dẫn đến việc tạo ra các mẫu phần mềm độc hại đối kháng khiến các mô hình phát hiện nhằm chúng là lành tính. Những giới han của tan công không gian đặc trưng Mặc dù các cuộc tấn công vào không gian đặc trưng không tạo ra các mẫu thực tế nhưng chúng vẫn cần đáp ứng ở một số yêu cầu nào đó dé được xem là giống với các mẫu thực. Do đó, một tập hợp các ràng buộc Q chỉ định các phép biến đổi xảy ra trong không gian đặc trưng, có thé bao gồm các giới han Ib đưới (lower bound) và giới han ub trên (upper bound) chăng hạn như 6 < & < ồu›.
Chúng cũng có thé giới hạn số lượng đặc trưng từ đối tượng đầu vào sẽ bị ảnh hưởng bởi các phép biến đổi.