MTE, Android çekirdeğinden ve herhangi bir cihazdan bağımsız olarak gerçekleştirebilirsiniz. Google, Google Analytics 4'te benzersiz bir tasarıma sahiptir ve cihaza maksimum esneklik sağlamayı amaçlar. birlikte çalışır.
Bu dokümanda, bize göre MTE ayarları ve kapsamı Android için güvenlik ile maliyet arasında iyi bir denge sağlar için her zaman açık bir çözüm olarak kullanıma sunduk.
Çekirdek
Çekirdekteki MTE, komut satırı üzerinden yapılandırılır. İlgili içeriği oluşturmak için kullanılan Senkronizasyon modunda varsayılan olarak AÇIK'tır. Bu durum, çeşitli nedenler:
- Performansı ve ihtiyaçları en iyi uygulamalardır.
- Çekirdek kodu kalitesinin gönderim için yetersiz olduğu yaygın olarak algılanmaktadır MTE'yi zorunlu kılma (yani başarısızlıkta panik) modunda.
Geçerli öneri, şurada çekirdek MTE'yi devre dışı bırakmanızdır:
üretim cihazlarıdır. Bunu yapmak için, kasan=off
öğesini şuraya ekleyin:
kernel komut satırını kullanın.
Kullanıcı alanı
Google, korunacak kullanıcı alanı ikili programlarının varsayılan listesini sağlar MTE ile. Liste, Android Security'nin girişiyle oluşturuldu Ayrıca, ayrıcalıklı ve/veya güvenilmez olan bileşenler içerir giriş değerleridir. Önerilen yerel ikili programların güncel listesi bulabilirsiniz: "the" memtag-common.mk Android derlemesindeki dosya bahsedeceğim. Ayrıca, birkaç sistem uygulamaları şunlardır: şu anda, NFC, Bluetooth ve SecureElement. Bu ikili programlar ve uygulamalar varsayılan olarak eşzamansız modda etkinleştirilir.
Geçerli öneri, varsayılan hedef listesini kullanmanızdır. (değişiklik gerekmez). Ek olarak, kampanyalarınızın Çekirdek sisteme BSP ve OEM eklemeleri ve bu sistemlerde MTE'yi etkinleştirme bu yöntemi kullanabilirsiniz.
Uygulamalar
Yukarıdaki listede bulunan üç sistem uygulamasında yalnızca
MTE'dir. Bir üçüncü taraf uygulamasının
MTE'yi seçerseniz AndroidManifest.xml
özelliği,
Başka bir değerle android:memtagMode
(off
oranından daha). Bu nedenle,
Geekbench veya AnTuTu, MTE ile çalışmaz. Çekirdek MTE'si de
devre dışıysa (yukarıdaki kasan=off
bölümüne bakın) karşılaştırmalar
çok sınırlı performans etkisi göstermesi bekleniyor.
Diğer uygulamalarda olduğu gibi,
Chrome'a dokunun. Chrome'un mevcut Play Store sürümü şunları içerir:
Manifest dosyasındaki memtagMode=async
ayarı. Ayrıca, çalışanların
güvenlik bilincine sahip bazı uygulamaların
(örneğin, bankacılık uygulamaları) da eninde sonunda aynı şeyi yapar.
diğer yandan yoğun CPU kullanımı gerektiren bazı uygulamaların
MTE'yi devre dışı bırakmayı seçer.
Diğer modlar
Yukarıdaki talimatlar yalnızca eşzamansız MTE modunu kullanır her yerde. Donanıma bağlı olarak, diğer modlar neredeyse veya hızlandırıyor. Ayrıca daha iyi teşhisler sunar ve özellikleri geliştirmenizi sağlar.
Bir veya iki yapılandırmayı daha test ederek bu yapılandırmaların
performans/güç gereksinimlerinizi karşılayacak kadar iyidir. MTE modları
sistemdeki her bir CPU çekirdeği için
/sys/devices/system/cpu/cpu*/mte_tcf_preferred
Örneğin, yazılı olarak
sync
(veya asymm
), istekte bulunan kullanıcı alanı işlemlerine neden olur
Bu işlem sırasında eşzamansız mod, senkronizasyona (veya Asymm) sessizce otomatik olarak yükseltilir
çalışıyor diyelim. Bu kurulum, cihazdaki bir .rc dosyasında yapılabilir.
unutmayın.
Kontrol etmek için bir veya iki yapılandırma daha ölçmenizi performans ve güç gereksinimlerinizi karşılarlar. Biraz keşfedilecek ilginç yapılandırmalar var:
- Tüm çekirdeklerde Asymm.
- Büyük çekirdeklerde Asymm, diğer çekirdeklerde Senkronizasyon.
Bir işlemin eşzamansız mod (istenmeyen otomatik yükseltme) kullanıyorsanız aşağıdaki satırda her iki PR_MTE_TCF_SYNC ve PR_MTE_TCF_ASYNC:
debuggerd <PID> | head -30 | grep tagged_addr
Maalesef bir reklamveren için etkili modu görmenin işlem; ancak yukarıda listelenen her iki değeri de gösteren işlemler otomatik yükseltme davranışına tabi olacaktır.