- Bu kez gündem olan OCSP hakkında teknik analiz
→ Geliştirici sertifikasının geçerli olup olmadığını doğrulamak için uygulama çalıştırılırken Apple sunucusuna bağlanıp kontrol ediyor
→ Ağ bağlantısı mümkün değilse uygulamayı yine de çalıştırıyor
→ Bağlantı mümkün ama sunucu yavaşsa, bu olayda olduğu gibi Apple’ın yapmadığı tüm uygulamaların açılmaması sorunu ortaya çıkıyor
→ Uygulama her çalıştırıldığında uygulamanın hash’inin Apple sunucusuna gönderildiği yönünde bir iddia var [1]
→ Sorun, HTTPS yerine HTTP kullanılması (çünkü HTTPS sertifikasını doğrulamak için bir kez daha bağlantı açılması gereken bir durum ortaya çıkıyor)
- İçine bakış
→ Arada yalnızca bir HTTP proxy ya da Wireshark varsa her şey yakalanabiliyor
→ Bir kez çalıştırılıp OCSP doğrulaması yapıldıysa belirli bir süre boyunca yeniden doğrulama yapılmıyor
→ GET ile base64 kodlanmış 80 baytlık bir dize gönderiliyor
→ Bu değerin uygulamanın hash’i gibi göründüğü, ancak "öyle olmadığı" söyleniyor
→ Bu ikili bilgiyi OpenSSSL ile açınca gerçekten sertifika Issuer adı, anahtar hash değeri ve seri numarasının içeride olduğu görülüyor
→ Yine de sertifika her uygulamada farklıysa, sonuçta bunun uygulamaya ait hash değeriyle aynı şey sayılıp sayılmayacağı konusunda şüphe var
- Geliştirici sertifikası
→ Bu sertifika bilgisi nereden geliyor?
→ codesign ile Mac uygulamasının sertifikası çıkarılıyor (burada Firefox)
→ Seri numarası yukarıda yakalananla eşleşiyor
→ Sonra Thunderbird’ün sertifikası çıkarılınca onun da seri numarasının aynı olduğu görülüyor (beklendiği gibi)
→ Yani [1]’de söylendiği gibi tüm uygulamaları tespit edebilecek hash bilgisinin gönderildiği iddiası yanlış
→ Elbette bunun, hangi bilgisayarda hangi geliştiricinin uygulamasının ne zaman çalıştırıldığının anlaşılabildiği gerçeğini değiştirmediği de doğru
- OCSP’yi engelleme hakkında
→ Little Snitch kullanarak ya da /etc/hosts üzerinden engellemek mümkün
→ Ancak bu, önemli bir güvenlik işlevinin kendisini engellemek anlamına geldiği için yapılmaması tavsiye ediliyor
- TL;DR
→ macOS, bir uygulama her çalıştırıldığında uygulamanın hash’ini Apple’a göndermiyor
→ macOS, kullandığınız uygulamanın geliştirici sertifikası bilgisini gönderiyor ve bu HTTP üzerinden iletiliyor
→ Mümkünse ocsp.apple.com erişimini engellemeyin.
4 yorum
Bu arada, İngilizce Wikipedia'ya göre Google Chrome, “kazanç bulmak zor, buna karşılık maliyetler (gecikme ve gizlilik sorunları) bariz” olduğu gerekçesiyle OCSP'yi zaten 2012'den beri devre dışı bırakmış durumda.
https://www.imperialviolet.org/2012/02/05/crlsets.html
OCSP aslında web tarayıcılarının da SSL sertifikalarının süresinin dolup dolmadığını kontrol etmek için kullandığı bir yöntem olsa gerek. Uygulama doğrulaması da SSL sertifikasıyla aynı şekilde yapıldığı için bunun böyle olduğu tahmin edilebilir.
Bunun, iOS'taki gibi Mac uygulamaları için de App Analytics bilgisi toplamak amacıyla olduğuna dair bir tahmin yürütüyorum.
Bununla ilgili okunabilecek konular
[1] Bilgisayarınız sadece size ait değildir https://tr.news.hada.io/topic?id=3200
[2] macOS Catalina (10.15): tasarım yüzünden yavaşlıyor https://tr.news.hada.io/topic?id=2145