Phát Hiện và Phân Loại Lỗ Hổng và Mã Độc trong Hợp Đồng Thông Minh của Mạng Blockchain

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 và phân loại lỗ hổng và mã độc trong hợp đồng thông minh, đ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

92
5
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: PHAN MỞ ĐẦU

1.1. Bảo mật hop đồng thông minh trong mang Blockchain

1.2. Cac khái niệm về lỗ hổng và mã độc trong hợp đồng thông minh

1.3. Vulnerable smart contracts

1.4. Malicious smart contracts

1.5. Phát hiện và phân loại lỗ hong va mã độc trong hop đồng thông minh Solidity

1.6. Mục tiêu và phạm Vi đề tài

1.6.1. Mục tiêu chính

1.6.2. Phạm vi đề tài

1.6.3. Phương pháp nghiên cứu

2. CHƯƠNG 2: KIEN TRÚC MẠNG BLOCKCHAIN VÀ CÁC VẤN DE BẢO MAT TRONG HỢP ĐỒNG THONG MINH

2.1. Kiến trúc mạng Blockchain

2.2. Tổng quan kiến trúc mạng Blockchain

2.3. Co chế hoạt động của Blockchain

2.4. Phan tích rủi ro trong hệ thống Blockchain

2.5. Phan loại và đặc điểm các loại Blockchain

2.6. Các vấn dé bảo mật trong hợp đồng thông minh

2.7. Một số lỗ hổng theo OWASP Smart Contract Top 10

2.8. Một số loại lỗ hổng bảo mật khác và mã độc trong hợp đồng thông minh

2.9. Các phương pháp bảo mật cho hợp đồng thông minh

2.10. CAC GIẢI PHÁP ĐỀ XUẤT

2.10.1. Phương pháp đề xuất

2.10.2. Phân nhóm lỗ hổng và trích xuất các đặc trưng trong hợp đồng thông mỉnh Solidity

2.10.3. Ly do phân nhóm lỗ hổng trong hợp đồng thông minh

2.10.4. Mô tả phương pháp phân nhóm lỗ hổng

2.10.5. Các nhóm lỗ hổng và mã độc trong hợp đồng thông minh

2.10.6. Mô hình đề xuất

2.10.7. Self-attention heads (ROBERTa) + RNN + CNN + BiLSTM

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

3. CHƯƠNG 3: BỘ DỮ LIỆU VÀ QUÁ TRÌNH XỬ LÝ DỮ LIỆU

3.1. Nguồn gốc và mô tả bộ dữ liệu

3.2. Quá trình xử lý dữ liệu

4. CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ

4.1. Kết quả thực nghiệm

4.2. Phân tích và so sánh kết quả

4.3. So sánh đề tài với các công trình nghiên cứu liên quan

4.4. Triển khai hệ thống và demo

4.4.1. Triển khai hệ thống

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

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

4.5.1. Tạo bộ dữ liệu mới

4.5.2. Xây dựng và kết hợp Graph

4.5.3. Tối ưu hóa và mở rộng mô hình

TÀI LIỆU THAM KHẢO

PHỤ LỤC

Tóm tắt

I. Tổng quan về phát hiện và phân loại lỗ hổng trong hợp đồng thông minh

Hợp đồng thông minh là một phần quan trọng trong công nghệ Blockchain, cho phép thực hiện các giao dịch tự động và minh bạch. Tuy nhiên, sự phát triển nhanh chóng của công nghệ này cũng kéo theo nhiều rủi ro về bảo mật. Việc phát hiện và phân loại lỗ hổng bảo mật trong hợp đồng thông minh là rất cần thiết để bảo vệ tài sản và thông tin của người dùng. Nghiên cứu này sẽ tập trung vào các phương pháp hiện có và đề xuất các giải pháp mới nhằm nâng cao hiệu quả phát hiện lỗ hổng.

1.1. Khái niệm về lỗ hổng và mã độc trong hợp đồng thông minh

Lỗ hổng trong hợp đồng thông minh có thể được định nghĩa là những điểm yếu trong mã mà kẻ tấn công có thể khai thác. Mã độc là những đoạn mã được thiết kế để thực hiện các hành động độc hại. Việc hiểu rõ các khái niệm này là bước đầu tiên trong việc phát hiện và phân loại chúng.

1.2. Tầm quan trọng của việc phát hiện lỗ hổng bảo mật

Việc phát hiện lỗ hổng bảo mật không chỉ giúp bảo vệ tài sản mà còn duy trì uy tín của các tổ chức. Các cuộc tấn công vào hợp đồng thông minh đã gây ra thiệt hại lớn, vì vậy việc phát hiện sớm các lỗ hổng là rất quan trọng.

II. Các thách thức trong phát hiện lỗ hổng bảo mật hợp đồng thông minh

Mặc dù có nhiều phương pháp phát hiện lỗ hổng, nhưng vẫn tồn tại nhiều thách thức trong việc áp dụng chúng vào hợp đồng thông minh. Các lỗ hổng thường rất đa dạng và phức tạp, đòi hỏi các phương pháp phát hiện phải linh hoạt và hiệu quả. Ngoài ra, việc thiếu dữ liệu huấn luyện chất lượng cũng là một vấn đề lớn.

2.1. Đặc điểm phức tạp của lỗ hổng trong hợp đồng thông minh

Lỗ hổng trong hợp đồng thông minh có thể xuất hiện dưới nhiều hình thức khác nhau, từ lỗi lập trình đến các vấn đề về thiết kế. Điều này làm cho việc phát hiện trở nên khó khăn hơn.

2.2. Thiếu dữ liệu huấn luyện chất lượng

Nhiều phương pháp hiện tại phụ thuộc vào dữ liệu huấn luyện để phát hiện lỗ hổng. Tuy nhiên, việc thiếu dữ liệu chất lượng có thể dẫn đến kết quả không chính xác.

III. Phương pháp phát hiện lỗ hổng bảo mật trong hợp đồng thông minh

Để phát hiện lỗ hổng bảo mật trong hợp đồng thông minh, nhiều phương pháp đã được đề xuất, bao gồm phân tích tĩnh và động. Tuy nhiên, các phương pháp này thường gặp phải những hạn chế nhất định. Nghiên cứu này sẽ đề xuất một phương pháp mới kết hợp giữa Multi-model và Transfer Learning để nâng cao hiệu quả phát hiện.

3.1. Phân tích tĩnh và động trong phát hiện lỗ hổng

Phân tích tĩnh giúp phát hiện lỗ hổng mà không cần thực thi mã, trong khi phân tích động yêu cầu mã phải được chạy. Cả hai phương pháp đều có ưu và nhược điểm riêng.

3.2. Kết hợp Multi model và Transfer Learning

Phương pháp kết hợp Multi-model và Transfer Learning cho phép mô hình học từ nhiều nguồn dữ liệu khác nhau, từ đó cải thiện độ chính xác trong việc phát hiện lỗ hổng.

IV. Ứng dụng thực tiễn của phương pháp phát hiện lỗ hổng

Phương pháp phát hiện lỗ hổng bảo mật trong hợp đồng thông minh không chỉ có giá trị lý thuyết mà còn có thể được áp dụng thực tiễn. Nghiên cứu này đã triển khai mô hình trên các hợp đồng thông minh thực tế và đạt được kết quả khả quan. Việc áp dụng các phương pháp này có thể giúp các tổ chức bảo vệ tài sản của mình hiệu quả hơn.

4.1. Kết quả thực nghiệm trên hợp đồng thông minh

Mô hình đã được thử nghiệm trên nhiều hợp đồng thông minh khác nhau và cho thấy khả năng phát hiện lỗ hổng cao hơn so với các phương pháp truyền thống.

4.2. Tích hợp vào các nền tảng phát triển hợp đồng thông minh

Việc tích hợp phương pháp phát hiện lỗ hổng vào các nền tảng phát triển hợp đồng thông minh sẽ giúp nâng cao tính bảo mật cho các ứng dụng phi tập trung.

V. Kết luận và hướng phát triển tương lai

Nghiên cứu này đã chỉ ra rằng việc phát hiện và phân loại lỗ hổng bảo mật trong hợp đồng thông minh là rất cần thiết. Các phương pháp mới như Multi-model và Transfer Learning có thể cải thiện đáng kể hiệu quả phát hiện. Hướng phát triển tương lai sẽ tập trung vào việc tối ưu hóa mô hình và mở rộng khả năng phát hiện lỗ hổng mới.

5.1. Tối ưu hóa mô hình phát hiện lỗ hổng

Cần tiếp tục nghiên cứu để tối ưu hóa mô hình hiện tại, nhằm nâng cao độ chính xác và tốc độ phát hiện lỗ hổng.

5.2. Nghiên cứu các phương pháp mới

Hướng nghiên cứu tương lai sẽ tập trung vào việc phát triển các phương pháp mới để tự động hóa quá trình phát hiện và phân loại lỗ hổng.

10/07/2025
Khóa luận tốt nghiệp an toàn thông tin phát hiện và phân loại lỗ hổng và mã độc trong hợp đồng thông minh của mạng blockchain sử dụng các mô hình học sâu multi model và transfer learning

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

MỞ ĐẦU 1. Bảo mật hợp đồng thông minh trong mạng Blockchain Hợp đồng thông minh (Smart Contract) là một đoạn mã tự động chạy trên Blockchain dé thực hiện thỏa thuận giữa các bên tham gia giao dịch. Các hợp đồng thông minh được ứng dụng trong nhiều lĩnh vực như trao đổi tài sản kỹ thuật số, chuỗi cung ứng, huy động vốn cộng đồng và sở hữu trí tuệ. Tuy nhiên chỉ cần xảy ra một 16 hong trong mã của hợp đồng cũng có thé bị khai thác bởi kẻ tan công, dẫn đến các van dé nghiêm trọng như mất tiền hay rò rỉ thông tin cá nhân.

[1] Dé tránh những rủi ro này, đặc biệt là tổn thất tài chính đáng ké, bắt buộc phải tiến hành kiểm tra kỹ lưỡng mã và các khía cạnh khác trong hợp đồng thông minh. Một ví dụ điển hình là vụ tấn công vào DAO (Decentralized Autonomous Organization), một hợp đồng thông minh nỗi tiếng của Ethereum, một trong những nền tang Blockchain được sử dụng rộng rãi nhất , vào thang 6 năm 2016. Do lỗi trong mã nguồn của DAO đã khiến hợp đồng này bị tan công, gây thiệt hại lên đến 60 triệu USD. Kẻ tấn công đã khai thác lỗ hồng tái nhập (Reentrancy vulnerability) bằng cách gọi đệ quy hàm phân chia DAO nhiều lần trước khi hàm này kịp cập nhật số dư mới, từ đó chuyên Ether vào tài khoản của kẻ tấn công mà không làm giảm số dư trong hợp đồng ban dau.

[1] Điều này đã làm cho DAO mat hàng triệu USD mà không thé khôi phục được. Năm 2017, một lỗ hồng trong hợp đồng ví Parity đã khiến người dùng mat 31 triệu USD. Năm 2018, tin tặc lợi dụng lỗ hồng tràn số nguyên trong hợp đồng thông minh ERC-20 của Ethereum để tạo ra một lượng lớn token BEC do công ty United States Chain phát hành, khiến giá trị thị trường của nó giảm gần như bằng 0. Theo thống kê từ trang web của SlowMist, các cuộc tan công vào hợp đồng thông minh Ethereum đã gây ra tổng thiệt hại hơn 3,1 ty USD tính đến năm 2023.

Với những sự cố về bảo mật Blockchain xảy ra thường xuyên và tài sản số liên quan đến hợp đồng thông minh ngày càng tăng, vấn đề về các lỗ hồng trong hợp đồng thông minh đã thu hút sự chú ý của nhiều cá nhân và tổ chức liên quan hơn. Do đặc điểm của hợp đồng thông minh là không thê can thiệp và tự động thực thi, nên tài sản bị đánh cắp sẽ khó thu hồi lại được khi xảy ra vẫn đề bảo mật trong hợp đồng thông minh. Do đó việc phát hiện các lỗ hồng bảo mật và mã độc tiềm ẩn trước khi triển khai là rất cần thiết để đảm bảo tính bảo mật của hợp đồng thông minh và an toàn cho lợi ích tài sản của các bên tham gia. Các khái niệm về lỗ hong và mã độc trong hợp đồng thông minh 1.

Vulnerable smart contracts Hợp đồng thông minh có chứa lỗ hồng (Vulnerable smart contracts) là những hợp đồng có điểm yếu hoặc sai sót trong mã hoặc thiết kế mà kẻ tấn công có thể tận dụng đề khai thác. Những lỗ hồng này có thé xảy ra do lỗi lập trình, các biện pháp bảo mật không đầy đủ hoặc tương tác không mong muốn với các hợp đồng khác hoặc đầu vào bên ngoài. Các lỗ hổng phô biến trong hợp đồng thông minh bao gồm Reentrancy, Integer Overflow/Underflow va Improper Access Control 1. Malicious smart contracts Hop đồng thông minh có chứa mã độc (Malicious smart contracts) là những hợp đồng được thiết kế có chủ đích dé thực hiện các hành động độc hại, lừa dối người dùng hoặc khai thác lỗ hồng trong các hợp đồng hoặc hệ thống khác.

Những hợp đồng này thường được những kẻ tấn công tạo ra đề đánh cắp tiền, thu thập các thông tin nhạy cảm hay đơn giản là làm gián đoạn các hoạt động của blockchain. Hợp đồng thông minh có chứa mã độc có thể chứa hidden backdoors, misleading functions hoặc logic có lợi cho kẻ tan công nhưng lại gây thiệc hại cho những người khác. Payloads phổ biến được sử dụng trong malicious smart contracts bao gồm Hidden Backdoors, False Return Values, Logic Bombs, Phishing Contracts, Sybil Attack Vectors, Gas Limit Exploitation. Phat hiện và phân loại lỗ hong va mã độc trong hop đồng thông minh Solidity Phát hiện và phân loại lỗ hong và mã độc trong hợp đồng thông minh Solidity đóng vai trò quan trọng trong việc nâng cao tính bao mật cho các ứng dụng trên nên tang Blockchain.

Các phương pháp phát hiện lỗ hồng và mã độc trong hợp đồng thông minh hiện tại chủ yếu dựa trên các phương pháp phát hiện lỗ hồng truyền thống của các chương trình thông thường, thường chỉ sử dụng phân tích tĩnh và các kỹ thuật thực thi động để phát hiện. Những phương pháp này thường dựa vào kinh nghiệm của chuyên gia và gặp phải các vấn đề như tự động hóa thấp, hiệu quả thấp và thiếu linh hoạt. Trong những năm gần đây, với sự phát triển nhanh chóng của học sâu (deep learning), việc sử dụng công nghệ học sâu để phát hiện lỗ hồng và mã độc của hợp đồng thông minh đã trở thành một chủ đề nghiên cứu nóng. Công nghệ phát hiện lỗ hồng và mã độc dựa trên học sâu có thé khắc phục được các hạn chế về tự động hóa thấp, hiệu quả thấp và phụ thuộc vào kiến thức chuyên môn của các phương pháp truyền thống.

Tuy nhiên, hầu hết các phương pháp học sâu hiện tại chỉ tập trung vào một khía cạnh dữ liệu của hợp đồng thông minh và không thể khai thác hết thông tin lỗ hồng. Vì vậy, trong nghiên cứu này, chúng em đề xuất kết hợp cả mô hình học sâu Multi-model và kỹ thuật Transfer Learning đề thiết kế bộ phân loại đa nhãn, cho phép mô hình có thể kết hợp nhiều lớp cũng như tinh chỉnh và huấn luyện trên các tập dữ liệu lớn với nhiều nhãn lỗ hông khác nhau, dé dàng mở rộng dé phát hiện các nhóm lỗ hồng mới với dữ liệu hạn chế. Khi có lỗ hồng mới, chỉ cần thêm nhánh nhóm mới vào trình trích xuất tính năng và huấn luyện với dữ liệu giới hạn. Phương pháp này phát hiện lỗ hồng mới với chi phí tối thiểu cho việc sửa đổi và huấn luyện lại mô hình, giúp phát hiện và phân loại các nhóm lỗ hồng và mã độc một cách hiệu quả và nhanh hơn so với các phương pháp phát hiện lỗ hổng và mã độc trong hợp đồng thông minh truyền thống.

Mục tiêu và phạm vi đề tài 1. Mục tiêu chính Phát triển một hệ thống tự động và hiệu quả sử dụng các mô hình học sâu Multi- model va Transfer Learning dé phát hiện và phân loại lỗ héng và mã độc trong hợp đồng thông minh Solidity trên nền tảng Ethereum. Mục tiêu cụ thể e Nâng cao hiệu quả phát hiện lỗ hồng bảo mật thông qua việc tối ưu hóa các mô hình học sâu. e Phân nhóm các lỗ hồng dựa trên các đặc trưng tương đồng dé tối ưu hóa quá trình phát hiện và phân loại, giúp tăng hiệu quả mô hình và có khả năng mở rong.

e Xây dựng bộ dữ liệu đa dang và toàn diện về các lỗ hồng trong hop đồng thông minh dé huấn luyện và đánh giá mô hình. e_ So sánh hiệu quả của phương pháp đề xuất với các phương pháp hiện có trong lĩnh vực phát hiện và phân loại lỗ hồng trong hợp đồng thông minh. e Đóng góp vào việc bảo mật trong mạng Blockchain thông qua việc phát hiện và ngăn chặn sớm các lỗ hồng bảo mật tiềm an. Pham vi đề tài 1.

Đối tượng nghiên cứu e_ Hợp đồng thông minh Solidity trên nền tảng Ethereum. e Đề tài sẽ tập trung vào việc phát hiện và phân nhóm 14 loại lỗ hồng và mã độc phổ biến trong hợp đồng thông minh Solidity, bao gồm: o Reentrancy o Unchecked external call o Unchecked send o Dangerous delegatecall o Timestamp dependence o Block number dependence o Bad randomness o Short address/Parameter Issues o Access control o Transaction ordering dependence (TOD) o Tx.origin usage o DoS (Denial of Service) (malicious smart contract) o Out of gas (malicious smart contract) o Integer Overflow/UnderFlow 1. Phương pháp nghiên cứu Phân nhóm 14 loại lỗ héng và mã độc vào 5 nhóm dựa trên các đặc trưng tương đồng. Trích xuất các đặc trưng bằng cách tự viết code, có tham khảo một số công cụ phân tích tĩnh và phân tích động.

Ap dụng kỹ thuật Multi-model và Transfer Learning dé phân tích và tổng hợp thông tin từ các đầu vào khác nhau, tăng độ chính xác trong việc phát hiện lỗ hồng, đồng thời có thé tái sử dụng và tinh chỉnh dé phát hiện các nhóm lỗ hồng khác nhau chỉ với điều chỉnh nhỏ về mô hình và tập dữ liệu Thực hiện thử nghiệm trên bộ dữ liệu thực tế và đánh giá kết quả. KIÊN TRÚC MẠNG BLOCKCHAIN VA CÁC VAN DE BAO MAT TRONG HOP DONG THONG MINH 2. Kiến trúc mang Blockchain 2. Tổng quan kiến trúc mạng Blockchain Blockchain là một chuỗi các khối, chứa đầy đủ danh sách các bản ghi giao dịch tương tự như số cái công khai thông thường.1 minh họa cách các block được kết noi trong blockchain.

Mỗi block trỏ đến block ngay trước đó thông qua một tham chiếu, chính là giá tri hash cua block trước đó, được gọi là parent block. Các giá tri hash của uncle blocks cũng sẽ được lưu trữ trong blockchain Ethereum. Block đầu tiên cua một blockchain được gọi là genesis block và không có parent block.1 Kết nối các block trong Blockchain. Ethereum là một nền tảng blockchain sử dụng Turing Complete phô biến nhất hiện nay, cho phép lập trình viên viết các hợp đồng thông minh với các quy tắc riêng về quyền sở hữu, định dạng giao dịch và trạng thái hoạt động.

Trong blockchain, bất kỳ ai cũng có thé chạy một node Ethereum trên máy tính của mình dé tham gia vào mạng lưới blockchain Ethereum.2 mô tả kiến trúc phân lớp của blockchain Ethereum. Ethereum Blockchain Application Layer + Smart Contract ¡ Digital Signature! *Decentralized ! «Hash h' Applications h «Merkle Tree ' *ChainCode 1 Transactions rs ee "““== ====== ằ-.ô CÔ ÔÐ - ' +Proof of Work !+ Peer to Peer | | "Proof of stake ¡ ‘Delegated Proof of Stake 1 ' 5 Practical Byzantine Fault Tolerance ! ' ' «Proof of Elapsed Time h Hình 2.2 Layer structure of Ethereum blockchain Hình 2.3 giải thích cấu trúc của một node blockchain trên nền tảng Ethereum. Mỗi node trong chuỗi được liên kết với node khác bằng cách sử dụng giá trị hash của node trước đó. Các giao dịch được băm dưới dạng cây Merkle, một phần quan trọng của blockchain.

Cây Merkle được sử dụng để xác minh hiệu quả và an toàn tính nhất quán va toàn vẹn của các tập dữ liệu giao dịch lớn.

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

Tài liệu "Phát Hiện và Phân Loại Lỗ Hổng, Mã Độc trong Hợp Đồng Thông Minh Blockchain" cung cấp cái nhìn sâu sắc về các phương pháp phát hiện và phân loại lỗ hổng bảo mật cũng như mã độc trong hợp đồng thông minh. Bài viết nhấn mạnh tầm quan trọng của việc bảo vệ các hợp đồng thông minh, vốn đang trở thành một phần thiết yếu trong hệ sinh thái blockchain. Độc giả sẽ được trang bị kiến thức về các kỹ thuật phân tích và công cụ hỗ trợ, giúp nâng cao khả năng bảo mật cho các ứng dụng blockchain.

Để mở rộng thêm kiến thức về lĩnh vực này, bạn có thể tham khảo tài liệu Khóa luận tốt nghiệp an toàn thông tin nghiên cứu phương pháp khai thác tự động lỗ hổng bảo mật trên hợp đồng thông minh, nơi cung cấp các phương pháp chi tiết hơn về khai thác lỗ hổng. Ngoài ra, tài liệu Optimizing smart contracts on ethereum sẽ giúp bạn hiểu rõ hơn về cách tối ưu hóa hợp đồng thông minh để giảm thiểu rủi ro bảo mật. Cuối cùng, tài liệu Nghiên cứu nền tảng công nghệ blockchain và ứng dụng trong bài toán truy xuất nguồn gốc sản phẩm sẽ mở rộng thêm về ứng dụng của blockchain trong các lĩnh vực khác, từ đó giúp bạn có cái nhìn tổng quát hơn về công nghệ này.