Trong thời điểm hiện tại, các dự án crypto đang rất hấp dẫn với những kẻ tấn công. Đa số các dự án này đang nắm giữ số tiền đáng kể trong khi các hệ thống phòng thủ vẫn chưa được phát triển hoàn chỉnh.
Thật không may, ngay cả việc được kiểm tra bởi một công ty đáng tin cậy cũng không đảm bảo rằng dự án sẽ không bị hack. Đây là lý do tại sao việc xem xét các biện pháp cần thiết để kiểm soát thiệt hại khi một cuộc tấn công đã xảy ra trước là vô cùng quan trọng.
Càng sớm bạn hành động, càng có thể cứu được tài chính của người dùng. Hướng dẫn bảo mật cho dự án crypto này nhấn mạnh các chiến lược phát hiện sớm và phục hồi, đảm bảo rằng dự án của bạn sẽ không bị tấn công một cách nghiêm trọng.
Bảo mật dự án tiền điện tử: Tầm quan trọng của việc phát hiện sớm
Việc chuẩn bị trước cho một cuộc tấn công tiềm năng bắt đầu từ giai đoạn phát triển mã. Việc chuẩn bị một biện pháp phòng ngừa là rất quan trọng; ở đây, bạn phải có khả năng dừng tất cả các hoạt động của giao thức.
Thường xảy ra rằng trong một cuộc tấn công, chỉ có một phần số tiền sẵn có được lấy đi. Với các cơ chế như vậy, một giao thức sẽ bị tạm dừng trong một cuộc tấn công. Điều này có thể giúp bảo vệ các tài sản còn lại; sau cuộc tấn công, sẽ có thời gian để tái thiết dự án.
Các cơ chế phải được thiết lập một cách không làm mất tính phi tập trung của dự án. Nếu không, sẽ mở ra khả năng dừng lại và rút tiền từ giao thức, tạo điều kiện cho một hành động lừa đảo.
Nhiều token có tính năng blacklisting. Nếu một kẻ tấn công không thể rút tiền kịp thời, có khả năng chặn số tiền của họ. Điều này đã xảy ra nhiều lần trong các cuộc tấn công trước đây. Ví dụ, USDT đã chặn tài khoản của một kẻ tấn công, ngăn họ chi tiêu số USDT bị đánh cắp.
Đó là lý do tại sao hệ thống theo dõi dự án là rất quan trọng. Vụ tấn công vào dự án tiền điện tử nổi tiếng nhất trong lịch sử chỉ được biết đến bởi chủ sở hữu của giao thức Ronin sau sáu ngày. Một người dùng không thể rút tiền từ giao thức đã thông báo cho họ. Thời gian này đã đủ cho những kẻ tấn công che đậy mọi dấu vết của vụ tấn công.
Một ví dụ khác, lần này là một ưu điểm, minh chứng cho một phản ứng kịp thời đối với vụ tấn công. Sau vụ tấn công vào PolyNetwork, 30 triệu USD tiền Tether đã bị chặn, địa chỉ của hacker đã bị đưa vào danh sách đen vài phút trước khi họ rút tiền qua giao thức Curve.
Dấu hiệu khai thác
Vậy, làm sao để nhận biết một cuộc tấn công? Các cuộc tấn công có thể có nhiều hình thức khác nhau nhưng thường đi kèm với việc di chuyển một lượng tiền lớn thông qua các hợp đồng thông minh của giao thức. Đây là lý do tại sao bất kỳ hoạt động bất thường nào như chuyển tiền hoặc một lượng lớn giao dịch ngay lập tức khiến ta nghi ngờ.
Loại tấn công phổ biến nhất là gian lận giá. Những cuộc tấn công này thường liên quan đến việc sử dụng “flash loan” và dẫn đến nhiều giao dịch token để làm tăng giá của một token cụ thể và sau đó sử dụng nó để xâm nhập vào một giao thức.
Phương pháp tấn công phổ biến khác là tấn công reentrancy. Loại tấn công này cũng liên quan đến nhiều hoạt động trong một giao dịch duy nhất. Tuy nhiên, đặc điểm chính của nó là việc gọi cùng một hợp đồng nhiều lần trong một giao dịch duy nhất.
Rất nhiều lần, hacker gửi giao dịch của mình với mức phí gas cao. Đây là lý do tại sao bất kỳ giao dịch phức tạp nào với mức phí gas cực kỳ cao đều là một dấu hiệu đỏ.
Các dấu hiệu gián tiếp của một cuộc tấn công bao gồm việc giảm giá trị kho lưu trữ (TVL), thay đổi giá của một trong số các tài sản của dự án và rút tiền từ các ví và hợp đồng quản trị.
Cách thiết lập liên lạc với hacker
Giao tiếp với hacker là một cách hiệu quả khác để trả lại số tiền đã bị rút từ giao thức. Trong trường hợp tốt nhất, cuộc tấn công được tiến hành bởi một hacker trắng. Trong tình huống này, hacker có thể liên hệ với chủ dự án.
Thông thường, hacker trắng sẽ trả lại số tiền và giữ một phần nhỏ cho mình như là một khoản thưởng. Đổi lại, đại diện của dự án phải đảm bảo rằng họ sẽ không truy cứu hacker. Xem xét số tiền trung bình bị đánh cắp trong một vụ tấn công, hầu hết hacker đều rất hài lòng với kết quả như vậy.
Để liên hệ với hacker, hầu hết các dự án sẽ sử dụng các mạng xã hội của hacker và thông điệp trên chuỗi (on-chain messages). Thông điệp trên chuỗi cho phép chuyển một số lượng nhỏ token, cùng với văn bản bổ sung.
Việc loại bỏ danh tính của hacker
Sau một cuộc tấn công, mục tiêu chính của bất kỳ hacker nào là rút toàn bộ số tiền đánh cắp một cách ẩn danh. Để che giấu dấu vết, hacker sử dụng các công cụ như mixers, bridges và các phương pháp khác. Tuy nhiên, nếu một hacker mắc lỗi và bị phát hiện danh tính, hoàn toàn có thể theo dõi và bắt giữ họ hoặc sắp xếp trả lại số tiền.
Một ví dụ về điều đó là việc giao tiếp với hacker đã thực hiện cuộc tấn công lớn nhất trong lịch sử hợp đồng thông minh – cuộc tấn công Poly Network mà chúng tôi đã đề cập trước đó. Ngay sau cuộc tấn công, không có dấu hiệu của hacker. Nhưng sau khi hacker rút một phần tiền vào một ví có thể được theo dõi mà đã được sử dụng trên một trong những sàn giao dịch, hacker không còn lựa chọn nào khác ngoài việc bắt đầu trả lại số tiền.
Sau cuộc tấn công thành công, hacker không phản ứng với bất kỳ đề nghị khuyến khích trả lại tiền. Tuy nhiên, một tweet từ tài khoản @wardbradt đã gợi ý rằng hacker đã sử dụng một địa chỉ để rút tiền có khả năng tiết lộ danh tính của họ.
Sau tweet đó, người tấn công haker trở nên muốn giao tiếp hơn. Đầu tiên, họ nói rằng có thể trả lại một phần số tiền đã đánh cắp. Sau đó, hacker đồng ý trả lại toàn bộ số tiền.
Ví dụ này minh họa cách xác định danh tính của hacker giúp trả lại tiền.
Dịch vụ giám sát bên ngoài
Giám sát tấn công cũng có thể được sử dụng để ngăn chặn những cuộc tấn công đang phát triển. Dưới đây là cách một số hệ thống hoạt động. Hệ thống giám sát theo dõi các giao dịch triển khai trên chuỗi và phân tích chúng. Nếu phát hiện một cuộc tấn công, hệ thống sẽ gửi một giao dịch lặn trước để tạm dừng giao thức. Giao dịch này được gửi với mức phí gas cao hơn để tạm ngừng giao thức trước khi cuộc tấn công xảy ra. Kết quả, giao dịch tấn công sẽ thất bại.
Danh sách kiểm tra bảo mật dự án tiền điện tử:
- Đảm bảo mã của bạn đã được kiểm tra thử và được kiểm định bởi một công ty bảo mật đáng tin cậy nhằm giảm thiểu khả năng bị hack.
- Xây dựng một kế hoạch để tạm dừng giao thức trong trường hợp bị hack.
- Thiết lập chương trình thưởng tìm lỗi cho các nhà hack trắng.
- Thiết lập hệ thống giám sát để phát hiện các giao dịch đáng ngờ. Tuy chọn tốt hơn là sử dụng dịch vụ bên ngoài để giám sát giao thức của bạn. Nếu phát hiện một cuộc tấn công, giao thức sẽ được tạm dừng bằng một giao dịch lặn trước để ngăn chặn cuộc tấn công thành công.
- Chuẩn bị một danh sách liên hệ của các công ty bảo mật có thể giúp theo dõi tài sản bị đánh cắp và xác minh danh tính của hacker.
Dự phòng là chìa khóa để bảo mật dự án tiền điện tử
Bảo mật của một giao thức không chỉ nghĩa là việc viết mã đúng, kiểm tra một cách kỹ lưỡng, hoàn thiện việc kiểm tra và tổ chức cuộc thi tìm lỗi phần mềm. Mặc dù tất cả những điều đó giúp giảm rủi ro tấn công, nhưng không đảm bảo chắc chắn rằng dự án tiền điện tử của bạn là an toàn 100%.
Đây là lý do tại sao kế hoạch phòng ngừa phải được phát triển song song với việc phát triển giao thức. Bạn phải biết trước các bước hành động sẽ được thực hiện trong trường hợp xảy ra tấn công. Kế hoạch phòng ngừa giúp tránh mất thời gian quý báu và có thể cứu số tiền bị đánh cắp.
Những câu hỏi thường gặp
Khi nào bạn cần chuẩn bị trước cho một cuộc tấn công?
Trong quá trình phát triển dự án, bạn phải đã xem xét các biện pháp phòng vệ. Bạn phải chuẩn bị các tùy chọn tạm dừng dự án để trong trường hợp bị tấn công, bạn có thể giữ lại ít nhất một phần số tiền.
Loại hình giao tiếp với hacker có gì?
Sau một cuộc tấn công, hacker có thể theo dõi các trang mạng xã hội của dự án, vì vậy bạn nên đăng thông báo bao gồm lời mời liên hệ với chủ sở hữu. Một phương pháp hiệu quả khác là gửi tin nhắn trên chuỗi blockchain đến địa chỉ của hacker.
Làm thế nào để ngăn chặn một cuộc tấn công đang diễn ra?
Có các dịch vụ giám sát phân tích tất cả các giao dịch triển khai trên chuỗi. Nếu hệ thống này phát hiện một cuộc tấn công, nó có thể tạm dừng giao thức, làm cho cuộc tấn công trở nên không thể thực hiện được.