Phản hồi Blue paper Audit+ của thành viên cộng đồng ChallengeDac
Link gốc:
BLUE PAPER + AUDITXin chào, đây là một trong những challengedap yêu thích với tên gọi VIRANIC BALLY, một người dùng ứng dụng và thành viên cộng đồng ChallengeDac. Tên người dùng của tôi trên ứng dụng ChallengeDac là @Viranic1234.
Bài viết dưới đây giải thích việc đánh giá Blue paper Audit + và chúng tôi sẽ thảo luận về tạo điều kiện bảo mật cho EOS.IO, lập chiến lược và nêu bật một số điểm về phân tích kiểm toán hợp đồng công cụ bảo mật và Blue paper.
Mục lụcI . Các giải pháp hiện tại tồn tại trong cộng đồng.
II . Các giải pháp được cộng đồng yêu cầu.
III. Công việc tương đương được thực hiện trong các hệ sinh thái khác.
IV. Danh sách các sáng kiến có thể cải thiện hệ sinh thái mạng EOS.
V. Danh sách các khuyến nghị cho nền tảng về quá trình hành động tốt nhất.
Tóm tắtTrong bài báo này, chúng tôi cung cấp các nghiên cứu và sáng kiến về việc cải thiện tính bảo mật tổng thể của các blockchain EOSIO. Nghiên cứu của chúng tôi cho thấy có rất ít giải pháp tồn tại trong EOSIO hướng đến bảo mật. Hệ thống lõi EOSIO được thiết kế đẹp mắt để cho phép tiếp cận theo định hướng bảo mật, nhưng cần phải thực hiện nhiều công việc để đưa nó lên cùng tiêu chuẩn bảo mật mà các blockchain khác hiện nay cung cấp.
Một lĩnh vực quan trọng nằm trong bài báo này là kiến thức. Kiến thức tự duy trì trong cộng đồng nhà phát triển chỉ có thể đạt được bằng cách cung cấp cho họ các công cụ và tài liệu phù hợp. Kiến thức về cơ sở người dùng của chúng tôi cho thấy rằng các tương tác của họ với dApps của EOSIO là bảo mật và an toàn, điều này có thể đạt được do cấu trúc duy nhất của EOSIO miễn là chúng ta cung cấp các dịch vụ và API cơ bản. Như đã đề cập, thiết kế cốt lõi tổng thể của EOSIO cho phép tiếp cận theo định hướng bảo mật, chúng ta chỉ cần tập trung vào những điều cơ bản và sau đó tiến thêm một bước, bằng cách khai thác một số yếu tố EOSIO chính sẽ giúp chúng ta nổi bật hơn so với các blockchain khác.
I. Những giải pháp hiện tồn tại trong cộng đồngA. Kiểm tra Klevoya là một công cụ cho phép các nhà phát triển tải lên mã WASM đã biên soạn và kiểm tra các lỗ hổng bảo mật dựa trên các mẫu duy nhất do đội ngũ Klevoya tạo ra. Kiểm tra sử dụng kỹ thuật được gọi là Phân tích tĩnh. Phân tích tĩnh được thực hiện bằng lập luận về mã nguồn của chương trình máy tính hoặc một số biểu diễn trung gian mà không thực sự thực thi nó. Sau đó, trình khớp mẫu sẽ được chạy cùng các thực thể trong cơ sở dữ liệu để tìm kiếm các lỗ hổng đã biết.
Sản phẩm không phải là mã nguồn mở và là dịch vụ trả phí. Các lợi ích được trả cho dịch vụ và sẽ không đảm bảo kiểm tra bảo mật thủ công. Phân tích tĩnh fuzzing là một công cụ rất mạnh mẽ và cung cấp cho các nhà phát triển cơ hội duy nhất để tự chẩn đoán và tự giải quyết các vấn đề bảo mật, cuối cùng theo thời gian sẽ giúp họ soạn thảo các hợp đồng thông minh tốt hơn và an toàn hơn.
B. Các thư viện phát triển phần mềm.
EOSIO cung cấp kho eosio.contracts, chứa các hợp đồng bios, system, msig, wrap và token. Sử dụng thỏa thuận Giấy phép MIT, các nhà phát triển có thể sử dụng mã gần như không giới hạn và họ cũng có thể thông thạo mạng chính EOS bằng cách tìm hiểu các hợp đồng này bao gồm các thông số quản trị và mô hình kinh tế.
Một số SDK sử dụng chung trong cộng đồng:
- SXorganization có nguồn mở 9 hợp đồng thông minh loại DeFi trên Github, chứa các tiêu chuẩn mã hóa chất lượng tốt và một số trong số chúng đã vượt qua kiểm toán bảo mật nhưng cần lưu ý rằng các thư viện này không chỉ ra thỏa thuận bản quyền cần tuân theo.
-Blockmatic, đã thu thập 112 mã nguồn hợp đồng thông minh EOS, mã nguồn mở cộng đồng và công khai danh sách. Mã chứa trò chơi, DeFi, thanh toán, DAO, stablecoin và NFT, ICO và các loại ví dụ hợp đồng khác và thậm chí cả các dự án sử dụng Rust làm ngôn ngữ phát triển, cho thấy sự nhiệt tình của các nhà phát triển đối với mạng EOS.
II. Các giải pháp được yêu cầu bởi cộng đồngDựa trên nghiên cứu của chúng tôi và trao đổi với các bên liên quan trong cộng đồng EOSIO, chúng tôi đã liệt kê một số phần chính mà chúng tôi cảm thấy được cộng đồng yêu cầu sẽ giúp cải thiện bảo mật tổng thể của hệ sinh thái EOSIO
A. Thư viện phần mềm để phát triển hợp đồng thông minh an toàn
Thư viện phát triển phần mềm (SDK) được tăng cường bảo mật cho phép các nhà phát triển phần mềm khai thác các mẫu và thư viện hợp đồng đã được kiểm tra để giảm thiểu rủi ro khi phát triển hợp đồng thông minh. Chúng giống như SDK tiêu chuẩn nhưng bao gồm trong đó là các ví dụ được tạo sẵn về việc thực hiện một số hành động nhất định được xây dựng dựa trên các phương pháp bảo mật tốt nhất, do đó thay vì phải tạo chức năng thực hiện một hành động nhất định, bạn có thể sử dụng các chức năng hiện có đã được kiểm tra các vấn đề bảo mật.
Lý do việc sử dụng các thư viện như vậy sẽ không chỉ giúp giảm thiểu rủi ro khi tạo các hợp đồng thông minh, vì chúng giúp các nhà phát triển sử dụng các phương pháp hiện có đã được xem xét kỹ lưỡng từ quan điểm bảo mật nhưng cũng cho phép bạn thử nghiệm bảo mật. Nếu tất cả các nhà phát triển trong EOSIO bắt đầu sử dụng cùng một danh sách SDK được cập nhật liên tục để giải quyết các vấn đề bảo mật mới nhất trên EOSIO, điều đó sẽ giúp cải thiện tính bảo mật tổng thể của các hợp đồng thông minh vì nó giúp các nhà phát triển dễ dàng tránh được những sai lầm. Yêu cầu các nhà phát triển phần mềm EOSIO muốn tạo các hợp đồng thông minh an toàn hơn nhưng chúng ta hiện đang thiếu công cụ tổng thể.
B. Tiền thưởng cho phát hiện lỗi
Tiền thưởng cho phát hiện lỗi là phần thưởng được trao cho những tin tặc có đạo đức, những người phát hiện thành công lỗ hổng trong một ứng dụng hoặc phần mềm. Được điều chỉnh rộng rãi trên tất cả các chuỗi, nó đóng một phần rất quan trọng trong việc đảm bảo mã blockchain của bạn liên tục được xem xét kỹ lưỡng, đặc biệt nếu cơ sở mã của bạn liên tục thay đổi hoặc có nhiều đặc tính. Và thực sự một chương trình tiền thưởng cho phát hiện lỗi chạy tốt sẽ thu hút những người giỏi nhất trong cộng đồng hacker để cải thiện tính bảo mật tổng thể của EOSIO. Điều đó đồng nghĩa với việc thiếu một chương trình như vậy sẽ không khuyến khích cộng đồng hacker đầu tư thời gian và công sức để xem xét cơ sở mã EOSIO.
Yêu cầu các hacker có đạo đức muốn tham gia vào EOSIO nhưng sẽ chỉ đầu tư thời gian và công sức khi một chương trình tiền thưởng cho phát hiện lỗi bắt đầu chạy tốt.
C. Ủy quyền nâng cấp hợp đồng DAO
Trong EOSIO, các hợp đồng thông minh được triển khai cho một tài khoản đang hoạt động và thường các nhà phát triển có đầy đủ quyền truy cập để nâng cấp các hợp đồng thông minh đó trong tương lai. Điều này tạo ra một vấn đề về lòng tin, bởi vì người dùng của hợp đồng thông minh đó vốn dĩ cần phải tin tưởng vào chủ sở hữu của tài khoản rằng anh ta sẽ không làm gì thất thiệt, bất kể trạng thái kiểm toán bảo mật của hợp đồng thông minh như thế nào.
Tất nhiên, bạn có thể loại bỏ khả năng cho bất kỳ ai cập nhật hợp đồng thông minh, điều này tạo ra sự tin tưởng giữa người dùng và chủ sở hữu hợp đồng thông minh, tuy nhiên lại ngăn cản mọi bản cập nhật trong tương lai đối với hợp đồng thông minh sẽ được yêu cầu nếu lỗi hoặc lỗ hổng bảo mật được xác định cần khắc phục. Vì vậy, bạn đang ở một vị trí mà bạn cần một số loại kịch bản đa chữ ký có thể tạo điều kiện tin cậy giữa người dùng và chủ sở hữu hợp đồng thông minh và cho phép chủ sở hữu hợp đồng thông minh có khả năng cập nhật kịp thời nếu và khi được yêu cầu.
Lý do đã được đề cập trước đây, chúng ta cần một cách quản lý hợp đồng tốt hơn để tạo điều kiện tin cậy hơn giữa người dùng và chủ sở hữu hợp đồng thông minh, đồng thời cho phép chủ sở hữu liên hệ thông minh có khả năng cập nhật phần mềm của họ. Dựa trên nhu cầu, cả cộng đồng và chủ sở hữu hợp đồng thông minh đều yêu cầu loại chức năng này. Chủ sở hữu dApp muốn cơ sở người dùng tin tưởng họ nhưng cũng có thể linh hoạt cập nhật dApp của họ khi được yêu cầu. Mặc dù không bao giờ có thể hứa tuyệt đối rằng một dApp mà cộng đồng đang sử dụng không có nguy cơ bị tấn công hoặc chủ sở hữu có ý định tốt hay xấu, nhưng việc cung cấp lớp tin cậy bổ sung này sẽ giúp tạo thêm niềm tin giữa cộng đồng và chủ sở hữu dApp.
III. Công việc tương đương được thực hiện trong các hệ sinh thái khácNghiên cứu các blockchain khác, chúng tôi đã cung cấp danh sách các sản phẩm và nội dung liên quan đến bảo mật thường luôn có sẵn trên các giao thức blockchain hàng đầu, chủ đề chung tổng thể về cách tiếp cận bảo mật rất giống nhau trên tất cả các blockchain.
Chúng tôi cũng đề cập đến một ý tưởng khá mới đã bắt đầu thành hiện thực trên Ethereum, mà chúng tôi coi như một trong những sáng kiến cốt lõi của chúng tôi trong tài liệu sau này.
A. Đăng ký bảo mật cho dApps
Chúng tôi nhận thấy rằng trong Ethereum tồn tại một REPO trên github đang cố gắng liệt kê tất cả các hợp đồng thông minh hiện tại, dựa trên chuỗi, địa chỉ và dự án liên quan mà chúng thuộc về. Có vẻ như đây là một nỗ lực khá mới của ETH khi nhìn vào lịch sử REPO, nó đã được bắt đầu vào tháng 9 năm 2021.
“Mục tiêu là có thể cung cấp thông tin về địa chỉ khi người dùng tương tác với địa chỉ đó, cũng như theo dõi thông tin liên hệ bảo mật cho các dự án đã biết trong trường hợp tìm thấy lỗ hổng trong một địa chỉ hợp đồng nhất định.”
Theo dõi danh sách các chuỗi ETH EVM hiện được hỗ trợ bao gồm:
A. Etherum Mainnet
B. Optimistic Ethereum
C. Binance Smart Chain
D. xDAI
E. Fuse
F. Polygon
G. Fantom Opera
H. Arbitrum
B. Công cụ bảo mật mã nguồn mở
Các công cụ bảo mật mã nguồn mở là cách dễ dàng để các nhà phát triển tự đánh giá mức độ bảo mật tổng thể của các hợp đồng thông minh. Mặc dù những công cụ này tồn tại không phổ biến và chúng đặc biệt tồn tại trong các giao thức cấp cao nhất, chúng tôi đang tích cực cố gắng cạnh tranh với điều đó. Những công cụ này thúc đẩy khả năng tự chẩn đoán và phát triển kiến thức của cộng đồng nhà phát triển về các cạm bẫy bảo mật phổ biến cần tránh. Điểm chung và thú vị khi có các tính năng hiện diện trong các công cụ này là:
Xác định lỗi, loại lỗi, mức độ nghiêm trọng và vị trí xảy ra trong mã nguồn. Dễ dàng tích hợp vào tích hợp liên tục và SDK. Các API có sẵn để cho phép các nhà phát triển soạn thảo các phân tích tùy chỉnh và thực hiện rất nhanh chóng.
Mã chủ yếu là mã nguồn mở và được duy trì bởi cộng đồng bảo mật và nhà phát triển. Các vấn đề cần tránh phát triển các công cụ này bằng các ngôn ngữ khó hiểu và đóng mã nguồn. Hầu hết các công cụ này đều là mã nguồn mở và được phát triển bằng ngôn ngữ lập trình rất phù hợp cho việc phân tích như Python, tuy nhiên có một số ví dụ như Solana, trong đó công cụ duy nhất có sẵn là mã nguồn đóng, điều này hạn chế sự tham gia của cộng đồng và kìm hãm sự phát triển của công cụ.
C. Thư viện phần mềm để phát triển hợp đồng thông minh an toàn
Các thư viện phát triển phần mềm tập trung vào vấn đề bảo mật này được sử dụng để hướng dẫn sự phát triển của các hợp đồng thông minh, giảm bớt khó khăn trong quá trình phát triển và cải thiện chất lượng mã và bảo mật. Chúng giống như SDK tiêu chuẩn của bạn nhưng đi kèm với các tính năng bổ sung giúp hướng dẫn các nhà phát triển soạn thảo mã an toàn hơn.
Thư viện phát triển thường là ví dụ về các ứng dụng, chẳng hạn như token, NFT, cho vay, hoán đổi, quản trị, v.v. Một số cung cấp các chức năng thường được sử dụng trong phát triển hợp đồng, chẳng hạn như thư viện toán học cung cấp các chức năng tính toán số học ngăn chặn tình trạng tràn bộ nhớ.
Các thư viện phát triển an toàn này có chất lượng mã tuyệt vời, được thể hiện cụ thể các nội dung sau:
• Mỗi loại ứng dụng có một chức năng thực hiện hoàn chỉnh;
• Đơn giản và mã mô-đun;
• Phương pháp đặt tên hàm và biến với ý nghĩa rõ ràng và phong cách nhất quán;
• Mô tả chú thích hàm biến và hàm;
• Kiểm tra đơn vị toàn diện;
• Hỗ trợ các công cụ quản lý đóng gói chung, chẳng hạn như npm, hàng hóa;
• Sau khi kiểm toán, bảo mật toàn diện hơn;
Các vấn đề nên tránh là phát triển thuê ngoài một lần, thư viện phát triển phải được cập nhật liên tục để bảo mật và hỗ trợ kỹ thuật nên được cung cấp cho cộng đồng nhiều nhất có thể.
IV. Danh sách các sáng kiến có thể cải thiện hệ sinh thái mạng EOSDựa trên tất cả các giải pháp hiện tại trong cộng đồng, những gì cộng đồng yêu cầu và những gì chúng tôi thấy tồn tại trong các giao thức blockchain khác, chúng tôi đã đưa ra danh sách các sáng kiến sẽ giúp EOSIO đi đầu về mặt bảo mật. Có một số công việc cần thiết để đưa chúng tôi đến cùng cấp độ với các blockchain khác nhưng cơ bản dựa trên thiết kế duy nhất của EOSIO sẽ cho phép chúng tôi vượt lên một bước so với các blockchain khác.
A. Nguyên nhân vấn đề
Hiện tại không có dịch vụ nào tại cộng đồng có thể xác minh rằng mã các hợp đồng thông minh mà họ đang tương tác đã được kiểm toán và coi là an toàn, cũng như không có vị trí tập trung để kiểm toán viên công bố các phát hiện kiểm toán và thông tin liên quan của họ.
B. Mục tiêu
Thiết lập nền tảng xác minh mã nguồn hợp đồng và nền tảng tiết lộ thông tin kiểm toán sẽ giúp cộng đồng dễ dàng xác minh tính bảo mật của hợp đồng thông minh mà họ đang tương tác. Cộng đồng bao gồm người dùng, các ứng dụng khác như ví và các sàn giao dịch.
C. Lợi ích đối với EOSIO
1. Các sàn giao dịch có thể xác minh tính bảo mật của hợp đồng thông minh bằng cách xác minh hàm băm trên chuỗi khớp với hàm băm của lần kiểm tra gần nhất được thực hiện.
2. Ví có thể tích hợp với API bằng cách sử dụng các tiêu chuẩn được duy trì tốt để cung cấp dấu chấp thuận đối với các hợp đồng thông minh được sử dụng trong quá trình tương tác.
3. Người dùng có thể dễ dàng xác minh tính bảo mật của các ứng dụng thông qua ví và hoặc bằng cách truy cập giao diện người dùng được đề xuất, giúp dễ dàng xem bất kỳ ứng dụng nào, các hợp đồng thông minh được liên kết và trạng thái của các cuộc kiểm tra.
Phân phối theo hợp đồng chuỗi để thúc đẩy các cuộc kiểm toán mới: Cho phép các kiểm toán viên bảo mật đẩy các cuộc đánh giá đã hoàn thành mới vào chuỗi thông qua nền tảng hoặc qua MSIG. Mỗi cuộc đánh giá phải bao gồm:
a. Địa chỉ tài khoản nơi tải hợp đồng.
b. Hàm băm SHA256 của WASM đã biên soạn mà quá trình kiểm toán đã thực hiện.
C. URL repo mã.
d. Ngày kiểm toán.
e. Tên kiểm toán viên.
f. Địa chỉ email của kiểm toán viên.
g. Liên kết đến chứng chỉ nếu có.
h. Liên kết để báo cáo nếu công khai.
i. Kết quả: đạt hoặc không đạt
V. Danh sách các khuyến nghị cho nền tảng về quá trình hành động tốt nhất4 sáng kiến được đề xuất ở đây dựa trên tất cả các nghiên cứu của chúng tôi không chỉ theo yêu cầu về EOSIO, đông thời những yêu cầu bởi các cộng đồng khác trong không gian blockchain.
Các đề xuất 1-3 tạo thành yêu cầu cơ bản mà bất kỳ blockchain mới nào cố gắng thích ứng với thúc đẩy một nền tảng lành mạnh được xây dựng dựa trên quan điểm bảo mật.
Khuyến nghị số 4 là một đề xuất tương đối mới mà chúng tôi đã thấy trong Ethereum. Nó sẽ rất thuận lợi cho EOSIO để điều chỉnh kiểu tiếp cận này. Công nghệ cốt lõi của EOSIO có một số lợi thế riêng biệt giúp bạn dễ dàng điều chỉnh giải pháp này hơn. Mặc dù là một cam kết lớn và sẽ yêu cầu nhiều bên liên quan trên tất cả các nhóm làm việc quyết định cách tiếp cận tốt nhất nhưng nó sẽ có ảnh hưởng sâu sắc đến lòng tin cơ bản của hệ thống.
Đây là một chiến thắng rất dễ dàng và khởi đầu tốt đẹp để định hướng cộng đồng nhà phát triển tạo ra các hợp đồng thông minh mạnh mẽ và an toàn. Nó cũng hoạt động như một cơ sở cho các công cụ trong tương lai, chẳng hạn như bộ công cụ bảo mật tự động.
Để biết chi tiết về Blue paper Audit+. Truy cập hoặc nhấp vào liên kết bên dưới:
https://medium.com/eos-network-foundation/audit-blue-paper-3568c7ef863eNguyễn Thế Anh
MSAP - EOSbeeVN