Güvenlik Güncellemeleri ve Kaynakları

Android güvenlik ekibi, Android platformunda ve Android cihazlarla birlikte gelen birçok temel Android uygulamasında keşfedilen güvenlik açıklarını yönetmekten sorumludur.

Android güvenlik ekibi, dahili araştırmalar yoluyla güvenlik açıklarını bulur ve ayrıca üçüncü taraflarca bildirilen hatalara yanıt verir. Harici hata kaynakları arasında Android Güvenlik Sorunu şablonu aracılığıyla bildirilen sorunlar, yayınlanmış ve önceden yayınlanmış akademik araştırmalar, yukarı akışlı açık kaynak proje yürütücüleri, cihaz üreticisi ortaklarımızdan gelen bildirimler ve bloglarda veya sosyal medyada yayınlanan herkese açık olarak açıklanan sorunlar yer alır.

Güvenlik sorunlarını bildirme

Herhangi bir geliştirici, Android kullanıcısı veya güvenlik araştırmacısı, güvenlik açığı raporlama formu aracılığıyla Android güvenlik ekibine olası güvenlik sorunlarını bildirebilir.

Güvenlik sorunları olarak işaretlenen hatalar dışarıdan görünür değildir, ancak sorun değerlendirildikten veya çözüldükten sonra sonunda görünür hale getirilebilir. Bir güvenlik sorununu çözmek için bir yama veya Uyumluluk Test Paketi (CTS) testi göndermeyi planlıyorsanız, lütfen bunu hata raporuna ekleyin ve kodu AOSP'ye yüklemeden önce yanıt bekleyin.

Hataları tetiklemek

Bir güvenlik açığını ele almanın ilk görevi, hatanın ciddiyetini ve Android'in hangi bileşeninin etkilendiğini belirlemektir. Önem derecesi, sorunun nasıl önceliklendirileceğini belirler ve bileşen, hatayı kimin düzelttiğini, kime bildirileceğini ve düzeltmenin kullanıcılara nasıl dağıtılacağını belirler.

bağlam türleri

Bu tablo, donanım ve yazılım güvenliği bağlamlarının tanımlarını kapsar. Bağlam, tipik olarak işlediği verilerin hassasiyeti veya içinde çalıştığı alan ile tanımlanabilir. Tüm güvenlik bağlamları tüm sistemler için geçerli değildir. Bu tablo en az ayrıcalıklıdan en ayrıcalıklıya doğru sıralanmıştır.

bağlam türü Tip tanımı
kısıtlı bağlam Yalnızca en az izinlerin sağlandığı kısıtlı bir yürütme ortamı.

Örneğin, korumalı bir ortamda güvenilmeyen verileri işleyen güvenilir uygulamalar.
ayrıcalığı olmayan bağlam Ayrıcalıksız kod tarafından beklenen tipik bir yürütme ortamı.

Örneğin, untrusted_app_all özniteliği ile bir SELinux etki alanında çalışan bir Android uygulaması.
Ayrıcalıklı bağlam Yükseltilmiş izinlere erişimi olabilen, birden çok kullanıcı PII'sini işleyen ve/veya sistem bütünlüğünü koruyan ayrıcalıklı bir yürütme ortamı.

Örneğin, SELinux untrusted_app etki alanı tarafından yasaklanacak özelliklere sahip veya privileged|signature izinlerine erişimi olan bir Android uygulaması.
İşletim Sistemi Çekirdeği İşlevsellik:
  • çekirdeğin bir parçasıdır
  • çekirdekle aynı CPU bağlamında çalışır (örneğin, aygıt sürücüleri)
  • çekirdek belleğe doğrudan erişimi vardır (örneğin, cihazdaki donanım bileşenleri)
  • komut dosyalarını bir çekirdek bileşenine yükleme yeteneğine sahiptir (örneğin, eBPF)
  • çekirdek eşdeğeri olarak kabul edilen bir avuç kullanıcı hizmetinden biridir ( apexd , bpfloader , init , ueventd ve vold ).
Güvenilir Donanım Tabanı (THB) Cihazın temel kullanım durumları (hücresel temel bantlar, DSP'ler, GPU'lar ve ML işlemcileri gibi) için kritik olan işlevsellik sağlayan, genellikle SoC üzerinde bulunan ayrı donanım bileşenleri.
Önyükleyici Zinciri Aygıtı önyükleme sırasında yapılandıran ve ardından denetimi Android işletim sistemine geçiren bir bileşen.
Güvenilir Yürütme Ortamı (TEE) Düşman bir OS Çekirdeğinden bile korunmak üzere tasarlanmış bir bileşen (örneğin, TrustZone ve Sanal Makineleri OS Çekirdeğinden koruyan pKVM gibi hipervizörler).
Güvenli Bölge / Güvenli Öğe (SE) Güvenli Öğelere Giriş bölümünde tanımlandığı gibi, aygıttaki diğer tüm bileşenlerden ve fiziksel saldırılara karşı korunmak üzere tasarlanmış isteğe bağlı bir donanım bileşeni.

Bu, bazı Android cihazlarda bulunan Titan-M çipini içerir.

önem

Bir hatanın ciddiyeti, genellikle bir hatanın başarıyla kullanılması durumunda oluşabilecek potansiyel zararı yansıtır. Önem derecesini belirlemek için aşağıdaki kriterleri kullanın.

Değerlendirme Başarılı sömürünün sonucu
kritik
  • TEE veya SE'de keyfi kod yürütme
  • Güvenlikle ilgili yazılım veya donanım bileşenlerinin arızalanmasını önlemek için tasarlanmış yazılım mekanizmalarının baypas edilmesi (örneğin, termal korumalar)
  • Uzaktan hizmet kimlik doğrulaması için kullanılan hassas kimlik bilgilerine uzaktan erişim (örneğin, hesap parolaları veya taşıyıcı belirteçleri)
  • Kullanıcı etkileşimi olmadan hücresel temel bant bağlamında uzaktan rastgele kod yürütme (örneğin, hücresel radyo hizmetindeki bir hatadan yararlanma)
  • Ayrıcalıklı bir bağlamda, önyükleyici zincirinde, THB'de veya OS Çekirdeğinde uzaktan rastgele kod yürütme
  • Paket kurulumunda veya eşdeğer davranışta kullanıcı etkileşimi gereksinimlerinin uzaktan atlanması
  • Çekirdek geliştirici, güvenlik veya gizlilik ayarları için kullanıcı etkileşimi gereksinimlerinin uzaktan atlanması
  • Uzaktan kalıcı hizmet reddi (kalıcı, tüm işletim sisteminin yeniden başlatılmasını veya fabrika ayarlarına sıfırlamayı gerektirir)
  • Uzaktan güvenli önyükleme atlama
  • SE'deki zayıf anahtarlar tarafından etkinleştirilen erişim dahil olmak üzere SE tarafından güvence altına alınan verilere yetkisiz erişim.
Yüksek
  • Bir temel güvenlik özelliğinin tamamen atlanması (örneğin, SELinux, FBE veya seccomp )
  • Önyükleyici zincirinde, TEE'de veya SE'de derinlemesine bir savunma veya istismar azaltma teknolojisi için genel bir baypas
  • Uygulama, kullanıcı veya profil sınırları boyunca bellek veya dosya içeriğini ortaya çıkaran işletim sistemi korumaları için genel bir atlama
  • Daha az güvenli bir uygulamaya geçişle sonuçlanan bir SE'ye yönelik saldırılar
  • Cihaz koruması/fabrika sıfırlama koruması/taşıyıcı kısıtlamalarının atlanması
  • TEE tarafından güvence altına alınan kullanıcı etkileşimi gereksinimlerinin atlanması
  • Aktarım katmanı güvenliğine (TLS) ve Bluetooth'a (BT) yönelik saldırılar da dahil olmak üzere uçtan uca protokollere yönelik saldırılara izin veren kriptografik güvenlik açığı.
  • Uzaktan hizmet kimlik doğrulaması için kullanılan hassas kimlik bilgilerine yerel erişim (örneğin, hesap parolaları veya taşıyıcı belirteçleri)
  • Ayrıcalıklı bir bağlamda yerel rastgele kod yürütme, önyükleyici zinciri, THB veya OS Çekirdeği
  • Yerel güvenli önyükleme atlama
  • Kilit ekranı atlama
  • Çekirdek geliştirici, güvenlik veya gizlilik ayarları için kullanıcı etkileşimi gereksinimlerinin yerel olarak atlanması
  • Paket kurulumunda veya eşdeğer davranışta kullanıcı etkileşimi gereksinimlerinin yerel olarak atlanması
  • Yerel kalıcı hizmet reddi (kalıcı, tüm işletim sisteminin yeniden başlatılmasını veya fabrika ayarlarına sıfırlamayı gerektirir)
  • Korunan verilere uzaktan erişim (yani, ayrıcalıklı bir bağlamla sınırlı veriler)
  • Ayrıcalıksız bir bağlamda uzaktan rastgele kod yürütme
  • Kullanıcı etkileşimi olmadan hücresel veya Wi-Fi hizmetine erişimin uzaktan engellenmesi (örneğin, hücresel radyo hizmetinin hatalı biçimlendirilmiş bir paketle kilitlenmesi)
  • Kullanıcı etkileşimi gereksinimlerinin uzaktan atlanması (kullanıcı başlatma veya kullanıcı izni gerektirmesi gereken işlevsellik veya verilere erişim)
  • Acil servislere erişimin hedeflenen önlenmesi
  • İstekte bulunan kişi güvenli bir aktarım beklediğinde, hassas bilgilerin güvenli olmayan bir ağ protokolü (örneğin, HTTP ve şifrelenmemiş Bluetooth) üzerinden iletilmesi. Bunun Wi-Fi şifrelemesi (WEP gibi) için geçerli olmadığını unutmayın.
  • TEE'deki zayıf anahtarlar tarafından etkinleştirilen erişim dahil olmak üzere, TEE tarafından güvence altına alınan verilere yetkisiz erişim
Ilıman
  • Ayrıcalıklı bir bağlamda, THB'de veya OS Çekirdeğinde derinlemesine bir savunma veya istismar azaltma teknolojisi için genel bir atlama
  • Uygulama, kullanıcı veya profil sınırları genelinde işlem durumunu veya meta verileri ortaya çıkaran işletim sistemi korumaları için genel bir atlama
  • Wi-Fi şifrelemesini veya kimlik doğrulamasını atlamak
  • Düz metin sızdırılmasına izin veren standart kripto temel öğelerindeki şifreleme güvenlik açığı (TLS'de kullanılan temel öğeler değil)
  • Korunan verilere yerel erişim (yani, ayrıcalıklı bir bağlamla sınırlı veriler)
  • Ayrıcalıksız bir bağlamda yerel rasgele kod yürütme
  • Kullanıcı etkileşimi gereksinimlerinin yerel olarak atlanması (normalde kullanıcı başlatma veya kullanıcı izni gerektiren işlevsellik veya verilere erişim)
  • Korunmayan verilere uzaktan erişim (yani, yerel olarak yüklenmiş herhangi bir uygulama tarafından normal olarak erişilebilen veriler)
  • Kısıtlı bir bağlamda uzaktan rastgele kod yürütme
  • Uzaktan geçici cihaz hizmet reddi (uzaktan askıda kalma veya yeniden başlatma)
Düşük
  • Kullanıcı düzeyinde derinlemesine bir savunma için genel bir atlama veya ayrıcalıksız bir bağlamda azaltma teknolojisinden yararlanma
  • Normal koruma seviyesi izninin atlanması
  • Standart dışı kullanımda kriptografik güvenlik açığı
  • Voice Match veya Face Match gibi cihazdaki kişiselleştirme özelliklerinin genel olarak atlanması
  • Güvenlik açığına yol açabilecek yanlış belgeler
  • Kısıtlı bir bağlamda yerel rasgele kod yürütme
  • Yanlış bir güvenlik beklentisi oluşturan yanıltıcı bir açıklama içeren sistem tanımlı metin
İhmal Edilebilir Güvenlik Etkisi (NSI)
  • Etkisi, bir veya daha fazla derecelendirme değiştiricisi veya sürüme özgü mimari değişiklikleriyle azaltılmış, böylece etkin önem derecesi Düşük'ün altında olacak şekilde, temeldeki kod sorunu devam edebilse de bir güvenlik açığı
  • Hatalı biçimlendirilmiş bir dosya sistemi gerektiren herhangi bir güvenlik açığı, eğer bu dosya sistemi kullanımdan önce her zaman benimsenir/şifrelenirse .

Derecelendirme değiştiricileri

Güvenlik açıklarının önem derecesini belirlemek genellikle kolay olsa da, derecelendirmeler koşullara göre değişebilir.

Sebep Etki
Saldırıyı yürütmek için ayrıcalıklı bir bağlam olarak çalışmayı gerektirir (TEE, SE ve pKVM gibi hipervizörler için geçerli değildir) -1 Önem derecesi
Güvenlik açığına özel ayrıntılar, sorunun etkisini sınırlar -1 Önem derecesi
Doğrudan cihaz sahibinden biyometrik bilgi gerektiren biyometrik kimlik doğrulama atlaması -1 Önem derecesi
Derleyici veya platform yapılandırmaları, kaynak koddaki bir güvenlik açığını azaltır Temel güvenlik açığı Orta veya daha yüksekse Orta Önem Derecesi
Cihazın dahili bileşenlerine fiziksel erişim gerektirir ve cihaz kapalıysa veya açıldığından beri kilidi açılmamışsa yine de mümkündür -1 Önem derecesi
Cihaz açıkken ve daha önce kilidi açılmışken cihazın dahili bileşenlerine fiziksel erişim gerektirir -2 Önem derecesi
Önyükleyici zincirinin kilidinin açılmasını gerektiren yerel bir saldırı Düşükten daha yüksek değil
Geliştirici Modunun veya herhangi bir kalıcı geliştirici modu ayarının şu anda cihazda etkinleştirilmesini gerektiren (ve Geliştirici Modunun kendisinde bir hata olmayan) yerel bir saldırı. Düşükten daha yüksek değil
Hiçbir SELinux etki alanı, işlemi Google tarafından sağlanan SEPolicy kapsamında yürütemiyorsa İhmal Edilebilir Güvenlik Etkisi

Yerele karşı Proksimale karşı Uzak

Bir uzaktan saldırı vektörü, bir uygulama yüklemeden veya bir cihaza fiziksel erişim olmadan hatadan yararlanılabileceğini gösterir. Bu, bir web sayfasına göz atarak, bir e-postayı okuyarak, bir SMS mesajı alarak veya düşman bir ağa bağlanarak tetiklenebilecek hataları içerir. Şiddet derecelendirmelerimiz için "yakın" saldırı vektörlerini de uzak olarak kabul ediyoruz. Bunlar, yalnızca fiziksel olarak hedef cihazın yakınında bulunan bir saldırgan tarafından kullanılabilecek hataları içerir; örneğin, hatalı biçimlendirilmiş Wi-Fi veya Bluetooth paketleri gönderilmesini gerektiren bir hata. Ultra geniş bant (UWB) ve NFC tabanlı saldırıları yakın ve dolayısıyla uzak olarak değerlendiriyoruz.

Yerel saldırılar, kurbanın bir uygulamayı yükleyip çalıştırarak veya bir Hazır Uygulama çalıştırmaya izin vererek bir uygulamayı çalıştırmasını gerektirir. Eşleştirilmiş yardımcı cihazlar yerel olarak kabul edilecektir. Önem derecesi derecelendirmeleri amacıyla, Android güvenlik ekibi fiziksel saldırı vektörlerini de yerel olarak değerlendirir. Bunlara, yalnızca cihaza fiziksel erişimi olan bir saldırgan tarafından kullanılabilecek, örneğin kilit ekranındaki bir hata veya bir USB kablosunun takılmasını gerektiren hatalar dahildir.

Ağ güvenliği

Android, tüm ağların düşmanca olduğunu ve saldırı enjekte edebileceğini veya trafikte casusluk yapabileceğini varsayar. Bağlantı katmanı güvenliği (örneğin, Wi-Fi şifreleme) bir aygıt ile bağlı olduğu Erişim Noktası arasındaki iletişimi güvence altına alırken, aygıt ile iletişim kurduğu sunucular arasındaki zincirde kalan bağlantıların güvenliğini sağlamak için hiçbir şey yapmaz.

Buna karşılık, HTTPS tipik olarak tüm iletişimi uçtan uca korur, verileri kaynağında şifreler, ardından şifresini çözer ve yalnızca nihai hedefine ulaştığında doğrular. Bu nedenle, bağlantı katmanı ağ güvenliğini tehlikeye atan güvenlik açıkları, HTTPS/TLS'deki güvenlik açıklarından daha az ciddi olarak derecelendirilir: İnternetteki çoğu iletişim için tek başına Wi-Fi şifrelemesi yetersizdir.

biyometrik kimlik doğrulama

Biyometrik kimlik doğrulama zorlu bir alandır ve en iyi sistemler bile yakın bir eşleşme ile kandırılabilir (bkz. Android Geliştiricileri Blogu: Android 11'de Kilit ekranı ve kimlik doğrulama geliştirmeleri ). Bu önem dereceleri, iki saldırı sınıfını birbirinden ayırır ve gerçek riski son kullanıcıya yansıtmayı amaçlar.

Birinci sınıf saldırılar, sahibinden yüksek kaliteli biyometrik veriler olmadan, genelleştirilebilir bir şekilde biyometrik kimlik doğrulamanın atlanmasına izin verir. Örneğin, bir saldırgan parmak izi sensörüne bir parça sakız yerleştirebilir ve sensörde kalan kalıntıya göre cihaza erişim sağlarsa, bu, hassas herhangi bir cihazda gerçekleştirilebilecek basit bir saldırıdır. Cihaz sahibinin herhangi bir bilgisi gerektirmez. Genelleştirilebilir olduğu ve potansiyel olarak daha fazla sayıda kullanıcıyı etkilediği göz önüne alındığında, bu saldırı tam önem derecesini alır (örneğin, bir Kilit Ekranı atlaması için Yüksek).

Diğer saldırı sınıfı genellikle cihaz sahibine bağlı olarak bir sunum saldırı aracı (spoof) içerir. Bazen bu biyometrik bilginin elde edilmesi nispeten kolaydır (örneğin, birinin sosyal medyadaki profil resmi biyometrik kimlik doğrulamasını kandırmak için yeterliyse, o zaman biyometrik baypas tam önem derecesini alır). Ancak bir saldırganın doğrudan cihaz sahibinden biyometrik veri alması gerekiyorsa (örneğin, yüzlerinin kızılötesi taraması), bu, saldırıdan etkilenen insan sayısını sınırlayacak kadar önemli bir engeldir, bu nedenle bir -1 değiştiricisi vardır. .

SYSTEM_ALERT_WINDOW ve Tapjacking

SYSTEM_ALERT_WINDOW ve tapjacking ile ilgili politikalarımız hakkında bilgi için, BugHunter University'nin Güvenlik etkisi olmayan Hatalar sayfasının " Güvenlik açısından kritik olmayan bir ekranda SYSTEM_ALERT_WINDOW güvenlik açığını ele geçirme/yer paylaşımı " bölümüne bakın.

Etkilenen bileşen

Hatayı düzeltmekten sorumlu geliştirme ekibi, hatanın hangi bileşende olduğuna bağlıdır. Bu, Android platformunun temel bir bileşeni, bir orijinal ekipman üreticisi (OEM) tarafından sağlanan bir çekirdek sürücüsü veya Pixel cihazlarına önceden yüklenmiş uygulamalardan biri olabilir. .

AOSP kodundaki hatalar Android mühendislik ekibi tarafından düzeltildi. Düşük önemdeki hatalar, belirli bileşenlerdeki hatalar veya zaten genel olarak bilinen hatalar, doğrudan kamuya açık AOSP ana dalında düzeltilebilir; aksi takdirde, önce dahili depolarımızda sabitlenirler.

Bileşen ayrıca, kullanıcıların güncellemeleri nasıl aldıkları konusunda da bir faktördür. Çerçevedeki veya çekirdekteki bir hata, her OEM'in zorlaması gereken bir kablosuz (OTA) ürün yazılımı güncellemesi gerektirir. Google Play'de yayınlanan bir uygulama veya kitaplıktaki (örneğin, Gmail, Google Play Hizmetleri veya WebView) bir hata, Google Play'den bir güncelleme olarak Android kullanıcılarına gönderilebilir.

ortakları bilgilendirme

Bir Android Güvenlik Bülteni'nde AOSP'deki bir güvenlik açığı giderildiğinde, sorun ayrıntılarını Android ortaklarına bildirir ve düzeltme ekleri sağlarız. Backport destekli sürümlerin listesi, her yeni Android sürümüyle birlikte değişir. Desteklenen cihazların listesi için cihaz üreticinizle iletişime geçin.

Kodu AOSP'ye serbest bırakma

Güvenlik hatası bir AOSP bileşenindeyse, OTA kullanıcılara yayınlandıktan sonra düzeltme AOSP'ye gönderilir. Düşük önem derecesine sahip sorunlara yönelik düzeltmeler, bir OTA aracılığıyla cihazlara bir düzeltme sunulmadan önce doğrudan AOSP ana şubesine gönderilebilir.

Android güncellemelerini alma

Android sistemine yapılan güncellemeler genellikle OTA güncelleme paketleri aracılığıyla cihazlara iletilir. Bu güncellemeler, cihazı üreten OEM'den veya cihaza servis sağlayan operatörden gelebilir. Google Pixel cihaz güncellemeleri, bir operatör teknik kabul (TA) test prosedüründen geçtikten sonra Google Pixel ekibinden gelir. Google ayrıca, cihazlara yandan yüklenebilen Pixel fabrika görüntülerini de yayınlar.

Google hizmetlerini güncelleme

Android güvenlik ekibi, güvenlik hataları için yamalar sağlamanın yanı sıra, kullanıcıları korumanın başka yolları olup olmadığını belirlemek için güvenlik hatalarını da inceler. Örneğin, Google Play tüm uygulamaları tarar ve bir güvenlik açığından yararlanmaya çalışan tüm uygulamaları kaldırır. Google Play dışından yüklenen uygulamalar için, Google Play Hizmetlerine sahip cihazlar, kullanıcıları zararlı olabilecek uygulamalar hakkında uyarmak için Uygulamaları Doğrula özelliğini de kullanabilir.

Diğer kaynaklar

Android uygulama geliştiricileri için bilgiler: https://developer.android.com

Güvenlik bilgileri, Android Açık Kaynak ve Geliştirici sitelerinde bulunur. Başlamak için iyi yerler:

Raporlar

Bazen Android Güvenlik ekibi raporlar veya teknik incelemeler yayınlar. Daha fazla ayrıntı için Güvenlik Raporlarına bakın.