it-swarm-tr.com

Bir HTTPS / SSL isteğini neden koklamak mümkün?

HTTP istekleri ve güvenliği ve tüm bu iyi şeyler alanında yeniyim, ancak okuduğum şeyden, isteklerinizin ve yanıtlarınızın şifrelenmesini istiyorsanız, HTTPS ve SSL kullanın ve iyi olacaksınız. Bir önceki sor içindeki bir kişi bu uygulamaya bir bağlantı gönderdi http://www.charlesproxy.com/ HTTPS isteklerini koklamanın mümkün olduğunu gösterir ve DÜZELTME metninde istek ve yanıt.

Bunu facebook.com girişiyle denedim ve gerçekten kullanıcı adımı ve şifremi düz metin olarak görebildim. da kolaydı. Neler oluyor? Ben HTTPS bütün mesele olduğunu düşündüm - istek ve yanıtları şifrelemek için?

48
bitmoe

Bu, SSL proxy ile ilgili sayfalarında açıklanmış olabilir, belki de yeterli açıklama ile değil.

Proxy, tanım gereği, ortadaki bir adamdır : istemci proxy'ye ve proxy sunucuya bağlanır.

SSL iki şey yapar:

  • Kurulan bağlantının gizliliğini ve bütünlüğünü sağlar.
  • Kime bağlandığınızı doğrular.

Burada önemli olan ve görünüşte kırılan ikinci bölüm: tarayıcınızda oturuyorsunuz ve tarayıcınızın proxy'ye bağlandığını ve Facebook'a bağlanmasını beklediğinizi şaşırttı. Teknik olarak, proxy HTTPS trafiğini koklamıyor, aktarıyor.

Sitenin “Ben gerçekten www.facebook.com” Yazan bir sertifikasına sahip olduğu için tarayıcınız Facebook'a bağlı olduğunu biliyor. Açık anahtarlı şifreleme , buraya girmeyeceğim, yalnızca özel anahtarın sahibinin bu sertifika ile geçerli bir bağlantı başlatabilmesini sağlar . Bu savaşın sadece yarısıdır: sunucunun sadece www.facebook.com Değil, randomhijacker.com Olduğunu iddia edersiniz. Tarayıcınızın yaptığı ek olarak, sertifikanın sertifika yetkilisi tarafından doğrulandığını kontrol etmektir. Tarayıcınız veya işletim sisteminiz, güvendiği sertifika yetkililerinin bir listesi ile birlikte gelir. Yine, açık anahtarlı şifreleme, yalnızca CA'nın tarayıcınızın kabul edeceği sertifikalar verebilmesini sağlar.

Proxy'ye bağlandığınızda, tarayıcınız “Ben gerçekten www.facebook.com” Adlı bir sertifika alır. Ancak bu sertifika, tarayıcınızın varsayılan olarak güvendiği bir CA tarafından imzalanmamıştır. Yani:

  • ya https://www.facebook.com/ 'daki yoğunluğu görmek için tıkladığınız güvensiz bir HTTPS bağlantısı hakkında bir uyarı aldınız;
  • ya da siz , proxy sertifikasını (“Charles'ın CA sertifikası”) imzalayan CA'yı tarayıcınızın güvendiği CAlar listenize eklediniz.

Her iki durumda da, tarayıcınıza proxy'ye güvenmesini söylediniz. Yani öyle. Rastgele yabancılara güvenmeye başlarsanız SSL bağlantısı güvenli değildir.

Daha fazla bilgi için önerilen okuma:

Oturuma erişiminiz yoksa https kırılamaz simetrik anahtar . Kısacası, https oturumlar şu şekilde çalışır:

  1. İstemci ve sunucu bazı ilk bilgi alışverişinde
  2. Bu bilgileri kullanarak, müşteri güvene değer olduğundan emin olarak sunucunun kimliğini doğrulayabilir
  3. İstemci, şifreli bir sırrı göndermek için sunucunun genel anahtarı öğesini kullanır
  4. Sunucu özel anahtar kullanarak bu sırrın şifresini çözer (sadece kimliği doğrulanmış sunucu bunu yapabilir!)
  5. Hem istemci hem de sunucu, oturum simetrik anahtarını yerel olarak oluşturmak için sırrı kullanır
  6. Artık birbirleriyle güvenli bir şekilde konuşabiliyorlar çünkü hiç kimse oturum simetrik anahtarlarını bilmiyor

Bir üçüncü tarafın paylaşılan sırra nasıl erişebileceği bazı durumlarda, oturum simetrik anahtarını oluşturabilir ve iletişimin şifresini çözebilir.