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:
|
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 |
|
Yüksek |
|
Orta |
|
Düşük |
|
Negligible Security Impact (NSI) |
|
Ü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.