Với sự phổ biến của blockchain, ngày càng có nhiều người dùng thực hiện giao dịch trên Lớp 1 và các vấn đề về tốc độ giao dịch Lớp 1 chậm hơn và phí giao dịch cao hơn dần trở nên nổi bật. Trong trường hợp như vậy, Layer2 được cho rằng giải pháp nhằm nâng cao mở rộng và hiệu suất của nền tảng blockchain mà không ảnh hưởng đến đặc tính bảo mật và phi tập trung của Lớp 1. Theo thống kê của L2BEAT, tổng giá trị khóa của hệ sinh thái Layer2 hiện đạt 39,5 tỷ USD, bao gồm nhiều công nghệ và framework có đặc điểm độc đáo.
(https://l2beat.com/scaling/summary)
Sau nhiều năm nghiên cứu bảo mật và chiến đấu thực tế, đội ngũ bảo mật SlowMist đã tích lũy được lượng lớn kinh nghiệm trong kiểm toán bảo mật mainnet chuỗi công khai và công nghệ khai thác lỗ hổng chuyên sâu, đồng thời đã tiết lộ phương pháp kiểm toán bảo mật mainnet của chúng tôi cho toàn ngành, hy vọng cùng nhau tạo ra một hệ sinh thái blockchain an toàn tốt hơn.
Không có giới hạn nào về bảo mật và các giải pháp kiểm toán cần theo kịp thời đại và liên tục đáp ứng nhu cầu của ngành. Đội ngũ bảo mật SlowMist tiếp tục chú ý đến xu hướng phát triển của ngành, hiểu các vấn đề bảo mật nổi bật trong hệ sinh thái blockchain hiện tại và nhu cầu bảo mật của người dùng là gì và sử dụng điều này làm cơ sở để xây dựng và tối ưu hóa kiểm toán bảo mật các kế hoạch. Gần đây, đội ngũ bảo mật SlowMist đã kịp thời nâng cấp hướng dẫn kiểm toán bảo mật chuỗi công khai dựa trên sự phát triển hiện tại của chuỗi công khai và Layer2. Kế hoạch kiểm toán bảo mật cụ thể như sau:
Giải pháp 1 Kiểm toán bảo mật dự án Mainnet& Layer2
Trong quá kiểm toán bảo mật của dự án mainnet& Layer2 , đội ngũ bảo mật SlowMist đã áp dụng chiến lược "hộp đen + hộp xám" để tiến hành kiểm tra bảo mật nhanh chóng cho dự án theo cách gần nhất với các cuộc tấn công thực tế. Các lỗ hổng mà chúng tôi đã kiểm tra bao gồm:
Entropy số ngẫu nhiên private key không đủ
Mất độ chính xác khi chuyển đổi hạt giống private key
Đánh giá độ tin cậy về mặt lý thuyết của các thuật toán crypto đối xứng
Thuật toán crypto đối xứng dựa vào thư viện để bảo mật Chuỗi cung ứng
Phát hiện cường độ crypto kho khóa
Tấn công mở rộng độ dài thuật toán băm
Đánh giá độ tin cậy lý thuyết của thuật toán băm
Đánh giá độ tin cậy lý thuyết của thuật toán chữ ký
bảo mật ngẫu nhiên giá trị k secp256k1
secp256k1 r tái sử dụng giá trị tấn công trích rút private key
Các cuộc tấn công dẻo vào chữ ký ECC
cuộc tấn công rút private key ed25519
Tấn công rút private key Schnorr
Tấn công đường cong ECC
Tấn công dẻo cây Merkle (CVE-2012-2459)
Tính năng nạp tiền Nạp tiền sai
Nạp tiền sai dựa trên cuộc gọi hợp đồng
Tấn công phát lại giao dịch Chuỗi Protogen
Tấn công phát lại giao dịch xuyên Chuỗi
tấn công khóa giao dịch
Phí giao dịch không được điều chỉnh linh hoạt
Tấn công trộm chìa khóa từ xa RPC
Nhận dạng cổng RPC
Lỗ hổng tên miền chéo mở RPC dẫn đến các cuộc tấn Phishing cục bộ
Tấn công từ chối dịch vụ gói không đúng định dạng JsonRPC
Tiêm cơ sở dữ liệu RPC
Crypto truyền thông RPC
Đặc quyền quản trị viên quá mức
Kiểm toán không riêng tư/không phải darkcoin
Không đủ số lượng nút lõi
Vị trí vật lý của nút lõi quá tập trung
Giới hạn số lượng kết nối tối đa cho nút P2P
Hạn chế kết nối IP độc lập nút P2P
Giới hạn kết nối vào/ra P2P
Tấn công biến hình P2P
Crypto truyền thông P2P
Nhận dạng cổng P2P
Đánh giá rủi ro tiềm ẩn đánh giá các thuật toán đồng thuận
Tấn công bù đắp thời gian khối
Cuộc tấn công nghiền thợ đào mỏ
Hình phạt chữ ký kép PoS/BFT
Tùy chọn 2 Kiểm kiểm toán bảo mật mã nguồn
Kiểm toán bảo mật mã nguồn đề cập đến việc sử dụng chiến lược "hộp trắng" để tiến hành kiểm tra bảo mật toàn diện nhất đối với mã nguồn có liên quan của dự án. Kiểm toán hộp trắng thường yêu cầu kết hợp phân tích mã tĩnh tự động và phân tích thủ công.
Phân tích mã nguồn tĩnh
Đội ngũ bảo mật SlowMist sử dụng các công cụ quét mã thương mại hoặc mã nguồn mở để quét mã tĩnh và phân tích thủ công các vấn đề được tìm thấy. Chúng tôi hỗ trợ tất cả các ngôn ngữ phổ biến, chẳng hạn như C/C++/Golang/Rust/Java/Nodejs/C#. Các vấn đề về mã hóa tĩnh mà chúng tôi kiểm tra bao gồm:
Biến hoặc nhập không được sử dụng – biến hoặc mô-đun đã nhập được khai báo nhưng không được sử dụng
Các vấn đề về định dạng mã – thụt lề không nhất quán, độ dài dòng quá dài, v.v.
Tài nguyên không được đóng đúng cách – chẳng hạn như tệp, kết nối cơ sở dữ liệu, v.v. không được đóng
Những con số kỳ diệu – sử dụng hằng số thay vì hằng số được đặt tên
Lỗ hổng bảo mật tiềm ẩn – chẳng hạn như SQL SQL, XSS và các rủi ro bảo mật khác
Tràn số nguyên – có thể gây ra hành vi không mong muốn khi kết quả của phép tính vượt quá phạm vi của loại số nguyên
Các vấn đề về độ chính xác của dấu phẩy động – có thể xảy ra lỗi tính toán do hạn chế trong cách biểu diễn dấu phẩy động
Bế tắc - Trong lập trình đa luồng, các luồng bị kẹt chờ nhau giải phóng tài nguyên.
Điều kiện chạy đua – Trong hoàn cảnh đa luồng hoặc đồng thời, hoạt động của chương trình phụ thuộc vào thứ tự thực hiện không thể kiểm soát được.
Rò rỉ bộ nhớ – bộ nhớ được cấp phát động không được giải phóng chính xác, khiến bộ nhớ mà chương trình chiếm giữ tiếp tục tăng
Đệ quy vô hạn – hàm đệ quy không có điều kiện kết thúc chính xác, gây tràn ngăn xếp
Lỗ hổng định dạng chuỗi – Định dạng chuỗi không an toàn có thể dẫn đến các vấn đề bảo mật
Lỗi chia cho số 0 - Không kiểm tra xem số chia có bằng 0 trong khi thực hiện phép chia hay không
Vô hiệu hóa con trỏ null – cố gắng truy cập vào vị trí bộ nhớ được trỏ bởi một con trỏ null
Tràn bộ đệm – ghi dữ liệu vào bộ đệm vượt quá dung lượng của nó, có khả năng dẫn đến lỗ hổng bảo mật
Lỗi chuyển đổi loại – Chuyển đổi loại không đúng cách có thể dẫn đến mất dữ liệu hoặc kết quả không chính xác
Khóa mã hóa cứng hoặc thông tin nhạy cảm – Viết khóa hoặc thông tin nhạy cảm trực tiếp vào mã có thể dẫn đến rủi ro bảo mật
Độ phức tạp của mã quá cao – hàm hoặc phương pháp quá dài và có quá nhiều nhánh logic
Sao chép mã - các đoạn mã giống nhau hoặc tương tự xuất hiện ở nhiều nơi
Đặt tên không đều đặn – đặt tên không rõ ràng hoặc không nhất quán cho các biến, hàm, lớp, v.v.
Nhận xét không đầy đủ hoặc lỗi thời – Thiếu các nhận xét cần thiết hoặc nhận xét không khớp với mã
Mức độ ghép nối cao – sự phụ thuộc phức tạp giữa mô-đun, gây khó khăn cho việc duy trì và mở rộng
Tính gắn kết thấp – các chức năng của mô-đun hoặc lớp không đủ tập trung và trách nhiệm không rõ ràng
Xử lý ngoại lệ không đúng cách – bắt các ngoại lệ quá rộng hoặc bỏ qua các ngoại lệ
Mã hóa cứng – sử dụng các giá trị không đổi trực tiếp trong mã thay vì tham số cấu hình
Định dạng mã không nhất quán – thụt lề không nhất quán, sử dụng khoảng trắng, v.v.
Các vấn đề về hiệu suất - chẳng hạn như các vòng lặp không cần thiết, việc tạo đối tượng thường xuyên, v.v.
Khả năng kiểm thử kém – mã khó kiểm thử đơn vị hoặc kiểm thử tích hợp
Vi phạm các nguyên tắc thiết kế – như nguyên tắc trách nhiệm duy nhất, nguyên tắc đóng mở, v.v.
Khả năng đọc kém – cấu trúc mã khó hiểu và khó hiểu
Tạo số ngẫu nhiên không an toàn – sử dụng phương pháp tạo số ngẫu nhiên không phù hợp cho mục đích bảo mật
Các vấn đề về thời gian và trạng thái – chẳng hạn như lỗ hổng TOCTOU (Time-of-check to time-of-use)
Truyền tải đường dẫn – Đường dẫn tệp không được xác thực chính xác, có khả năng dẫn đến truy cập tệp trái phép
Thư viện phụ thuộc lỗi thời – giới thiệu các thư viện đã mất khả năng bảo trì hoặc có lỗ hổng bảo mật
Xem xét mã thủ công
Đội ngũ bảo mật SlowMist kiểm tra từng dòng mã để tìm lỗi mã hóa và lỗi logic. Phạm vi lỗ hổng mà chúng tôi tập trung chủ yếu bao gồm:
Bảo mật chữ ký crypto
Bảo mật tài khoản và giao dịch
Bảo mật RPC
Bảo mật P2P
Bảo mật đồng thuận
Bảo mật logic việc kinh doanh
Giải pháp 3: Kiểm toán bảo mật Chuỗi ứng dụng
Đội ngũ bảo mật SlowMist áp dụng chiến lược "hộp trắng" để tiến hành kiểm tra bảo mật toàn diện cho dự án và tìm kiếm các bẫy mã hóa phổ biến, chẳng hạn như:
Phát lại lỗ hổng
Sắp xếp các lỗ hổng
Lỗ hổng điều kiện cuộc đua
Lỗ hổng kiểm soát quyền
Chặn lỗ hổng phụ thuộc dữ liệu
Chức năng hiển thị rõ ràng
Lỗ hổng thiên vị chính xác số học
Nhật ký sự kiện độc hại
An toàn cuộc gọi không đồng bộ
Hiện nay chúng tôi hỗ trợ:
Kiểm toán blockchain dựa trên khung Cosmos -SDK
Kiểm toán blockchain dựa trên khung Substrate
Phần kết luận
Trong vài năm qua, gần một trăm dự án chuỗi công khai có tiếng đã vượt qua các loại kiểm toán an ninh chuỗi công khai khác nhau của SlowMist , chẳng hạn như Prysm, TON, Mantle, Vision Network, Metis, Acala, Eden, v.v. SlowMist cũng đã kiểm toán nhiều dự án Layer2 có tiếng , như Morph, Bitlayer, Merlin Chain, RSS3 Network, v.v. Các bên tham gia dự án có nhu cầu kiểm toán vui lòng liên hệ với đội ngũ bảo mật SlowMist theo địa chỉ team@slowmist.com để được tư vấn và hợp tác.![]()
Nội dung hoàn chỉnh đã được mã nguồn mở trên GitHub (https://github.com/slowmist/Cryptocurrency-Security-Audit-Guide). Chào mừng bạn nhấn để đọc văn bản gốc và chuyển đến GitHub để đọc.





