Tác giả gốc:Tác giả gốc:cô sin
, Người sáng lập Công nghệ SlowMist
Cướp DNS (chiếm quyền điều khiển) hẳn đã quá quen thuộc với mọi người.Trong lịch sử, MyEtherWallet, PancakeSwap, SpiritSwap, KLAYswap, Convex Finance, v.v., cũng như CurveFinance ngày nay, đã gặp phải hơn một chục dự án tiền điện tử nổi tiếng. Nhưng nhiều người có thể không nhất thiết phải biết nguyên nhân gốc rễ của việc chiếm quyền điều khiển và quan trọng hơn là cách phòng thủ (từ góc độ của bên dự án và góc độ của người dùng), tôi sẽ chia sẻ ngắn gọn ở đây.
Domain -> IP_REAL
DNS cho phép chúng ta tìm IP tương ứng khi truy cập vào tên miền mục tiêu:
Domain ->Nếu mối quan hệ trỏ này được thay thế bởi kẻ tấn công:
IP_BAD (Được kiểm soát bởi Kẻ tấn công)
Sau đó, kẻ tấn công có thể giả mạo nội dung phản hồi từ máy chủ chứa IP_BAD. Cuối cùng, đối với người dùng, mọi thứ trong miền mục tiêu trong trình duyệt đều có thể có vấn đề.
Việc chiếm quyền điều khiển DNS thực sự được chia thành nhiều khả năng, chẳng hạn có hai loại phổ biến:
Bảng điều khiển tên miền bị tấn công, kẻ tấn công có thể tự ý sửa đổi bản ghi DNS A (trỏ IP về IP_BAD do kẻ tấn công kiểm soát), hoặc trực tiếp sửa đổi Nameservers thành máy chủ DNS do kẻ tấn công kiểm soát;
Thực hiện hành vi chiếm quyền điều khiển trung gian thô bạo trên mạng và buộc tên miền mục tiêu trỏ đến IP_BAD.
Điểm đầu tiên của việc chiếm quyền điều khiển có thể được thực hiện một cách âm thầm, đó là sẽ không có lời nhắc bảo mật nào từ phía trình duyệt của người dùng, vì lúc này, kẻ tấn công có thể cấp chứng chỉ HTTPS hợp pháp khác.
Không thể chiếm quyền điều khiển điểm 2 một cách âm thầm nếu tên miền sử dụng HTTPS và lời nhắc lỗi chứng chỉ HTTPS sẽ xuất hiện nhưng người dùng có thể buộc tiếp tục truy cập, trừ khi tên miền mục tiêu được định cấu hình bằng cơ chế bảo mật HSTS.
Nhấn mạnh: Nếu tên miền của dự án Crypto/Web3 không thực thi HTTPS (có nghĩa là HTTP vẫn có thể được truy cập) và HTTPS không buộc HSTS (HTTP Strict Transport Security) được bật, thì đối với kịch bản chiếm quyền điều khiển ở điểm 2 Nó rất rủi ro. Mọi người hãy mở to mắt và cảnh giác.
Đối với phía dự án, ngoài việc cấu hình hoàn chỉnh HTTPS + HSTS cho tên miền của họ, các kiểm tra bảo mật sau đây có thể được thực hiện thường xuyên:
Kiểm tra xem các bản ghi DNS (A và NS) liên quan đến tên miền có bình thường không;
Kiểm tra xem chứng chỉ hiển thị của tên miền trong trình duyệt có phải do bạn cấu hình hay không;
Kiểm tra xem nền tảng quản lý tên miền có liên quan có bật xác thực hai yếu tố hay không;
Kiểm tra xem nhật ký yêu cầu dịch vụ web và các nhật ký liên quan có bình thường không.
Đối với người dùng, có một số điểm phòng thủ và tôi sẽ giải thích từng điểm một.
http://example[.]com
Đối với các tên miền key, kiên quyết không truy cập dưới dạng HTTP như:
https://example[.]com
Thay vào đó, nó phải luôn ở dạng HTTPS:
Nếu dạng HTTPS, trình duyệt bị lỗi chứng chỉ HTTPS thì kiên quyết không tiếp tục. Điều này ngăn chặn các cuộc tấn công chiếm quyền điều khiển DNS không im lặng.
Đối với tình trạng chiếm quyền điều khiển thầm lặng, cho dù đó là chiếm quyền điều khiển DNS, hoặc máy chủ dự án bị tấn công, tội ác nội bộ, mã giao diện người dùng của dự án bị đầu độc bởi các cuộc tấn công chuỗi cung ứng, v.v., trên thực tế, từ góc độ người dùng, biểu hiện cuối cùng là giống nhau. Sẽ không có bất thường nào ở phía trình duyệt, cho đến khi tài sản của người dùng bị đánh cắp.
Vậy người dùng có thể bào chữa như thế nào trong trường hợp này?
Ngoài việc đề cao cảnh giác trong từng bước thao tác (đặc biệt là thời điểm cần ký xác nhận ví), người dùng cũng cần đề cao cảnh giác.
Tôi đề xuất một tiện ích mở rộng bảo mật trình duyệt rất nổi tiếng trong kỷ nguyên Web2: @noscript (mặc dù Twitter đã không được cập nhật trong một thời gian dài, nhưng tôi rất ngạc nhiên khi thấy rằng trang web chính thức đã được cập nhật và tiện ích mở rộng cũng đã được cập nhật. đã cập nhật), đây là tác phẩm của @ma1.
NoScript mặc định chặn các tệp JavaScript được nhúng.
Nhưng NoScript có một chút làm quen với ngưỡng và đôi khi nó có thể gây phiền nhiễu. Đề xuất của tôi là việc truy cập tên miền quan trọng có thể được thực hiện trên trình duyệt có cài đặt NoScript (chẳng hạn như Firefox) và các trình duyệt khác (chẳng hạn như Chrome).
Đó là thực hành bảo mật tốt để hoạt động trong sự cô lập. Nhiều thứ bạn có thể thấy rườm rà, sau khi chạy xe quen rồi thì mọi chuyện sẽ ổn thôi.
https://curve[.]fi/js/app.ca2e5d81.js
Nhưng đây không phải là cách phòng thủ hoàn hảo (chưa bao giờ có cách phòng thủ hoàn hảo).Ví dụ: trong cuộc tấn công @CurveFinance này, kẻ tấn công đã thay đổi bản ghi DNS A của nó để trỏ đến một IP_BAD, sau đó làm ô nhiễm trang giao diện người dùng:
Mã độc liên quan đến hành vi trộm cắp tiền xu đã được cấy ghép.
Nếu trước đây chúng tôi tin tưởng Curve với NoScript, thì lần này chúng tôi cũng có thể bị lừa.
liên kết gốc