it-swarm-id.com

Apakah URL dilihat selama transaksi HTTPS ke satu situs web atau lebih dari satu IP dapat dibedakan?

Misalnya, katakan berikut ini adalah URL HTTPS ke dua situs web dengan satu IP selama 5 menit: "A.com/1", "A.com/2", "A.com/3", "B.com/1" , "B.com/2".

Apakah pemantauan paket mengungkapkan:

  • tidak ada,
  • hanya mengungkapkan IP yang telah mengunjungi "A.com" dan "B.com" (artinya hanya DNS),
  • hanya mengungkapkan IP yang telah mengunjungi "A.com/1" dan "B.com/1" (permintaan HTTPS pertama untuk setiap situs),
  • mengungkapkan daftar lengkap semua URL HTTPS yang dikunjungi,
  • hanya mengungkapkan IP "A.com" dan "B.com",
  • atau sesuatu yang lain?

Pertanyaan Terkait: dapatkah perusahaan saya melihat situs HTTPS yang saya kunjungi?

Meskipun pertanyaan ini memang memiliki informasi tambahan, sejauh yang saya bisa katakan tidak membahas secara khusus skenario "hanya mengungkapkan IP yang telah dikunjungi" A.com/1 "dan" B.com/1 "(yang pertama Permintaan HTTPS untuk setiap situs) "- meskipun kemungkinan salah tentang hal ini tinggi, dan senang menghapus pertanyaan jika itu merupakan duplikat.


CATATAN: Ini adalah pertanyaan lanjutan ke jawaban yang diposting sebagai: Mengapa HTTPS bukan protokol default?

69
blunders

TLS mengungkapkan kepada penguping informasi berikut:

  • situs yang Anda hubungi
  • panjang (mungkin perkiraan) dari sisa URL
  • panjang (mungkin perkiraan) dari HTML halaman yang Anda kunjungi (dengan asumsi itu tidak di-cache)
  • jumlah (mungkin perkiraan) sumber daya lain (mis., gambar, iframe, CSS stylesheet, dll.) pada halaman yang Anda kunjungi (dengan asumsi mereka tidak di-cache)
  • waktu di mana setiap paket dikirim dan setiap koneksi dimulai. (@nealmcb menunjukkan bahwa eavesdropper mempelajari banyak tentang waktu: waktu yang tepat setiap koneksi dimulai, durasi koneksi, waktu setiap paket telah dikirim dan waktu respons dikirim, waktu server merespons setiap paket, dll.)

Jika Anda berinteraksi dengan situs web dengan mengklik tautan secara seri, eavesdropper dapat melihat masing-masing untuk setiap klik pada halaman web. Informasi ini dapat digabungkan untuk mencoba menyimpulkan halaman apa yang Anda kunjungi.

Oleh karena itu, dalam contoh Anda, TLS hanya mengungkapkan A.com vs B.com, karena dalam contoh Anda, sisa URL adalah panjang yang sama dalam semua kasus. Namun, contoh Anda dipilih dengan buruk: itu tidak mewakili praktik khas di web. Biasanya, panjang URL di situs tertentu bervariasi, dan dengan demikian mengungkapkan informasi tentang URL yang Anda akses. Selain itu, panjang halaman dan jumlah sumber daya juga bervariasi, yang mengungkapkan lebih banyak informasi.

Ada penelitian yang menunjukkan bahwa kebocoran ini dapat mengungkapkan informasi penting kepada penyadap tentang halaman apa yang Anda kunjungi. Karenanya, Anda seharusnya tidak berasumsi bahwa TLS menyembunyikan halaman mana yang Anda kunjungi dari eavesdropper. (Saya menyadari ini berlawanan dengan intuisi.)


Ditambahkan: Berikut ini adalah kutipan untuk beberapa penelitian dalam literatur tentang analisis lalu lintas HTTPS:

81
D.W.

Pilihan kedua. Kebanyakan.

Ketika browser mengunjungi situs web HTTPS, ia membuat terowongan TLS , yang melibatkan pertukaran kunci asimetris (klien dan server menyetujui rahasia bersama). Mekanisme pertukaran kunci tersebut menggunakan kunci publik server, yang ditunjukkan server sebagai bagian dari sertifikatnya. Sertifikat server berisi nama server (mis. A.com) dan klien memverifikasi bahwa nama sesuai dengan yang diharapkan (mis. nama server di URL). Sertifikat server dikirim, secara fatal, sebelum pertukaran kunci, karenanya dalam tampilan biasa.

Sisa URL dikirim sebagai bagian dari permintaan HTTP yang terjadi dalam terowongan terenkripsi, sehingga tidak terlihat oleh pihak ketiga. Sebuah terowongan yang diberikan dapat digunakan kembali untuk beberapa permintaan HTTP lain, tetapi (berdasarkan konstruksi) semuanya untuk server yang sama (nama domain yang sama).

20
Thomas Pornin