Phát Hiện Lỗi Hồi Quy Trong Hệ Thống Học Sâu Bằng Kỹ Thuật Fuzzing

Luận văn tốt nghiệp nghiên cứu tốt nghiệp an toàn thông tin phát hiện lỗi hồi quy trong hệ thống học sâu bằng phương pháp fuzzing, điều tra thực trạng, phân tích số liệu, đề xuất

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2024

87
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: GIỚI THIỆU VẤN ĐỀ. TÍNH ỨNG DỤNG

1.1. Những thách thức

1.2. Giới thiệu những nghiên cứu liên quan

1.3. Mục tiêu, đối tượng, và phạm vi nghiên cứu

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

2. CHƯƠNG 2

2.1. Cấu trúc tệp thực thi

2.2. Phát hiện lỗi hồi quy (Regression fault) bằng kỹ thuật fuzz

2.3. Kỹ thuật dò quét

2.4. Kỹ thuật kiểm tra tính toàn vẹn

3. CHƯƠNG 3

3.1. Attention GRU — CNN (AttnGRU-CNN)

4. CHƯƠNG 4: MÔ HÌNH FUZZING

4.1. Tổng quan mô hình đề xuất

4.2. Chi tiết mô hình đề xuất

4.3. Quản lý Seed và tạo mẫu đột biến

4.4. Kiểm thử hồi quy

5. CHƯƠNG 5: THỰC NGHIỆM VÀ ĐÁNH GIÁ

5.1. Môi trường thực nghiệm

5.2. Xử lý dữ liệu

5.3. Các chỉ số đánh giá thực nghiệm

5.4. Tiến hành thực nghiệm

5.5. Huấn luyện mô hình phát hiện mã độc

DANH MỤC HÌNH

DANH MỤC BẢNG

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT

TÓM TẮT KHÓA LUẬN

Tóm tắt

I. Tổng Quan Về Phát Hiện Lỗi Hồi Quy Trong Hệ Thống Học Sâu

Phát hiện lỗi hồi quy trong hệ thống học sâu là một thách thức lớn trong lĩnh vực an toàn thông tin. Khi các mô hình học sâu được nâng cấp, lỗi hồi quy có thể xuất hiện, gây ra sự giảm sút hiệu suất. Kỹ thuật fuzzing đã được áp dụng để phát hiện những lỗi này, giúp đảm bảo tính ổn định của hệ thống. Việc hiểu rõ về các phương pháp và ứng dụng của fuzzing trong phát hiện lỗi hồi quy là rất cần thiết.

1.1. Khái Niệm Về Lỗi Hồi Quy Trong Hệ Thống Học Sâu

Lỗi hồi quy xảy ra khi một phiên bản mới của mô hình học sâu không hoạt động như mong đợi so với phiên bản trước đó. Điều này có thể do các thay đổi trong dữ liệu đầu vào hoặc trong cấu trúc mô hình. Việc phát hiện sớm lỗi hồi quy giúp giảm thiểu rủi ro và đảm bảo tính chính xác của hệ thống.

1.2. Tầm Quan Trọng Của Kỹ Thuật Fuzzing

Kỹ thuật fuzzing là một phương pháp kiểm thử tự động, giúp phát hiện lỗi bằng cách tạo ra các đầu vào ngẫu nhiên cho hệ thống. Phương pháp này không chỉ giúp phát hiện lỗi hồi quy mà còn có thể tìm ra các lỗ hổng bảo mật tiềm ẩn trong hệ thống học sâu.

II. Những Thách Thức Trong Phát Hiện Lỗi Hồi Quy

Mặc dù có nhiều phương pháp để phát hiện lỗi hồi quy, nhưng vẫn tồn tại nhiều thách thức. Các mô hình học sâu thường phức tạp và khó kiểm soát. Việc phát hiện lỗi hồi quy đòi hỏi phải có các kỹ thuật kiểm thử hiệu quả và chính xác.

2.1. Khó Khăn Trong Việc Tạo Đầu Vào Kiểm Thử

Việc tạo ra các đầu vào kiểm thử phù hợp để phát hiện lỗi hồi quy là một thách thức lớn. Các đầu vào này cần phải phản ánh đúng các tình huống thực tế mà hệ thống có thể gặp phải.

2.2. Đánh Giá Hiệu Suất Của Hệ Thống

Đánh giá hiệu suất của hệ thống sau khi nâng cấp là rất quan trọng. Tuy nhiên, việc này thường gặp khó khăn do sự thay đổi trong các yếu tố đầu vào và cấu trúc mô hình.

III. Phương Pháp Fuzzing Để Phát Hiện Lỗi Hồi Quy

Phương pháp fuzzing đã được chứng minh là hiệu quả trong việc phát hiện lỗi hồi quy trong các hệ thống học sâu. Bằng cách tạo ra các mẫu đầu vào ngẫu nhiên, fuzzing có thể kích hoạt các lỗi mà các phương pháp kiểm thử truyền thống không thể phát hiện.

3.1. Quy Trình Fuzzing Trong Phát Hiện Lỗi

Quy trình fuzzing bao gồm việc tạo mẫu từ seed ban đầu, kiểm tra chất lượng mẫu, và thu thập kết quả. Mỗi bước trong quy trình này đều quan trọng để đảm bảo tính chính xác của kết quả.

3.2. Lợi Ích Của Fuzzing Trong Kiểm Thử Hệ Thống

Fuzzing không chỉ giúp phát hiện lỗi hồi quy mà còn có thể tìm ra các lỗ hổng bảo mật khác. Điều này giúp cải thiện tính an toàn của hệ thống học sâu và giảm thiểu rủi ro.

IV. Ứng Dụng Thực Tiễn Của Kỹ Thuật Fuzzing

Kỹ thuật fuzzing đã được áp dụng trong nhiều lĩnh vực khác nhau, từ phát hiện mã độc đến kiểm thử phần mềm. Việc áp dụng fuzzing trong phát hiện lỗi hồi quy trong hệ thống học sâu đang trở thành một xu hướng quan trọng.

4.1. Fuzzing Trong Phát Hiện Mã Độc

Fuzzing đã được sử dụng để phát hiện mã độc bằng cách tạo ra các mẫu đầu vào có khả năng kích hoạt các lỗi trong hệ thống phát hiện mã độc. Điều này giúp cải thiện hiệu suất của các hệ thống này.

4.2. Kết Quả Nghiên Cứu Về Fuzzing

Nghiên cứu cho thấy rằng fuzzing có thể phát hiện được nhiều lỗi hồi quy mà các phương pháp kiểm thử khác không thể. Điều này chứng tỏ tính hiệu quả của fuzzing trong việc đảm bảo an toàn cho hệ thống học sâu.

V. Kết Luận Về Tương Lai Của Phát Hiện Lỗi Hồi Quy

Phát hiện lỗi hồi quy trong hệ thống học sâu là một lĩnh vực đang phát triển nhanh chóng. Kỹ thuật fuzzing sẽ tiếp tục đóng vai trò quan trọng trong việc phát hiện và khắc phục các lỗi này. Tương lai của lĩnh vực này hứa hẹn sẽ có nhiều cải tiến và ứng dụng mới.

5.1. Xu Hướng Phát Triển Kỹ Thuật Fuzzing

Kỹ thuật fuzzing sẽ ngày càng được cải tiến để đáp ứng nhu cầu phát hiện lỗi hồi quy trong các hệ thống học sâu. Các nghiên cứu mới sẽ tập trung vào việc tối ưu hóa quy trình fuzzing.

5.2. Tầm Quan Trọng Của An Toàn Thông Tin

An toàn thông tin sẽ tiếp tục là một vấn đề quan trọng trong phát triển hệ thống học sâu. Việc phát hiện lỗi hồi quy sẽ giúp bảo vệ các hệ thống này khỏi các mối đe dọa tiềm ẩn.

10/07/2025
Khóa luận tốt nghiệp an toàn thông tin phát hiện lỗi hồi quy trong hệ thống học sâu bằng phương pháp fuzzing

Trích đoạn nội dung tài liệu

CHƯƠNG 1. Giới thiệu vấn đề. Tính ứng dụng.-- --- + SH TH HH 3 1. Những thách thứỨc.- -- LH TH ng HH ng 3 1.

_ Giới thiệu những nghiên cứu liên quan. Trinh phát hiện mã đỘC. Mô hình fuzzing phát hiện lỗi hồi quy. Mô hình hoc tăng CƯỜng.

Mục tiêu, đối tượng, và phạm vi nghiên cứu. Mục tiêu nghiÊn CỨU. Đối tượng nghiên cứu. Phạm vi nghiÊn CỨU.-- -- 2 113139 ESESESEEeskerrerereeeree 9 CHƯƠNG 2.-cs<--ss<°vessessevvessesee 10 2.

HS HH ng ng TH nh 10 2. _ Cấu trúc tệp thực thi. Trường tiêu đề DOS (DOS Header). Trường tiêu dé PE (PE Header).

Phan đoạn bang (Section Table). Phân đoạn tập tin PE (Section PE Eile).- HH TH TH HH ng 14 2. Phát hiện lỗi hồi quy (Regression fault) bằng kỹ thuật fuzz. Lỗi hồi quy (Regression fault).

Ứng dung fuzz dé phát hiện lỗi hồi quy trong mô hình học sâu. Phương pháp phân tích tĩnh.---- --- «xxx vn ngư 21 2. Kỹ thuật dO QUẾC. Kỹ thuật Tìm kiếm tĩnh (Static Heuristic).---- -- ¿cz+cz+ce+sz 23 2.

Ky thuật kiểm tra tính toàn i0. Phương pháp phân tích động. Ky thuật Giám sát hành vi (Behavior Monitors). Ky thuật giả lập (EmulatIOT)).

Mô hình phát hiện mã độc dựa trên học máy. Mô hình học tang CƯỜN. Quy trình quyết định Markov (Markov Decision Process - MDP). Tổng quan mô hình hoc tăng cường.

Mô hình học sâu tang CƯỜng. Mô hình øym-ImaÌÏWAC. Môi trường va trạng thấi. Không gian hành động.

Phần thưởng. MÔ HÌNH ĐỘT BIEN MÃ ĐỘC. Mô hình mối de doa và giả định. Mô hình mối de doa.

Ngữ cảnh tấn côÔng. Mô hình phát sinh đột biến mã độc. Tổng quan mô hình dé xuất. Chi tiết mô hình dé xuất.

Tạo môi trường hoc tang CƯỜNg. Tao phần thưởng. Tao không gian hành động. Trinh phát hiện mã đỘC.

Ăn SH HH HH nrkp 45 3. Attention GRU — CNN (AttnGRU-CNN). Luéng hoạt động mô hình đột biến mã độc đề xuất.--- - ss+szss47 CHƯƠNG 4. MO HÌNH FUZ/ZING.

Mô hình Fuzzing .--- c1 SH TH ng ng 52 4. Tổng quan mô hình dé Xuất. Chỉ tiết mô hình để xuất. Quản lý Seed và tạo mẫu đột ĐiẾn.

Kiểm thử hồi Quy. Phương pháp duy tri seed pool. eee eeeeeeeseeeseeseceececeeseeeesesseesesaeeneens 56 CHUONG 5. THUC NGHIEM VA ĐÁNH GIA.

Môi trường thực nghiỆm. Xử lý dữ liỆU. SH SH TH TH TH HH ngành 5 5. Các chỉ số đánh giá thực nghiệm.

Tiến hành thực nghiệm. --¿- 2° 2 ESE+EE+EE£EE£EE2EESEEEEEEEEEEEEEkrrrrrerree 65 5. Huấn luyện mô hình phát hiện mã độc. _ Đột biến mau tạo dữ liệu đầu vào và fuzzing.

Hướng phát triển DANH MỤC HÌNH Hình 1.1: Cấu trúc của mô hình MalConv.---+-cs2++cccetrrrevtrtrecrrrrrererrrre 4 Hình 1.2: Cấu trúc của mô hình AttnGRU.--«cs5ccssscveseeereereereetsttertersersetsrtsrsersrrsresrsee 6 Hình 1.4: Mô hình mô tả hoạt động của DQEAF [4] .-------c------ecee-ereee 7 Hình 2.1: Cấu trúc định dạng tập tin PE.2: Phân đoạn tập tin PE.3: Quá trình kiểm thử bằng fuzzing [10].4: Mô hình fuzzing đề xuất.5: Giải pháp phân tích mã độc OPSWAT.6: Các bước thực hiện kỹ thuật tìm kiếm tĩnh.7: Kiểm tra mã băm của tệp thực thi bằng OSForensics.8: Môi trường Windows tạo bởi VirtualBOX.9: Markov Decision Process .10: Mô hình học tăng cường dựa trên MIDP.11: Cau trúc của Deep Q-Network.12: Mô hình của gym-malware [ [9 |].---«---«+se+xeerxerrerrerrerteerkerrkeee 33 Hình 3.1: Mô hình mối đe dọa của nhóm Rosenberg [20] .2: Tổng quan mô hình học tăng cường đề xuắt.3: Cấu trúc mô hình MalConv.4: Cấu trúc mô hình AttnGRU.5: Luồng hoạt động của mô hình đột biến mã độc.1: Mô hình fuzzing cải tiến.---2-css+recetrreettrerrtrrrvrrrrrrrrrrrrrrerre 52 Hình 4.2: Quản lý seed và tạo mẫu đột biến. HH nà nà hàn Hà nhà ngà tHritttetrritrvee 56 Hình 5.1: Tập dữ liệu DikeDataset [6 ].2: Trích xuất byte từ file header và chuẩn hóa [7] .3: Trích xuất byte từ file header và chuẩn hóa.4: Vector đặc trưng sau khi trích xuất.------+-ecss++rcceetrrererrrrererrre 61 Hình 5.5: Các chỉ số của hai phiên bản mô hình MalConvPlus.6: Các chỉ số của hai phiên ban mô hình AttnGRU — CNN.7: BCE loss của mô hình MalConvPlus version 2 .8: BCE loss của mô hình MalConvPlus version 1 .9: BCE loss của mô hình AttnGRU — CNN version 2.10: BCE loss của mô hình AttnGRU — CNN version 1 .e--«-- + s2 HH Hà Hường ghen 70 DANH MỤC BANG Bang 2.1: So sánh fuzzing và các kỹ thuật kiểm thử khác.1: Số lượng mau và loại mẫu trong DikeDataset .2: Đánh giá mô hình MalConvPlus và AttnGRU — CNN.3: Bảng tham số ngưỡng phát hiện của hai mô hình.4: Bảng kết quả tỷ lệ né tránh của trình tạo đột biến đối với hai mô hình .5: Số lỗi hồi quy đã phát hiện .+cc52reecSetrrrrvrrrrrrerrrrerrrre 69 Bảng 5.6: Lượng lỗi phân loại mà hai mô hình phát hiện sau một quy trình fuzz. 70 DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIET TAT S Không gian các trạng thái mà tác tử St Trạng thái môi trường tại lượt t Tập các hành động tác tử Hành động tại lượt thứ t Hàm chuyên Hàm phần thưởng Chính sách của Mô hình học tăng cường Trọng số cho phần thưởng Chiết khâu cho phần thưởng vr Chính sách tối đa hóa kỳ vọng Hàm giá trị cho trạng thái - hành động Trọng số cho mạng no-ron L(0) Hàm mat mát PE Portable Executable DLL Dynamic Link Library MD5 Mmessage-Digest Algorithm SHA Secure Hashing Algorithm CRC Cyclic Redundancy Check Algorithm MDP Markov Decision Process DL Deep learning OLE Object Linking and Embedding GRU Gated Recurrent Unit CNN Convolutional Neural Network Attn Attention API Application programing interface BCE loss Binary Cross-Entropy loss TÓM TÁT KHÓA LUẬN Tính cấp thiết của đề tài nghiên cứu: Trong những năm gần đây, các nhà nghiên cứu về an toàn thông tin, cụ thể là mã độc đã không ngừng cải tiến các hệ thống phát hiện mẫu. Các công trình này đã tích hợp thành công mô hình học sâu vào việc phát hiện và phân loại các mẫu mã độc.

Tuy nhiên, sự nâng cấp liên tục của các mô hình học máy đã dẫn đến việc lỗi hồi quy xuất hiện trong các hệ thống ứng dụng những mô hình này. Phương pháp được chúng tôi đề xuất sử dụng một mô hình học tăng cường nhằm tìm kiếm các thay đổi nhỏ nhất trong quá trình nâng cấp các mô hình học sâu dé có thé kích hoạt lỗi hồi quy. Cụ thể, việc nâng cấp các mô hình học sâu trong ngữ cảnh trong nghiên cứu của chúng tôi đến từ việc thay đổi các trọng số của mô hình trong mỗi lần huấn luyện với giả định rằng các thay đổi đó chính là những bản vá của mô hình. Quá trình fuzzing được thực hiện theo một chuỗi các bước: tạo mẫu từ seed ban đầu, kiểm tra chất lượng mẫu, kiêm thử trên mô hình, thu thập kết quả, cập nhật seed.

Mô hình kiểm tra học tăng cường được huấn luyện thông qua việc sử dụng mẫu mã độc ban đầu và các mẫu được tạo ra để đánh giá tính chính xác của chúng. Mục tiêu là đảm bảo rằng các mẫu mới tạo ra vẫn giữ được tính năng và tính chất của mẫu ban đầu, trong khi vẫn đạt được hiệu quả trong việc kích hoạt lỗi hồi quy ẩn trong các hệ thống phát hiện mã độc. Các kết quả thực nghiệm cho thấy phương pháp đề xuất đạt được hiệu suất cao trong việc tạo ra các mẫu độc đột biến có khả năng kích hoạt lỗi hồi quy mà vẫn giữ được tính chính xác và tính năng của mẫu ban đầu. Điều này đóng góp vào việc kiểm thử hệ thống phòng chống mã độc, đồng thời tạo ra một hệ thống có khả năng kiểm tra dé đảm bảo tính chính xác và hiệu quả của các mẫu tao ra.

TONG QUAN Chương này giới thiệu vê van đê và các nghiên cứu liên quan. Đông thời, trong chương này chúng tôi cũng trình bày phạm vi và câu trúc của luận văn. Giới thiệu van đề Trong một thời đại khi mã độc trở nên ngày cảng tinh vi hơn trong việc tránh phát hiện và bao gồm nhiều tính năng phức tạp, các nhà phân tích đã chuyền đổi sang sử dụng các kỹ thuật học máy để xác định và phân loại các đặc tính của mã độc. Các phương pháp này kết hợp linh hoạt các thuật toán và kỹ thuật trích xuất thuộc tính, và đặc biệt là sử dụng bộ dữ liệu đa dạng (như ember).

Kết quả từ thực nghiệm cho thấy, sự kết hợp này đã mang lại hiệu quả phát hiện mã độc lên đến 97% [1] khi sử dụng các kỹ thuật phân tích tĩnh. Tuy nhiên, các nghiên cứu gần đây đã chứng minh rằng các hệ thống ứng dụng học máy nêu trên có khả năng mắc lỗi hồi quy thường chỉ xuất hiện trên những ứng dụng truyền thống khi chúng được nâng cấp. Điều này tạo ra lỗ hồng trong việc bảo vệ hệ thống, đòi hỏi các nhà nghiên cứu và chuyên gia an ninh phải kiểm thử cho hệ thông học sâu của mình sau nâng câp, việc rât thách thức và tiêu tôn nhiêu nhân lực. Trước thách thức này, một hướng tiếp cận hứa hẹn là sử dụng học tang cường (reinforcement learning) [2] két hop với kỹ thuật fuzzing [3] dé phat hién 16i hoi quy tôn tại trong hệ thống.

Việc kết hợp học tăng cường vào quá trình fuzz nhằm khắc phục van dé mà nghiên cứu của nhóm Anh Nguyen đưa ra: Việc tạo ra đầu vào kiểm thử một cách không kiểm soát sẽ làm hỏng mô hình học sâu [4, 5]. Điều này đã làm cho việc kiểm thử trở nên không hiệu quả và khó khăn hơn. Chính vì vậy, trong nghiên cứu này, chúng tôi đề xuất một giải pháp mới là một hệ thống học tăng cường có chức năng kiêm tra mẫu (adversarial sample checker). Ý tưởng là kết hợp quá trình tạo ra các mẫu đột biến với một bước kiểm tra tính chính xác và tính thực thi của mẫu trước khi triển khai vào hệ thống.

Như vậy, chúng ta có thé đảm bảo rang các mẫu đột biến vẫn giữ được tính chức năng va khả năng gây hại cho hệ thống mục tiêu. Tính ứng dụng Đề tài này mang đến một cách tiếp cận thực tế hơn trong việc áp dụng học tăng cường vào hệ thống tạo mẫu đối kháng phục vụ cho fuzzing. Điểm đặc biệt của phương pháp này là sau khi tạo ra các mẫu, chúng sẽ trải qua một quy trình kiểm tra tính năng trước khi được đưa vào quy trình fuzz. Nhờ vậy, kết quả của thử nghiệm sẽ đánh giá được ứng dụng thực tế của hệ thống, thay vì chỉ tập trung vào việc tạo mẫu đối kháng dựa trên kết quả của trình phát hiện một cách đơn thuần.

Tổng quan, quá trình fuzzing đóng vai trò quan trọng trong việc phát hiện lỗi hồi quy ẩn trong hệ thống phát sinh sau khi nâng cấp hệ thống deep learning giúp tiết kiệm nhân lực trong quá trình kiểm thử và phát hiện sớm lỗ hồng trong hệ thống.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Phát Hiện Lỗi Hồi Quy Trong Hệ Thống Học Sâu Bằng Kỹ Thuật Fuzzing" cung cấp cái nhìn sâu sắc về việc áp dụng kỹ thuật fuzzing để phát hiện lỗi hồi quy trong các hệ thống học sâu. Bài viết nhấn mạnh tầm quan trọng của việc kiểm thử và đảm bảo chất lượng trong phát triển phần mềm, đặc biệt là trong các ứng dụng sử dụng trí tuệ nhân tạo. Kỹ thuật fuzzing không chỉ giúp phát hiện các lỗi tiềm ẩn mà còn nâng cao độ tin cậy của hệ thống, từ đó mang lại lợi ích lớn cho các nhà phát triển và người dùng cuối.

Để mở rộng kiến thức của bạn về các kỹ thuật kiểm thử và bảo mật, bạn có thể tham khảo thêm tài liệu Luận văn thạc sĩ nghiên cứu các kỹ thuật kiểm thử bảo mật ứng dụng web, nơi bạn sẽ tìm thấy các phương pháp bảo vệ ứng dụng khỏi các lỗ hổng bảo mật. Ngoài ra, tài liệu Luận văn nghiên cứu kỹ thuật fuzzing trong kiểm thử lỗ hổng bảo mật website ngân hàng sẽ giúp bạn hiểu rõ hơn về ứng dụng của fuzzing trong lĩnh vực tài chính. Cuối cùng, tài liệu Luận văn thạc sĩ nghiên cứu kỹ thuật kiểm thử phần mềm trên cơ sở mô hình uml sẽ cung cấp cho bạn cái nhìn tổng quan về các mô hình kiểm thử phần mềm hiện đại. Những tài liệu này sẽ giúp bạn mở rộng kiến thức và nâng cao kỹ năng trong lĩnh vực kiểm thử phần mềm.