Hướng dẫn kiểm toán Web3.0: Kiểm toán CertiK khác với các công ty khác như thế nào?

Kiểm toán luôn đóng một vai trò quan trọng trong việc đảm bảo tính bảo mật và ổn định của các dự án blockchain.
Đội ngũ chuyên gia kiểm toán của CertiK có nhiều kinh nghiệm và cho đến nay đã được 4.000 khách hàng doanh nghiệp công nhận, phát hiện hơn 70.000 lỗ hổng mã và bảo vệ hơn 360 tỷ đô la tài sản kỹ thuật số.
Quy trình kiểm toán của CertiK rất toàn diện và kỹ lưỡng, với các chuyên gia bảo mật của chúng tôi xem xét kỹ lưỡng thiết kế, kiến trúc và mã nguồn của dự án để tìm các lỗ hổng hoặc rủi ro.
Với kiến thức chuyên môn về bảo mật và các giải pháp bảo mật đầu cuối đầu ngành, CertiK tiếp tục dẫn đầu lĩnh vực bảo mật của ngành Web3.0, cung cấp dịch vụ kiểm tra bảo mật từ các mã thông báo cơ bản nhất đến các giao thức DeFi phức tạp nhất và thậm chí cả kiến trúc tổng thể của phục vụ chuỗi khối.
Nhưng chắc hẳn sẽ có người dùng thắc mắc chúng tôi tiến hành kiểm toán như thế nào, phương pháp kiểm toán là gì, đặc điểm kiểm toán chính là gì?
Đọc tiếp, bài viết này có thể đưa ra câu trả lời. Bước đầu tiên trong quy trình kiểm tra của chúng tôi là lấy mã nguồn và xây dựng một môi trường tùy chỉnh.
Bước thứ hai là xem xét các tài liệu dự án và tiến hành phân tích mô hình mối đe dọa, tiếp theo là các công cụ nội bộ và kiểm tra con người để tìm ra lỗ hổng bảo mật và lỗi thiết kế.
Bước thứ ba là gửi báo cáo đánh giá ban đầu có chứa các rủi ro đã xác định và các khuyến nghị khắc phục.
Bước thứ tư là đưa ra một báo cáo kiểm toán cuối cùng, trong đó sẽ mô tả chi tiết sự trợ giúp mà công việc kiểm toán mang lại cho dự án và cho biết các chuyên gia kiểm toán của CertiK đã hỗ trợ dự án như thế nào trong việc tránh các lỗ hổng Web3.0 chính.
Cấu hình môi trường
Hiện tại, các giải pháp kiểm toán và bảo mật end-to-end của CertiK đã bao phủ hầu hết các hệ sinh thái hiện có trên thị trường và hỗ trợ hầu hết các ngôn ngữ lập trình chính thống.
Mặc dù các dự án được viết bằng một số ngôn ngữ lập trình có thể yêu cầu quá trình cấu hình rất phức tạp, vấn đề này có thể được giải quyết ở một mức độ nhất định bằng cách sử dụng môi trường máy ảo được cấu hình sẵn - nhập mã vào môi trường được cấu hình và kiểm tra xem nó có thể được biên dịch thành công hay không và được triển khai, môi trường được thiết lập để cho phép các chuyên gia bảo mật chạy mã và viết các bài kiểm tra để hiểu sâu hơn về dự án.
Kiểm toán Kiến trúc
Việc xác định kiến trúc của dự án là rất quan trọng để hiểu các thành phần và bộ phận chính của hệ thống và sự an toàn.
Sự hiểu biết thấu đáo về kiến trúc cũng rất cần thiết để phân tích mô hình mối đe dọa hiệu quả.
Lý tưởng nhất là nhóm dự án sẽ cung cấp sách trắng và tài liệu kỹ thuật phác thảo kiến trúc chi tiết của dự án.
Tuy nhiên, trong nhiều trường hợp, các tệp lược đồ này bị thiếu và kiểm toán viên phải thực hiện trích xuất lược đồ để xác định lược đồ.
Khai thác kiến trúc bao gồm kiểm tra tương tác giữa các thành phần, xử lý đầu vào bên ngoài, nhập thư viện, triển khai ý tưởng mới, tuân thủ các tiêu chuẩn mã hóa và hỗ trợ đồng thời.
Đối với các loại dự án phổ biến, chẳng hạn như giao thức cho vay với tiền gửi, khoản vay, phí, thu nhập, dự báo giá và các thành phần thanh lý, có thể dễ dàng tận dụng các công cụ để tạo biểu đồ cuộc gọi và biểu đồ bố trí lưu trữ để hỗ trợ quá trình trực quan hóa.
Tuy nhiên, đối với các dự án được tổ chức kém hoặc không theo quy ước, kiểm toán viên có thể cần xác định thủ công các cấu trúc thành phần và mối quan hệ của chúng bằng cách phân tích từng tệp chức năng và tệp nguồn.
Nó cũng quan trọng để xác định xem một dự án là một thiết kế ban đầu hay một nhánh rẽ của một dự án khác. Bởi vì fork rất có thể sẽ kế thừa các lỗ hổng từ dự án ban đầu của nó -PancakeBunnyGiao thức đã bị tấn công bởi một cuộc tấn công cho vay chớp nhoáng trị giá hơn 40 triệu đô la và mã nguồn của nó đã bị chia rẽ bởi nhiều dự án khác, những dự án này cũng bị tấn công tương tự do không xác định và khắc phục được lỗ hổng. Tuy nhiên, một cuộc kiểm tra bảo mật kỹ lưỡng có thể đã tìm ra lỗ hổng này để tránh một cuộc tấn công như vậy.
Phân tích mô hình mối đe dọa
Phân tích mô hình mối đe dọa bao gồm mô tả về tài sản chính, tài nguyên và yêu cầu bảo mật của dự án, đồng thời phát triển danh sách các lỗ hổng tiềm ẩn và mối đe dọa bảo mật.
Các mô tả trừu tượng được thiết lập trong quá trình kiểm toán kiến trúc và các yêu cầu bảo mật có thể được xác định bằng cách hỏi và trả lời các câu hỏi dựa trên kiến trúc hệ thống. Ví dụ: trong một hệ thống quản trị, hãy thử đặt các câu hỏi sau:
Ai có thể tạo đề xuất?
Các yêu cầu để tạo ra một đề xuất là gì?
Một đề xuất cần bao nhiêu phần trăm phiếu bầu để thông qua?
Thời gian xác nhận cho các đề xuất là bao lâu?
Dự án đang sử dụng mã thông báo và cơ chế bỏ phiếu nào?
Tài khoản đặc quyền có thể sửa đổi những cấu hình nào?
Khi nhu cầu bảo mật của bạn đã được xác định, đã đến lúc xem xét các mối đe dọa mà bạn có thể gặp phải.
Trong Web2.0, mô hình phân loại mối đe dọa thường được sử dụng là STRIDE, chia các mối đe dọa thành sáu loại: gian lận, giả mạo, thoái thác, rò rỉ thông tin, từ chối dịch vụ và leo thang đặc quyền.
Phương pháp này cần được sửa đổi một chút trong Web3.0. Ví dụ: trong các dự án DeFi, mã nguồn được xác minh trên blockchain và tất cả thông tin giao dịch cũng như dữ liệu lưu trữ đều được công khai, vì vậy mối đe dọa "rò rỉ thông tin" là không lớn.
Kết quả cuối cùng của phân tích mô hình mối đe dọa sẽ tạo ra một danh sách kiểm tra bảo mật để hướng dẫn kiểm toán bảo mật và đánh giá trạng thái bảo mật của hệ thống một cách toàn diện hơn.
Phân tích tĩnh và xác minh chính thức
Chúng tôi cung cấp các dịch vụ bảo mật cho Web3.0 thông qua các giải pháp bảo mật đầu cuối và sử dụng nền tảng kỹ thuật và kinh nghiệm kiểm tra phong phú của CertiK.
Các công cụ và dịch vụ có trong giải pháp bảo mật đầu cuối được hỗ trợ bởi cơ sở dữ liệu khổng lồ gồm hàng nghìn lịch sử kiểm tra và hơn 70.000 lỗ hổng do CertiK phát hiện.
Trong số đó, các công cụ bảo mật của chúng tôi sẽ kiểm tra tĩnh mã ở cấp mã nguồn và mã byte, xác định các mẫu mã không an toàn và tạo biểu đồ để cung cấp phân tích trực quan về hợp đồng thông minh.
Các công cụ bảo mật này sẽ phát triển khi môi trường rủi ro hợp đồng thông minh và học máy tiếp tục thay đổi, đồng thời các thư viện lỗ hổng hợp đồng thông minh và trí thông minh đe dọa tiếp tục tích lũy.
Ngoài phân tích tĩnh, chúng tôi cũng sử dụng xác minh chính thức để đảm bảo an toàn cho mã dự án và đảm bảo rằng chương trình chạy theo thông số kỹ thuật dự kiến.
Xác minh chính thức là một phương pháp chứng minh toán học để xác minh rằng một chương trình máy tính hoạt động như mong đợi.
Nó thể hiện các thuộc tính và hành vi dự kiến của các chương trình dưới dạng các công thức toán học, sau đó sử dụng các công cụ tự động để kiểm tra xem các công thức này có đúng hay không. Quá trình này giúp đảm bảo các chương trình của họ hoạt động như mong đợi, với các phát hiện chính bao gồm các vấn đề logic, rủi ro truy cập lại, thiếu kiểm soát truy cập, tràn/tràn và tối ưu hóa khí, v.v.
Tuy nhiên, kết quả cuối cùng cần được xác nhận thủ công bởi các chuyên gia kiểm toán để đảm bảo tính chính xác của kết quả.
kiểm toán thủ công
Các công cụ bảo mật thực sự mạnh mẽ nhưng vẫn có những hạn chế và đây là lúc đội ngũ kỹ sư giàu kinh nghiệm của chúng tôi phát huy tác dụng.
Nội dung kiểm tra thủ công bao gồm kiểm tra mã theo từng dòng cực kỳ chi tiết, đây là bước tốn nhiều thời gian nhất trong toàn bộ quy trình kiểm toán.
Kiểm toán thủ công có thể được chia thành hai phần: kiểm toán vi mô và kiểm toán vĩ mô.
Kiểm toán vi mô liên quan đến việc phân tích mã để hiểu tất cả các chức năng và trong quá trình này, chúng tôi thường phát hiện ra các vấn đề với mã. Các kỹ thuật được đề cập trong phần kiểm tra này bao gồm phân tích từng tham số, biến và trường, kiểm tra các kiểm soát truy cập chức năng và sửa đổi các biến trạng thái cũng như so sánh các chức năng tương tự.
Kiểm toán vĩ mô là để xác định các lỗ hổng toàn cầu bằng cách hiểu hệ thống phân cấp cuộc gọi/hợp đồng của dự án, tìm kiếm vị trí xảy ra các biến trạng thái và chức năng cũng như kiểm tra các tình huống giả định khác nhau.
Ví dụ: nguyên nhân của các lỗ hổng nghiêm trọng thường không giới hạn ở một chức năng đơn lẻ mà có thể do tương tác không chính xác giữa nhiều chức năng nằm trong các phần khác nhau của mã.
Chúng tôi đã đề cập ở trên kiểm tra kiến trúc và "danh sách kiểm tra bảo mật" bắt nguồn từ kết quả mô hình hóa mối đe dọa và quy trình kiểm tra thủ công cũng sẽ đề cập đến những kết quả này.
Trong quá trình kiểm tra mã thủ công, kiểm toán viên sẽ có quan điểm của cả tin tặc và nhà phát triển. Tư duy của hacker sẽ được sử dụng để tìm các lỗ hổng tiềm ẩn có thể bị khai thác, trong khi tư duy của nhà phát triển sẽ được sử dụng để xác minh việc thực thi và xác định các thiếu sót trong mã, chẳng hạn như sử dụng gas không hiệu quả và thiếu mô-đun mã.
Chúng tôi cũng kết hợp thử nghiệm đơn vị vào kiểm toán của con người khi cần thiết.
Thử nghiệm đơn vị là một đánh giá bảo mật phù hợp với từng đặc điểm riêng của dự án, bao gồm xác minh rằng các thành phần của dự án phản hồi chính xác với đầu vào, đầu ra và trường hợp cạnh cụ thể.
Nếu các bài kiểm tra đơn vị chạy thành công, điều đó có nghĩa là mã thực sự hoạt động theo thông số kỹ thuật dự kiến.
Đối với các dự án lớn, CertiK sẽ bố trí nhiều chuyên gia đánh giá thực hiện đánh giá theo nhóm, lập kế hoạch đánh giá và phân công trách nhiệm tương ứng, tổ chức các cuộc họp định kỳ để thảo luận về tiến độ và kết quả đánh giá và phối hợp với nhau khi cần thiết. Ngoài ra, một kênh liên lạc thuận tiện sẽ được thiết lập giữa dự án và nhóm kiểm toán, để trao đổi về nội dung kiểm toán dự án ngay từ đầu.
Phương pháp kiểm toán của CertiK tích hợp các kỹ thuật bảo mật, bao gồm phân tích tĩnh, xác minh chính thức và kiểm toán của con người, để đảm bảo tính bảo mật cho cơ sở mã của dự án. Cách tiếp cận toàn diện này giảm thiểu rủi ro vi phạm bảo mật, giúp các dự án hoàn toàn tin tưởng vào tính chính xác và bảo mật của mã của họ.
Báo cáo kiểm tra và sửa lỗi mã
Báo cáo kiểm tra của chúng tôi cung cấp phân tích chi tiết về trạng thái bảo mật của dự án, bắt đầu bằng mô tả về loại dự án, hệ sinh thái và phạm vi kiểm tra. Các báo cáo này giải thích phương pháp luận và phương pháp kiểm tra mà chúng tôi sử dụng để đánh giá mức độ an toàn của dự án.
Để người đọc dễ hiểu hơn về xếp hạng an toàn và thuật ngữ trong báo cáo, trong phần phụ lục của báo cáo, chúng tôi cung cấp các định nghĩa và thông tin khác về cuộc kiểm tra, bao gồm các biểu đồ và ghi chú của kiểm toán viên. Các thử nghiệm cụ thể được thực hiện (chẳng hạn như xác minh chính thức) sẽ được đề cập cụ thể trong báo cáo, giải thích quá trình thực hiện và kết quả cuối cùng.
Mỗi “Phát hiện” rủi ro mà chúng tôi cung cấp bao gồm việc xác định, phân loại và đưa ra khuyến nghị đối với các vấn đề phát hiện trong dự án, cũng như giải thích chi tiết về các nội dung này.
Mỗi "Tìm kiếm" rủi ro được khai thác bao gồm một tiêu đề và dữ liệu như danh mục, mức độ nghiêm trọng, vị trí tệp và trạng thái giải quyết.
Bốn phần tiếp theo nêu chi tiết chính xác các cân nhắc về bảo mật:
Mô tả: Xác định bối cảnh của lỗ hổng rủi ro và phác thảo tác động bảo mật của nó.
Kịch bản: Giới thiệu các bước và điều kiện tiên quyết kích hoạt lỗ hổng bảo mật hoặc gây ra lỗi dự án.
Proof of Concept: Chứa tập lệnh khai thác và hướng dẫn, cũng như đầu ra nhật ký dự kiến để tái tạo lỗ hổng ở phía máy khách.
Khuyến nghị: Tóm tắt tất cả các phát hiện bằng cách cung cấp các giải pháp hoặc bản sửa lỗi khả thi.
Những phần này cung cấp thông tin chi tiết và có mục tiêu để người đọc hiểu.
Trong giai đoạn sửa chữa, nhóm dự án sẽ tiếp tục liên lạc với nhóm kiểm toán để cải thiện hơn nữa tính bảo mật của dự án.
Báo cáo đánh giá ban đầu được cấp cho nhóm dự án, nhóm này sau đó có thể phản hồi bằng các bản cập nhật mã nguồn hoặc nhận xét. Chúng tôi sẽ cập nhật kết quả đánh giá dựa trên phản hồi do nhóm dự án gửi và lưu ý những thay đổi mà họ đã thực hiện đối với mã trong báo cáo đánh giá cuối cùng.
viết ở cuối
viết ở cuối
Ngoài dịch vụ kiểm toán, các kỹ sư bảo mật của CertiK còn có kỹ năng đa lĩnh vực trong ứng phó sự cố đe dọa, nghiên cứu bảo mật, xuất bản phân tích công nghệ giáo dục, tham gia hội nghị, thi cờ và đào tạo nội bộ. hiểu biết về lĩnh vực bảo mật và hiểu biết sâu sắc về các tiêu chuẩn ngành mới nhất và các phương pháp hay nhất thông qua giáo dục và nghiên cứu liên tục.
Kiểm toán của CertiK có một số tính năng chính giúp phân biệt dịch vụ này với các dịch vụ kiểm toán khác:
① Môi trường tùy chỉnh của chúng tôi cho phép các chuyên gia kiểm toán chạy các công cụ độc quyền và thử nghiệm tùy chỉnh. Điều này sẽ đảm bảo rằng an ninh của dự án được kiểm tra kỹ lưỡng và toàn diện.
② Trình độ chuyên môn của các chuyên gia kiểm toán của chúng tôi có thể đảm bảo rằng kiểm toán thủ công có thể thực hiện kiểm tra mã chi tiết ở mức cao nhất. Vì vậy, chúng tôi có thể phát hiện ra các lỗ hổng tiềm ẩn ngay cả trong các cơ sở mã phức tạp nhất.
③ Báo cáo kiểm toán của CertiK được tùy chỉnh hoàn toàn để cung cấp các giải pháp rủi ro cho nhóm dự án. Các nhà phát triển dự án có thể đạt được các bước khả thi để giải quyết các rủi ro và lỗ hổng, cải thiện tính bảo mật tổng thể của dự án.
Mục đích của Dịch vụ Kiểm toán CertiK là cung cấp đánh giá bảo mật toàn diện cho mã của dự án. Do đó, điều này có nghĩa là mặc dù mã dự án đã nhận được đánh giá bảo mật cơ bản, nhưng cũng rất cần các giải pháp bảo mật của CertiK để tăng cường bảo mật hơn nữa.
Giải pháp bảo mật đầu cuối của CertiK bao gồm thử nghiệm thâm nhập, tiền thưởng lỗi và các dịch vụ thử nghiệm bổ sung để đảm bảo hơn nữa tính bảo mật của các dự án.
Hệ thống SkynetSkynetVà phản ứng sự cố mối đe dọa 24*7 có thể cung cấp cho các dự án khả năng giám sát trên chuỗi để ngăn chặn các mối đe dọa và khai thác độc hại.
bảng xếp hạng an toànvà nhóm dự án Web3.0thẩm định KYCCó thể cải thiện tính minh bạch và tin tưởng của cộng đồng.
Giải pháp bảo mật đầu cuối của CertiK không chỉ cung cấp bảo mật toàn diện cho các dự án trong môi trường vận hành tĩnh và trên chuỗi, mà còn tạo dựng niềm tin trong cộng đồng, cho phép người dùng hiểu rõ hơn về rủi ro của các dự án mà họ đang tương tác— — Đây là tại sao chúng tôi công khai báo cáo kiểm toán của mình.
Nhiệm vụ của chúng tôi là cải thiện các tiêu chuẩn bảo mật và tính minh bạch trong ngành công nghiệp Web 3.0, một số trong đó được phản ánh trong bài viết này. Chúng tôi hy vọng tương lai của Web3.0 sẽ lành mạnh và an toàn, đồng thời chúng tôi sẽ từng bước giúp nó đạt được mục tiêu này.


