Phương Pháp Phát Hiện Sự Tương Đồng Mã Nhị Phân Dựa Trên Học Sâu Trong An Toàn Phần Mềm

Khóa luận tốt nghiệp nghiên cứu tốt nghiệp an toàn thông tin phương pháp phát hiện sự tương đồng mã nhị phân của chương trình dựa, vận dụng lý thuyết vào thực tế, đề xuất giải

Chuyên ngành

An toàn thông tin

Người đăng

Ẩn danh

Thể loại

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

2023

86
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: TỔNG QUAN

1.1. Giới thiệu

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

1.3. Tính ứng dụng

1.4. Những thách thức

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

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

1.5.2. Đối tượng nghiên cứu

1.5.3. Phạm vi nghiên cứu

1.5.4. Cấu trúc khóa luận tốt nghiệp

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Các thành phần liên quan đến tập tin nhị phân

2.2. Biểu diễn trung gian - Intermediate Representation

2.2.1. Vex Intermediate Representation (Vex-IR)

2.2.2. Đặc điểm và cấu trúc của VexIR

2.3. Một số thành phần chính của mạng nơ-ron

2.3.1. Một số các khái niệm khác

2.3.2. Một số kiến trúc mạng nơ-ron phổ biến trong lĩnh vực

2.3.3. Phương pháp học trong học sâu

2.3.4. Các lớp thường có trong CNN

2.4. Các ứng dụng của việc sử dụng phương pháp phát hiện sự tương đồng trong mã nhị phân

3. CHƯƠNG 3: TỔNG QUAN VỀ DEEPBIN-INSPECTOR - MÔ HÌNH PHÁT HIỆN SỰ TƯƠNG ĐỒNG MÃ NHỊ PHÂN DỰA TRÊN HỌC SÂU

3.1. Định nghĩa vấn đề

3.2. DeepBin-Inspector - Phương pháp phát hiện sự tương đồng trong mã nhị phân dựa trên học sâu

3.2.1. Trích xuất các function

3.2.2. Chuyển đổi các chức năng nhị phân sang vector để đưa vào mô hình học máy

3.2.3. Lựa chọn mô hình học máy

3.3. Phương pháp đánh giá

3.3.1. Phân loại One-to-one

3.3.2. Phân loại One-to-many

4. CHƯƠNG 4: THÍ NGHIỆM VÀ ĐÁNH GIÁ

4.1. Hiện thực

4.1.1. Cài đặt môi trường

4.1.2. Các thông số của mô hình học sâu

4.2. Quá trình tạo tập dữ liệu huấn luyện

4.3. Đánh giá tác động của độ dài vector biểu diễn đối với hiệu quả của DeepBin-Inspector

4.3.1. Tập dữ liệu đánh giá (dataset)

4.3.2. Kết quả so sánh

4.4. So sánh các mô hình học máy khi áp dụng bytes2vec

4.4.1. Tập dữ liệu đánh giá (dataset)

4.4.2. Tổng quan về mô hình của Zeek

4.4.3. Mô hình CNN ban đầu

4.5. So sánh DeepBin-Inspector và Asm2vec

4.5.1. Tập dữ liệu đánh giá (dataset)

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1. Kết luận

5.2. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Về Phát Hiện Sự Tương Đồng Mã Nhị Phân

Phát hiện sự tương đồng mã nhị phân là một lĩnh vực quan trọng trong an toàn phần mềm. Với sự gia tăng của các cuộc tấn công mạng, việc phát hiện và phân tích mã độc trở nên cấp thiết hơn bao giờ hết. Nghiên cứu này sẽ khám phá các phương pháp hiện có và vai trò của học sâu trong việc cải thiện khả năng phát hiện sự tương đồng mã nhị phân.

1.1. Khái Niệm Về Mã Nhị Phân Và Tương Đồng

Mã nhị phân là định dạng mà các chương trình được biên dịch. Phát hiện sự tương đồng mã nhị phân giúp xác định các đoạn mã giống nhau, từ đó hỗ trợ trong việc phân tích và bảo mật phần mềm.

1.2. Tầm Quan Trọng Của An Toàn Phần Mềm

An toàn phần mềm không chỉ bảo vệ dữ liệu mà còn đảm bảo tính toàn vẹn của hệ thống. Việc phát hiện sự tương đồng mã nhị phân có thể giúp ngăn chặn các cuộc tấn công từ mã độc.

II. Những Thách Thức Trong Phát Hiện Sự Tương Đồng Mã Nhị Phân

Mặc dù phát hiện sự tương đồng mã nhị phân có nhiều ứng dụng, nhưng cũng đối mặt với nhiều thách thức. Các vấn đề như sự đa dạng của mã nhị phân và độ phức tạp của cấu trúc mã là những yếu tố cần được xem xét.

2.1. Sự Đa Dạng Của Mã Nhị Phân

Mã nhị phân có thể được biên dịch từ nhiều ngôn ngữ lập trình khác nhau, dẫn đến sự khác biệt trong cấu trúc và cách thức hoạt động. Điều này làm cho việc phát hiện sự tương đồng trở nên khó khăn.

2.2. Độ Phức Tạp Của Cấu Trúc Mã

Cấu trúc mã nhị phân thường phức tạp với nhiều khối mã và hàm. Việc phân tích và so sánh các khối mã này đòi hỏi nguồn lực tính toán lớn và thời gian xử lý dài.

III. Phương Pháp Học Sâu Trong Phát Hiện Sự Tương Đồng

Học sâu đã mở ra những hướng đi mới trong việc phát hiện sự tương đồng mã nhị phân. Các mô hình học sâu có khả năng học hỏi từ dữ liệu lớn và phát hiện các mẫu phức tạp mà các phương pháp truyền thống không thể làm được.

3.1. Mô Hình DeepBin Inspector

DeepBin-Inspector là một công cụ phát hiện sự tương đồng mã nhị phân dựa trên học sâu. Công cụ này sử dụng phương pháp bytes2vec để chuyển đổi mã nhị phân thành vector, từ đó đưa vào mô hình học sâu.

3.2. Ứng Dụng Của Học Sâu Trong Phân Tích Mã

Học sâu không chỉ giúp phát hiện sự tương đồng mà còn hỗ trợ trong việc phân tích mã độc và tìm kiếm lỗ hổng bảo mật. Điều này giúp cải thiện khả năng bảo vệ hệ thống.

IV. Kết Quả Nghiên Cứu Và Ứng Dụng Thực Tiễn

Nghiên cứu đã chỉ ra rằng việc áp dụng học sâu trong phát hiện sự tương đồng mã nhị phân mang lại kết quả khả quan. Các thí nghiệm cho thấy mô hình DeepBin-Inspector có độ chính xác cao hơn so với các phương pháp truyền thống.

4.1. Đánh Giá Hiệu Quả Của DeepBin Inspector

Các thử nghiệm cho thấy DeepBin-Inspector có khả năng phát hiện sự tương đồng mã nhị phân với độ chính xác cao, giúp tiết kiệm thời gian và nguồn lực trong quá trình phân tích.

4.2. Ứng Dụng Trong Thực Tế

Công cụ này có thể được áp dụng trong nhiều lĩnh vực như phát hiện mã độc, phân tích lỗ hổng và kiểm tra bảo mật, góp phần nâng cao an toàn thông tin.

V. Kết Luận Và Hướng Phát Triển Tương Lai

Phát hiện sự tương đồng mã nhị phân là một lĩnh vực đầy tiềm năng. Nghiên cứu này đã chứng minh rằng học sâu có thể cải thiện đáng kể khả năng phát hiện sự tương đồng. Hướng phát triển trong tương lai có thể tập trung vào việc tối ưu hóa mô hình và mở rộng ứng dụng.

5.1. Tương Lai Của Phát Hiện Sự Tương Đồng

Với sự phát triển không ngừng của công nghệ, việc phát hiện sự tương đồng mã nhị phân sẽ ngày càng trở nên quan trọng hơn trong việc bảo vệ an toàn thông tin.

5.2. Hướng Nghiên Cứu Tiếp Theo

Nghiên cứu có thể mở rộng sang các lĩnh vực khác như phân tích mã độc và phát hiện lỗ hổng, nhằm nâng cao hiệu quả và độ chính xác trong phát hiện sự tương đồng.

10/07/2025
Khóa luận tốt nghiệp an toàn thông tin phương pháp phát hiện sự tương đồng mã nhị phân của chương trình dựa trên học sâu trong an toàn phần mềm

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

CHƯƠNG 1. TONG QUAN 3 11 Giới thiệu Vand@é ot ee 3 1.2 Giới thiệu những nghiên cứu liên quan. 4 13 Tính ứng dụng. ee 6 14 Những thách thức.5 Mục tiêu, đối tượng, và phạm vi nghiên cứu.1 Mục tiêu nghiên cứu .2 Đối tượng nghiên cứu .3 Pham vi nghiên cứu .4 Cau trúc khóa luận tốt nghiệp.

CƠ SỞ LY THUYET 10 2.1 Các thành phan liên quan đến tập tin nhị phân.11 Chức năng - Function .3 Biểu đồ luồng điều khiển - Control flow graph .2 Biểu diễn trung gian - Intermediate Representation .1 Vex Intermediate Representation (Vex-IR) .2 Dac điểm va cấu trúc của VexIR.1 Một số thành phần chính của mạng no-ron.2 Một số các khái nệm khác. Một số kiến trúc mạng nơ-ron phổ biến trong lĩnh vực I0 ---.4 Phương pháp học trong học sâu .5 Các lớp thường có trongCNN.4 Các ứng dụng của việc sử dụng phương pháp phát hiện sự tương đồng trong mã nhị phân. 2c co 36 CHƯƠNG 3. TONG QUAN VỀ DEEPBIN-INSPECTOR MO HÌNH PHÁT HIỆN SỰ TƯƠNG DONG MA NHI PHAN DUA TREN HỌC SAU 38 3.1 Định nghĩa vấn đề.2 DeepBin-Inspector- Phương pháp phát hiện sự tương đồng trong mã nhị phân dựa trên học sâu.1 Trích xuất các finetion.2 Chuyển đổi các chức năng nhị phân sang vector để đưa vào mô hình học mấy.

Lua chọn mô hình học mấy .3 Phương pháp đánh giá .1 Phân loại One-to-one.2 Phân loại One-to-many. THi NGHIEM VA DANH GIA 56 41 Hiénthuc.1 Cai đặt méitruéng.2 Các thông số của mô hình hoc sâu. 56 iv 42 Quá trình tạo tap đữ liệu huấn luyện. 57 43 Đánh giá tác động của độ dài vector biểu diễn đối với hiệu quả của DeepBin-lnspector.1 Tap dữ liệu đánh giá (dataset) .2 Kết quả so sánh.4 So sánh các mô hình học máy khi áp dụng bytes2vec .1 Tập dữ liệu đánh giá (dataset) .2 Tổng quan về mô hình của Zeek_.43 M6 hình CNN ban đầu.

63 _ = = ^ œ > 2 = Bs Pa } n ®5 E So sánh DeepBin-Inspector và Asm2vec.1 Tập dữ liệu đánh giá (datasel). Q Q HQ eee 70 CHƯƠNG 5.1 Két luan fy .2 Hướng phát triển. eeee TAI LIEU THAM KHAO Vv DANH MỤC CÁC KÝ HIỆU, CÁC CHU VIET TAT CVE Common Vulnerabilities and Exposures CNN Convolutional Neural Network GNN Graph Neural Networks NLP Natural language processing CFG Control Flow Graph IR. Intermediate representation bb Danh sách các câu lệnh trong 1 basic block Danh sách các strand của một basic block MD5 Ham băm Message-Digest algorithm 5 True Positive False Positive True Negative False Negative Mean Reciprocal Rank Số lượng các chức năng tương đồng được xếp hang Vị trí của chức năng thực sự tương đồng đầu tiên Tổng của các thành phan từ i = 1 đến N vi DANH MUC CAC HINH VE Hình 1.1 Mô hình Order Matters - Kết hợp NLP và GNN trong phát hiện sự tương đồng mã nhị phân .1 Ví dụ về luồng điều khiển của hàm nhị phân.

Bên trái là các câu lệnh cùng với địa chỉ tương đối trong chương trình, bên phải là biểu đồ luồng điều khiển tương ứng.2 Hai basic block kế tiếp nhau được trích xuất khi dùng IDA 12 Hình 2.3 Ví dụ về một đoạn chương trình với CFG tương ứng .4 Ví dụ về một đoạn mã được chuyển đổi sang assembly bằng IDA. foe eee 15 Hình 2.5 Mô hình mang no-ron .6 Ví dụ về một mô hình CNN để phân loại hình anh.7 Ví dụ về một mô hình GAN trong phát hiện ảnh.8 Ví dụ về mô hình kết hợp CNN và RNN.1 Mô hình khái quát tổng quan của DeepBin-Inspector .2 Quá trình trích xuất các chức năng .3 Bytes2vec - Phương pháp chuyển đổi bytes code thành vector 44 Hình 3.4 Copy propagation và Deadcode elimination .6 Các layer và kích thước có trong mô hình CNN-GRU .1 Biểu đồ thể hiện đọ hiệu quả của DeepBin-Inspector mỗi khi tăng size VeCEOT. HQ ky 60 Hình 4.2 Các layer và kích thước có trong mô hình của Zeek .3 Các layer và kích thước có trong mô hình CNN đơn thuần.4 Confusion matrix 4 chỉ số TP, FP, TN, FN khi đánh giá bằng mô hình CNN-GRU.5 Confusion matrix 4 chỉ số TP, FP, TN, FN khi đánh giá bằng mô hình học máy của Zeek_.6 Confusion matrix 4 chỉ số TP, FP, TN, FN khi đánh giá bằng mô hình CNN. ke 67 ìn h 47 Các chỉ số MRR và Recal@1 của DeepBin-Inspector và Asm2vec khi tăng poolsize.Ặ ee 73 viii DANH MUC CAC BANG BIEU Bảng 2.1 Vi dụ một số loại biểu thức VexIR.2 Vi dụ một số loại câu lệnh Vex-IR.1 Bảng tóm tắc ết quả trích xuất các chức năng có trong các dự án được chọn 58 Bảng 4.2 Dánh giá các size vector cho mô hình hoc méy.3 Bảng tóm tắc ết quả trích xuất các chức năng có trong các dự án được chọn để tạo thành dữ liệu đánh gia.4 So sánh độ hiệu qua giữa mô hình hoc máy của CNN-GRU, Zeek và mô hình CN đơn thuần.5 Bảng tóm tắc các tập dit liệu để so sánh Bindeep Inspector và AsmByec.6 So sánh kết quả =10.7 So sánh kết quả =20.8 So sánh kết qua 72 TÓM TẮT KHÓA LUẬN Phát hiện sự tương đồng trong mã nhị phân là lĩnh vực vô cùng quan trọng hiện nay.

Trước hết, vấn đề an ninh thông tin trở nên ngày càng cấp thiết khi mà các cuộc tấn công mạng và các phần mềm độc hại ngày càng tinh vi và phổ biến hơn. Bằng cách phát hiện sự tương đồng trong mã nhị phân, ta có thể giúp phòng ngừa các phần mềm độc hại, mã độc,. Thứ hai, việc nghiên cứu sự tương đồng trong mã nhị phân cũng có thể áp dụng hiệu quả trong lĩnh vực phân tích phần mềm. Nhà phát triển phần mềm có thể sử dụng phát hiện sự tương đồng trong mã nhị phân để tìm ra các lỗ hổng, vấn đề bảo mật và thiếu sót trong mã nguồn.

Bằng cách so sánh mã nhị phân,có thể dé dang xác định được các phần mã giống nhau, từ đó định vị lỗi và tối ưu hóa mã nguồn. Cuối cùng, với sự tăng trưởng không ngừng về số lượng và chất lượng của các phần mềm độc hại và mã độc. Việc phát hiện và phòng ngừa trở nên ngày càng khó khăn. Phân tích và phát hiện sự tương đồng trong mã nhị phân giúp chúng ta nhanh chóng xác định và có các biện pháp phản ứng với các mối đe dọa mới.

Bằng cách so sánh các đặc điểm giống nhau và sự tương đồng giữa các mã độc, ta có thể tìm ra các mẫu tấn công và phát hiện các biến thể mới của các phần mềm độc hại. Tóm lại Phát hiện sự tương đồng trong mã nhị phân có qua vai trò quan trọng trong việc đảm bảo an toàn thông tin, phân tích phần mềm và phòng ngừa các mối đe dọa đang ngày càng nguy hiểm. Do nhận thấy đây là một đề tài có tiềm năng, thêm nữa ngày nay các mô hình học sâu đang ngày càng phát triển và đều mang lại các kết quả ấn tượng, nhóm chúng tôi đã tiến hành nghiên cứu về phương pháp phát hiện sự tương 2 đồng trong mã nhị phân dựa trên học sâu để tăng độ hiệu quả của việc phát hiện sự tương đồng trong mã nhị phân truyền thống. Trong khóa luận của mình, chúng tôi đã đề xuất một công cụ phát hiến sự tương đồng trong mã nhị phân dựa trên học sâu mang tên DeepBin-Inspector.

Công cụ này dựa vào phương pháp bytes2vec mà chúng tôi đã phát triển để chuyển đổi các bytes code của chức năng nhị phân thành vector, sau đó đưa vào mô hình học sâu. Chúng tôi cũng đã thực hiện các thực nghiệm để đánh giá về công cụ cũng như so sánh với các mô hình học máy khác, so sánh với các công cụ phát hiện sự tương đồng trong mã nhị phân hiên đại hiện có. TONG QUAN Chương này giới thiệu về vấn đề chúng tôi sé nghiên cứu và các nghiên cứu đã có trước đó. Dồng thời chúng tôi trình bày phạm vi và cấu trúc của Khóa luận.

Giới thiệu vấn đề Phát hiện sự tương đồng của mã nhị phân (binary code simitlarity detection) là vấn đề lấy đầu vào là biểu diễn nhị phân của một cặp ham, một chương trình,. và tạo ra đầu ra là một giá trị số thể hiện được “độ tương đồng” giữa chúng. Hay có thể phát triển rộng hon là so sánh tập tin thực thi (nhị phân) để tìm ra những đoạn mã giống nhau hoặc tương đồng, tìm kiếm một đoạn mã trong tập tin nhị phân có sự tương đồng với một đoạn mã nhị phân được cho trước (bài toán tìm kiếm nhị phan). Công việc này tuy nhìn có vẻ đơn giản nhưng có rất nhiều ứng dụng thực tế.

Ví dụ điển hình là phát hiện lỗ hổng mới đã biết trên phần mềm, phát hiện đạo văn phần mềm, phân tích bản vá,. hay trong bối cảnh hiện nay các phần mềm độc hại và mã độc ngày càng nhìu thì lĩnh vực này cũng có thể áp dụng vào việc phát hiện mã độc. Tuy nhiên đây là một lĩnh vực không hề đễ để nghiên cứu, vì trên thực tế, phần mềm thường được biên dịch với các bộ công cụ biên dịch khác nhau, trên các nền tảng kiến trúc hệ thống khác nhau, các lựa chọn (option) dé biên dich cũng khác nhau hay thậm chí phiên bản phần mềm trước khi biên dịch cũng đã có sự khác nhau rất nhiều. Giới thiệu những nghiên cứu liên quan Các phương pháp để phát hiện sự tương đồng trong mã nhị phân truyền thống chủ yếu dựa trên việc phân tích các tính năng cụ thể của mã nhị phân, đặc biệt là đồ thị luồng điều khiển (CFG - Control Flow Graph) của các hàm.

Các phương pháp này chủ yếu tập trung vào việc phân tích và nắm bắt kiến thức cú pháp của chương trình để phân tích và so sánh sự tương đồng giữa các hàm. Tuy nhiên, các phương pháp này có những hạn chế và không đảm bảo hiệu quả trong mọi trường hợp. Một số hạn chế chính của các phương pháp này là: e Tính không ổn định: CFG của mã nhị phân có thể thay đổi dựa trên các lựa chọn tối ưu hóa trình biên dịch, như tối ưu hóa đường đi, tối ưu hóa biểu thức, hoặc tối uu hóa cấu trúc điều khiển. Hoặc cho dù là cùng một tập tin nhị phân, nếu như sử dung các decompiler khác nhau, CFG trích xuất ra được cũng rất khác nhau.

Do đó, việc so sánh đồ thị để tìm kiếm các đường đi chung trở nên khó khăn và không đảm bảo được tính ổn định của phương pháp. e Tốn thời gian: Xây dựng CFG và thực hiện quá trình so sánh đồ thị là công việc tốn thời gian, đặc biệt là đối với các chương trình nhị phân lớn và phức tạp.

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

Tài liệu có tiêu đề Phát Hiện Sự Tương Đồng Mã Nhị Phân Trong An Toàn Phần Mềm Bằng Học Sâu khám phá cách mà công nghệ học sâu có thể được áp dụng để phát hiện sự tương đồng trong mã nhị phân, một yếu tố quan trọng trong việc bảo vệ phần mềm khỏi các mối đe dọa an ninh. Bài viết nêu bật các phương pháp và kỹ thuật hiện đại, giúp người đọc hiểu rõ hơn về cách thức mà học sâu có thể cải thiện khả năng phát hiện mã độc và bảo vệ hệ thống.

Để mở rộng kiến thức của bạn về lĩnh vực này, bạn có thể tham khảo thêm tài liệu Khóa luận tốt nghiệp công nghệ thông tin phân loại mã độc android dựa trên hướng tiếp cận đa lớp đặc trưng, nơi nghiên cứu các phương pháp phân loại mã độc trên nền tảng Android. Ngoài ra, tài liệu Đề tài phân loại mã độc virus worm trojan ransomeware sử dụng học máy cũng cung cấp cái nhìn sâu sắc về việc sử dụng học máy trong phân loại các loại mã độc khác nhau. Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về các ứng dụng của học máy trong an toàn phần mềm.