Đặt vấn đề Khái niệm về blockchain đã được giới thiệu vào năm 2009 Ilvới việc phát hành Satoshi Nakamoto Bitcoin và đã phát triển rất nhiều ké từ đó. Nó được coi là một trong những công nghệ đột phá nhất ké từ khi chính Internet phát minh ra. Trong những năm gần đây, các công ty trên toàn cầu đã dé giá trị vào nghiên cứu blockchain, xem xét cách nó có thê làm cho hoạt động kinh doanh hiện tại của họ hiệu quả và an toàn hơn. Về co bản, blockchain là một danh sách các bản ghi có thể xác minh, chỉ thêm vào, trong đó tất cả các giao dịch được ghi lại trong cái gọi là khối.
Mọi khối được liên kết với khối trước của nó thông qua một băm mật mã, do đó tạo thành một chuỗi khối hoặc cái gọi là “blockchain”. Danh sách này được duy trì bởi một mạng ngang hàng phân tán của các nút không đáng tin cậy, tuân theo một giao thức đồng thuận chỉ định việc nối thêm các khối mới. Niềm tin có được thông qua giả định rằng phần lớn hành động trung thành và đi ngược lại giao thức là quá tốn kém. Một loạt các triển khai blockchain khác nhau đã xuất hiện kể từ khi Bitcoin ra đời.
Tuy nhiên, tất cả các triển khai này đều theo đuổi một mục tiêu chung, đó là phân cấp quyền kiểm soát đối với một tài sản cụ thể. Tài sản của Bitcoin là tiền điện tử của nó và các thực thé tập trung đáng tin cậy mà nó cố gắng phân quyền là các ngân hàng truyền thống. Các blockchain hiện đại như Ethereum nhằm mục đích phân cấp toàn bộ máy tính thông qua cái gọi là hợp đồng thông minh. Hợp đồng thông minh là các chương trình được lưu trữ và thực thi trên chuỗi khối Ethereum thông qua Máy ảo Ethereum (EVM).
EVM là một máy ảo hoàn toàn dựa trên ngăn xếp hỗ trợ tập hợp các mã quang học hoàn chỉnh Turing. Các hợp đồng thông minh được triển khai, gọi và chuyên từ blockchain thông qua các giao dịch. Mỗi hoạt động trên EVM tiêu tốn một lượng khí cụ thể. Khi vượt quá tổng lượng gas được chỉ định cho một giao dịch, quá trình thực hiện chương trình sẽ bị chấm dứt và các tác động của nó sẽ bị đảo ngược.
Đối với các chương trình truyền thống, hợp đồng thông minh là bat biến. Do đó, những sai lầm lập trình mà nhà phát triển không bao giờ có ý định, giờ đây trở nên không thể 14 sửa chữa được. Các nhà phát triển thường viết hợp đồng thông minh bằng một ngôn ngữ cấp cao được biên dịch thành EVM bytecode. Tại thời điểm viết bài, Solidity là ngôn ngữ cấp cao phố biến nhất dé phát triển các hợp đồng thông minh trong Ethereum.
Năm 2018, Ethereum đạt mức vốn hóa thị trường hơn 133 tỷ đô la. Khi nó ngày càng trở nên có giá trị, những kẻ tắn công ngày càng được khuyến khích nhiều hơn để tìm và khai thác các hợp đồng dễ bị tấn công. Trên thực tế, Ethereum đã phải đối mặt với một số cuộc tan công tàn khốc vào các hợp đồng thông minh dé bị tổn thương. Nỗi bật nhất là vụ hack DAO vào năm 2016 và vụ hack Parity Wallet năm 2017, cùng nhau gây thiệt hại hơn 400 triệu đô la.
Đề đối phó với những cuộc tan công này, học viện đã đề xuất rất nhiều công cụ khác nhau cho phép quét các hợp đồng dé tìm lỗ hong bảo mật, trước khi triển khai chúng trên blockchain. Thật không may, những công cụ này cũng có thể bị những kẻ tan công sử dụng dé dé dang tìm thay các hợp đồng chứa lỗ hồng và khai thác chúng. Điều này có khả năng cho phép những kẻ tấn công thực hiện theo cách tiếp cận phản ứng bằng cách chủ động quét blockchain để tìm các hợp đồng dễ bị tấn công. Ngoài ra, những kẻ tân công có thé làm theo một cách tiếp cận chủ động hon bằng cách dụ nạn nhân của họ vào bay.
Loại hình gian lận mới này đã được cộng đồng giới thiệu là "honeypot". Honeypot là hợp đồng thông minh dường như có một lỗ hồng rõ ràng trong thiết kế của chúng, cho phép người dùng tùy ý rút tiền ether (tiền điện tử của Ethereum) khỏi hợp đồng, yêu cầu người dùng chuyển trước một lượng ether nhất định vào hợp đồng. Tuy nhiên, một khi người dùng cố gắng khai thác lỗ hồng này, cái "bẫy" sẽ sập lại, ngăn cản việc rút ether thành công. Xuất phát từ tình hình trên, chúng tôi tiến hành nghiên cứu thực nghiệm triển khai và phát hiện bẫy trên các hợp đồng thông minh.
Mục tiêu đề tài Hiện nay công nghệ thông tin càng ngày càng phát triển, các lĩnh vực hợp đồng thông minh càng trở nên phô biến. Với tính chất không thông quan bên trung gian của hợp đồng thông minh, càng nhiều người, các tổ chức dan thân vào hợp đồng thông 15 minh về lợi ích của nó. Tuy nhiên nếu không có sự hiểu biết nhất định về rủi ro khi tiếp cận hợp đồng thông minh, người dùng có nguy cơ bị mat tài sản. Do đó mục tiêu của khóa luận này đó là chúng tôi sẽ ứng dụng, tích hợp thêm các công cụ phát hiện các lỗ hồng trong hợp đồng thông minh để cảnh báo người dùng về các hợp đồng thông minh có chứa honeypot gây mất mát tài sản cho người dùng.
Đối tượng nghiên cứu © Cac hợp đồng thông minh, ngôn ngữ dé viết hợp đồng thông minh Solidity. se Các lỗ hồng bảo mật trong hợp đồng thông minh và một sé phương pháp phát hiện. e_ Các kỹ thuật bẫy Honeypot. e Công cụ phục vụ cho việc phát hiện lỗ héng bảo mật và quét bẫy như HONEYBADGER.
Pham vi nghiên cứu ¢ Các kỹ thuật giăng bay Honeypot trên Hợp đồng thông minh Ethereum. © _ Công cụ quét lỗ hồng bảo mật hợp đồng thông minh: Oyente, HoneyBadger,. ¢ Các phương pháp phát hiện các lỗ hồng bảo mật trên hợp đồng thông minh: Static analysis, Symbolic execution,. © Cac nền tảng triển khai hợp đồng thông minh: metamask, etherscan,.
Cấu trúc khóa luận Khóa luận được trình bày với cấu trúc sau: © Chương |: Trình bày tổng quan về dé tài nghiên cứu, mục đích đối tượng va phạm vi nghiên cứu của đề tài. ¢ Chương 2: Tổng quan va lý thuyết nền tảng, các khái niệm về hợp đồng thông minh, nền tảng ethereum blockchain và các lỗ hổng, bẫy trong hợp đồng thông minh. Các phương pháp phát hiện các bay trong hợp đồng. © Chương 3: Trình bày hệ thống ứng dụng và cách tích hợp các phương pháp phát hiện bay dé cảnh báo người dùng.
16 e Chương 4: Thực hiện và đánh giá hệ thống. Triển khai hệ thống và tính chính xác khi vận hành hệ thống. se Chương 5: Kết luận những gì đã làm được và chưa làm được của khóa luận, những khó khăn trong quá trình thực hiện. Định hướng phát triển trong tương lai.
Giới thiệu Các hợp đông thông minh Ethereum càng ngày càng trở nên phô biên từ các phương tiện truyền thông, ngành tài chính và học thuật. Với sự phổ biến ngày càng tăng dẫn đến càng nhiều kẻ có mưu đồ xấu lợi dụng việc những người mới tiếp cận hợp đồng thông minh chưa có kiến thức để trục lợi. Họ bị du dỗ tấn công vào các hợp đồng thông minh có các lỗ hong dường như có thể khai thác được, tuy nhiên thực tế đó lại là cái bẫy có lợi cho kẻ tạo ra hợp đồng. Những cái bẫy này gọi là honeypot.
Khóa luận này chúng tôi sẽ phân tích những kỹ thuật được dùng đề tạo honeypot và các phương pháp đề phát hiện các honeypot trong hợp đồng thông minh, nhằm giảm thiệt hại cho người dùng. Sau đó tích hợp các phương pháp phát hiện đó vào hệ thống hoàn chỉnh có chức năng cảnh báo cho người dùng về các honeypot nằm trong hợp đồng thông minh. Kiến thức nền tang 2. Hợp đồng thông minh trên Ethereum 2.
Tổng quan về hợp đồng thông minh Hợp đồng truyền thống được tạo ra bởi các chuyên gia pháp lý để biên soạn một lượng lớn tài liệu và cần bên thứ ba giúp thực thi. Điều này rất mất thời gian và không minh bạch. Nếu hợp đồng xảy ra sự cé thì phải dựa vào hệ thống tư pháp để giải quyết và điều này rất tốn kém nhiều chỉ phí liên quan. Đối với hợp đồng thông minh, được tạo ra bởi hệ thống máy tính bằng ngôn ngữ lập trình như C++, Go, Python, Java.
Trong đó nêu rõ các điều khoản và hình phạt tương đương với một hợp đồng truyền thống đưa ra. Chỉ có điều là Hợp đồng thông minh không cần sự can thiệp của con người, do đó đảm bảo việc thực thi được chính xác và công minh nhất. Toàn bộ đoạn mã của hợp đồng thông minh này sẽ được thực hiện bởi hệ thống phân tán của Blockchain. Cách thức hoạt động cua hợp đồng thông minh Hợp đồng thông minh là một giao thức đặc biệt nhằm xử lý, xác minh hoặc thực thi các hợp đồng kỹ thuật số.1 thể hiện cách hoạt động cau hợp đồng thông minh.
Hợp đồng thông minh có khả năng tự động thực hiện các điều khoản, các thoả thuận giữa các bên trong hợp đồng một cách đáng tin cậy mà không cần bên thứ ba nhờ sự hỗ trợ của công nghệ mật mã học. Các giao dịch này có thể được theo dõi chặt chẽ và không thé đảo ngược được. Moi điều khoản trong hợp đồng đều được minh bạch và có thê kiểm tra được, đồng thời đòi hỏi sự đồng thuận của cả hai phía. Một khi đã đồng thuận với hợp đồng, các điều khoản trong nó sẽ được thực thi hoan toàn tự động hoặc tự động một phan mà không có sự can thiệp từ bên ngoai, hay thông qua một bên thứ ba trung gian.
Và ngay cả hai bên tham gia hợp đồng cũng không thể can thiệp hay sửa đổi lên nó. Các điều khoản trong hợp đồng thông minh tương đương với một hợp đồng có tính pháp lý và được ghi lại dưới dạng các ngôn ngữ lập trình. How Smart Contracts Works 5o) Blockgeeks "-- “>> — ‘iA Match Buyerwith Selier Í 1 _ = "` Contract distribures assets 1 /Gs Ì Buy House Ownership is et. Các tính năng chính của hợp đồng thông minh Phi tập trung: Được sao chép và phân phối trong tất cả các nút của mạng Ethereum.
Đây là một điểm khác biệt so với các giải pháp khác dựa trên các máy chủ tập trung. Tất định: Chỉ thực hiện các hành động mà chúng được thiết kế dé thực hiện trong trường hợp các điều kiện được thỏa mãn. Bên cạnh đó, các kết quả của hợp đồng thông minh không đổi dù người thực hiện là ai.