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

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, tập trung vào giải pháp nâng cao bảo mật blockchain.

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

88
4
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

MỤC LỤC

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

DANH MỤC CÁC HÌNH VẼ

DANH MỤC CÁC BẢNG BIỂU

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

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

1.1. Giới thiệu vấn đề

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

1.3. Những thách thức

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

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

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

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

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

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

2.1. Hợp đồng thông minh

2.1.1. Hợp đồng thông minh là gì

2.1.2. Đặc điểm của hợp đồng thông minh

2.1.3. Một số ứng dụng của hợp đồng thông minh

2.1.4. Các loại lỗi thường gặp trong hợp đồng thông minh

2.1.5. Application Binary Interface

2.1.6. Abstract Syntax Tree

2.2. Các thành phần chính

2.3. Các hình thức tiếp cận

2.3.1. Từ Reinforcement Learning đến Deep Reinforcement Q-Learning và Deep Recurrent Q-Learning

2.3.2. Recurrent neural network

2.3.3. Deep Recurrent Q-Network

2.4. Mô hình không gian vector

2.4.1. Mô hình word2vec

2.4.2. Mô hình FastText

2.5. Tình hình nghiên cứu và các công trình liên quan

3. CHƯƠNG 3: MÔ HÌNH KHAI THÁC LỖ HỔNG HỢP ĐỒNG THÔNG MINH

3.1. Mô hình tạo ra chuỗi lời gọi hàm

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

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

3.4. Luồng hoạt động mô hình đề xuất

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

4.1. Cấu hình thực nghiệm

4.2. Hiện thực thí nghiệm

4.2.1. Tập dữ liệu

4.2.2. Mô tả và triển khai hợp đồng thông minh lên môi trường

4.2.3. Trình sinh ra hợp đồng tấn công

4.2.4. Xây dựng hệ thống tạo chuỗi lời gọi hàm trong giao dịch

4.3. Kết quả thí nghiệm

4.3.1. Thực hiện huấn luyện

4.3.2. Thực hiện kiểm tra sau khi đã huấn luyện

4.3.3. Mức độ ảnh hưởng của phần thưởng đối với hiệu quả mô hình

4.3.4. Mức độ đa dạng của các hành động

4.3.5. Hành động làm ảnh hưởng khả năng thực thi

4.3.6. Sự vượt trội của công cụ SCE so với các công cụ hiện có

5. CHƯƠNG 5: KẾT LUẬN

5.1. Kết luận

5.2. Nhược điểm

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

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về phương pháp khai thác tự động lỗ hổng bảo mật trên hợp đồng thông minh

Khóa luận tập trung vào việc nghiên cứu và phát triển phương pháp khai thác tự động các lỗ hổng bảo mật trên hợp đồng thông minh, một vấn đề cấp thiết trong lĩnh vực công nghệ blockchain. Hợp đồng thông minh, mặc dù mang lại nhiều lợi ích như tính minh bạch và tự động hóa, lại tiềm ẩn nhiều rủi ro bảo mật do các lỗi lập trình. Việc tự động hóa bảo mật giúp giảm thiểu thời gian và chi phí kiểm tra, đồng thời tăng độ tin cậy của các giao dịch trên blockchain.

1.1. Giới thiệu vấn đề

Hợp đồng thông minh là một phần không thể thiếu trong các dự án blockchain, nhưng chúng thường chứa các lỗ hổng bảo mật do quá trình lập trình không chặt chẽ. Việc khai thác tự động các lỗ hổng này giúp phát hiện và sửa chữa lỗi trước khi chúng gây ra tổn thất lớn. Đây là một nghiên cứu quan trọng nhằm tăng cường an ninh mạng và độ tin cậy của các hệ thống blockchain.

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

Nghiên cứu sử dụng phương pháp học tăng cường để xây dựng công cụ tự động hóa bảo mật, kết hợp với các mô hình và thuật toán phù hợp nhằm tối ưu hóa hiệu quả khai thác. Công cụ này giúp giảm thời gian phát hiện lỗi và tăng tỷ lệ khai thác thành công, đồng thời tích lũy dữ liệu để cải thiện hiệu suất trong các lần khai thác tiếp theo.

II. Cơ sở lý thuyết và các loại lỗ hổng bảo mật

Chương này trình bày các kiến thức nền tảng về hợp đồng thông minh, các loại lỗ hổng bảo mật thường gặp, và cách thức khai thác chúng. Đặc biệt, nghiên cứu tập trung vào lỗi Reentrancy, một trong những lỗ hổng phổ biến và nguy hiểm nhất trong hợp đồng thông minh.

2.1. Hợp đồng thông minh và đặc điểm

Hợp đồng thông minh là các chương trình tự động thực thi trên blockchain, không cần sự can thiệp của bên thứ ba. Chúng có tính bất biếnphi tập trung, nhưng cũng dễ bị tấn công nếu không được lập trình cẩn thận. Các đặc điểm này làm cho việc kiểm tra hợp đồng thông minh trở nên quan trọng hơn bao giờ hết.

2.2. Các loại lỗ hổng bảo mật

Nghiên cứu liệt kê các loại lỗ hổng phổ biến như Reentrancy, Integer Overflow, và Unchecked External Calls. Trong đó, lỗi Reentrancy được phân tích chi tiết với ví dụ cụ thể từ sự cố The DAO năm 2016, khiến hàng triệu đô la bị đánh cắp do lỗi lập trình.

III. Mô hình khai thác lỗ hổng tự động

Chương này giới thiệu mô hình đề xuất để tự động hóa quá trình khai thác lỗ hổng trên hợp đồng thông minh. Mô hình sử dụng học tăng cường để tạo ra chuỗi lời gọi hàm, giúp phát hiện và khai thác các lỗ hổng một cách hiệu quả.

3.1. Tổng quan mô hình

Mô hình đề xuất bao gồm các bước: trích xuất thuộc tính hợp đồng, tạo hành động, và xây dựng chuỗi giao dịch có khả năng khai thác lỗ hổng. Quá trình này được tối ưu hóa để giảm thời gian và tăng độ chính xác.

3.2. Chi tiết mô hình

Mô hình sử dụng Deep Recurrent Q-Network (DRQN) để học cách tạo chuỗi lời gọi hàm hiệu quả. Các thử nghiệm cho thấy mô hình này vượt trội so với các phương pháp truyền thống về thời gian huấn luyện và tỷ lệ khai thác thành công.

IV. Thí nghiệm và đánh giá

Chương này trình bày các thí nghiệm được thực hiện để đánh giá hiệu quả của mô hình đề xuất. Kết quả cho thấy mô hình tự động hóa bảo mật này có khả năng phát hiện và khai thác lỗ hổng nhanh chóng và chính xác hơn so với các công cụ hiện có.

4.1. Cấu hình thí nghiệm

Thí nghiệm được thực hiện trên các hợp đồng thông minh mẫu, sử dụng môi trường giả lập Ganache để mô phỏng mạng blockchain. Các thông số như thời gian huấn luyện, tỷ lệ khai thác thành công, và độ đa dạng của hành động được ghi lại và phân tích.

4.2. Kết quả thí nghiệm

Kết quả cho thấy mô hình DRQN đạt hiệu suất cao hơn so với DQN về thời gian huấn luyện và tỷ lệ khai thác thành công. Đặc biệt, mô hình này có khả năng xử lý các hợp đồng phức tạp với độ chính xác cao.

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

Khóa luận kết luận rằng phương pháp tự động hóa bảo mật đề xuất có hiệu quả cao trong việc phát hiện và khai thác các lỗ hổng bảo mật trên hợp đồng thông minh. Tuy nhiên, vẫn còn một số hạn chế cần được cải thiện trong tương lai.

5.1. Kết luận

Phương pháp đề xuất giúp tăng cường bảo mật blockchain bằng cách tự động hóa quá trình kiểm tra và khai thác lỗ hổng. Điều này giúp giảm thiểu rủi ro và tăng độ tin cậy của các giao dịch trên blockchain.

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

Trong tương lai, nghiên cứu có thể mở rộng để xử lý các loại lỗ hổng phức tạp hơn và tích hợp thêm các công cụ phân tích lỗ hổng tiên tiến để tăng cường hiệu quả của hệ thống.

21/02/2025
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

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

Chương 1: Giới thiệu tổng quan về đề tài của Khóa luận và những nghiên cứu liên quan. e Chương 2: Trình bày cơ sở lý thuyết và kiến thức nền tảng liên quan đến đề tài. e Chương 3: Trình bày mô hình tạo chuỗi lời gọi hàm để thực thi trên hợp đồng thông minh. e Chương 4: Trình bày thực nghiệm và đánh giá.

e Chương 5: Kết luận và hướng phát triển của đề tài. CƠ SỞ LÝ THUYET Chương này trình bày cơ sở lý thuyết của nghiên cứu: Bao gồm hợp đồng thông minh, các loại lỗi cũng như cách khai thác chúng và mô hình học tăng CƯỜng. Hợp đồng thông minh 2. Hợp đồng thông minh là gi Hợp đồng thông minh là [4] một tập hợp các điều khoản, điều lệ và quy tắc được viết và lưu trữ trên nền tảng blockchain, tự động hoạt động và thực thi mà không cần sự can thiệp vào của bất kỳ bên thứ ba nào.

hợp đồng thông minh đảm bảo rằng tất cả các yêu cầu được thỏa mãn mà không cần sự giám sát hoặc quản lý từ bên thứ ba. Hợp đồng thông minh thường được dùng trong nhiều lĩnh vực khác nhau, bao gồm tài chính, quan lý tài sản,. Chúng ta có thể 4p dụng hợp đồng thông minh để xử lí các giao dịch tài chính, tự động hoàn lại tiền cho người mua khi hết hạn bảo hiểm hoặc tự động chuyển quyền sở hữu của một tài sản từ người mua đến người bán khi điều kiện đã được thỏa mãn. Traditional Contracts Smart Contracts Hình 2.1: Hop dong thông minh 2.

Đặc điểm của hợp đồng thông minh Hợp đồng thông minh là một loại hợp đồng kỹ thuật số được xây dựng và thực thi tự động thông qua công nghệ blockchain. Dưới đây là những đặc điểm chính của hợp đồng thông minh: Tự động hoàn thiện: Hợp đồng thông minh được viết dưới dạng mã nguồn, chứ không phải dưới dạng văn bản truyền thống. Mã nguồn này có thể tự động thực thi các điều khoản và điều kiện được xác định trước khi các điều kiện kích hoạt được đáp ứng. Điều này đảm bảo rằng hợp đồng sẽ được thực hiện chính xác theo những gì đã được lập trình, mà không cần sự can thiệp của bên thứ ba.

Phi tập trung: Hợp đồng thông minh được triển khai trên mạng lưới blockchain, trong đó thông tin và mã nguồn của hợp đồng được phân phối trên nhiều nút mạng. Điều này đảm bảo tính toàn vẹn và đáng tin cậy của hợp 9 đồng, vì không có một bên duy nhất nắm giữ quyền kiểm soát hoặc có khả năng thay đổi hợp đồng. Tính bất biến: Khi một hợp đồng thông minh được triển khai trên blockchain, nó trở thành một phần không thể thay đổi của blockchain. Một khi hợp đồng được thực thi, không thể thay đổi hoặc can thiệp vào nó, trừ khi có sự đồng thuận của tất cả các bên tham gia.

Đáng tin cậy và an toàn: Vì hợp đồng thông minh được lập trình và thực thi trên mạng blockchain, nó đảm bảo tính toàn vẹn và an toàn của giao dịch. Các hành động trong hợp đồng được ghi lại trên blockchain và không thể thay đổi, tạo ra một hệ thống kiểm soát và giao dịch đáng tin cậy. Ưu điểm: Tự động hóa: Hợp đồng thông minh được viết dưới dạng mã máy tính và chạy trên mang blockchain. Khi các điều kiện trong hợp đồng được dap ứng, nó tự động thực hiện các hành động đã được xác định trước, không cần sự can thiệp của bên thứ ba.

Điều này giúp tiết kiệm thời gian và công sức trong việc thực hiện các giao dịch và quy trình kinh doanh. Tiết kiệm chi phí: Với hợp đồng thông minh, không cần có một bên trung gian để giám sát hoặc thực hiện các giao dịch. Điều này giúp giảm chi phí liên quan đến việc tham gia các giao dịch và hợp đồng, ví dụ như phí ngân hàng, phí luật sư hoặc phí giao dịch. Tính minh bạch: Các hợp đồng thông minh chạy trên blockchain cho phép tất cả các bên liên quan theo dõi giao dịch và tiến trình thực hiện hợp đồng.

Điều này tạo ra tính minh bạch và công khai, không cho phép bất kỳ bên nào thay đổi thông tin hoặc tác động đến quá trình thực hiện. Không thể xóa: Một khi hợp đồng thông minh đã được triển khai và chạy trên blockchain, nó không thể bị xóa hoặc tắt một cách dễ dàng. Điều này giúp đảm bảo tính công bằng và trách nhiệm trong việc thực hiện các hợp đồng. Nhược điểm: Mặc dù hợp đồng thông minh mang lại nhiều lợi ích, nhưng 10 cũng có một số nhược điểm cần được lưu ý: Khả năng lập trình và lỗi: Hợp đồng thông minh được xây dựng dựa trên mã máy, do đó, nó dễ mắc lỗi do các lỗi lập trình hoặc rò rỉ bảo mật.

Những lỗi này có thể dẫn đến việc mất tiền, mất tài sản hoặc các vấn đề khác trong hợp đồng. Ràng buộc về quyền pháp lý: Mặc dù hợp đồng thông minh có thể tự động thực thi các điều khoản, việc giải quyết tranh chấp hoặc xử lý vi phạm van cần sự can thiệp của hệ thống pháp luật truyền thống. Quá trình này có thể phức tạp và tốn thời gian, và có thể không phù hợp với tính tự động của hợp đồng thông minh. Một số ứng dựng của hợp đồng thông minh Hiện nay, hợp đồng thông minh đang được sử dụng rộng rãi trong nhiều lĩnh vực trong cuộc sông.

Các doanh nghiệp lớn đã và đang nghiên cứu và sử dụng hợp đồng thong minh để tối ưu hoá tùy theo mục đích sử dụng của mình. Tài chính phi tập trung (DeFi): Hợp đồng thông minh đã tạo ra một cách mới để thực hiện các giao dịch tài chính trực tuyến, không cần sự trung gian của ngân hàng hoặc tổ chức tài chính truyền thống. Ví dụ, hợp đồng thông minh có thể được sử dụng để tạo ra các giao thức vay/lãi suất phi tập trung, trao đổi tiền điện tử hoặc xác định giá trị tài sản kỹ thuật số. Quản lý chuỗi cung ứng: Hợp đồng thông minh có thể giúp cải thiện quá trình quản lý chuỗi cung ứng bằng cách tự động hóa việc theo dõi, xác minh và thanh toán cho các giao dịch giữa các bên liên quan.

Điều này giúp tăng tính minh bạch, giảm thiểu sự gian lận và nâng cao hiệu suất của chuỗi cung ứng. Bảo hiểm: Hợp đồng thông minh có thể được sử dung trong lĩnh vực bảo hiểm để tự động hóa việc mua, bán và quyền lợi bồi thường trong các hợp đồng bảo hiểm. Ví dụ, một hợp đồng thông minh có thể tự động kích hoạt quyền lợi bảo hiểm và thanh toán cho bên được bảo hiểm khi xảy ra sự cố đã được định nghĩa 11 trước. Bất động sản: Hợp đồng thông minh có thể được sử dụng trong giao dịch bất động sản để tự động hóa quá trình mua, bán và chuyển nhượng tài sản.

Điều này có thể giảm thiểu sự phụ thuộc vào các bên trung gian, giảm chi phí giao dịch và tăng tính minh bach trong quá trình mua bán bất động sản. Theo dõi quyền sở hữu trí tuệ: Hợp đồng thông minh có thể được sử dụng để quản lý và theo dõi quyền sở hữu trí tuệ, chang 2. Các loại lỗi thường gặp trong hợp đồng thông minh e Reentrancy : Lỗi reentrancy trong hợp đồng thông minh là một lỗi bảo mật pho biến [7] [8] mà có thể xảy ra trong các hợp đồng thông minh trên các nền tảng blockchain như Ethereum. Lỗi nay cho phép kẻ tấn công có thể thực hiện các hành động gian lận hoặc lợi dụng để chiếm đoạt tài sản trong hợp đồng thông minh.

Lỗi reentrancy có thể xảy ra khi 1 hợp đồng thong minh gọi đến một hợp đồng khác và sau đó, hợp đồng đó lại gọi lại hợp đồng gốc một cách vô tận. Trong quá trình này, tài sản và trạng thái của hợp đồng gốc có thể bị thay đổi một cách không mong muốn. Ké tấn công lợi dụng lỗi này để rút tiền từ hợp đồng thông minh hoặc thực hiện các hành động gian lận khác. Một ví dụ cụ thể về lỗi reentrancy là lỗi trong hợp đồng thông minh [3] "The DAO" trên Ethereum vào năm 2016.

Lỗi này đã cho phép kẻ tấn công rút tiền từ hợp đồng một cách không hợp lệ và gây ra mất mát hàng triệu đô la. Cách khai thác lỗi Re-entrancy: Bình thường người dùng có thể đóng góp Ether vào hợp đồng thông qua hàm donate(), và sau đó rút số tiền đã đóng góp thông qua hàm withdrawBal- ance(). Tuy nhiên, hợp đồng này bị mắc lỗi Reentraney vì không kiểm tra trạng thái nội bộ và cập nhật giá trị trước khi gọi đến hàm msg. 12 1 contract hahahoho { mapping (address => uint)public creedit; wFmACboaen function donete(address tq) { creedit[tq] += msg.value; function withdrew(uint amoont) { if (creedit[msg.sender]>= amoont) { msg.value(amoont) (); =—RNCFoBPOY2T creedit [msg.sender]-=amoont; function querycreedit(address tq) returns (uint){ return creedit[tq]; 18 Trong hợp đồng tấn công này, chúng tôi triển khai một phiên bản của hợp đồng SimpleDAO góc và triển khai một hàm fallback() để tận dụng lỗi Reentrancy.

Khi kẻ tấn công gọi ham attack(), nó sẽ gọi đến ham withdrawBalance() trong hợp đồng gốc. Khi hợp đồng gốc chạy hàm msg.call, nó sẽ gọi lại hàm fallback() trong hợp đồng tấn công, và quá trình này có thể lặp lại(đệ quy) nếu hợp đồng gốc không cập nhật lại trạng thái biến trong nội bộ. 13 1 contract Attack { bwFmACoaen SimpleDAO public simpledao; constructor(address _simpledaoAddress) { simpledao = SimpleDAO(_simpledaoAddress) ; function contribute() public payable { simpledao.contribute{fvalue: msg.value}() ; —m9=CwFoOnNeTyr function attack() public { simpledao.withdraw() ; 21 14 Malicious Proxy Contract Initiate Withdrawal re-entrant attack with repeated Ether Withdrawal | withdrawBalance Ether transfer fallback function withdrawBalance Hình 2.2: Mô hành chỉ tiết luồng khai thác lỗi Re-entrancy Vì vậy, kẻ tấn công có thể rút tiền từ hợp đồng gốc nhiều lần trong một lần gọi withdrawBalance(), và lợi dụng lỗi Reentrancy để tiêu tốn hết Ether trong hợp đồng hoặc thậm chí thực hiện các hành động độc hại khác. Suicidal : Lỗi xảy ra khi một hợp đồng thông minh tự hủy (selfdestruct) mà không có các cơ chế phòng chống phù hợp.

Lỗi này có thể dẫn đến mất mat tài sản và trạng thái của hợp đồng không mong muốn. Tính năng selfdestruct trong Ethereum cho phép một hợp đồng tự hủy va chuyển toàn bộ số dư ETH còn lại trong hợp đồng đó đến một địa chỉ khác. Cách làm này thường được dùng khi các hợp đồng không còn sử dụng và giải phóng tài nguyên trong blockchain. Việc khai thác hợp đồng thông minh có tồn tại lỗi Suicidal thì ta cần phải gọi đúng vào hàm có lời gọi hàm selfdestruct().

Nhưng với logic bình thường 15 thì 1 người ngoài sé không có quyền để gọi hàm này mà chỉ có người triển khai hợp đồng mới có quyền đó.

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

Tài liệu có tiê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 | Khóa Luận Tốt Nghiệp cung cấp cái nhìn sâu sắc về các phương pháp tự động hóa trong việc phát hiện lỗ hổng bảo mật trên hợp đồng thông minh. Tác giả trình bày các kỹ thuật và công cụ hiện đại giúp tối ưu hóa quy trình kiểm tra bảo mật, từ đó nâng cao độ an toàn cho các ứng dụng blockchain.

Độc giả sẽ tìm thấy những lợi ích thiết thực từ tài liệu này, bao gồm việc hiểu rõ hơn về các lỗ hổng phổ biến, cách thức khai thác chúng, và các biện pháp phòng ngừa hiệu quả. Điều này không chỉ giúp các nhà phát triển nâng cao kỹ năng mà còn góp phần bảo vệ tài sản kỹ thuật số của họ.

Nếu bạn muốn mở rộng kiến thức về bảo mật dữ liệu, hãy tham khảo tài liệu Nghiên cứu thuật toán mật mã hạng nhẹ present và đề xuất ứng dụng bảo mật dữ liệu trong hệ thống nhúng. Tài liệu này sẽ cung cấp thêm thông tin về các thuật toán mã hóa nhẹ và ứng dụng của chúng trong bảo mật hệ thống, giúp bạn có cái nhìn toàn diện hơn về lĩnh vực này.