0Pricing
Cryptology Academy · Pelajaran

Penurunan Versi HTTP dan Risiko Konten Campuran

Pahami cara penyerang mengeksploitasi fallback HTTP dan alasan konten campuran merusak jaminan keamanan.

Penurunan Versi HTTP dan Risiko Konten Campuran adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

Keamanan Transportasi HTTP yang Ketat

Tajuk HTTP Strict Transport Security (HSTS) menginstruksikan peramban untuk hanya terhubung ke situs melalui HTTPS selama jangka waktu tertentu. Setelah menerimanya, peramban menolak koneksi HTTP dan secara otomatis mengubah URL http:// menjadi https://.

Tajuk HSTS yang umum: "Strict-Transport-Security: max-age=31536000; includeSubDomains; preload". Nilai max-age dinyatakan dalam detik (31536000 = 1 tahun). Setelah disimpan dalam tembolok, peramban menerapkan HTTPS selama satu tahun tanpa keterlibatan server apa pun.

Masa max-age HSTS dan includeSubDomains

Parameter max-age menetapkan berapa lama peramban harus menerapkan koneksi yang hanya menggunakan HTTPS, dalam satuan detik. Nilai yang disarankan untuk situs produksi adalah setidaknya satu tahun (31536000).

Direktif includeSubDomains memperluas penerapan HSTS ke semua subdomain. Hal ini mencegah serangan ketika penyerang menurunkan koneksi subdomain ke HTTP lalu menggunakannya untuk mencuri kuki yang ditetapkan tanpa atribut Secure pada domain utama.

Daftar Pramuat HSTS

Peramban dilengkapi daftar domain tertanam yang selalu hanya menggunakan HTTPS, bahkan saat kunjungan pertama. Daftar yang dikelola di hstspreload.org ini mencakup ribuan situs web utama.

Pramuat menghilangkan kerentanan kunjungan pertama: tanpa pramuat, pengunjung baru dapat disadap sebelum menerima tajuk HSTS. Situs yang dimuat sebelumnya hanya menggunakan HTTPS sejak permintaan pertama, terlepas dari keadaan tembolok HSTS.

Serangan Pengupasan SSL

Pengupasan SSL, yang dipublikasikan oleh Moxie Marlinspike di Black Hat 2009, adalah serangan MITM yang menurunkan koneksi HTTPS menjadi HTTP. Penyerang menyadap permintaan HTTP awal pengguna, membuat permintaan HTTPS ke server sebenarnya atas nama pengguna, lalu meneruskan konten melalui HTTP kepada pengguna.

Korban melihat konten seperti biasa, tetapi melalui HTTP. Kredensial apa pun yang dimasukkan akan sampai kepada penyerang. Sebelum HSTS, serangan ini sangat efektif karena pengguna tidak menyadari tidak adanya ikon gembok.

HSTS Menggagalkan Pengupasan SSL

HSTS menggagalkan pengupasan SSL karena peramban menolak melanjutkan koneksi HTTP ke domain yang terdaftar dalam HSTS. Bahkan jika penyerang mencoba menyajikan halaman melalui HTTP, peramban akan menolak terhubung dan menampilkan kesalahan.

Penerapan HSTS oleh peramban berlangsung sebelum permintaan jaringan apa pun, sehingga penyerang tidak dapat mengintervensi. Satu-satunya kerentanan yang tersisa adalah kunjungan pertama sebelum HSTS diterima, dan pramuat menghilangkannya.

Konten Campuran Aktif vs Pasif

Konten campuran terjadi ketika halaman HTTPS memuat sumber daya melalui HTTP. Konten campuran pasif mencakup gambar, audio, dan video yang dimuat melalui HTTP. Konten tersebut tidak dapat mengubah halaman secara langsung, tetapi dapat mengungkapkan informasi pengguna melalui tajuk HTTP dan memungkinkan pelacakan.

Konten campuran aktif mencakup skrip, lembar gaya, iframe, dan XMLHttpRequests yang dimuat melalui HTTP. Skrip HTTP dapat sepenuhnya membahayakan keamanan halaman HTTPS karena memiliki akses penuh ke DOM serta dapat membaca kuki dan data formulir.

Pemblokiran Skrip Konten Campuran oleh Peramban

Peramban modern secara bawaan memblokir konten campuran aktif (skrip, lembar gaya, dan iframe melalui HTTP) ketika halaman yang memuatnya menggunakan HTTPS. Kesalahan konsol ditampilkan dan sumber daya tersebut tidak dimuat.

Mulai Chrome 81 (2020), peramban mulai secara otomatis mengubah konten campuran pasif menjadi HTTPS. Jika versi HTTPS tersedia, versi tersebut dimuat. Jika tidak, sumber daya diblokir.

Konten Campuran di DevTools Peramban

Konsol pengembang peramban menampilkan peringatan dan kesalahan konten campuran. Di Chrome, buka DevTools, buka tab Konsol, lalu filter berdasarkan "Konten Campuran". Setiap sumber daya yang diblokir menampilkan URL tidak aman yang perlu diperbarui.

Panel Keamanan di DevTools menampilkan ikhtisar keamanan yang menyeluruh: detail sertifikat, informasi koneksi, dan daftar semua sumber daya tidak aman di halaman.

Direktif CSP upgrade-insecure-requests

Direktif Kebijakan Keamanan Konten (CSP) "upgrade-insecure-requests" menginstruksikan peramban untuk secara otomatis mengubah semua permintaan HTTP dari halaman menjadi HTTPS. Direktif ini menangani konten lama yang memiliki URL HTTP tertanam langsung.

Berbeda dari pemblokiran konten campuran, upgrade-insecure-requests mencoba mengambil versi HTTPS terlebih dahulu. Direktif ini berguna saat melakukan migrasi dari HTTP ke HTTPS ketika memperbarui semua URL tersemat dalam konten lama tidak praktis dilakukan.

Penyisipan Iklan oleh ISP melalui HTTP

Tanpa HTTPS, ISP dapat menyisipkan konten ke dalam respons HTTP. Beberapa ISP pernah terbukti menyisipkan iklan ke halaman web yang semula tidak memiliki iklan, menambahkan piksel pelacakan, atau menyisipkan halaman peringatan ketika pengguna mendekati batas datanya.

Bentuk penyisipan konten ini tidak mungkin dilakukan pada halaman HTTPS karena responsnya diautentikasi dan dienkripsi. Modifikasi apa pun akan menyebabkan verifikasi TLS MAC gagal, sehingga terjadi kesalahan koneksi, bukan penyajian konten yang telah diubah.

Mengapa Kunjungan HTTP Pertama Tetap Berisiko

Sebelum peramban menerima tajuk HSTS untuk suatu domain, kunjungan pertama melalui HTTP sangat rentan. Penyerang dapat menyadap permintaan awal ini dan melakukan pengupasan SSL tanpa memicu peringatan peramban.

Kerentanan "percaya pada penggunaan pertama" inilah alasan daftar pramuat HSTS dibuat. Mengajukan situs ke daftar pramuat memastikan peramban menerapkan HTTPS untuk domain tersebut sejak permintaan pertama, sehingga sepenuhnya menutup celah kunjungan pertama.

Kuis HSTS

Uji pemahaman Anda tentang Keamanan Transportasi HTTP yang Ketat.

Poin Penting: HSTS dan Konten Campuran

HSTS menginstruksikan peramban untuk menerapkan koneksi yang hanya menggunakan HTTPS pada suatu domain selama jangka waktu tertentu. Daftar pramuat memperluas perlindungan hingga kunjungan pertama dengan menanamkan kebijakan HSTS secara permanen di peramban.

Pengupasan SSL (Moxie Marlinspike, 2009) menurunkan HTTPS menjadi HTTP; HSTS menggagalkannya. Konten campuran aktif (skrip HTTP pada halaman HTTPS) diblokir oleh peramban. Direktif CSP upgrade-insecure-requests mengotomatiskan migrasi HTTP ke HTTPS untuk konten lama.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Penurunan Versi HTTP dan Risiko Konten Campuran” gratis?

Ya — teks lengkap “Penurunan Versi HTTP dan Risiko Konten Campuran” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Penurunan Versi HTTP dan Risiko Konten Campuran”?

Pahami cara penyerang mengeksploitasi fallback HTTP dan alasan konten campuran merusak jaminan keamanan. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Penurunan Versi HTTP dan Risiko Konten Campuran” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Ikon Gembok: Makna Sebenarnya
  2. Cara Situs Web Mendapatkan Sertifikat SSL
  3. Peringatan Sertifikat TLS dan Tindakan yang Tepat
  4. Penurunan Versi HTTP dan Risiko Konten Campuran
← Kembali ke Cryptology Academy