Apa yang dimaksud dengan konten campuran?

Konten campuran terjadi ketika HTML awal dimuat melalui koneksi HTTPS aman, tetapi resource lain (seperti gambar, video, stylesheet, skrip) dimuat melalui koneksi HTTP yang tidak aman. Ini disebut konten campuran karena konten HTTP dan HTTPS dimuat untuk menampilkan halaman yang sama, dan permintaan awal aman melalui HTTPS.

Meminta subresource menggunakan protokol HTTP yang tidak aman akan melemahkan keamanan seluruh halaman, karena permintaan ini rentan terhadap serangan di jalur, ketika penyerang menyadap koneksi jaringan dan melihat atau mengubah komunikasi antara dua pihak. Dengan menggunakan resource ini, penyerang dapat melacak pengguna dan mengganti konten di situs, dan untuk konten campuran aktif, mengambil kendali penuh atas halaman, bukan hanya resource yang tidak aman.

Meskipun banyak browser melaporkan peringatan konten campuran kepada pengguna, pada saat hal ini terjadi, semua sudah terlambat: permintaan tidak aman telah dilakukan dan keamanan halaman telah disusupi.

Inilah sebabnya mengapa semakin banyak browser memblokir materi campuran. Jika Anda memiliki konten campuran di situs, memperbaikinya akan memastikan konten terus dimuat saat browser menjadi lebih ketat.

Dua jenis konten campuran

Dua jenis konten campuran adalah: aktif dan pasif.

Konten campuran pasif mengacu pada konten yang tidak berinteraksi dengan bagian halaman lainnya, sehingga serangan man in the middle dibatasi pada apa yang dapat dilakukan jika mereka menyadap atau mengubah konten tersebut. Konten campuran pasif didefinisikan sebagai konten gambar, video, dan audio.

Konten campuran aktif berinteraksi dengan halaman secara keseluruhan dan memungkinkan penyerang melakukan hampir semua hal pada halaman. Konten campuran aktif mencakup skrip, stylesheet, iframe, dan kode lainnya yang dapat didownload dan dijalankan oleh browser.

Konten campuran pasif

Konten campuran pasif dianggap tidak terlalu bermasalah, tetapi tetap menimbulkan ancaman keamanan bagi situs dan pengguna Anda. Misalnya, penyerang dapat menyadap permintaan HTTP untuk gambar di situs Anda dan menukar atau mengganti gambar tersebut; penyerang dapat menukar gambar tombol simpan dan hapus, sehingga menyebabkan pengguna menghapus konten tanpa bermaksud; mengganti diagram produk dengan konten cabul atau pornografi, merusak situs Anda; atau mengganti gambar produk Anda dengan iklan untuk situs atau produk lain.

Meskipun penyerang tidak mengubah konten situs, penyerang dapat melacak pengguna melalui permintaan konten campuran. Penyerang dapat mengetahui halaman mana yang dikunjungi pengguna dan produk yang dilihat berdasarkan gambar atau resource lain yang dimuat browser.

Jika ada konten campuran pasif, sebagian besar browser akan menunjukkan di kolom URL bahwa halaman tersebut tidak aman, meskipun halaman itu sendiri dimuat melalui HTTPS. Anda dapat mengamati perilaku ini dengan demo ini yang berisi contoh konten campuran pasif.

Hingga baru-baru ini, konten campuran pasif dimuat di semua browser, tetapi jika diblokir, konten tersebut dapat merusak banyak situs. Hal ini sekarang mulai berubah, jadi penting untuk memperbarui setiap instance konten campuran di situs Anda.

Chrome saat ini meluncurkan upgrade otomatis konten campuran pasif jika memungkinkan. Upgrade otomatis berarti jika aset tersedia melalui HTTPS, tetapi telah di-hardcode sebagai HTTP, browser akan memuat versi HTTPS. Jika tidak ada versi aman yang dapat ditemukan, aset tidak akan dimuat.

Setiap kali mendeteksi konten campuran atau konten campuran pasif yang diupgrade otomatis, Chrome akan mencatat pesan mendetail ke tab Issues di DevTools untuk memandu Anda memperbaiki masalah tertentu.

Tab Issues di Chrome DevTools menampilkan informasi mendetail tentang masalah materi campuran tertentu dan cara memperbaikinya

Konten campuran aktif

Konten campuran aktif menimbulkan ancaman yang lebih besar daripada konten campuran pasif. Penyerang dapat menyadap dan menulis ulang konten aktif, sehingga mengambil alih sepenuhnya halaman Anda atau bahkan seluruh situs Anda. Hal ini memungkinkan penyerang mengubah apa pun di halaman, termasuk menampilkan konten yang benar-benar berbeda, mencuri sandi pengguna atau kredensial login lainnya, mencuri cookie sesi pengguna, atau mengalihkan pengguna ke situs yang sama sekali berbeda.

Karena keparahan ancaman ini, sebagian besar browser sudah memblokir jenis konten ini secara default untuk melindungi pengguna, tetapi fungsinya bervariasi antara vendor dan versi browser.

Demo lainnya ini berisi contoh konten campuran aktif. Muat contoh melalui HTTP untuk melihat konten yang diblokir saat Anda memuat contoh melalui HTTPS. Konten yang diblokir juga akan dijelaskan di tab Masalah.

Tab Issues di Chrome DevTools menampilkan informasi mendetail tentang masalah materi campuran tertentu dan cara memperbaikinya

Spesifikasi konten campuran

Browser mengikuti spesifikasi konten campuran, yang menentukan kategori konten yang dapat diblokir secara opsional dan konten yang dapat diblokir.

Dari spesifikasi ini, resource memenuhi syarat sebagai konten yang dapat diblokir secara opsional "jika risiko mengizinkan penggunaannya sebagai konten campuran lebih besar daripada risiko melanggar sebagian besar web"; ini adalah bagian dari kategori konten campuran pasif yang dijelaskan di atas.

Semua konten yang tidak dapat diblokir secara opsional dianggap dapat diblokir, dan harus diblokir oleh browser.

Dalam beberapa tahun terakhir, penggunaan HTTPS telah meningkat drastis, dan telah menjadi default yang jelas di web. Hal ini mempermudah browser untuk mempertimbangkan pemblokiran semua konten campuran, bahkan jenis subresource yang ditentukan dalam spesifikasi konten campuran sebagai dapat diblokir secara opsional. Oleh karena itu, sekarang kami melihat Chrome menerapkan pendekatan yang lebih ketat terhadap subresource ini.

Browser lama

Penting untuk diingat bahwa tidak setiap pengunjung situs web menggunakan browser terbaru. Berbagai versi dari vendor browser yang berbeda masing-masing memperlakukan konten campuran secara berbeda. Yang terburuk, browser dan versi lama tidak memblokir konten campuran sama sekali, sehingga sangat tidak aman bagi pengguna.

Dengan memperbaiki masalah materi campuran, Anda memastikan bahwa konten Anda terlihat di browser baru. Anda juga membantu melindungi pengguna dari konten berbahaya yang tidak diblokir oleh browser lama.