BTC
ETH
HTX
SOL
BNB
Xem thị trường
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Khóa học Bảo mật Cổng 03|Gate & GoPlus: Làm thế nào để hiểu báo cáo kiểm toán và phát hiện lỗ hổng hợp đồng

大门安全课
特邀专栏作者
Bài viết này có khoảng 6534 từ, đọc toàn bộ bài viết mất khoảng 10 phút
Gate đặc biệt lên kế hoạch cho chuyên mục "Khóa học Bảo mật Cổng", giải đáp chuyên sâu về các vấn đề bảo mật tiền mã hóa khác nhau. Chúng tôi xuất phát từ những trường hợp thực tế nhất xảy ra xung quanh người dùng, kết hợp với các tổ chức chuyên môn trong lĩnh vực bảo mật, chia sẻ kép từ hai góc độ nền tảng và bên bảo mật, sắp xếp các quy tắc bảo mật từ nông đến sâu, đồng thời phổ biến giáo dục bảo mật cho người dùng, giúp người dùng bắt đầu xây dựng từ chính bản thân một phòng tuyến thực sự hiệu quả.
Tóm tắt AI
Mở rộng
  • Quan điểm cốt lõi: Bảo mật là một quá trình động và liên tục chứ không phải là chứng nhận kiểm toán một lần, báo cáo kiểm toán chỉ phản ánh trạng thái hợp đồng tại một thời điểm cụ thể, không thể bao quát các rủi ro nâng cấp, thay đổi quyền hạn và phụ thuộc bên ngoài sau đó, ngành cần chuyển hướng sang bảo mật liên tục trong toàn bộ vòng đời.
  • Yếu tố then chốt:
    1. Kiểm toán truyền thống tồn tại bốn điểm thất bại mang tính cấu trúc: kiểm tra dạng ảnh chụp nhanh, không thể dự đoán các phương thức tấn công mới, phụ thuộc bên ngoài mất kiểm soát, các hợp đồng cũ tập trung bộc lộ lỗ hổng, các hợp đồng đã上线 nhiều năm như Balancer, Yearn vẫn bị đào ra hàng loạt lỗ hổng sâu.
    2. Lạm dụng quyền hạn thường xảy ra trong giai đoạn vận hành, quyền Owner quá lớn, rò rỉ khóa riêng tư, quản lý đa chữ ký không đúng cách và các thao tác hợp pháp ở cấp độ mã nguồn, báo cáo kiểm toán không thể ràng buộc ý định của bên dự án.
    3. Công cụ tự động hóa khiến tấn công từ nghiên cứu thủ công của chuyên gia chuyển thành dây chuyền, ngưỡng đào lỗ hổng giảm đáng kể, bên phòng thủ cần sử dụng công cụ hiệu quả tương đương để đối kháng, và có ba lợi thế: tiên phong, chi phí, lãi kép kiến thức.
    4. Bảo mật tự lưu trữ trên chuỗi bằng bảo mật khóa riêng tư cộng với bảo mật hợp đồng, người dùng là người chịu trách nhiệm duy nhất; bảo mật lưu trữ sàn giao dịch bằng bảo mật nền tảng cộng với bảo mật tài khoản, bảo mật kỹ thuật thuê ngoài nhưng cần đảm bảo thói quen tài khoản.
    5. Gate thực hiện kiểm duyệt niêm yết, tuyên bố không làm điều xấu, kiểm toán định kỳ và giám sát trên chuỗi, két sắt sử dụng MPC cộng với chữ ký 2-of-3 và bộ đệm trì hoãn chuyển khoản 48 giờ.
    6. Báo cáo kiểm toán đầy đủ nên bao gồm bốn yếu tố: điểm bảo mật, phát hiện chính, chi tiết vấn đề, đề xuất khắc phục, và làm rõ mục tiêu kiểm toán và giới hạn phạm vi, tránh để người đọc đánh giá sai ranh giới bao quát.
    7. Người dùng thông thường có thể thực hiện sáu hành động tăng cường: kiểm tra Token trước giao dịch, định kỳ dọn dẹp ủy quyền, tăng cường 2FA tài khoản, chống lừa đảo, lưu trữ tài sản theo tầng, quan tâm đến thái độ bảo mật của dự án.

Bảo mật là một trạng thái động, chứ không phải một tờ chứng nhận. Trong số các dự án bị hack năm nay, không ít dự án đã được kiểm toán, thậm chí một số còn được kiểm toán nhiều lần. Điều này không có nghĩa là kiểm toán không có giá trị, mà chỉ cho thấy những gì kiểm toán có thể trả lời hẹp hơn nhiều so với suy nghĩ của phần lớn mọi người.

Một báo cáo kiểm toán mô tả một phiên bản cụ thể mà một nhóm cụ thể đã xem xét vào một ngày cụ thể. Nhưng hợp đồng có thể được nâng cấp, quyền hạn có thể thay đổi, oracle và cầu nối cross-chain mà dự án phụ thuộc có thể thay đổi, và các phương thức tấn công mới xuất hiện mỗi tuần. Ngay tại thời điểm báo cáo được giao, nó đã bắt đầu lỗi thời. Rắc rối hơn nữa là những hợp đồng cũ được triển khai từ vài năm trước, từng vượt qua kiểm toán một cách suôn sẻ, đang bị quét lại hàng loạt, một hợp đồng đã online nhiều năm có thể bị phát hiện lỗ hổng sâu chỉ trong vòng mười mấy phút.

Đây là kỳ thứ ba của chương trình đặc biệt "Bài học Bảo mật Cổng lớn" do Gate thực hiện. Chúng tôi mời GoPlus Security, nhà cung cấp dịch vụ bảo mật Web3, và đội ngũ bảo mật Gate, từ hai góc nhìn của nhà cung cấp dịch vụ bảo mật và sàn giao dịch, cùng trò chuyện về việc kiểm toán và rà soát lỗ hổng: tại sao dự án đã được kiểm toán vẫn gặp sự cố, nên đọc một báo cáo như thế nào, sàn thực hiện những kiểm tra gì trước và sau khi niêm yết, và người dùng thông thường có thể tự kiểm tra một vòng trước khi ký như thế nào.

Giới thiệu khách mời

Adam, Đối tác của GoPlus: Adam là đối tác của GoPlus, người phụ trách Viện Nghiên cứu Bảo mật.

GoPlus Security đang xây dựng lớp bảo mật phi tập trung đầu tiên cho Web3 và AI, thông qua việc tận dụng blockchain và các giải pháp bảo mật AI tiên tiến, cung cấp cho người dùng các sản phẩm và dịch vụ bảo mật thông minh, hiệu quả và phi tập trung. Từ năm 2022, GoPlus đã đạt được mức tăng trưởng theo cấp số nhân, với lượng gọi API hàng ngày đạt 30 triệu lần, giúp người dùng ngăn chặn gần một trăm tỷ USD tổn thất tiềm ẩn.

Đội ngũ bảo mật Gate: Bộ phận bảo mật của Gate chịu trách nhiệm xây dựng hệ thống bảo mật tài khoản, giao dịch và tài sản của nền tảng, đồng thời cũng xử lý lâu dài các khiếu nại và yêu cầu hỗ trợ điều tra về tài khoản bất thường của người dùng.

Gate được thành lập vào năm 2013, là sàn giao dịch đầu tiên trong ngành triển khai chứng minh dự trữ 100%, hiện phục vụ hơn 60 triệu người dùng trên toàn cầu. Bảo mật là tiền đề để mô hình kinh doanh này có thể tồn tại, chúng tôi hy vọng thông qua "Bài học Bảo mật Cổng lớn" có thể giải thích rõ ràng cơ chế chung đằng sau những rủi ro thực sự này.

Q1. Tại sao nhiều dự án vẫn bị hack, vẫn xảy ra lạm dụng quyền hạn sau khi đã vượt qua kiểm toán?

Adam, Đối tác của GoPlus: "Một lần kiểm toán" không đồng nghĩa với "luôn luôn an toàn", dịch vụ kiểm toán hợp đồng truyền thống hiện nay tồn tại bốn điểm thất bại mang tính cấu trúc:

1) Kiểm tra dạng ảnh chụp nhanh. Kiểm toán về bản chất là việc kiểm tra bán thủ công của kỹ sư kiểm toán tại một thời điểm nhất định, hiệu quả phụ thuộc vào chất lượng công cụ, trình độ cá nhân, trạng thái làm việc. Nhưng mã hợp đồng có thể được nâng cấp, quyền quản lý có thể thay đổi, cấu hình tham số có thể được điều chỉnh, kể từ thời điểm báo cáo kiểm toán một lần được giao, nó đã "lỗi thời".

2) Không thể dự đoán tương lai. Các loại lỗ hổng mới, phương thức tấn công mới xuất hiện liên tục, kiểm toán trong quá khứ không thể bao phủ rủi ro tương lai.

3) Phụ thuộc bên ngoài mất kiểm soát. Các dự án thường phụ thuộc vào oracle, cầu nối cross-chain, giao thức bên thứ ba, những thay đổi rủi ro của các yếu tố phụ thuộc này nằm ngoài phạm vi kiểm toán truyền thống.

4) Hợp đồng cũ bùng nổ tập trung. Những hợp đồng được triển khai từ vài năm trước, "đã được kiểm toán" vào thời điểm đó, đang bị các công cụ tự động đào lại lỗ hổng hàng loạt, ví dụ như các lỗ hổng sâu của Balancer, Yearn mà đã online chính thức nhiều năm vẫn không bị phát hiện.

Về lạm dụng quyền hạn, nó chủ yếu xảy ra ở giai đoạn vận hành chứ không phải bản thân mã hợp đồng, nguyên nhân bao gồm: quyền Owner quá lớn (có thể tự do phát hành thêm, đưa vào danh sách đen, tạm dừng giao dịch), rò rỉ khóa riêng của quản trị viên, quản lý đa chữ ký không đúng cách, đề xuất độc hại và tấn công quản trị…… đây đều là những vấn đề bảo mật dễ xảy ra ở giai đoạn vận hành. Ngay cả khi báo cáo kiểm toán đã đánh dấu rủi ro quyền hạn, sau đó ai sẽ theo dõi? Việc vận hành có an toàn, hợp lý hay không đều không thể giải đáp.

Hợp đồng online sau khi kiểm toán chỉ là điểm khởi đầu của công việc bảo mật, chứ không phải điểm kết thúc. Điều dự án cần là bảo mật liên tục bao phủ toàn bộ vòng đời hợp đồng, chứ không phải một báo cáo kiểm toán một lần.

Đội ngũ bảo mật Gate: Kiểm toán có thể cho người dùng biết mã có thể làm gì, nhưng không thể cho người dùng biết dự án định làm gì.

Đây là điều chúng tôi cảm nhận sâu sắc nhất trong những năm làm công tác xét duyệt niêm yết. Gốc rễ của nhiều sự cố nằm ở ý định của dự án. Một hợp đồng có thể hoàn toàn tuân thủ về mặt kỹ thuật, thiết kế quyền của chủ sở hữu cũng nằm trong phạm vi bình thường, nhưng dự án vẫn có thể chọn một thời điểm để sử dụng những quyền này: thay đổi quy tắc giao dịch, mở danh sách đen, phát hành thêm token. Những hành động này ở cấp độ mã đều hợp pháp, báo cáo kiểm toán cũng sẽ không đánh dấu là lỗ hổng, vì chúng vốn là một phần của thiết kế.

Vì vậy ngoài kiểm toán kỹ thuật còn phải có một lớp ràng buộc. Cách làm của Gate là thực hiện sàng lọc và xét duyệt dự án nghiêm ngặt ở khâu niêm yết, đồng thời ký tuyên bố không làm điều ác với dự án, sau đó giám sát việc thực hiện. Lớp này giải quyết phần mà kiểm toán không thể giải quyết: mã không có lỗ hổng, không có nghĩa là đội ngũ này sẽ không đưa ra lựa chọn gây tổn hại cho người dùng.

Đối với các dự án đã niêm yết, chúng tôi sẽ thực hiện kiểm toán bảo mật định kỳ, đồng thời sử dụng giám sát sự kiện on-chain để theo dõi trạng thái hợp đồng, người dùng cũng có thể tra cứu các mục rủi ro hiện tại của một hợp đồng bất cứ lúc nào.

Q2. Vì một lần kiểm toán không đồng nghĩa với luôn an toàn, dự án và toàn ngành nên điều chỉnh như thế nào?

Đội ngũ bảo mật Gate: Ngành crypto có một đặc điểm cấu trúc: phần lớn nghiệp vụ, đặc biệt là DeFi, có mô hình vận hành gần giống tài chính mô-đun. Các nền tảng được xây dựng từ các thành phần chia sẻ, hợp đồng, thư viện phần mềm, ví, oracle giá, cầu nối cross-chain, nhà cung cấp dịch vụ kết nối, giao diện web, và hệ thống dùng để đẩy bản cập nhật.

Vì vậy ngoài việc hợp đồng của mình có an toàn hay không, câu hỏi quan trọng hơn là từng mắt xích phụ thuộc có còn đáng tin cậy hay không. Khi một thành phần nào đó ở thượng nguồn gặp sự cố, tổn thất sẽ lan truyền xuống theo chuỗi. Nhìn lại những cuộc tấn công lớn, vấn đề thường nằm ở mắt xích sớm hơn cả logic giao thức: nhà cung cấp, công cụ phát triển, cách phần mềm tiếp cận người dùng, hoặc quy trình người dùng phê duyệt chuyển tiền.

Adam, Đối tác của GoPlus: Mô hình tấn công mà hacker sử dụng công cụ tự động để khai thác lỗ hổng một cách hiệu quả đã hình thành và lan rộng nhanh chóng, tấn công đã chuyển từ "chuyên gia nghiên cứu thủ công" sang "dây chuyền". Nếu tư duy của ngành vẫn dừng ở việc "tìm công ty kiểm toán ra một báo cáo trước khi online", hoặc phát hiện rủi ro rồi mới tìm công ty bảo mật để "vá lại", thì giống như dùng cung tên đối đầu với súng máy. Dùng công cụ hiệu quả tương tự để đối phó với tấn công, mới là con đường duy nhất hiệu quả.

Hướng điều chỉnh ở cấp độ ngành là nâng cấp từ "kiểm toán một lần" hoặc "tìm chuyên gia sau khi có vấn đề" lên "bảo mật liên tục toàn vòng đời". Lấy ví dụ "bộ ba bảo mật hợp đồng" của GoPlus DeepScan, đây là một vòng khép kín có thể triển khai:

Trước khi online, tự kiểm tra bảo mật Token: kiểm tra nhanh trong vài phút các rủi ro backdoor như bẫy hút máu/bẫy mật, phát hành thêm độc hại (Mint), danh sách đen, thuế giao dịch bất thường, quyền Owner;

Khi online, kiểm toán hợp đồng AI: phân tích sâu mã nguồn, quản lý quyền hạn và logic nghiệp vụ, quét lỗ hổng ở tầng cú pháp và tầng logic nghiệp vụ, giao báo cáo kiểm toán có cấu trúc;

Sau khi online, giám sát bảo mật liên tục và kiểm tra định kỳ: theo dõi thời gian thực thông tin lỗ hổng mới, sự kiện tấn công và rủi ro phụ thuộc bên ngoài (oracle, cầu nối cross-chain, giao thức bên thứ ba), liên tục đánh giá dự án có bị ảnh hưởng hay không, cảnh báo thường xuyên. Định kỳ kiểm tra bảo mật hợp đồng, kiểm toán liên tục.

Q3. Trong hai năm qua, phương thức đào lỗ hổng đã thay đổi như thế nào? Cùng một khoản tài sản, đặt trên chain và đặt trên sàn giao dịch, mô hình bảo mật khác nhau ở đâu?

Adam, Đối tác của GoPlus: Thẳng thắn mà nói, trong ngắn hạn, cách bên tấn công đào lỗ hổng hiện nay đa dạng hơn. Có ba nguyên nhân:

1) Công cụ tự động hóa làm giảm đáng kể ngưỡng đào lỗ hổng, công việc trước đây cần nhà nghiên cứu bảo mật hàng đầu mất vài tuần, giờ đây dây chuyền tấn công có thể chạy xong trong vài phút;

2) Trên chain tích tụ lượng lớn hợp đồng cũ "đã được kiểm toán năm xưa", đối với kẻ tấn công đây là một "mỏ vàng" có trữ lượng khổng lồ;

3) Tấn công là chuyển hóa một chiều, chỉ cần tìm được "một" lỗ hổng là đủ, trong khi bên phòng thủ phải giữ được "tất cả" lỗ hổng.

Hacker đào số tiền này mất vài phút, bên phòng thủ tìm ra cùng lỗ hổng đó thực ra cũng chỉ mất vài phút. Khác biệt chỉ ở chỗ, dự án có sử dụng công cụ đúng cách trước hacker hay không.

Điều then chốt hơn là bên phòng thủ sở h

Sự an toàn
Gate.io
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký:
https://t.me/Odaily_News
Nhóm trò chuyện:
https://t.me/Odaily_GoldenApe
Tài khoản chính thức:
https://twitter.com/OdailyChina