Phương Pháp Phát Hiện Lỗ Hổng Trên Hợp Đồng Thông Minh

Khóa luận tốt nghiệp về an toàn thông tin, nghiên cứu phương pháp phát hiện lỗ hổng trên hợp đồng thông minh, đảm bảo an toàn cho hệ thống.

Người đăng

Ẩn danh

Thể loại

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

2021

84
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CÁM ƠN

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

1.1. Lý do chọn đề tài

1.2. Mục đích, mục tiêu nghiên cứu

1.3. Đối tượng và phạm vi nghiên cứu

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

2.1. Các hướng nghiên cứu đã có

2.2. Vấn đề còn tồn tại

2.3. Các vấn đề được giải quyết trong nghiên cứu này

3. CHƯƠNG 3: CƠ SỞ NGHIÊN CỨU

3.1. Khái niệm hợp đồng thông minh

3.2. Ngôn ngữ cấp cao trong lập trình hợp đồng thông minh

3.3. Khái niệm ứng dụng phi tập trung

3.4. Các danh sách lỗ hổng phổ biến

3.5. Phương pháp phân tích lỗ hổng

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

4. CHƯƠNG 4: KẾT QUẢ NGHIÊN CỨU

4.1. Phân loại lỗ hổng hợp đồng thông minh

4.1.1. Nhóm lỗ hổng do phụ thuộc vào hợp đồng bên ngoài

4.1.2. DoS with unexpected revert

4.1.3. Nhóm lỗ hổng do thiết kế của Ethereum Blockchain

4.1.4. Nhóm lỗ hổng do kiểm soát truy cập kém

4.1.4.1. Authentication through tx

4.1.5. Nhóm lỗ hổng do việc kiểm tra đầu vào và giá trị trả về

4.1.5.1. Integer Overflow and Underflow
4.1.5.2. Unchecked call return value

4.1.6. Nhóm lỗ hổng do đặc thù của Solidity

4.1.6.1. Forcing Ether to Contracts
4.1.6.2. Outdated compiler version

4.2. Công cụ hỗ trợ phát hiện lỗ hổng hợp đồng thông minh

4.2.1. Giới thiệu công cụ Mythril Online

4.2.2. Kiến trúc của công cụ

4.2.3. Những ưu thế của công cụ

4.2.4. Triển khai và thực nghiệm

4.2.4.1. Thực nghiệm trên một hợp đồng
4.2.4.2. Thực nghiệm trên hai hợp đồng
4.2.4.3. Thực nghiệm trên năm hợp đồng
4.2.4.4. Tổng kết thực nghiệm

4.3. Quy trình đánh giá bảo mật hợp đồng thông minh

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

5.1. Kết quả đạt được

5.2. Ý nghĩa và khả năng áp dụng

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

DANH MỤC HÌNH

DANH MỤC BẢNG

Tóm tắt

I. Phương Pháp Phát Hiện Lỗ Hổng Trên Hợp Đồng Thông Minh

Hợp đồng thông minh là một công nghệ mới đang được phát triển mạnh mẽ trong lĩnh vực tài chính và kinh doanh. Tuy nhiên, nó cũng tiềm ẩn nhiều rủi ro và lỗ hổng bảo mật. Vì vậy, việc phát hiện và khắc phục các lỗ hổng này là rất quan trọng.

1.1. Giới Thiệu Về Hợp Đồng Thông Minh

Hợp đồng thông minh là một chương trình máy tính được lưu trữ và chạy trên một mạng lưới blockchain. Nó cho phép tự động thực hiện các hành động khi các điều kiện nhất định được đáp ứng.

1.2. Lợi Ích Của Hợp Đồng Thông Minh

Hợp đồng thông minh mang lại nhiều lợi ích cho các ngành công nghiệp, bao gồm giảm chi phí, tăng cường tính minh bạch và tự động hóa các quy trình kinh doanh.

II. Các Lỗ Hổng Bảo Mật Trên Hợp Đồng Thông Minh

Các lỗ hổng bảo mật trên hợp đồng thông minh có thể gây ra nhiều hậu quả nghiêm trọng, bao gồm mất mát tài sản và uy tín. Vì vậy, việc phát hiện và khắc phục các lỗ hổng này là rất quan trọng.

2.1. Lỗ Hổng Reentrancy

Lỗ hổng Reentrancy là một loại lỗ hổng bảo mật trên hợp đồng thông minh, cho phép kẻ tấn công thực hiện nhiều giao dịch một cách bất hợp pháp.

2.2. Lỗ Hổng Delegatecall

Lỗ hổng Delegatecall là một loại lỗ hổng bảo mật trên hợp đồng thông minh, cho phép kẻ tấn công thực hiện các hành động không được phép.

III. Phương Pháp Phát Hiện Lỗ Hổng Trên Hợp Đồng Thông Minh

Có nhiều phương pháp phát hiện lỗ hổng trên hợp đồng thông minh, bao gồm sử dụng công cụ phân tích mã nguồn mở và thực hiện kiểm thử bảo mật.

3.1. Sử Dụng Công Cụ Phân Tích Mã Nguồn Mở

Công cụ phân tích mã nguồn mở như Mythril và Oyente có thể giúp phát hiện các lỗ hổng bảo mật trên hợp đồng thông minh.

3.2. Thực Hiện Kiểm Thử Bảo Mật

Kiểm thử bảo mật là một phương pháp quan trọng để phát hiện và khắc phục các lỗ hổng bảo mật trên hợp đồng thông minh.

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 trên hợp đồng thông minh có thể được ứng dụng trong nhiều lĩnh vực, bao gồm tài chính, kinh doanh và chính phủ.

4.1. Ứng Dụng Trong Lĩnh Vực Tài Chính

Phương pháp phát hiện lỗ hổng trên hợp đồng thông minh có thể giúp ngăn chặn các cuộc tấn công bảo mật trong lĩnh vực tài chính.

4.2. Ứng Dụng Trong Lĩnh Vực Kinh Doanh

Phương pháp phát hiện lỗ hổng trên hợp đồng thông minh có thể giúp tăng cường tính minh bạch và tự động hóa các quy trình kinh doanh.

V. Kết Luận

Phương pháp phát hiện lỗ hổng trên hợp đồng thông minh là một công nghệ quan trọng trong lĩnh vực bảo mật. Nó có thể giúp ngăn chặn các cuộc tấn công bảo mật và tăng cường tính minh bạch trong các quy trình kinh doanh.

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 lỗ hổng trên hợp đồng thông minh

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

CHƯƠNG 1: MO DAU 1.1 Lý do chọn đề tài Blockchain là một công nghệ được cho là có thể làm thay đổi cuộc chơi trong nhiều lĩnh vực ứng dụng, đặc biệt là các ứng dụng tài chính. Trong khi thế hệ đầu tiên của Blockchain (Bitcoin [1]) hầu như chỉ được sử dụng cho mục đích tiền tệ, thì với thế hệ tiếp theo, Blockchain 2.0, dẫn đầu là Ethereum, đã cho phép triển khai một mô hình ứng dụng mới gọi là ứng dụng phi tập trung với các hợp đồng thông minh được lưu trữ trên nền tảng Blockchain. Ké từ đó, rất nhiều giả thuyết không tưởng trong quá khứ đã được giải quyết bởi hop đồng thông minh. Hợp đồng thông minh mang lại rất nhiều lợi ích cho hầu hết các ngành công nghiệp, giảm nhiều chỉ phí và thời gian không cần thiết, đồng thời tăng cường tính minh bạch giữa các bên tham gia hợp đồng.

Với những lợi ích vượt trội, hợp đồng thông minh đã và đang tạo điều kiện dé phát triển ứng dụng phong phú hơn trong tương lai. Điều đó cũng đồng nghĩa với việc tiềm an nhiều nguy cơ bị tan công hơn. Điều hap dẫn hơn nữa đó là ngoài việc xử lý được các logic đã được lập trình, hợp đồng thông minh còn là một nền tảng sở hữu tài sản kỹ thuật số có giá trị. Các hợp đồng tài chính và bán tài chính trị giá hàng ngàn, hàng triệu USD luôn là mục tiêu nhắm đến của những kẻ tấn công.

Bằng chứng là đã có nhiều cuộc tan công gây thiệt hại lớn đã xảy ra trong quá khứ. Ví dụ điển hình có thể kế đến là cuộc tấn công DAO [2] diễn ra vào năm 2016, kẻ tắn công đã khai thác lỗ hồng Reentrancy để đánh cắp 60 triệu USD. Tháng 7 năm 2017, lỗ hồng Delegatecall trong hợp đồng Parity Wallet đã gây ra tốn thất 31 triệu USD [3]. Tháng 4 năm 2018, ví MyEtherWallet đã trở thành nạn nhân của cuộc tấn công BGP & DNS Hijacking, tin tặc đã lay đi khoảng 17 triệu USD.

Ngoài ra, một trong những đặc tính của nền tảng Ethereum, là một khi một hợp đồng thông minh được triển khai, nó không thể được sửa đồi hay cập nhật trong tương lai. Đây có thể xem là đặc tính vừa là ưu điểm vừa là nhược điểm của hợp đồng thông minh. Ưu điểm là nó đại diện cho một ứng dụng đáng tin cậy nơi các nhà phát triển 11 không thé sửa đổi các đoạn mã của hợp đồng sau khi đã triển khai, với mục đích duy nhất là thu lợi nhuận bat hợp pháp. Nhược điềm chính là việc không thé cập nhật các bản vá bảo mật đối với các ứng dụng này.

Điều đó đòi hỏi một chiến lược bảo mật mạnh mẽ của các nhà phát triển trước khi trién khai hợp đồng thông minh lên mạng Blockchain. Do đó, việc nghiên cứu các van dé xoay quanh tính bảo mật của hợp đồng thông minh luôn là vấn đề cấp bách. Sự chậm trễ trong việc nghiên cứu các vấn đề bảo mật có thể bị vượt mặt bởi sự phát triển của các kỹ thuật tấn công và dẫn đến những hậu quả đáng tiếc.2 Mục đích, mục tiêu nghiên cứu Nghiên cứu này nhằm mục đích mang lại cho những nhà phát triển hợp đồng thông minh một lượng kiến thức nhất định về các vấn đề Xoay quanh tính an toàn, bảo mật của nó. Nghiên cứu sẽ thực hiện phân loại các lỗ hồng logic của hợp đồng thông minh đã từng xuất hiện trong quá khứ thành từng nhóm, dựa trên nguyên nhân cốt lõi dẫn đến 16 hổng đó.

Cung cấp các gợi ý về kịch bản tắn công cũng như phương hướng phòng thủ đối với mỗi lỗ hồng. Điều này sẽ giúp mang lại cho những nhà phát triên hợp đồng thông minh một cái nhìn bao quát hơn, sâu sắc hơn về các van dé bảo mật trên no. Đồng thời, dé hỗ trợ cho việc phát hiện lỗ hồng một cách tự động, nghiên cứu này sé cải tiến một công cụ phân tích mã nguồn mở, nhằm mang lại hiệu quả tốt hơn trong việc phân tích. Những điểm cải tiễn sẽ được trình bày trong các phần sau của báo cáo.

Ngoài ra, dựa trên những cơ sở lý thuyết, các kết quả nghiên cứu đã có và cả kết quả nghiên cứu của khóa luận này, một quy trình đánh giá hợp đồng thông minh cũng sẽ được đề xuất, nhằm mang lại hiệu quả trong công tác đánh giá tính bảo mật của hợp đồng thông minh. 12 Những đóng góp của nghiên cứu này cũng đồng thời góp phần xây dựng một môi trường an toàn trên mạng Blockchain, giúp giữ gìn và phát huy những lợi thế vốn có của hợp đồng thông minh.3 Đối tượng và phạm vi nghiên cứu Hiện nay, đã có rất nhiều nền tảng hỗ trợ triển khai hợp đồng thông minh. Trong số đó, Ethereum hiện là nền tảng phổ biến nhất (https:/Avww.com/smart- contract-platforms), do dó được chọn làm đối tượng nghiên cứu trong nghiên cứu này. Hơn nữa, với tính chất công khai toàn bộ, bất kỳ ai cũng có thể xem được mã nguồn hợp đồng thông minh hay thông tin giao dịch ngay cả trong trạng thái “cho xử lý”.

Do đó, việc chọn nền tảng này làm đối tượng nghiên cứu càng thực sự có ý nghĩa. Phạm vi nghiên cứu bao gồm các vấn đề về an toàn, bảo mật trên hợp đồng thông minh và các phương pháp, công cụ hỗ trợ phát hiện lỗ hồng. 13 CHƯƠNG 2: TONG QUAN 2.1 Các hướng nghiên cứu đã có Với chủ về tính bảo mật của hợp đồng thông minh, hiện nay cũng đã có nhiều nghiên cứu được thực hiện bởi các chuyên gia và cả nghiên cứu sinh. Đối với hướng nghiên cứu về các lỗ hổng hợp đồng thông minh, “A Survey on Ethereum Systems Security: Vulnerabilities, Attacks and Defenses” [4] là tài liệu bao quát nhất được tim thấy trong quá trình nghiên cứu.

Đây là bai báo khảo sát được thực hiện bởi H. Xu được đăng trên tạp chí ACM Computing Surveys. Bài báo trình bay tổng cộng 44 lỗ hổng đã được phát hiện trên hợp đồng thông minh, bao gồm cả những lỗ hong còn tổn tại và những lỗ hong đã được ngăn chặn hoàn toàn. Các lỗ hổng được phân ra làm 5 nhóm, tùy theo vị trí xuất hiện của nó trong nên tảng Ethereum.

Trong đó bao gồm các lớp: Application, Data, Consensus, Network và Environment. Hướng nghiên cứu này ít tập chỉ tiết vào bên trong các lỗ hong, mà chi tập trung mô tả một sé lượng lớn các lỗ hồng ở mức độ cơ bản. Một số kiến thức liên quan đi kèm với mỗi lỗ héng cũng không được chú trọng. Điều này có thể giúp cho các nhà phát triển tiếp xúc phong phú hơn với với các lỗ hổng, nhưng lại thiếu hụt lượng kiến thức khi đi sâu vào một trong số các lỗ hồng đó.

Cùng với hướng nghiên cứu nay, “What are the Actual Flaws in Important Smart Contracts (and How Can We Find Them)?” [5] được thực hiện bởi A. Colburn, cũng là một tài liệu tốt được tim thấy. Tuy nhiên, khác với bài báo trước đó, bài báo này tập trung vào các lỗ hồng theo hướng khảo sát. Tác giả đã thực hiện thống kê các lỗ hồng trên một số lượng hợp đồng nhất định, sau đó sắp xếp nó theo các mức độ.

Có hai loại mức độ được trình bày trong bài báo. Độ khó trong khai thác và độ nguy hiểm mà lỗ hồng đó mang lại. Hướng triển khai này có phan mới lạ nhưng vẫn mắc phải van đề tương tự như bai báo trên. Đối với hướng nghiên cứu về các phương pháp và công cụ hỗ trợ phát hiện lỗ hong hợp đồng thông minh, “Security Analysis Methods on Ethereum Smart Contract Vulnerabilities — A Survey” [6] là tai liệu day đủ nhất được tim thấy trong quá trình 14 nghiên cứu.

Đây là một bài báo được viết bởi P. Doss được đăng tải trên trang arXiv. Bài viết cũng đề cập đến các lỗ hồng hợp đồng thông minh, điều đó cho thấy sự cần thiết trong việc không ngừng nghiên cứu về vấn đề này. Ngoài ra, một phần chính hơn của bài viết đó là các phương pháp phân tích bảo mật trên hợp đồng thông minh.

Trong đó có đề cập đến hai loại phương pháp phổ biến là “static” và “dynamic”, cùng một loại ít phổ biến hơn là “formal verification”. Với mỗi phương pháp phân tích, các công cụ hỗ trợ cũng được trình bày kèm theo.2 Vấn đề còn tồn tại Có thé thấy rõ rằng, các lỗ hồng trên hợp đồng thông minh đã và đang gây ra nhiều hậu quả nghiêm trọng cho hệ sinh thái này. Trong khi đó, các nghiên cứu hiện có về van dé này hầu hết được thực hiện theo hướng thống kê, khảo sát. Các kiến thức về lỗ hồng thường chỉ được trình bày ở mức định nghĩa, khái niệm.

Tại thời điểm tài liệu về lĩnh vực này còn hạn chế thì đây chính là những điểm bắt đầu tuyệt vời cho những nghiên cứu sinh. Nhưng có lẽ sẽ cần nhiều hơn như thé tại thời điểm hợp đồng thông minh trở thành mục tiêu hàng đầu của những kẻ tan công như lúc này. Cùng với đó là nhu cầu không ngừng nghiên cứu và cập nhật các kiến thức về lỗ hong hợp đồng thông minh. Van đề khác, đó là các công cụ hỗ trợ phân tích, phát hiện lỗ hông tự động đối với hop đồng thông minh được trình bày trong các nghiên cứu cũ đa số đều yêu cầu triển khai trên nền tảng Linux.

Các bước cài đặt công cụ cũng như thư viện kèm theo rất phức tạp. Đôi lúc có thé mat nhiều thời gian và phát sinh lỗi. Các công cụ phân tích lỗ hồng được triển khai trên các nền tảng thông dụng như Web vẫn còn hiếm. Do đó, sự tiếp cận của người dùng đối với các công cụ này vẫn còn là một hạn ch.

Va đặc biệt, hầu như chưa có một công bồ chính thức nào về một quy trình kiểm thử, đánh giá mức độ an toàn của hợp đồng thông minh. Điều đó cũng phần nào làm hạn chế sự tiếp cận của những người mới nghiên cứu đối với lĩnh vực này. Hơn nữa, đối với bất kỳ lĩnh vực nào, sự cần thiết của một quy trình cho các công việc lặp đi lặp 15 lại là không cần phải bàn cãi. Đặc biệt với công tác kiểm thử, đánh giá, các kết quả cần phải đạt được một mức độ tiêu chuẩn nhất định.3 Các vấn đề được giải quyết trong nghiên cứu này Nghiên cứu này sẽ xây dựng một danh sách các lỗ hồng xuất hiện trong các cuộc tấn công ở quá khứ theo hướng phân loại thành từng nhóm nguyên nhân và cụ thể hóa đối với từng lỗ héng, có thé dùng làm cơ sở trong quá trình kiểm thử, đánh giá hợp đồng thông minh.

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