Güvenlik güncellemeleri ve kaynakları

Android güvenlik ekibi, Android platformunda ve Android cihazlarla birlikte sunulan temel Android uygulamalarının çoğunda keşfedilen güvenlik açıklarını yönetmekten sorumludur.

Android güvenlik ekibi, dahili araştırmalarla güvenlik açıklarını tespit eder ve üçüncü taraflarca bildirilen hatalara da yanıt verir. Harici hataların kaynakları arasında güvenlik açığı formu aracılığıyla bildirilen sorunlar, yayınlanmış ve önceden yayınlanmış akademik araştırmalar, yayın öncesi açık kaynak proje yöneticileri, cihaz üreticisi iş ortaklarımızdan gelen bildirimler ve bloglarda veya sosyal medyada herkese açık olarak yayınlanan sorunlar yer alır.

Güvenlik sorunlarını bildirme

Tüm geliştiriciler, Android kullanıcıları veya güvenlik araştırmacıları, güvenlik açığı formunu kullanarak Android güvenlik ekibine olası güvenlik sorunlarını bildirebilir.

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

Hataları önceliklendirme

Güvenlik açığını ele alırken ilk yapılması gereken, hatanın önem derecesini ve Android'in hangi bileşeninin etkilendiğini belirlemektir. Önem derecesi, sorunun önceliğine karar verir. Bileşen ise hatayı kimin düzelteceğini, kimin bilgilendirileceğini ve düzeltmenin kullanıcılara nasıl dağıtılacağını belirler.

Bağlam türleri

Bu tabloda, donanım ve yazılım güvenlik bağlamlarının tanımları yer almaktadır. Bağlam, genellikle işlediği verilerin hassasiyeti veya ç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 çok ayrıcalıklıya doğru sıralanmıştır.

Bağlam türü Tür tanımı
Kısıtlanmış bağlam Yalnızca en az izinlerin sağlandığı kısıtlanmış bir yürütme ortamı.

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

Örneğin, untrusted_app_all özelliğine sahip bir SELinux alanında çalışan bir Android uygulaması.
Ayrıcalıklı bağlam Üst düzey izinlere erişimi olabilecek, birden fazla kullanıcının kimliği tanımlayabilecek ve/veya sistem bütünlüğünü koruyabilecek ayrıcalıklı bir yürütme ortamı.

Örneğin, SELinux untrusted_app alanı tarafından yasaklanacak özelliklere sahip veya privileged|signature izinlerine erişimi olan bir Android uygulaması.
İşletim sistemi çekirdeği Aşağıdaki işlevler:
  • çekirdeğin bir parçasıdır.
  • Çekirdekle aynı CPU bağlamında çalışır (ör. cihaz sürücüleri)
  • Çekirdek belleğine doğrudan erişimi olmalıdır (ör. cihazdaki donanım bileşenleri)
  • Komut dosyalarını bir çekirdek bileşenine (ör. eBPF) yükleme özelliğine sahiptir.
  • çekirdek eşdeğeri olarak kabul edilen birkaç kullanıcı hizmetinden biridir (ör. apexd, bpfloader, init, ueventd ve vold).
Güvenilir Donanım Tabanı (THB) Genellikle SoC'de bulunan ve cihazın temel kullanım alanları için kritik işlevler sağlayan ayrı donanım bileşenleri (ör. hücresel baz bantları, DSP'ler, GPU'lar ve ML işlemcileri).
Bootloader Zinciri Cihazın önyükleme sırasında yapılandırılmasını ve ardından kontrolü Android OS'e aktarmasını sağlayan bir bileşen.
Güvenilir Yürütme Ortamı (TEE) Düşmanca bir işletim sistemi çekirdeğinden bile korunacak şekilde tasarlanmış bir bileşen (ör. TrustZone ve sanal makineleri işletim sistemi çekirdeğinden koruyan pKVM gibi hipervizörler).
Güvenli Alan / Güvenlik Unsuru (SE) Güvenli Öğelere Giriş bölümünde tanımlandığı gibi, cihazdaki diğer tüm bileşenlerden ve fiziksel saldırılardan korunacak şekilde tasarlanmış isteğe bağlı bir donanım bileşeni.

Bazı Android cihazlarda bulunan Titan-M çipi de bu kapsamdadır.

Önem derecesi

Bir hatanın önem derecesi genellikle, hatadan başarıyla yararlanılması durumunda ortaya çıkabilecek olası zararı yansıtır. Önem derecesini belirlemek için aşağıdaki ölçütleri kullanın.

Derecelendirme Başarılı kötüye kullanım sonucu
Kritik
  • TEE veya SE'de rastgele 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 atlatılması (ör. termal korumalar)
  • Uzak hizmet kimlik doğrulaması için kullanılan hassas kimlik bilgilerine (ör. hesap şifreleri veya taşıyıcı jetonları) uzaktan erişim
  • Kullanıcı etkileşimi olmadan hücresel baz bandı bağlamında 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 işletim sistemi çekirdeğinde rastgele kod çalıştırma
  • Paket yükleme veya eşdeğer davranışla ilgili kullanıcı etkileşimi şartlarını uzaktan atlama
  • Temel geliştirici, güvenlik veya gizlilik ayarları için kullanıcı etkileşimi şartlarını uzaktan atlama
  • Uzaktan kalıcı hizmet reddi (kalıcı, işletim sisteminin tamamının yeniden yüklenmesini veya fabrika ayarlarına sıfırlanmasını gerektirir)
  • Uzaktan güvenli başlatma atlama
  • SE'deki zayıf anahtarlarla etkinleştirilen erişim dahil olmak üzere SE tarafından korunan verilere yetkisiz erişim.
Yüksek
  • Temel bir güvenlik özelliğinin (ör. SELinux, FBE veya seccomp) tamamen atlanması
  • Önyükleme zinciri, TEE veya SE'deki derinlemesine savunma veya kötüye kullanım azaltma teknolojisi için genel bir atlama
  • Uygulama, kullanıcı veya profil sınırları arasında bellek ya da dosya içeriklerini gösteren işletim sistemi korumaları için genel bir atlama
  • SE'ye karşı daha az güvenli bir uygulamaya geçişle sonuçlanan saldırılar
  • Uzaktan erişilebilen güvenliği ihlal edilmiş bare metal donanım yazılımından (ör. baz bant, iletişim işlemcisi (CP)) uygulama işlemcisi (AP) çekirdeğine geçiş yapın veya bare metal donanım yazılımını AP çekirdeğinden ayırmak için tasarlanmış mekanizmaları atlayın
  • Cihaz korumasının, fabrika ayarlarına sıfırlama korumasının veya operatör kısıtlamalarının atlanması
  • TEE tarafından korunan kullanıcı etkileşimi şartlarını atlama
  • Taşıma katmanı güvenliği (TLS) ve Bluetooth (BT) saldırıları da dahil olmak üzere uçtan uca protokollere yönelik saldırılara olanak tanıyan kriptografik güvenlik açığı.
  • Uzak hizmet kimlik doğrulaması için kullanılan hassas kimlik bilgilerine yerel erişim (ör. hesap şifreleri veya taşıyıcı jetonları)
  • Ayrıcalıklı bir bağlamda, önyükleme zincirinde, THB'de veya işletim sistemi çekirdeğinde yerel olarak rastgele kod yürütme
  • Yerel güvenli başlatma atlama
  • Kilit ekranını atlama
  • Temel geliştirici, güvenlik veya gizlilik ayarları için kullanıcı etkileşimi şartlarını yerel olarak atlama
  • Paket yükleme veya eşdeğer davranışla ilgili kullanıcı etkileşimi koşullarının yerel olarak atlanması
  • Yerel kalıcı hizmet reddi (kalıcı, işletim sisteminin tamamının yeniden yüklenmesini veya fabrika ayarlarına sıfırlanmasını gerektirir)
  • Korunan verilere (yani ayrıcalıklı bir bağlamla sınırlı verilere) uzaktan erişim
  • Ayrıcalıksız bir bağlamda rastgele kod yürütme
  • Kullanıcı etkileşimi olmadan hücresel veya kablosuz ağa erişimin uzaktan engellenmesi (ör. hatalı biçimlendirilmiş bir paketle hücresel radyo hizmetini kilitlemek)
  • Kullanıcı etkileşimi koşullarının uzaktan atlanması (kullanıcı tarafından başlatılması veya kullanıcı izni gerektirmesi gereken işlevlere ya da verilere erişim)
  • Acil durum hizmetlerine erişimin hedefli olarak engellenmesi
  • İstemci güvenli bir aktarım beklerken hassas bilgilerin güvenli olmayan bir ağ protokolü (ör. HTTP ve şifrelenmemiş Bluetooth) üzerinden iletilmesi. Bunun kablosuz ağ şifrelemesi (ör. WEP) için geçerli olmadığını unutmayın.
  • TEE'de zayıf anahtarlarla etkinleştirilen erişim dahil olmak üzere TEE tarafından korunan verilere yetkisiz erişim
Orta
  • Ayrıcalıklı bir bağlamda, THB'de veya OS çekirdeğinde derinlemesine savunma ya da kötüye kullanım azaltma teknolojisi için genel bir atlama
  • Uygulama, kullanıcı veya profil sınırları genelinde işlem durumunu ya da meta verileri gösteren işletim sistemi korumaları için genel bir atlama
  • Kablosuz ağ şifrelemesini veya kimlik doğrulamasını atlama
  • Standart kriptografik temel öğelerde, düz metnin sızmasına (TLS'de kullanılan temel öğeler değil) izin veren kriptografik güvenlik açığı
  • Korunan verilere (yani ayrıcalıklı bir bağlamla sınırlı olan verilere) yerel erişim
  • Ayrıcalıksız bir bağlamda yerel rastgele kod yürütme
  • Kullanıcı etkileşimi koşullarının yerel olarak atlanması (normalde kullanıcının başlatması veya izni gerektiren işlevlere ya da verilere erişim)
  • Korunmasız verilere (yani yerel olarak yüklenen tüm uygulamaların normalde erişebildiği verilere) uzaktan erişim
  • Kısıtlanmış bir bağlamda rastgele kod yürütme
  • Cihazın uzaktan geçici olarak hizmet reddi (cihazın uzaktan donması veya yeniden başlatılması)
Düşük
  • Kullanıcı düzeyinde derinlemesine savunma veya ayrıcalıksız bir bağlamda kötüye kullanım azaltma teknolojisi için genel bir atlama
  • Normal koruma seviyesi izinlerinin atlanması
  • Standart dışı kullanım sırasında şifreleme açığı
  • Voice Match veya Face Match gibi cihaz üzerindeki kişiselleştirme özelliklerinin genel olarak atlanması
  • Güvenlik açığı oluşturabilecek yanlış dokümanlar
  • Kısıtlanmış bir bağlamda yerel olarak keyfi kod çalıştırma
  • Yanlış güvenlik beklentisi oluşturan yanıltıcı bir açıklama içeren sistem tanımlı metin
Negligible​ Security Impact (NSI​)
  • Etkisi bir veya daha fazla derecelendirme değiştirici ya da sürüme özgü mimari değişiklikleri tarafından azaltılmış olan ve temel kod sorunu devam etse de etkili önem derecesinin Düşük'ün altında olduğu bir güvenlik açığı
  • Kullanılmadan önce her zaman benimsenen/şifrelenen bir dosya sistemi gerektiren tüm güvenlik açıkları.
  • Yerel geçici hizmet reddi (ör. cihazı yeniden başlatarak veya tetikleyici uygulamayı kaldırarak durumun çözüldüğü durumlar).

Ücret değiştiriciler

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

Neden Efekt
Saldırıyı yürütmek için ayrıcalıklı bir bağlamda çalışmayı gerektirir (TEE, SE ve pKVM gibi hipervizörler için geçerli değildir) -1 Önem derecesi
Güvenlik açığıyla ilgili ayrıntılar sorunun etkisini sınırlar -1 Önem derecesi
Doğrudan cihaz sahibinden biyometrik bilgi gerektiren biyometrik kimlik doğrulama atlama -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üksek önem derecesine sahipse Orta önem derecesi
Cihazın iç kısımlarına fiziksel erişim gerektirir ve cihaz kapalıysa veya açıldıktan sonra kilidi açılmamışsa da mümkündür -1 Önem derecesi
Cihaz açıkken ve daha önce kilidi açılmışken cihazın iç kısımlarına fiziksel erişim gerektirir -2 Önem derecesi
Önyükleme zincirinin kilidinin açılmasını gerektiren yerel bir saldırı Düşük'ten yüksek olamaz
Geliştirici modunun veya kalıcı geliştirici modu ayarlarının cihazda etkin olmasını gerektiren yerel saldırılar (Geliştirici modunun kendisindeki bir hata değildir). Düşük'ten yüksek olamaz
Google tarafından sağlanan SEPolicy kapsamında hiçbir SELinux alanı işlemi gerçekleştiremiyorsa Önemsiz Güvenlik Etkisi

Yerel, yakın ve uzak

Uzaktan saldırı vektörü, hatanın uygulama yüklenmeden veya cihaza fiziksel erişim olmadan kullanılabileceğini gösterir. Bir web sayfasına göz atarak, e-posta okuyarak, SMS mesajı alarak veya düşmanca bir ağa bağlanarak tetiklenebilecek hatalar da buna dahildir.

Yakın saldırı vektörleri uzak olarak kabul edilir. Buna, yalnızca hedef cihazın fiziksel olarak yakınında bulunan bir saldırgan tarafından kullanılabilen hatalar (ör. hatalı biçimlendirilmiş kablosuz veya Bluetooth paketleri göndermeyi gerektiren hatalar) dahildir. Ultra geniş bant (UWB) ve NFC tabanlı saldırıları yakın mesafeli ve bu nedenle uzak olarak değerlendiririz.

Yerel saldırılar için saldırganın kurbana önceden erişimi olması gerekir. Yalnızca yazılımla ilgili bir örnekte, bu durum mağdurun yüklediği kötü amaçlı bir uygulama veya çalıştırmayı kabul ettiği bir Hazır Uygulama aracılığıyla gerçekleşebilir.

Başarıyla eşlenen cihazlar (ör. Bluetooth tamamlayıcı cihazlar) yerel olarak kabul edilir. Eşlenmiş bir cihaz ile eşleme akışına katılan bir cihaz arasında ayrım yaparız.

  • Kullanıcının eşleştirilen diğer cihazı tanımlama (ör. kimlik doğrulama) özelliğini düşüren hatalar yakın ve dolayısıyla uzak olarak kabul edilir.
  • Eşleme akışı sırasında ancak kullanıcı izni (ör. yetkilendirme) sağlanmadan önce gerçekleşen hatalar yakın ve dolayısıyla uzak olarak kabul edilir.
  • Eşleme sonunda başarısız olsa bile, kullanıcı izni verildikten sonra oluşan hatalar yerel kabul edilir.

Fiziksel saldırı vektörleri yerel olarak kabul edilir. Bunlara, yalnızca cihaza fiziksel erişimi olan bir saldırgan tarafından kullanılabilen hatalar (ör. kilit ekranındaki veya USB kablosunun takılmasını gerektiren hatalar) dahildir. Cihazların USB'ye takılıyken kilidinin açılması yaygın bir durum olduğundan, USB bağlantısı gerektiren saldırılar, cihazın kilidinin açılmasının gerekip gerekmediğine bakılmaksızın aynı öneme sahiptir.

Ağ güvenliği

Android, tüm ağların düşmanca olduğunu ve saldırılar ekleyebildiğini veya trafiği gözetlediğini varsayar. Bağlantı katmanı güvenliği (ör. kablosuz şifreleme), bir cihaz ile bağlı olduğu erişim noktası arasındaki iletişimi güvence altına alır ancak cihaz ile iletişim kurduğu sunucular arasındaki zincirdeki diğer bağlantıların güvenliğini sağlamaz.

Buna karşılık HTTPS, genellikle iletişimin tamamını uçtan uca korur. Verileri kaynağında şifreler, ardından yalnızca nihai hedefine ulaştığında şifresini çözer ve doğrular. Bu nedenle, bağlantı katmanı ağ güvenliğini ihlal eden güvenlik açıkları, HTTPS/TLS'deki güvenlik açıklarından daha az ciddi olarak değerlendirilir: İnternetteki çoğu iletişim için yalnızca kablosuz ağ şifrelemesi yeterli değildir.

Biyometrik kimlik doğrulama

Biyometrik kimlik doğrulama zor bir alandır ve en iyi sistemler bile benzer bir eşleşmeyle kandırılabilir (Android Developers Blog: Android 11'deki kilit ekranı ve kimlik doğrulama iyileştirmeleri başlıklı makaleye bakın). Bu önem dereceleri, iki saldırı sınıfını ayırt eder ve son kullanıcı için gerçek riski yansıtmayı amaçlar.

İlk saldırı sınıfı, cihaz sahibinin yüksek kaliteli biyometrik verileri olmadan biyometrik kimlik doğrulamayı genel bir şekilde atlatmayı sağlar. Örneğin, bir saldırgan parmak izi sensörüne sakız yerleştirebilir ve sensörde kalan artıklara göre cihaza erişim izni verebilir. Bu, etkilenebilir herhangi bir cihazda gerçekleştirilebilecek basit bir saldırıdır. Cihazın sahibi hakkında bilgi sahibi olmanız gerekmez. Genelleştirilebilir olması ve daha fazla sayıda kullanıcıyı etkileyebileceği düşünüldüğünde bu saldırı, en yüksek önem derecesini alır (ör. kilit ekranını atlama için Yüksek).

Diğer saldırı sınıfı genellikle cihaz sahibine dayalı bir sunum saldırısı aracı (sahtekarlık) içerir. Bazen bu biyometrik bilgilerin elde edilmesi nispeten kolaydır (ör. bir kişinin sosyal medya profil resmi, biyometrik kimlik doğrulamayı atlatmaya yeterliyse biyometrik atlama işlemi en yüksek önem derecesini alır). Ancak bir saldırganın doğrudan cihaz sahibinden biyometrik veri alması (örneğin, yüzünün kızılötesi taraması) gerekiyorsa bu, saldırıdan etkilenen kişi sayısını sınırlayacak kadar önemli bir engeldir. Bu nedenle, -1 değiştiricisi vardır.

SYSTEM_ALERT_WINDOW ve dokunma saldırısı

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

Android Automotive OS'te çok kullanıcılı güvenlik

Android Automotive OS, diğer form faktörlerinden farklı olarak çok kullanıcılı bir güvenlik modeli kullanır. Her Android kullanıcısının farklı bir gerçek kişi tarafından kullanılması Örneğin, geçici bir konuk kullanıcı, aracın sahibinden ödünç alan bir arkadaşınıza atanabilir. Bu gibi kullanım alanlarına uyum sağlamak için kullanıcılar, varsayılan olarak aracı kullanmak için gereken bileşenlere (ör. kablosuz bağlantı ve hücresel ağ ayarları) erişebilir.

Etkilenen bileşen

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

AOSP kodundaki hatalar Android mühendislik ekibi tarafından düzeltilir. Önem derecesi düşük hatalar, belirli bileşenlerdeki hatalar veya herkes tarafından bilinen hatalar doğrudan herkese açık AOSP ana dalında düzeltilebilir. Aksi takdirde, önce dahili depolarımızda düzeltilir.

Bu bileşen, kullanıcıların güncellemeleri nasıl aldığını da etkiler. Çerçeve veya çekirdekteki bir hata, her OEM'nin yayınlaması gereken kablosuz (OTA) bir donanım yazılımı güncellemesi gerektirir. Google Play'de yayınlanan bir uygulama veya kitaplıktaki (ör. Gmail, Google Play Hizmetleri ya da WebView) bir hata, Google Play'den güncelleme olarak Android kullanıcılarına gönderilebilir.

İş ortaklarını bilgilendirme

AOSP'deki bir güvenlik açığı Android Güvenlik Bülteninde düzeltildiğinde Android iş ortaklarını sorun ayrıntıları hakkında bilgilendirir ve düzeltme ekleri sağlarız. Geri taşıma desteği sunan sürümlerin listesi, her yeni Android sürümüyle değişir. Desteklenen cihazların listesi için cihazınızın üreticisiyle iletişime geçin.

AOSP'de kod yayınlama

Güvenlik hatası bir AOSP bileşenindeyse düzeltme, OTA kullanıcılara sunulduktan sonra AOSP'ye gönderilir. Önem derecesi düşük sorunların düzeltmeleri, OTA üzerinden cihazlara sunulmadan önce doğrudan AOSP ana şubesine gönderilebilir.

Android güncellemelerini alma

Android sistemindeki güncellemeler genellikle OTA güncelleme paketleri aracılığıyla cihazlara dağıtılır. Bu güncellemeler, cihazı üreten OEM'den veya cihaza hizmet veren operatörden gelebilir. Google Pixel cihaz güncellemeleri, operatör teknik kabul (TA) test prosedürü uygulandıktan sonra Google Pixel ekibi tarafından gönderilir. Google, cihazlara harici olarak yüklenebilecek Pixel fabrika görüntüleri de yayınlar.

Google hizmetlerini güncelleme

Android güvenlik ekibi, güvenlik hatalarıyla ilgili 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ı inceler. Örneğin, Google Play tüm uygulamaları tarar ve güvenlik hatalarından yararlanmaya çalışan uygulamaları kaldırır. Google Play dışından yüklenen uygulamalarda, Google Play Hizmetleri'nin bulunduğu 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 yer alır. Başlamak için iyi yerler:

Raporlar

Android Güvenlik Ekibi bazen raporlar veya teknik belgeler yayınlar. Daha fazla bilgi için Güvenlik Raporları'na bakın.