it-swarm-id.com

Apakah https mencegah manusia di tengah serangan oleh server proxy?

Ada klien desktop A yang terhubung ke situs web W dalam koneksi https

A --> W

Entah bagaimana antara A dan W, ada proxy G.

A --> G --> W
  • Dalam hal ini, akankah G dapat memperoleh sertifikat yang sebelumnya diperoleh A dari W?
  • Jika G dapat memperoleh sertifikat, apakah itu berarti G akan dapat mendekripsi data?
183
jojo

Bagaimana cara kerja HTTPS?

HTTPS didasarkan pada kriptografi kunci publik/privat. Ini pada dasarnya berarti ada pasangan kunci: Kunci publik digunakan untuk enkripsi dan kunci pribadi rahasia diperlukan untuk dekripsi.

A sertifikat pada dasarnya adalah kunci publik dengan label yang mengidentifikasi pemilik.

Jadi ketika browser Anda terhubung ke server HTTPS, server akan menjawab dengan sertifikatnya. Browser memeriksa apakah sertifikat itu valid:

  • informasi pemilik harus sesuai dengan nama server yang diminta pengguna.
  • sertifikat harus ditandatangani oleh otoritas sertifikasi tepercaya.

Jika salah satu dari kondisi ini tidak terpenuhi, pengguna diberitahu tentang masalah tersebut.

Setelah verifikasi, browser mengekstrak kunci publik dan menggunakannya untuk mengenkripsi beberapa informasi sebelum mengirimnya ke server. Server dapat mendekripsi karena server memiliki kunci pribadi yang cocok.

Bagaimana HTTPS mencegah manusia dalam serangan tengah?

Dalam hal ini, akankah G dapat memperoleh sertifikat yang sebelumnya diperoleh A dari W?

Ya, sertifikat adalah kunci publik dengan label. Server web akan mengirimkannya kepada siapa saja yang terhubung dengannya.

Jika G dapat memperoleh sertifikat, apakah itu berarti G akan dapat mendekripsi data?

Tidak. Sertifikat tersebut berisi kunci publik dari server web. Proksi jahat tidak memiliki kunci pribadi yang cocok. Jadi, jika proksi meneruskan sertifikat asli ke klien, ia tidak dapat mendekripsi informasi yang dikirim klien ke server web.

Server proxy dapat mencoba memalsukan sertifikat dan memberikan kunci publiknya sendiri. Ini akan, bagaimanapun, menghancurkan tanda tangan otoritas sertifikasi. Browser akan memperingatkan tentang sertifikat yang tidak valid.

Apakah ada cara server proxy dapat membaca HTTPS?

Jika administrator komputer Anda bekerja sama, server proxy dapat mengendus koneksi https. Ini digunakan di beberapa perusahaan untuk memindai virus dan untuk menegakkan pedoman penggunaan yang dapat diterima.

A otoritas sertifikasi lokal disetel dan administrator memberi tahu browser Anda bahwa ini CA dapat dipercaya. Server proxy menggunakan CA ini untuk menandatangani sertifikat palsu.

Oh dan tentu saja, pengguna cenderung mengeklik peringatan keamanan.

209

Dengan asumsi bahwa pengguna tidak mengklik peringatan cert (dan dengan asumsi bahwa Anda menjalankan klien yang tidak dimodifikasi), jawabannya adalah: Tidak, proxy tidak dapat mendekripsi data .

Untuk penjelasan terperinci tentang bagaimana HTTPS mencegah orang di tengah-tengah mendekripsi lalu lintas Anda, lihat sumber daya standar apa pun tentang SSL/TLS, mis.,

P.S. Sertifikat adalah data publik. Ini berisi kunci publik dan nama domain server, yang keduanya tidak bersifat rahasia. Mengamati sertifikat tidak membantu penyerang untuk mendekripsi data. (Ya, proxy dapat mengamati sertifikat, tetapi ini tidak berbahaya.)

20
D.W.

Dari blog teknologi Philipp C. Heckel dengan sedikit suntingan:

Sementara menyerang lalu lintas HTTP yang tidak terenkripsi dapat dilakukan tanpa harus berurusan dengan sertifikat X.509 dan otoritas sertifikat (CA), koneksi HTTPS terenkripsi SSL mengenkripsi setiap permintaan dan respons antara klien dan server ujung ke ujung. Dan karena data yang ditransfer dienkripsi dengan rahasia bersama, perantara (atau proxy) tidak dapat menguraikan paket data yang dipertukarkan. Ketika klien membuka koneksi SSL/TLS ke server web yang aman, itu memverifikasi identitas server dengan memeriksa dua kondisi: Pertama, ia memeriksa apakah sertifikatnya ditandatangani oleh CA yang dikenal klien. Dan kedua, memastikan bahwa nama umum (CN, juga: Nama host) dari server cocok dengan yang terhubung. Jika kedua kondisi tersebut benar, klien menganggap koneksi aman.

Agar dapat mengendus ke dalam koneksi, server Proxy dapat bertindak sebagai otoritas sertifikat, namun, bukan yang sangat dapat dipercaya: Alih-alih mengeluarkan sertifikat kepada orang atau organisasi yang sebenarnya, proksi secara dinamis menghasilkan sertifikat ke nama host apa pun yang diperlukan untuk koneksi . Jika, misalnya, klien ingin terhubung ke https://www.facebook.com , proxy menghasilkan sertifikat untuk "www.facebook.com" dan menandatanganinya dengan CA sendiri. Asalkan klien mempercayai CA ini, kedua kondisi yang disebutkan di atas adalah benar (CA terpercaya, CN yang sama) - artinya klien yakin bahwa server proxy sebenarnya adalah "www.facebook.com". Gambar di bawah ini menunjukkan aliran permintaan/respons untuk skenario ini. Mekanisme ini disebut proxy HTTPS transparan.

enter image description here

Agar serangan ini berhasil, ada beberapa kondisi yang harus dipenuhi:

  • Server proxy sebagai gateway standar (HTTP dan HTTPS) : Untuk proxy HTTP dan HTTPS, server proxy tentu saja harus dapat mencegat paket IP - artinya itu harus di suatu tempat di sepanjang jalan paket. Cara termudah untuk mencapai ini adalah mengubah gateway default di perangkat klien ke alamat server Proxy.
  • Proxy Tepercaya CA (hanya HTTPS) : Agar proksi HTTPS berfungsi, klien harus tahu (dan percaya!) Proxy CA, yaitu kunci CA file harus ditambahkan ke toko kepercayaan klien.

enter image description here

Jika Anda tertarik untuk mengendus soket SSL biasa, Anda mungkin ingin mencoba SSLsplit, proxy transparan TLS/SSL man-in-the-middle. Ada banyak cara untuk menyerang SSL, tetapi Anda tidak memerlukan sertifikat SSL palsu, Otoritas Sertifikasi nakal (CA), atau variasi pada serangan keamanan man-in-the-middle dari pakar keamanan Moxie Marlinspike. Mengapa harus repot-repot ketika Anda hanya dapat membeli proxy intersepsi SSL, seperti ProxySG Blue Coat Systems atau alat Netronome SSL yang baru mereka peroleh untuk melakukan pekerjaan untuk Anda?


Dari Steven J. Vaughan-Nichols di ZDNet (kutipan):

Blue Coat, nama terbesar dalam bisnis intersepsi SSL, jauh dari satu-satunya yang menawarkan intersepsi SSL dan membobol kotak. Hingga baru-baru ini, misalnya, Microsoft akan menjual Anda sebuah program, Forefront Threat Management Gateway 2010, yang dapat melakukan pekerjaan untuk Anda juga. Dengan program atau perangkat proxy intersepsi SSL, inilah yang sebenarnya terjadi:

enter image description here

Jika perusahaan Anda telah menyiapkan proxy dengan benar, Anda tidak akan tahu ada yang tidak aktif karena mereka telah mengatur agar sertifikat SSL internal proxy terdaftar di mesin Anda sebagai sertifikat yang valid. Jika tidak, Anda akan menerima pesan kesalahan sembulan, yang, jika Anda klik untuk melanjutkan, akan menerima sertifikat digital "palsu". Dalam kedua kasus, Anda mendapatkan koneksi aman ke proxy, itu mendapatkan koneksi aman ke situs luar - dan semua yang dikirim melalui proxy dapat dibaca dalam teks biasa. Aduh.

19
manav m-n

Bergantung pada konfigurasi jaringan tempat Anda berada, administrator mungkin dapat melihat konten koneksi HTTPS (dan mungkin VPN).

Jelas mungkin untuk mencegat lalu lintas di jaringan, tetapi masalah biasanya adalah mereka tidak dapat mengeluarkan sertifikat yang valid untuk semua situs yang Anda kunjungi, sehingga Anda akan melihat banyak peringatan sertifikat setiap kali Anda mengakses situs HTTPS, jika mereka mencoba mendekripsi lalu lintas untuk melihatnya.

Namun, jika Anda menggunakan mesin yang disediakan oleh perusahaan mereka dapat menginstal Otoritas Sertifikat baru dan kemudian menggunakannya untuk membuat sertifikat SSL untuk situs yang Anda kunjungi, sehingga tidak akan muncul sebagai masalah.

Dengan sisi VPN hal itu bisa lebih rumit jika VPN tidak menggunakan SSL, tetapi teori yang sama berlaku. Jika Anda mengakses Internet dari mesin yang dimiliki oleh orang lain di jaringan yang mereka kontrol, mereka kemungkinan dapat mengakses konten apa pun yang Anda masukkan.

Jika Anda ingin menghindari masalah seperti ini, saya akan menggunakan perangkat yang Anda miliki/kontrol untuk mengakses Internet, dengan cara itu Anda harus diperingatkan jika terjadi intersepsi SSL.

8
Rory McCune

Benar, admin jaringan perusahaan menerapkan serangan man-in-the-middle terhadap klien TLS dengan CA mereka sendiri sehingga mereka dapat melihat apa yang meninggalkan jaringan mereka. Mereka mungkin akan memiliki perangkat yang akan membuat sertifikat saat itu juga yang berlaku untuk gmail.com ketika Anda mengunjungi gmail.com. Alasan mereka melakukan ini bukan untuk memerankan Dr. Evil, itu karena mereka dapat menjaga agar rahasia dagang tidak dikeluarkan dari gedung mereka melalui koneksi internet mereka. Serius, jangan lakukan perbankan pribadi Anda di komputer kerja.

Jika Anda menggunakan produk perangkat lunak yang tidak menggunakan penyimpanan sertifikat sistem (misalnya, contoh OpenVPN), maka, tidak, mereka tidak dapat mencegat dan menafsirkan lalu lintas Anda karena Anda tidak mempercayai CA mereka. Anda mungkin mencapai hasil yang sama menggunakan aplikasi portabel Firefox, misalnya. Dan di sebagian besar browser Anda dapat memeriksa rincian koneksi aman Anda dan melihat siapa CA-nya, untuk memastikan siapa yang mendengarkan atau tidak.

7
Bill McGonigle

Proxy dapat memblokir https dan hanya mengizinkan http dari browser. Kemudian ia dapat memulai koneksi https-nya sendiri untuk meneruskan permintaan ke server.

Sebagian besar pengguna tidak akan memperhatikan.

HSTS seharusnya menghentikan ini tetapi tidak banyak digunakan.

4
Erik van Velzen

Pengakhiran SSL atau produk proxy SSL seperti Bluecoat harus ada di jaringan Anda dan mempertimbangkan biayanya, prosedur pemasangan yang terlibat dan kebijakan keamanan normal yang dimiliki organisasi mana pun yang akan memasang produk ini - ancaman penyerang jahat menggunakan produk pemutusan SSL komersial adalah hampir nol. OTOH - orang dalam tepercaya dengan akses ke NOC (pusat operasi jaringan) sebenarnya bisa memantau lalu lintas yang diakhiri SSL dan mengungkapkan informasi sensitif.

Ini adalah masalah umum (dibenarkan atau tidak) bagi perusahaan yang menerapkan sistem DLP.

NAMUN MEMILIKI SAID SEMUA BAHWA - ada vektor serangan lain yang umum di ruang perbankan rumah yang tidak memerlukan proxy jaringan dan merupakan serangan piggback/shim di browser - karena DOM memiliki akses untuk menghapus lalu lintas teks sebelum menyentuh Pipa SSL - ini adalah vektor serangan yang mudah digunakan dan sering dipasang melalui ekstensi browser. Ada artikel Stackexchange yang sangat baik tentang shims - Bisakah shim (alias polyfill) dipasang di IE, FF, atau Chrome tanpa pengetahuan pengguna, dan dapat membaca kata sandi yang dimasukkan oleh pengguna) pada halaman login?

2
Danny Lieberman