Tin công nghệ › Phần mềm & Web
Chiêu trò giả mạo tên miền quốc tế vẫn qua mặt được trình duyệt lớn
Các nhà nghiên cứu vừa phát hiện lỗ hổng cho phép kẻ gian lập trang web giả mạo tên miền lớn bằng cách lách luật ký tự Unicode. Dù Chromium bảo vệ rất tốt, các trường hợp ngoại lệ với ký tự tự dạng tương đồng vẫn có thể đánh lừa hệ thống.

Khi IETF quyết định cho phép sử dụng các ký tự Unicode trong tên miền, nhiều chuyên gia công nghệ xem đó là một bước đi đáng khen ngợi nhưng cũng ẩn chứa nhiều rủi ro. Hàng trăm ký tự độc nhất có thể trông giống nhau hoặc hoàn toàn giống nhau giữa các bảng chữ cái khác nhau. Điều này có thể bị lợi dụng cho các cuộc tấn công typosquatting, nơi kẻ xấu tạo ra các trang web hoạt động bình thường với địa chỉ web bị cố ý viết sai chính tả nhưng trông hệt như URL thật. Mục đích là để tấn công những người dùng bất cẩn truy cập vào trang web do kết quả tìm kiếm tạo ra khi họ gõ nhầm địa chỉ.
Trình duyệt Chromium sở hữu bộ quy tắc tiên tiến nhất trong việc tìm kiếm và ngăn chặn các tên miền độc hại giả mạo trang web hợp pháp, nhưng ngay cả mã nguồn tốt nhất đôi khi vẫn có những ngoại lệ kỳ lạ, như một bài đăng trên blog từ Have I Been Squatted (HIBS) đã giải thích rất chi tiết.
Sử dụng "аррӏө.com" làm ví dụ — thực tế không giống hệt với "apple.com" thật — các nhà nghiên cứu cho thấy các tổ hợp ký tự cụ thể vẫn có thể né tránh nhiều lớp bảo vệ. Điều này nhờ vào các hoàn cảnh đặc biệt xung quanh việc sử dụng một số ký tự Cyrillic nhất định. Bảng chữ cái này có các ký tự trông rất giống nhiều chữ cái Latinh. Ví dụ: а → a, е → e, о → o, р → p, và с → c. Sẽ dễ hiểu nếu bạn không thể nhận ra sự khác biệt.
Cố gắng lén chèn một ký tự đồng hình vào giữa các chữ cái Latinh tiêu chuẩn sẽ kích hoạt các biện pháp bảo vệ của Chromium và khiến trình duyệt hiển thị tên miền dưới định dạng Punycode. Ví dụ, sử dụng chữ "а" Cyrillic với "pple.com" sẽ hiển thị thành "xn--pple-43d.com". Ngoại trừ một số ít trường hợp, tên miền có ký tự phi Latinh kết thúc bằng .com sẽ chỉ vượt qua bài kiểm tra nếu tất cả đều đến từ cùng một bảng chữ cái.
Mặc dù vậy, nếu thử dùng "аррӏе.com" bằng cách sử dụng toàn bộ các ký tự Cyrillic có hình dáng tương tự, trang web vẫn sẽ bị chặn. Chromium duy trì danh sách 29 ký tự Cyrillic thường xuyên giả mạo các chữ cái Latinh tương ứng, và việc soạn một tên miền chỉ sử dụng các ký tự từ danh sách đó là điều cấm kỵ.
Vậy làm thế nào mà "аррӏө.com" lại vượt qua được? Cho phép chúng tôi minh họa bằng văn bản lớn hơn bên dưới. Lưu ý rằng ký tự Cyrillic bên phải thực ra là một hình bầu dục có một đường kẻ ngang qua.
[e] ≠ [ө]
Như bạn có thể đoán ra lúc này, ký tự "ө" không nằm trong danh sách đặc biệt gồm 29 ký tự đó. Mặc cho các phiên bản phát hành gần đây của Chromium có thể và có khả năng sẽ bổ sung nó, điều này cho thấy mức độ phức tạp của vấn đề. Vì không có giải pháp chung cho tất cả để phát hiện typosquatting, nên ngay cả bộ quy tắc tốt nhất sớm muộn gì cũng sẽ vấp phải một trường hợp góc khuất nào đó.
Cần rất nhiều đôi mắt canh gác để bắt hết các ký tự Unicode giống như Pokemon, đặc biệt khi tập hợp ký tự liên tục phát triển và hiện có gần 173.000 mục — mặc dù chỉ một tập hợp con trong số đó đủ điều kiện sử dụng làm tên miền hoặc Tên miền cấp cao nhất (TLD) trong thực tế.
Chromium được cho là trình duyệt tốt nhất trong việc phát hiện tên miền giả mạo, theo một nghiên cứu năm 2020 cho thấy nó đã bắt được 64.1% các trường hợp cố gắng giả mạo, trong khi Firefox và Safari xếp sau. Cần nhớ rằng Chromium là nền tảng cho các trình duyệt Chrome, Edge và Brave.
Bên cạnh nhiều quy tắc khác và việc xác minh theo từng bảng chữ cái, Chromium duy trì danh sách hơn 8.000 tên miền phổ biến dễ bị typosquatting và chạy các biện pháp kiểm tra mạnh mẽ hơn đối với 836 tên miền trong số đó. Tương tự, các cơ quan quản lý tên miền cũng nỗ lực hợp lý để ngăn chặn typosquatting, chẳng hạn như đưa ra các quy tắc nghiêm ngặt về những ký tự được phép xuất hiện trong các TLD nào, nhưng điều đó vẫn chưa đủ để giải quyết triệt để vấn đề.
Xét cho cùng, HIBS khuyến nghị các công ty lo ngại về việc bị giả mạo nên cố gắng đăng ký bất kỳ tên miền có hình thức tương tự nào và khuyến khích người dùng sử dụng passkey. Passkey luôn gắn liền với một tên miền cụ thể, vì vậy người dùng sẽ không thể đăng nhập vào một trang web lén lút bằng chúng.
Nguồn: Tom's Hardware · Bản dịch tiếng Việt của VGSNews, chỉ để tham khảo.