Android 11 Sistem Güçlendirme


Görsel Referansı


Google, Android 11’de Android’in sistem güvenliğini arttırmaya devam ediyor. Android sisteminin varsayılan ayarları; bellek ayırma seçeneklerinin güçlendirilmesi, güvenlik açıklarına gelişmiş çözümler uygulanması ve açık kapatma teknikleriyle güçlendiriliyor.


Initializing Memory(Bellek başlangıcı)


Android 11’de kullanıcılar için ayrılan bellek alanlarında ve linux çekirdeği alanında bellek başlatma fonksiyonları etkinleştirilmiştir. Initialize edilmemiş bellekler, güvenli başlangıç değerleriyle başlatılmazsa C/C++ komutlarında hatalara sebep olmaktadır. Initialize edilmemiş bellek alanları rastgele değerlerle initialize edilmektedir. Aslında tam olarak rastgele de denemez. Daha önceki değerleriyle kendilerini initialize ederler. Önceki bellek değerlerinin bilinmesi de hackerlara davetiye çıkartmaktadır.


Pratik olarak initalize edilmemiş bellek alanlarını tespit etmek zordur. Ayrıca bellek çoğu zaman güvenli bir başlangıç değeriyle başlatılırsa yıllarca fark edilmeyebilir. Bu tür hatalara önlem almak için bir sınıf içindeki tüm değişkenleri tek tek incelemek yerine o sınıfı ortadan kaldırmak çok daha etkilidir. Clang derleyicisindeki bir özellik sayesinde, initialize edilen bellek alanları 0 veya belirlenen bir başlangıç değeriyle başlatılabilir. 0 ile başlatmak, string’ler, pointer’lar, index’ler ve boyut değeri için güvenli bir initialize değeridir. Daha az hataya sebep olmaktadır.


Initializing UserSpace (Kullanıcıya ayırılan bellek alanın başlangıcı)


Android 11 ile birlikte otomatik kullanıcı bellek alanı initialize etme etkinleştirilmiştir. Android 11 geliştirme süreci boyunca, 0 başlangıç değeri ile başlatılan bellek alanlarında çıkabilecek sorunlar incelenmiş ve çözülmüştür. Bu sayede güvenlik artışı sağlanmıştır. Platform geliştiriciler 0 başlangıcına güvenerek, “AUTO_PATTERN_INITIALIZE=true m” parametresini ayarlayarak kodlarını yazmaya başlayabilirler.


Initializing Kernel (Kernel’i başlatma)


Android Kernel’in 4.14, 4.19 ve 5.4 versiyonlarında otomatik stack ve heap başlangıcı Linux Kernel’da yapılmaya başlandı. Bu özellik ile local değişkenler ve heap’ler init edilmeye zorlanmaktadır. Böylece kötü niyetli kişiler tarafından bu değerlerin önceki durumlarına erişilemeyecektir. Bu özelliğin performans olarak olumsuz bir yansıması olmuştur ancak güvenlik ön planda tutulduğunda bu önemsizdir.


Scudo şimdi Android’in Default Ayırıcısı


Android 11 ile birlikte Scudo Android’in default ayırıcısı haline gelmiştir. Scudo, yığındaki bellek bozulması hatalarının algılanmasına ve azaltılmasına yardımcı olmak için tasarlanmıştır. Scudo, güvenlik açığını tam olarak engellemez, ancak bazı bellek hatalarına karşı stack’i güçlendirmede etkilidir. Android ekibi tarafından yapılan dahili testlerde Scudo, daha önce tespit edilmemiş güvenlik ve kararlılık hatalarını ortaya çıkartmaktadır.


Konuyla ilgili daha fazla bilgi ve kaynak için:

https://android-developers.googleblog.com/2020/06/system-hardening-in-android-11.html


#AndroidScudo #AndroidSystemHardening #AndroidSistemGüçlendirme


Komünite

Platform

Mobiler.dev Anasayfa
  • Twitter
  • Instagram
  • development_düzenlendi_düzenlendi
  • Youtube
  • slack-icon-black_edited_edited_edited
  • Gri LinkedIn Simge
imageedit_2_9667998092.png
JetBrains Hakkında Detaylı Bilgi Alın

© 2020 by mobiler.dev

Kurumsal Yazar Hesapları

adesso.png
mobilerdevLogo.jpg
Yazarlık Başvurusu Hakkında Bilgi Alın, Başvuru Yapın.
Topluluk Yazarlarını Tanıyın