- Analisis teknis tentang OCSP yang kali ini menjadi isu
→ Untuk memeriksa apakah sertifikat pengembang masih valid, saat aplikasi dijalankan sistem terhubung ke server Apple untuk melakukan pengecekan
→ Jika koneksi jaringan tidak memungkinkan, aplikasi tetap dijalankan
→ Jika koneksi memungkinkan tetapi server lambat, maka seperti kali ini bisa muncul masalah di mana semua aplikasi selain yang dibuat Apple tidak bisa dibuka
→ Ada klaim bahwa setiap kali aplikasi dijalankan, hash aplikasi dikirim ke server Apple [1]
→ Masalahnya adalah menggunakan HTTP, bukan HTTPS (karena untuk memeriksa sertifikat HTTPS akan muncul situasi di mana koneksi lain harus dibuka lagi)
- Melihat bagian dalamnya
→ Jika ada HTTP Proxy atau Wireshark di tengah, semuanya bisa ditangkap
→ Setelah sekali dijalankan dan verifikasi OCSP berhasil, untuk jangka waktu tertentu verifikasi tidak dilakukan lagi
→ Mengirim string 80 byte yang di-encode base64 dengan metode GET
→ Nilai tersebut terlihat seperti hash aplikasi, tetapi "bukan"
→ Jika informasi biner itu dibuka dengan OpenSSSL, ternyata benar-benar berisi nama issuer sertifikat, nilai hash kunci, dan nomor seri
→ Meski begitu, jika sertifikat berbeda untuk setiap aplikasi, bukankah pada akhirnya itu sama saja dengan nilai hash untuk aplikasi tersebut? Kecurigaan seperti itu tetap ada
- Sertifikat pengembang
→ Dari mana informasi sertifikat ini berasal?
→ Mencoba mengekstrak sertifikat aplikasi Mac dengan codesign (di sini menggunakan Firefox)
→ Nomor serinya cocok dengan yang ditangkap di atas
→ Lalu ketika sertifikat Thunderbird diambil lagi, nomor serinya ternyata sama juga (tentu saja)
→ Artinya, seperti yang dikatakan di [1], informasi bahwa Apple mengirim nilai hash yang bisa mengidentifikasi semua aplikasi adalah tidak benar
→ Tentu saja, tetap benar bahwa Apple bisa mengetahui bahwa dari komputer tertentu, aplikasi milik "pengembang tertentu" telah dijalankan
- Tentang memblokir OCSP
→ Bisa diblokir dengan Little Snitch atau melalui /etc/hosts
→ Tetapi karena ini berarti memblokir fungsi keamanan yang penting, disarankan untuk tidak melakukannya
- TL;DR
→ macOS tidak mengirim hash aplikasi ke Apple setiap kali menjalankan aplikasi
→ macOS mengirim informasi sertifikat pengembang dari aplikasi yang Anda gunakan, dan ini dikirim melalui HTTP
→ Sebisa mungkin jangan memblokir akses ke ocsp.apple.com.
4 komentar
Sebagai referensi, menurut Wikipedia bahasa Inggris, Google Chrome sudah menonaktifkan OCSP sejak 2012. Alasannya adalah bahwa “manfaatnya sulit ditemukan, sementara biayanya (penundaan dan masalah privasi) jelas ada”.
https://www.imperialviolet.org/2012/02/05/crlsets.html
OCSP memang pada dasarnya adalah metode yang juga digunakan browser web untuk memeriksa hal seperti apakah sertifikat SSL sudah kedaluwarsa. Karena autentikasi aplikasi dilakukan dengan cara yang sama seperti sertifikat SSL, mungkin bisa diduga itulah alasannya.
Saya menduga ini mungkin untuk mengumpulkan informasi App Analytics untuk aplikasi Mac seperti di iOS.
Isu terkait yang layak dibaca
[1] Komputermu bukan hanya milikmu sendiri https://id.news.hada.io/topic?id=3200
[2] macOS Catalina (10.15): diperlambat oleh desain https://id.news.hada.io/topic?id=2145