Güvenlik araştırmacıları kısa bir süre önce, Meltdown ve Spectre adıyla anılan güvenlik sorunlarını ortaya çıkardı. Bu sorunlar her tür modern işlemcinin yanı sıra, bilgi işlem altyapısı kullanan neredeyse tüm aygıtları ve işletim sistemlerini etkiliyor. Tüm Mac sistemleri ve iOS aygıtları da bu kapsama girmekle birlikte, bu yazının yazıldığı anda bu sorunlardan müşterileri etkileyecek boyutta yararlanılması söz konusu değil. Bu sorunlardan yararlanabilmek için genellikle Mac'inize veya iOS aygıtınıza kötü amaçlı bir uygulama yüklenmesi gerektiğinden, yalnızca App Store gibi güvenilen kaynaklardan yazılım indirmenizi öneririz.
Apple, Meltdown'a karşı savunmaya yardımcı olması için iOS 11.2, macOS 10.13.2 ve tvOS 11.2 sürümlerinde çeşitli önlemler yayınlamıştır. macOS Sierra ve OS X El Capitan'a yönelik güvenlik güncellemeleri de Meltdown için çeşitli önlemler içeriyor. Apple, Spectre'a karşı savunmaya yardımcı olması için iOS 11.2.2, macOS High Sierra 10.13.2 Ek Güncellemesi'nin yanı sıra macOS Sierra ve OS X El Capitan'a yönelik Safari 11.0.2 sürümünde çeşitli önlemler yayınlamıştır. Apple Watch, Meltdown ve Spectre sorunlarından etkilenmemektedir.
Bu sorunlarla ilgili ek önlemler geliştirip test etmeye devam edeceğiz.
Arka plan
Meltdown ve Spectre sorunları, modern CPU'ların spekülatif yürütme adı verilen bir performans özelliğinden yararlanmaktadır. Spekülatif yürütme, birden fazla komutu aynı anda ve muhtemelen CPU'ya girdiğinden farklı bir sırayla çalışarak hızı iyileştirir. CPU, performansı artırmak için, bir dallanma durumunda kullanılma olasılığı en yüksek yolu tahmin eder ve dalın tamamlanmasını bile beklemeden spekülatif bir şekilde bu yolun ileriki aşamalarını yürütmeye devam eder. Tahmin yanlışsa spekülatif yürütme, yazılım tarafından görülmemesi amaçlanmış bir şekilde geri alınır.
Meltdown ve Spectre suistimal teknikleri, spekülatif yürütme özelliğini kötüye kullanarak aygıtta çalışan kötü amaçlı bir yazılım gibi düşük ayrıcalıklı bir kullanıcı işleminden çekirdek belleği de dahil olmak üzere ayrıcalıklı belleğe erişebilir.
Meltdown
Meltdown, CVE-2017-5754 veya "hileli veri önbelleği yükü" (rogue data cache load) olarak bilinen suistimal tekniğine verilen addır. Meltdown tekniği bir kullanıcı işleminin çekirdek belleği okumasına olanak sağlayabilir. Yaptığımız analizler bu teknikten yararlanma olasılığının çok yüksek olduğunu göstermektedir. Apple; iOS 11.2, macOS 10.13.2, tvOS 11.2 sürümlerinin yanı sıra macOS Sierra'ya yönelik Güvenlik Güncellemesi 2018-001 ve OS X El Capitan'a yönelik Güvenlik Güncellemesi 2018-001'de Meltdown için çeşitli önlemler yayınlamıştır. watchOS için herhangi bir önleme gerek duyulmamıştır.
Herkese açık karşılaştırmaları kullanarak yaptığımız testler, Aralık 2017 güncellemelerinde yapılan değişikliklerin, GeekBench 4 karşılaştırmasında veya Speedometer, JetStream ve ARES-6 gibi ortak web gözatma karşılaştırmalarında da ölçüldüğü şekilde macOS ve iOS performansında önemli bir azalmaya yol açmadığını göstermiştir.
Spectre
Spectre, birçok farklı suistimal tekniğini kapsayan bir addır. Bu yazının yazıldığı anda bu tekniklere CVE-2017-5753 veya "sınır denetimini atlama" (bounds check bypass), CVE-2017-5715 veya "dal hedefi ekleme" (branch target injection) ve CVE-2018-3639 veya "spekülatif sınır atlama" (speculative bounds bypass) dahildir. Bu teknikler, CPU bir bellek erişimi çağrısının geçerliliğini denetlerken oluşabilen gecikmeden yararlanarak çekirdek belleğindeki öğeleri kullanıcı işlemlerine açık hale getirebilme olanağı sağlar.
Bu tekniklerle ilgili olarak yapılan analizler, bir Mac veya iOS aygıtında yerel olarak çalışan bir uygulamayla bile bu tekniklerden yararlanmanın son derece zor olduğunu, ancak bir web tarayıcısında çalışan JavaScript ile yararlanılabileceğini göstermiştir. Apple, bu zamanlama temelli teknikleri önlemek için 8 Ocak'ta macOS ve iOS'teki Safari için güncellemeler yayınlamıştır. Safari önlemleri yayınlandığı sırada yürütülen testler, bu önlemlerin Speedometer ve ARES-6 testleri üzerinde önemli bir etkisi olmadığını ve JetStream karşılaştırmasında %2,5'ten az bir etkisi olduğunu gösterdi. Spectre teknikleri için işletim sistemi içinde ek önlemler geliştirip test etmeye devam edeceğiz. watchOS, Spectre sorunundan etkilenmemektedir.