Google 致力于为黑人社区推动种族平等。查看具体举措
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Sistem ve çekirdek güvenliği

İşletim sistemi düzeyinde, Android platformu, farklı işlemlerde çalışan uygulamalar arasında güvenli iletişimi sağlamak için Linux çekirdeğinin güvenliğinin yanı sıra güvenli bir süreçler arası iletişim (IPC) olanağı sağlar. İşletim sistemi düzeyindeki bu güvenlik özellikleri, yerel kodun bile Uygulama Korumalı Alanı tarafından kısıtlanmasını sağlar. Bu kod, dahil edilen uygulama davranışının veya bir uygulama güvenlik açığından yararlanmanın sonucu olsun, sistem hileli uygulamanın diğer uygulamalara, Android sistemine veya cihazın kendisine zarar vermesini önleyecek şekilde tasarlanmıştır. Aygıtlarınızda çekirdeği güçlendirmek için alabileceğiniz önlemler için Çekirdek Yapılandırmasına bakın. Gerekli ayarlar için Android Uyumluluk Tanımı Belgesine (CDD) bakın.

Linux Güvenliği

Android platformunun temeli Linux çekirdeğidir. Linux çekirdeği yıllardır yaygın bir şekilde kullanılmaktadır ve milyonlarca güvenliğe duyarlı ortamda kullanılmaktadır. Binlerce geliştirici tarafından sürekli araştırılan, saldırıya uğrayan ve düzeltilen geçmişi sayesinde Linux, birçok şirket ve güvenlik uzmanının güvendiği istikrarlı ve güvenli bir çekirdek haline geldi.

Bir mobil bilgi işlem ortamının temeli olarak Linux çekirdeği, Android'e aşağıdakiler de dahil olmak üzere birkaç temel güvenlik özelliği sağlar:

  • Kullanıcı tabanlı bir izin modeli
  • Süreç izolasyonu
  • Güvenli IPC için genişletilebilir mekanizma
  • Çekirdeğin gereksiz ve potansiyel olarak güvenli olmayan kısımlarını kaldırma yeteneği

Çok kullanıcılı bir işletim sistemi olarak, Linux çekirdeğinin temel bir güvenlik hedefi, kullanıcı kaynaklarını birbirinden izole etmektir. Linux güvenlik felsefesi, kullanıcı kaynaklarını birbirinden korumaktır. Dolayısıyla, Linux:

  • A kullanıcısının B kullanıcısının dosyalarını okumasını engeller
  • A kullanıcısının B kullanıcısının belleğini tüketmemesini sağlar
  • A kullanıcısının B kullanıcısının CPU kaynaklarını tüketmemesini sağlar
  • A kullanıcısının B kullanıcısının cihazlarını tüketmemesini sağlar (örneğin, telefon, GPS ve Bluetooth)

Uygulama Korumalı Alanı

Android'in uygulama güvenliği, uygulamaları birbirinden izole eden ve uygulamaları ve sistemi kötü amaçlı uygulamalardan koruyan uygulama sanal alanı tarafından sağlanır. Daha fazla ayrıntı için bkz. Uygulama Korumalı Alanı .

Sistem Bölümü ve Güvenli Mod

Sistem bölümü, Android'in çekirdeğinin yanı sıra işletim sistemi kitaplıklarını, uygulama çalışma zamanını, uygulama çerçevesini ve uygulamaları içerir. Bu bölüm salt okunur olarak ayarlanmıştır. Bir kullanıcı cihazı Güvenli Modda başlattığında, üçüncü taraf uygulamaları cihaz sahibi tarafından manuel olarak başlatılabilir ancak varsayılan olarak başlatılmaz.

Dosya Sistemi İzinleri

UNIX tarzı bir ortamda, dosya sistemi izinleri, bir kullanıcının başka bir kullanıcının dosyalarını değiştirememesini veya okuyamamasını sağlar. Android söz konusu olduğunda, her uygulama kendi kullanıcısı olarak çalışır. Geliştirici diğer uygulamalarla açıkça dosya paylaşmadığı sürece, bir uygulama tarafından oluşturulan dosyalar başka bir uygulama tarafından okunamaz veya değiştirilemez.

Güvenliği Geliştirilmiş Linux

Android, erişim kontrolü politikalarını uygulamak ve süreçler üzerinde zorunlu erişim kontrolü (mac) kurmak için Güvenliği Geliştirilmiş Linux (SELinux) kullanır. Ayrıntılar için Android'de Güvenliği Geliştirilmiş Linux'a bakın.

Doğrulanmış başlatma

Android 6.0 ve sonraki sürümler, doğrulanmış önyükleme ve cihaz eşleyici gerçekliğini destekler. Doğrulanmış önyükleme, bir donanım güven kökünden başlayarak sistem bölümüne kadar aygıt yazılımının bütünlüğünü garanti eder. Önyükleme sırasında, her aşama bir sonraki aşamanın bütünlüğünü ve gerçekliğini kriptografik olarak doğrular.

Android 7.0 ve sonraki sürümler, kesinlikle zorunlu kılınmış doğrulanmış önyüklemeyi destekler; bu, güvenliği ihlal edilmiş cihazların önyükleme yapamayacağı anlamına gelir.

Daha fazla ayrıntı için Doğrulanmış önyükleme bölümüne bakın.

Kriptografi

Android, uygulamalar tarafından kullanılmak üzere bir dizi şifreleme API'si sağlar. Bunlar, AES, RSA, DSA ve SHA gibi standart ve yaygın olarak kullanılan kriptografik ilkellerin uygulamalarını içerir. Ek olarak, API'ler SSL ve HTTPS gibi daha yüksek seviyeli protokoller için sağlanır.

Android 4.0, uygulamaların özel anahtarlar ve sertifika zincirleri için sistem kimlik bilgileri deposunu kullanmasına izin vermek için KeyChain sınıfını tanıttı.

Cihazların Köklendirilmesi

Varsayılan olarak, Android'de yalnızca çekirdek ve çekirdek uygulamaların küçük bir alt kümesi kök izinleriyle çalışır. Android, kök izinlerine sahip bir kullanıcının veya uygulamanın işletim sistemini, çekirdeği veya başka herhangi bir uygulamayı değiştirmesini engellemez. Genel olarak, root tüm uygulamalara ve tüm uygulama verilerine tam erişime sahiptir. Uygulamalara kök erişimi vermek için bir Android cihazdaki izinleri değiştiren kullanıcılar, kötü amaçlı uygulamalara ve olası uygulama kusurlarına karşı güvenlik açığını artırır.

Sahip oldukları bir Android cihazı değiştirme yeteneği, Android platformuyla çalışan geliştiriciler için önemlidir. Çoğu Android cihazda, kullanıcılar, alternatif bir işletim sisteminin kurulmasına izin vermek için önyükleyicinin kilidini açabilir. Bu alternatif işletim sistemleri, bir sahibin, uygulamalarda ve sistem bileşenlerinde hata ayıklama amacıyla kök erişimi elde etmesine veya Android API'leri tarafından uygulamalara sunulmayan özelliklere erişmesine izin verebilir.

Bazı cihazlarda, bir cihazın fiziksel kontrolüne ve bir USB kablosuna sahip bir kişi, kullanıcıya kök ayrıcalıkları sağlayan yeni bir işletim sistemi kurabilir. Mevcut herhangi bir kullanıcı verisini tehlikeye karşı korumak için önyükleyici kilit açma mekanizması, kilit açma adımının bir parçası olarak önyükleyicinin mevcut kullanıcı verilerini silmesini gerektirir. Bir çekirdek hatasından veya güvenlik açığından yararlanılarak kazanılan kök erişimi, bu korumayı atlayabilir.

Verileri cihazda depolanan bir anahtarla şifrelemek, uygulama verilerini kök kullanıcılardan korumaz. Uygulamalar, bir sunucu veya kullanıcı şifresi gibi cihaz dışında depolanan bir anahtarla şifreleme kullanarak bir veri koruma katmanı ekleyebilir. Bu yaklaşım, anahtar yokken geçici koruma sağlayabilir, ancak bir noktada anahtar uygulamaya sağlanmalıdır ve daha sonra kök kullanıcılar tarafından erişilebilir hale gelir.

Verileri kök kullanıcılardan korumaya yönelik daha sağlam bir yaklaşım, donanım çözümlerinin kullanılmasıdır. OEM'ler, video oynatma için DRM veya Google cüzdan için NFC ile ilgili güvenilir depolama gibi belirli içerik türlerine erişimi sınırlayan donanım çözümleri uygulamayı seçebilir.

Cihazın kaybolması veya çalınması durumunda, Android cihazlarda tam dosya sistemi şifrelemesi, şifreleme anahtarını korumak için cihaz şifresini kullanır, bu nedenle önyükleyiciyi veya işletim sistemini değiştirmek, kullanıcının cihaz şifresi olmadan kullanıcı verilerine erişmek için yeterli değildir.

Kullanıcı Güvenlik Özellikleri

Dosya Sistemi Şifreleme

Android 3.0 ve üstü, tam dosya sistemi şifrelemesi sağlar, böylece tüm kullanıcı verileri çekirdekte şifrelenebilir.

Android 5.0 ve sonraki sürümler, tam disk şifrelemeyi destekler. Tam disk şifrelemesi, bir aygıtın kullanıcı veri bölümünün tamamını korumak için kullanıcının aygıt parolasıyla korunan tek bir anahtar kullanır. Önyükleme sırasında, kullanıcılar diskin herhangi bir bölümüne erişilmeden önce kimlik bilgilerini sağlamalıdır.

Android 7.0 ve üstü, dosya tabanlı şifrelemeyi destekler. Dosya tabanlı şifreleme, farklı dosyaların, bağımsız olarak açılabilen farklı anahtarlarla şifrelenmesine izin verir.

Dosya sistemi şifrelemesinin uygulanmasına ilişkin daha fazla ayrıntı, Şifreleme bölümünde mevcuttur.

Şifre Koruması

Android, bir cihaza erişim sağlamadan önce kullanıcı tarafından sağlanan bir şifreyi doğrulayacak şekilde yapılandırılabilir. Aygıtın yetkisiz kullanımını önlemeye ek olarak, bu parola, tam dosya sistemi şifrelemesi için şifreleme anahtarını korur.

Bir parola ve / veya parola karmaşıklık kurallarının kullanılması, bir aygıt yöneticisi tarafından gerekli olabilir.

Cihaz Yönetimi

Android 2.2 ve sonraki sürümler, sistem düzeyinde cihaz yönetimi özellikleri sağlayan Android Cihaz Yönetimi API'sini sağlar. Örneğin, yerleşik Android E-posta uygulaması, Exchange desteğini geliştirmek için API'leri kullanır. E-posta uygulaması aracılığıyla, Exchange yöneticileri, cihazlar arasında alfasayısal parolalar veya sayısal PIN'ler dahil olmak üzere parola ilkelerini uygulayabilir. Yöneticiler ayrıca kaybolan veya çalınan el cihazlarını uzaktan silebilir (yani fabrika varsayılanlarını geri yükleyebilir).

Android sistemine dahil olan uygulamalarda kullanıma ek olarak, bu API'ler, Cihaz Yönetimi çözümlerinin üçüncü taraf sağlayıcıları tarafından kullanılabilir. API ile ilgili ayrıntılar Cihaz Yönetimi'nde verilmektedir .