Kılavuz

Sertifika sabitleme hâlâ neyi engelliyor

Sertifikasını sabitleyen bir uygulamanın şifresi Busymate DevTools ile çözülmez — iOS'ta da, Android'de de, proxy üzerinden de. İşte her yakalama yolunun neyi görüp neyi göremediği, sabitlenmiş bir ana bilgisayarı nasıl tanıyacağınız ve neyin hâlâ işe yaradığı.

HTTPS'in şifresini çözen her yakalama aracı aynı şekilde çalışır: istemciye kendi imzaladığı bir sertifika sunar ve istemci, imzalayan otoriteye güvendiği için bunu kabul eder. Sertifika sabitleme, uygulamanın yalnızca belirli bir sertifikaya ya da anahtara güveneceğini, başka hiçbir şeye güvenmeyeceğini söylemesidir. Sabitlenmiş bir uygulama yedek sertifikayla karşılaştığında bağlantıyı reddediverir. Bu, aracın bir anahtarı değil uygulamanın bir özelliğidir ve Busymate'in sunduğu hiçbir yakalama yolu bunu aşmaz.

Bunu sessizce geçiştiren bir araç, asla şifresi çözülmeyecek bir hedef üzerinde bir araştırma oturumunuzu boşa harcatır. Bu yüzden bu kılavuz bir dolambaç değil bir haritadır: iOS'ta cihaz üzerinde yakalama, Android uygulaması, masaüstü proxy, root'lu bir çiftlik telefonu ve Chrome bağlayıcısının her birinin sabitlenmiş bir ana bilgisayara karşı ne sunduğu, akışın bunu nasıl etiketlediği ve işin hangi kısımlarının yine de yapıldığı.

Başlamadan önce

Neye ihtiyacınız var

Bu kılavuz, trafiğin en az bir yakalama yolundan panonuza zaten ulaştığını varsayar.

  • Zaten eşleştirilmiş ve yakalama yapan bir telefon ya da istemci — iPhone veya Android kılavuzu sizi oraya götürür.

  • Araştırdığınız uygulamanın ana bilgisayar adları, şifre çözmenin en azından denenmesi için SSL proxy listesine eklenmiş olmalı.

  • Pano akışı açık ve inceleme filtresi elinizin altında.

  • Uygulamayı inceleme izni: bu teknikler, sahibi olduğunuz ya da hata ayıklamaya yetkili olduğunuz uygulama ve sitelerin trafiği içindir.

Adım adım

Sırayla ilerleyin

Yolları sırayla ilerleyin — her biri sabitlenmiş bir ana bilgisayarın size hâlâ anlatabileceklerini daraltır.

  1. 01

    Yakalama yolunuzun hangi güven deposuna dayandığını bilin

    iOS'ta şifre çözme, Busymate profilinin yüklü olmasına ve Ayarlar'da tam güven verilmesine bağlıdır — bundan sonra telefondaki her uygulama, sabitleme yapanlar hariç, uygulamanın sunduğu sertifikaya güvenir. Android'de iki depo vardır: Android 7.0'dan bu yana yalnızca açıkça izin veren uygulamaların dikkate aldığı kullanıcı deposu ve her uygulamanın dikkate aldığı ama yalnızca root'lu bir cihazın yazabildiği sistem deposu. Masaüstü proxy, istemci makinenin ya da tarayıcının kendi ürettiği otoriteye duyduğu güveni kullanır.

    Sabitleme üçünün de üstündedir. Sabitleme yapan bir uygulama, yedek sertifikayı hangi depodan gelirse gelsin reddeder; bu yüzden bir sertifikayı daha güçlü bir depoya taşımak sabitlenmiş bir ana bilgisayara karşı asla işe yaramaz. Yalnızca kullanıcı deposunu reddeden uygulamalara karşı işe yarar.

  2. 02

    Akışta sabitlenmiş bir ana bilgisayarı tanıyın

    Şifre çözme için listelemediğiniz bir ana bilgisayar yalnızca ana bilgisayar adı ve istek sayısıyla kapalı bir kilit gösterir — bu tasarım gereğidir, sabitleme değildir. Sabitlenmiş bir ana bilgisayar farklı görünür: listenizdedir, şifre çözme denenmiştir ve bağlantı başarısız olmuştur ya da uygulama yeniden deneyip vazgeçmiştir. Pano akışının inceleme filtresinin üç ayarı vardır — yalnızca çözülmüş, yalnızca şifreli ve yalnızca SSL sabitlenmiş — ve sonuncusu tam olarak bu satırları ayırır.

    Diğer ipucu davranışsaldır: uygulama, o ana bilgisayarın şifresi çözüldüğü anda o ana bilgisayar için çalışmayı bırakır ve ana bilgisayarı listeden çıkardığınız anda yeniden çalışır. İkisi de doğruysa sabitlenmiş bir bağlantı bulmuşsunuzdur.

  3. 03

    iPhone'da cihaz üzerinde yakalama: meta veri, asla gövde değil

    iOS uygulaması sistem genelinde, Wi-Fi ve hücresel üzerinden yakalar ve listelediğiniz ana bilgisayarların şifresini çözer. Sabitlenmiş bir uygulamaya karşı her bağlantıyı yine kaydeder — ana bilgisayar, zamanlama, isteklerin sayısı ve boyutu, geçerli bağlantı modu — ama başlıkları ya da gövdeyi üretemez ve bunu değiştiren bir anahtar yoktur. MITM All Hosts'u açmak sabitlenmemiş her ana bilgisayarın şifresini çözer; sabitlenmiş olanı bozmaktan başka bir şey yapmaz.

    Pratik hamle, uygulama çalışmaya devam etsin diye sabitlenmiş ana bilgisayarı listeden çıkarmak, uygulamanın diğer ana bilgisayarlarını listede tutmak ve sabitlenmemiş uç noktaların ortaya koyduklarını okumaktır. Birçok uygulama yalnızca kimlik doğrulama ya da ödeme ana bilgisayarını sabitler, gerisini açık bırakır.

  4. 04

    Android: root'suz, root'lu ve sabitlemenin durduğu yer

    Root'suz bir Android telefonda uygulamanın ürettiği sertifika kullanıcı deposunda yaşar; bu yüzden yalnızca kendi hata ayıklama derlemeleriniz ve izin veren diğer istemcilerin şifresi çözülür, diğer her uygulama meta veri olarak kaydedilir. Root'lu bir cihazda sertifika sistem deposuna yüklenebilir ve HTTPS sistem genelinde çözülebilir hale gelir — uygulama başına sabitleme hariç. Telefon çiftliği Android cihazlarını tam da bu nedenle o root'lu katmanda çalıştırır.

    Yani root, bir sınıf opak uygulamayı okunabilir hale getirir — yalnızca kullanıcı deposunu yok sayanları — ve sabitlenmiş sınıfa dokunmaz. Busymate root'suz bir cihazda asla sistem genelinde şifre çözme iddiasında bulunmaz ve root'lu bir cihazda sabitlemenin aşıldığını asla iddia etmez.

  5. 05

    Proxy: aynı sınır, artı bilerek reddettiği ana bilgisayarlar

    Masaüstü proxy'nin sabitlemeyle ilişkisi telefon uygulamalarıyla aynıdır: sabitlenmiş bir istemci ürettiği sertifikayı reddeder ve bağlantı başarısız olur. Ayrıca SSL proxy ayarlarınız ne derse desin asla araya girmediği kısa bir ana bilgisayar listesi taşır — Apple'ın kendi PKI ve iptal uç noktaları, Apple'ın zincirinin kullandığı sertifika durumu yanıtlayıcıları ve Busymate'in kendi arka ucu — çünkü onlara müdahale etmek cihazı ya da panonun canlı bağlantısını bozar. Bunlar ham tüneller olarak geçer ve bu kasıtlıdır, yanlış yapılandırma değildir.

    Proxy'nin tasarım gereği dokunmadan geçirdiği ana bilgisayarlar
    text
    # Passed through as raw tunnels by the proxy, regardless of your SSL-proxy list:
    pkis.apple.com  ocsp*.apple.com  crl*.apple.com  valid.apple.com  ppq.apple.com
    # the DigiCert OCSP / CRL responders Apple's chain uses
    *.busymate.net   # the dashboard's own backend + Realtime connection
  6. 06

    Chrome bağlayıcısı: sabitleme geçerli değil

    Sabitlemenin önemsiz olduğu bir yakalama yolu vardır. Komut satırı bağlayıcısı bir Chrome örneği başlatır ve trafiğini TLS'nin tarayıcı tarafında DevTools Protocol üzerinden okur. Chrome ile sunucu arasındaki şifreli bağlantıya hiç dokunulmaz — reddedilecek yedek sertifika yoktur, yüklenecek bir şey yoktur ve sabitlemenin algılayacağı bir şey yoktur. Sabitlenmiş sertifikalarını bir proxy'nin açamadığı sağlayıcılardaki oturum açma akışları, yönlendirmeler ve belirteçler dahil uçtan uca kaydedilir.

    Bedeli kapsamdır: o Chrome'un içinde çalışanları kapsar, yerel bir uygulamayı değil. Önemsediğiniz akışın bir web sürümü varsa, onu tam olarak gören yol budur.

  7. 07

    Sabitlenmiş bir ana bilgisayarın hâlâ verdiklerini kullanın

    Meta veri hiç değildir. Uygulamanın sabitlenmiş ana bilgisayarla ne zaman, ne sıklıkta konuştuğunu, alışverişlerin ne kadar büyük olduğunu ve ne kadar sürdüğünü yine görürsünüz ve bunu çevresindeki şifresi çözülmüş çağrılarla ilişkilendirebilirsiniz. Engelleme kuralları şifreli bir ana bilgisayarda hâlâ ana bilgisayar düzeyinde eşleşir — yol görünmezdir ama uygulamayı o uç noktaya erişilemiyormuş gibi davranmaya zorlayabilirsiniz ki bu çoğu zaman tam da test etmek istediğiniz hata modudur. Duraklatmalar, siz diğer her şeyi incelerken uygulama çalışmaya devam etsin diye ana bilgisayarın proxy'yi tamamen atlamasına izin verir.

    Ve yaptığınız her eylem denetim izindedir; böylece bir araştırma oturumu neyin çözüldüğünün, neyin engellendiğinin ve neye dokunulmadığının kaydını bırakır.

Sorun giderme

Neler ters gidebilir

En çok zaman kaybettiren hatalar, araç hatası gibi görünen ama olmayanlardır.

  • Ana bilgisayarını ekler eklemez uygulama bozuldu

    Bu sabitlemedir. Ana bilgisayarı SSL proxy listesinden çıkarın — iOS'ta tünelin değişikliği alması için ardından VPN'i yeniden başlatın — ve uygulama toparlanır. Diğer ana bilgisayarlarını listede tutun.

  • MITM All Hosts uygulamayı açmadı

    Zaten açamazdı. O anahtar hangi sabitlenmemiş ana bilgisayarların çözüleceğini genişletir; uygulamanın sabitlediği bir ana bilgisayara etkisi yoktur ve telefondaki diğer tüm sabitlenmiş bağlantıları da başarısız kılar. Yeniden kapatın.

  • Android telefona root atmak da yardımcı olmadı

    Root, sertifikayı sistem deposuna taşır ve bu, kullanıcı deposunu yok sayan uygulamaları ikna eder. Sertifikayı kendi sabitiyle karşılaştıran bir uygulamaya dokunmaz.

  • Bir Apple sistem ana bilgisayarının şifresi proxy'de hiç çözülmüyor

    Proxy'nin asla araya girmediği listede, çünkü şifresini çözmek cihazı bozar. Düzeltilecek bir şey yok; filtre onu tasarım gereği şifreli gösterir.

SSS

Sık sorulan sorular

Busymate bir sabitleme atlatma yöntemi sunuyor mu?

Hayır. Yakalama yollarının hiçbiri hedef uygulamayı değiştirmez, kod enjekte etmez ya da güven mantığını yamalamaz. Sabitlenmiş yerel bir uygulama için dürüst yanıt, meta veri artı sabitlenmemiş ana bilgisayarlarının ortaya koyduklarıdır.

Sabitlemeyi, listelemeyi unuttuğum bir ana bilgisayardan nasıl ayırt ederim?

Listelenmemiş bir ana bilgisayar kapalı bir kilit gösterir ve uygulama çalışmaya devam eder. Sabitlenmiş bir ana bilgisayar listelenmiştir, şifre çözme denenmiştir, akışın SSL sabitlenmiş filtresi onu ayırır ve siz onu listeden çıkarana kadar uygulama başarısız olur.

Sabitlenmiş bir sağlayıcıdaki kimlik doğrulama akışı için hangi yolu seçmeliyim?

Sağlayıcının web ile oturum açması varsa Chrome bağlayıcısı üzerinden çalıştırın — TLS tarayıcının içinde sonlanır ve tüm yönlendirme zinciri kaydedilir. Yerel bir uygulama için şifresi çözülmüş bir yol yoktur; meta veriyi ve çevresindeki sabitlenmemiş çağrıları yakalayın.

Sınırı bilin, başlamadan önce

Şifre çözmeyi test ettiğiniz ana bilgisayarlarla sınırlayın, hangilerinin sabitlediğini akış söylesin ve oturumu gerçekten okunabilecek şeylere harcayın.

Ask your mate