Một trang có nội dung hỗn hợp khi HTML ban đầu của trang được tải qua một kết nối HTTPS bảo mật, nhưng các tài nguyên khác (chẳng hạn như hình ảnh, video, biểu định kiểu và tập lệnh) được tải qua một kết nối HTTP không bảo mật. Tên này đề cập đến sự kết hợp giữa nội dung HTTP và HTTPS trên một trang duy nhất.
Việc yêu cầu tài nguyên phụ bằng giao thức HTTP không an toàn sẽ làm suy yếu tính bảo mật của trang, vì những yêu cầu này dễ bị tấn công trên đường dẫn, trong đó kẻ tấn công nghe lén kết nối mạng và xem hoặc sửa đổi thông tin liên lạc giữa hai bên. Bằng cách sử dụng các tài nguyên này, kẻ tấn công có thể theo dõi người dùng và thay thế nội dung trên một trang web. Trong trường hợp nội dung hỗn hợp đang hoạt động, chúng có thể kiểm soát hoàn toàn trang, chứ không chỉ các tài nguyên không an toàn.
Mặc dù nhiều trình duyệt báo cáo cảnh báo nội dung hỗn hợp cho người dùng, nhưng báo cáo thường quá muộn: các yêu cầu không an toàn đã được thực hiện và tính bảo mật của trang bị xâm phạm.
Hiện tại, hầu hết các trình duyệt đều chặn nội dung hỗn hợp vì lý do bảo mật. Thay đổi các yêu cầu về nội dung không an toàn thành nội dung an toàn để đảm bảo trang của bạn tiếp tục tải đúng cách.
Hai loại nội dung hỗn hợp
Có hai loại nội dung hỗn hợp: chủ động và thụ động.
Nội dung hỗn hợp thụ động, bao gồm hình ảnh, video và âm thanh, không tương tác với phần còn lại của trang, vì vậy, cuộc tấn công trung gian bị hạn chế trong những gì có thể làm nếu chặn hoặc thay đổi nội dung đó.
Nội dung hỗn hợp đang hoạt động tương tác với toàn bộ trang. Điều này bao gồm các tập lệnh, biểu định kiểu, iframe và mọi mã khác mà trình duyệt có thể tải xuống và thực thi. Các cuộc tấn công vào nội dung hỗn hợp đang hoạt động cho phép kẻ tấn công làm gần như mọi thứ đối với trang.
Nội dung hỗn hợp thụ động
Nội dung hỗn hợp thụ động ít rủi ro hơn nội dung hỗn hợp đang hoạt động, nhưng rủi ro vẫn tồn tại. Ví dụ: kẻ tấn công có thể:
- Chặn các yêu cầu HTTP đối với hình ảnh trên trang web của bạn và hoán đổi hoặc thay thế những hình ảnh đó.
- Thay thế hình ảnh trên các nút để người dùng nhầm lẫn và chẳng hạn như xoá nội dung mà họ dự định lưu.
- Xâm nhập trang web của bạn bằng cách thay thế hình ảnh bằng nội dung khiêu dâm.
- Thay thế hình ảnh sản phẩm bằng quảng cáo cho một mặt hàng khác.
Ngay cả khi kẻ tấn công không thay đổi nội dung trên trang web của bạn, chúng vẫn có thể theo dõi người dùng thông qua các yêu cầu về nội dung hỗn hợp. Chúng cũng có thể cho biết người dùng truy cập vào trang nào và xem sản phẩm nào dựa trên hình ảnh hoặc các tài nguyên khác mà trình duyệt tải.
Nếu có nội dung hỗn hợp thụ động, hầu hết các trình duyệt đều cho biết trong thanh địa chỉ rằng trang không an toàn, ngay cả khi trang đó được tải qua HTTPS. Bạn có thể quan sát hành vi này trong bản minh hoạ này.
Cho đến gần đây, nội dung hỗn hợp thụ động vẫn được tải trong tất cả các trình duyệt, vì việc chặn nội dung này sẽ làm hỏng nhiều trang web. Điều này hiện đang bắt đầu thay đổi, vì vậy, bạn cần phải cập nhật mọi trường hợp nội dung hỗn hợp trên trang web của mình.
Trong một số trường hợp, Chrome sẽ tự động nâng cấp nội dung hỗn hợp thụ động. Điều này có nghĩa là nếu một thành phần đã được mã hoá cứng dưới dạng HTTP nhưng có sẵn qua HTTPS, thì trình duyệt sẽ tải phiên bản HTTPS. Nếu không có phiên bản bảo mật, thành phần sẽ không tải.
Bất cứ khi nào phát hiện nội dung hỗn hợp hoặc tự động nâng cấp nội dung hỗn hợp thụ động, Chrome sẽ ghi lại các thông báo chi tiết vào thẻ Vấn đề trong Công cụ cho nhà phát triển để tư vấn cho bạn cách khắc phục vấn đề cụ thể.
Nội dung hỗn hợp đang hoạt động
Nội dung hỗn hợp đang hoạt động gây ra mối đe doạ lớn hơn nội dung hỗn hợp thụ động. Kẻ tấn công có thể chặn và viết lại nội dung đang hoạt động, sử dụng nội dung đó để kiểm soát hoàn toàn trang hoặc thậm chí toàn bộ trang web của bạn. Điều này cho phép họ thay đổi mọi khía cạnh của trang, bao gồm cả việc hiển thị nội dung khác, đánh cắp mật khẩu người dùng hoặc thông tin đăng nhập khác, đánh cắp cookie phiên người dùng hoặc chuyển hướng người dùng đến một trang web hoàn toàn khác.
Vì nội dung hỗn hợp đang hoạt động có rủi ro rất cao, nên theo mặc định, hầu hết các trình duyệt đều chặn loại nội dung này để bảo vệ người dùng, nhưng hành vi này sẽ khác nhau giữa các nhà cung cấp và phiên bản trình duyệt.
Bản minh hoạ này cho thấy ví dụ về nội dung hỗn hợp đang hoạt động. Tải ví dụ qua HTTP để xem nội dung bị chặn khi bạn tải ví dụ qua HTTPS. Nội dung bị chặn cũng được trình bày chi tiết trong thẻ Vấn đề trong Công cụ cho nhà phát triển.
Quy cách về nội dung hỗn hợp
Các trình duyệt tuân theo quy cách nội dung hỗn hợp, quy cách này xác định các danh mục nội dung có thể chặn (không bắt buộc) và nội dung có thể chặn.
Một tài nguyên được coi là nội dung có thể chặn tuỳ ý "khi rủi ro của việc cho phép sử dụng tài nguyên đó làm nội dung hỗn hợp lớn hơn rủi ro của việc làm hỏng các phần quan trọng của web". Đây là một tập hợp con của nội dung hỗn hợp thụ động.
Tất cả nội dung hỗn hợp không chặn được theo ý muốn đều được coi là chặn được và trình duyệt sẽ chặn nội dung đó.
Trong những năm gần đây, mức sử dụng HTTPS đã tăng đáng kể và trở thành giao thức mặc định rõ ràng trên web. Điều này giúp các trình duyệt hiện có thể chặn tất cả nội dung hỗn hợp, ngay cả những loại tài nguyên phụ được xác định trong quy cách nội dung hỗn hợp là có thể chặn tuỳ ý.
Trình duyệt cũ
Một số khách truy cập có thể sử dụng trình duyệt cũ. Các phiên bản trình duyệt của nhiều nhà cung cấp sẽ xử lý nội dung hỗn hợp theo cách khác nhau. Trong trường hợp xấu nhất, các trình duyệt và phiên bản cũ hoàn toàn không chặn nội dung hỗn hợp, điều này không an toàn cho người dùng.
Bằng cách tải tất cả tài nguyên một cách an toàn và khắc phục các vấn đề về nội dung hỗn hợp, bạn đảm bảo rằng nội dung của bạn hiển thị được và bảo vệ người dùng khỏi nội dung nguy hiểm mà các trình duyệt cũ có thể không chặn được.