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, güvenlik açıklarını dahili araştırmalarla bulur ve üçüncü tarafların bildirdiği hatalara yanıt verir. Harici hataların kaynakları arasında güvenlik açığı formu aracılığıyla bildirilen sorunlar, yayınlanmış ve yayınlanmamış akademik araştırmalar, yukarı akış açık kaynak proje bakımcıları, cihaz üreticisi iş ortaklarımızdan gelen bildirimler ve bloglarda veya sosyal medyada yayınlanan herkese açık 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çığı formu aracılığıyla Android güvenlik ekibini olası güvenlik sorunları hakkında bilgilendirebilir.

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

Hataları önceliklendirme

Güvenlik açığını ele alırken ilk görev, hatanın önem derecesini ve Android'in hangi bileşeninin etkilendiğini belirlemektir. Önem derecesi, soruna nasıl öncelik verileceğini belirler. 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 hassasiyetine veya çalıştığı alana göre 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ıralanır.

Bağlam türü Tür tanımı
Sınırlı bağlam Yalnızca en az sayıda iznin sağlandığı kısıtlı bir yürütme ortamı.

Örneğin, güvenilmeyen verileri korumalı alan ortamında işleyen güvenilir uygulamalar.
Ayrıcalıklı olmayan bağlam Ayrıcalıksız kodun beklediği tipik bir yürütme ortamı.

Örneğin, untrusted_app_all özelliğiyle bir SELinux alanında çalışan bir Android uygulaması.
Ayrıcalıklı bağlam Yükseltilmiş izinlere erişimi olabilen, birden fazla kullanıcının kimliği tanımlayabilecek bilgilerini işleyen ve/veya sistem bütünlüğünü koruyan ayrıcalıklı bir yürütme ortamı.

Örneğin, SELinux untrusted_app alanında yasaklanacak özelliklere sahip veya privileged|signature izinlerine erişen bir Android uygulaması.
OS ç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ğe 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 sahip olmalıdır.
  • Kernel'e eşdeğer 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 temel bantlar, DSP'ler, GPU'lar ve makine öğrenimi işlemcileri).
Bootloader Chain Cihazı başlatma sırasında yapılandıran ve ardından kontrolü Android OS'e aktaran 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 Enclave / Güvenlik Unsuru (SE) Introduction to Secure Elements (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 bu kapsamdadır.

Önem derecesi

Bir hatanın ciddiyeti genellikle hatanın başarıyla kullanılması durumunda ortaya çıkabilecek potansiyel zararı yansıtır. Ciddiyet düzeyini belirlemek için aşağıdaki ölçütleri kullanın.

Derecelendirme Başarılı saldırının 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 (ör. termal korumalar) atlatılması
  • Uzak hizmet kimlik doğrulaması için kullanılan hassas kimlik bilgilerine (ör. hesap şifreleri veya taşıyıcı jetonlar) uzaktan erişim
  • Hücresel bant bağlamında, kullanıcı etkileşimi olmadan rastgele uzaktan kod yürütme (ör. hücresel radyo hizmetindeki bir hatadan yararlanma)
  • Ayrıcalıklı bağlamda, önyükleyici zincirinde, THB'de veya işletim sistemi çekirdeğinde rastgele uzaktan kod yürütme
  • Paket yükleme veya eşdeğer davranışlarda kullanıcı etkileşimi şartlarının uzaktan atlanması
  • Temel geliştirici, güvenlik veya gizlilik ayarları için kullanıcı etkileşimi şartlarının uzaktan atlanması
  • Uzaktan kalıcı hizmet reddi (kalıcıdır, tüm işletim sisteminin yeniden yüklenmesini veya fabrika ayarlarına sıfırlamayı gerektirir)
  • Uzaktan güvenli başlatma atlama
  • SE'de zayıf anahtarlarla etkinleştirilen erişim de dahil olmak üzere, SE tarafından güvenliği sağlanan verilere yetkisiz erişim.
Yüksek
  • Temel bir güvenlik özelliğinin (ör. SELinux, FBE veya seccomp) tamamen atlanması
  • Önyükleyici zincirinde, TEE'de veya SE'de derinlemesine savunma ya da güvenlik açığı azaltma teknolojisi için genel bir atlama
  • İşletim sistemi korumaları için, uygulama, kullanıcı veya profil sınırları arasında bellek ya da dosya içeriklerini ortaya çıkaran genel bir atlama
  • Daha az güvenli bir uygulamaya geçişle sonuçlanan SE'ye yönelik saldırılar
  • Uzaktan erişilebilen, güvenliği ihlal edilmiş çıplak metal donanım yazılımından (ör. baz bant, İletişim İşlemcisi (CP)) Uygulama İşlemcisi (AP) çekirdeğine geçiş yapma veya çıplak metal donanım yazılımını AP çekirdeğinden izole etmek için tasarlanmış mekanizmaları atlama
  • Cihaz koruması, fabrika ayarlarına sıfırlama koruması (Android 15 ve sonraki sürümlerde) veya operatör kısıtlamalarının atlanması
  • TEE tarafından güvenli hale getirilen 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 karşı saldırılara izin veren kriptografik güvenlik açığı.
  • Uzak hizmet kimlik doğrulaması için kullanılan hassas kimlik bilgilerine (ör. hesap şifreleri veya taşıyıcı jetonlar) yerel erişim
  • Ayrıcalıklı bağlamda, önyükleyici 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ın yerel olarak atlanması
  • Paket yükleme veya eşdeğer davranışlarda kullanıcı etkileşimi şartlarının yerel olarak atlanması
  • Yerel kalıcı hizmet reddi (kalıcı, tüm işletim sisteminin yeniden yüklenmesini veya fabrika ayarlarına sıfırlamayı gerektirir)
  • Korunan verilere (yani ayrıcalıklı bir bağlamla sınırlı olan verilere) uzaktan erişim
  • Ayrıcalıksız bir bağlamda uzaktan rastgele kod yürütme
  • Kullanıcı müdahalesi olana kadar devam eden, kullanıcı etkileşimi olmadan tetiklenen hücresel veya kablosuz hizmet için uzaktan hizmet reddi (ör. otomatik olarak kurtarılmayan ve manuel yeniden başlatma ya da cihazın yeniden başlatılmasını gerektiren, hatalı biçimlendirilmiş bir paketle hücresel radyo hizmetinin kilitlenmesi).
  • Kullanıcı etkileşimi şartlarının uzaktan atlanması (kullanıcı başlatması veya kullanıcı izni gerektirmesi gereken işlevlere ya da verilere erişim)
  • Acil durum hizmetlerine erişimin hedeflenerek engellenmesi
  • İstekte bulunan kişi güvenli bir iletim beklerken hassas bilgilerin güvenli olmayan bir ağ protokolü (ör. HTTP ve şifrelenmemiş Bluetooth) üzerinden iletilmesi. Bunun kablosuz ağ şifreleme (ör. WEP) için geçerli olmadığını unutmayın.
  • TEE'de zayıf anahtarlarla etkinleştirilen erişim de dahil olmak üzere TEE tarafından güvenliği sağlanan verilere yetkisiz erişim
Orta
  • Derinlemesine savunma veya ayrıcalıklı bağlamda, THB'de ya da işletim sistemi çekirdeğinde istismar azaltma teknolojisi için genel bir atlama
  • İşlem durumunu veya meta verileri uygulama, kullanıcı ya da profil sınırları arasında ortaya çıkaran işletim sistemi korumaları için genel bir atlama
  • Kablosuz şifrelemeyi veya kimlik doğrulamayı atlama
  • Düz metnin sızmasına izin veren standart şifreleme temellerindeki şifreleme güvenlik açığı (TLS'de kullanılan temeller değil)
  • Korunan verilere (yani ayrıcalıklı bir bağlamla sınırlı olan veriler) yerel erişim
  • Ayrıcalıksız bağlamda yerel rastgele kod yürütme
  • Kullanıcı etkileşimi şartlarının yerel olarak atlanması (normalde kullanıcı başlatması veya kullanıcı izni gerektiren işlevlere ya da verilere erişim)
  • Korunmasız verilere (yani normalde yerel olarak yüklü uygulamaların erişebildiği verilere) uzaktan erişim
  • Sınırlı bir bağlamda uzaktan rastgele kod yürütme
  • Uzaktan geçici cihaz hizmet reddi (uzaktan kilitlenme veya yeniden başlatma)
Düşük
  • Ayrıcalıklı olmayan bir bağlamda kullanıcı düzeyinde derinlemesine savunma veya kötüye kullanımdan yararlanma azaltma teknolojisi için genel bir atlama
  • Normal koruma düzeyi izninin atlanması
  • Standart dışı kullanım sırasında şifrelemede güvenlik açığı
  • Voice Match veya Face Match gibi cihaz üzerinde kişiselleştirme özelliklerinin genel olarak atlanması
  • Güvenlik açığına yol açabilecek yanlış belgeler
  • Kısıtlı bağlamda yerel rastgele kod yürütme
  • Yanlış bir güvenlik beklentisi oluşturan yanıltıcı bir açıklama içeren, sistem tarafından tanımlanmış metin
Önemsiz Güvenlik Etkisi (NSI)
  • Temel kod sorunu devam edebilse de etkisi bir veya daha fazla derecelendirme değiştirici ya da sürüme özgü mimari değişikliklerle azaltılmış ve bu nedenle etkin önem derecesi "Düşük"ün altında olan güvenlik açığı
  • Kullanımdan önce dosya sistemi her zaman benimseniyor/şifreleniyorsa, bozuk bir dosya sistemi gerektiren tüm güvenlik açıkları.
  • Yerel geçici hizmet reddi (ör. cihazın yeniden başlatılması veya tetikleyici uygulamanın kaldırılmasıyla çözülebilecek durumlar).

Önem düzeyi değiştiricileri

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ı gerçekleştirmek için ayrıcalıklı bağlam olarak çalıştırılması gerekir (TEE, SE ve pKVM gibi hipervizörler için geçerli değildir). -1 Önem Derecesi
Güvenlik açığına özgü 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 Düzeyi
Derleyici veya platform yapılandırmaları, kaynak kodundaki 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ıyken veya açıldıktan sonra kilidi açılmamışken de mümkündür. -1 Önem Düzeyi
Cihaz açıkken ve daha önce kilidi açılmışken cihazın iç kısımlarına fiziksel erişim gerektirir. -2 Önem Düzeyi
Bootloader zincirinin kilidinin açılmasını gerektiren yerel saldırı Düşükten yüksek olmamalıdır.
Cihazda Geliştirici Modu'nun veya kalıcı geliştirici modu ayarlarının etkinleştirilmesini gerektiren (ve Geliştirici Modu'nun kendisinde bir hata olmayan) yerel saldırılar. Düşükten yüksek olmamalıdır.
Google tarafından sağlanan SEPolicy kapsamında hiçbir SELinux alanı işlemi gerçekleştiremiyorsa Güvenlik Üzerindeki Etkisi Önemsiz

Yerel, yakın ve uzak

Uzaktan saldırı vektörü, hatanın bir uygulama yüklenmeden veya cihaza fiziksel erişim olmadan kullanılabileceğini gösterir. Bu kapsamda, bir web sayfasına göz atarak, e-posta okuyarak, SMS mesajı alarak veya saldırgan bir ağa bağlanarak tetiklenebilen hatalar yer alır.

Yakın saldırı vektörleri uzaktan olarak kabul edilir. Bunlar arasında yalnızca hedef cihaza fiziksel olarak yakın olan bir saldırgan tarafından kullanılabilen hatalar (ör. hatalı biçimlendirilmiş kablosuz veya Bluetooth paketlerinin gönderilmesini gerektiren bir hata) yer alır. Ultra geniş bant (UWB) ve NFC tabanlı saldırıları yakın ve dolayısıyla uzaktan saldırı olarak değerlendiriyoruz.

Yerel saldırılar için saldırganın kurbana önceden erişmiş olması gerekir. Yalnızca yazılımla ilgili varsayımsal bir örnekte bu, 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 olabilir.

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

  • Kullanıcının eşleştirilen diğer cihazı tanımlama (ör. kimlik doğrulama) yeteneğini azaltan hatalar yakın olarak kabul edilir ve bu nedenle uzaktandır.
  • Eşleme akışı sırasında ancak kullanıcı izni (ör. yetkilendirme) verilmeden önce oluşan hatalar yakınlık hatası olarak kabul edilir ve bu nedenle uzaktan düzeltilebilir.
  • Kullanıcı izni alındıktan sonra oluşan hatalar, eşleme işlemi başarısız olsa bile yerel olarak kabul edilir.

Fiziksel saldırı vektörleri yerel olarak kabul edilir. Bunlar arasında yalnızca cihaza fiziksel erişimi olan bir saldırgan tarafından istismar edilebilecek hatalar (ör. kilit ekranındaki bir hata veya USB kablosunun takılmasını gerektiren bir hata) yer alır. 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ı gerekip gerekmediğine bakılmaksızın aynı ciddiyet derecesine sahiptir.

Ağ güvenliği

Android, tüm ağların saldırı enjekte edebileceğini veya trafiği gözetleyebileceğini varsayar. Bağlantı katmanı güvenliği (ör. kablosuz şifreleme), bir cihaz ile bağlı olduğu erişim noktası arasındaki iletişimin güvenliğini sağlasa da cihaz ile iletişim kurduğu sunucular arasındaki zincirde kalan 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 nihai hedefine ulaştığında yalnızca bir kez şifresini çözüp 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 değerlendirilir: İnternetteki çoğu iletişim için tek başına Wi-Fi şifrelemesi yeterli değildir.

Biyometrik kimlik doğrulama

Biyometrik kimlik doğrulama zorlu bir alandır ve en iyi sistemler bile neredeyse eşleşen bir biyometriyle kandırılabilir (bkz. Android Geliştiricileri Blogu: Android 11'de kilit ekranı ve kimlik doğrulama iyileştirmeleri). Bu önem derecesi puanları, iki saldırı sınıfı arasında ayrım yapar ve son kullanıcıya yönelik gerçek riski yansıtmayı amaçlar.

İlk saldırı sınıfı, sahibinden alınan yüksek kaliteli biyometrik veriler olmadan biyometrik kimlik doğrulamanın genel olarak atlanmasına olanak tanır. Örneğin, bir saldırgan parmak izi sensörüne sakız yapıştırabilir ve sensörde kalan kalıntıya göre cihaza erişim izni verilebilir. Bu, herhangi bir savunmasız 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ı etkileme potansiyeli nedeniyle bu saldırı, tam önem derecesi puanını alır (örneğin, kilit ekranını atlama için Yüksek).

Diğer saldırı türü ise genellikle cihaz sahibine dayalı bir sunum saldırısı aracı (sahtecilik) içerir. Bazen bu biyometrik bilgileri elde etmek nispeten kolaydır (örneğin, bir kullanıcının sosyal medyadaki profil resmi, biyometrik kimlik doğrulama sistemini kandırmak için yeterliyse biyometrik atlama, tam şiddet derecesi alır). Ancak bir saldırganın biyometrik verileri doğrudan cihaz sahibinden (ör. yüzünün kızılötesi taraması) alması gerekiyorsa bu, saldırıdan etkilenen kişi sayısını sınırlayacak kadar önemli bir engeldir. Bu nedenle, -1 değiştiricisi kullanılır.

SYSTEM_ALERT_WINDOW ve tapjacking

SYSTEM_ALERT_WINDOW ve dokunma hırsızlığı ile ilgili politikalarımız hakkında bilgi edinmek için BugHunter Üniversitesi'nin Güvenlik üzerinde etkisi olmayan hatalar sayfasındaki"Güvenlik açısından kritik olmayan bir ekranda dokunma hırsızlığı/SYSTEM_ALERT_WINDOW yer paylaşımı 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ı bir çok kullanıcılı güvenlik modeli kullanır. Her Android kullanıcısı farklı bir gerçek kişi tarafından kullanılmak üzere tasarlanmıştır. Örneğin, aracı sahibinden ödünç alan bir arkadaşınıza geçici misafir kullanıcısı atanabilir. Bu gibi kullanım alanlarını desteklemek için kullanıcılar varsayılan olarak aracı kullanmak için gereken bileşenlere (ör. kablosuz 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 cihazlarda önceden yüklenmiş uygulamalardan biri olabilir.

AOSP kodundaki hatalar, dahili depolarımızda Android mühendislik ekibi tarafından düzeltilir.

Bu bileşen, kullanıcıların güncellemeleri nasıl alacağını da etkiler. Çerçevedeki veya çekirdekteki bir hata, her OEM'in göndermesi gereken kablosuz (OTA) donanım yazılımı güncellemesi gerektirir. Google Play'de yayınlanan bir uygulamada veya kitaplıkta (ör. Gmail, Google Play Hizmetleri ya da WebView) bulunan 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ülteni'nde düzeltildiğinde Android iş ortaklarını sorun ayrıntıları hakkında bilgilendirir ve yamalar sağlarız. Geriye dönük olarak desteklenen sürümlerin listesi, her yeni Android sürümünde değişir. Desteklenen cihazların listesi için cihazınızın üreticisiyle iletişime geçin.

Kodu AOSP'ye yayınlama

Güvenlik hatası bir AOSP bileşenindeyse düzeltme, OTA kullanıcılara sunulduktan sonra AOSP'ye gönderilir.

Android güncellemelerini alma

Android sistem güncellemeleri genellikle OTA güncelleme paketleri aracılığıyla cihazlara gönderilir. Bu güncellemeler, cihazı üreten OEM'den veya cihaza hizmet sağlayan operatörden gelebilir. Google Pixel cihaz güncellemeleri, operatör teknik kabul (TA) test prosedüründen geçtikten sonra Google Pixel ekibi tarafından sağlanır. Google ayrıca cihazlara yan yükleme yapılabilecek Pixel fabrika görüntüleri 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ı inceler. Örneğin, Google Play tüm uygulamaları tarar ve güvenlik hatasından yararlanmaya çalışan uygulamaları kaldırır. Google Play dışından yüklenen uygulamalar için Google Play Hizmetleri'nin yüklü olduğu cihazlar, Uygulamaları Doğrula özelliğini kullanarak kullanıcıları zararlı olabilecek uygulamalar konusunda uyarabilir.

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 incelemeler yayınlar. Daha fazla bilgi için Güvenlik Raporları'na bakın.