GrapheneOS sosyal ağ etkinliği
- GrapheneOS, Mastodon tabanlı dağıtık sosyal ağın bir parçası.
- Resmî proje hesabı ve proje üyeleri için GrapheneOS sunucusunu işletiyor.
- Sunucuda 5 aktif kullanıcı bulunuyor.
Pixel 8 ve Pixel 8 Pro’da donanımsal bellek etiketleme desteği
- Pixel 8 ve Pixel 8 Pro’da donanımsal bellek etiketleme desteği sayesinde Android 14 QPR2’nin Bluetooth LE bileşeninde ortaya çıkan bir bellek bozulması hatası keşfedildi.
- Şu anda bu hatayı inceleyerek düzeltmeye ya da yeni eklenen özelliği geçici olarak devre dışı bırakan bir geçici çözüm bulmaya çalışıyorlar.
Bellek etiketlemeyi devre dışı bırakmak geçici çözüm olarak uygun değil
- Sorun yalnızca belirli Bluetooth LE cihazlarında ortaya çıkıyor; tüm Bluetooth cihazlarında görülmüyor.
- Bu süreç için bellek etiketlemeyi devre dışı bırakmak, kısa vadeli bir çözüm olarak bile kabul edilebilir değil.
Android 14 QPR2 hatası için yama geliştirme
- Bluetooth LE ile ilgili bir
use-after-free hatası bulundu ve buna yönelik bir yama geliştirildi.
- Düzeltmenin GrapheneOS sürümüne dahil edilmesi öncelikli; ayrıca Android güvenlik hatası olarak raporlanacak.
- BLE ses sorunlarının da çözülmesi bekleniyor.
Hata düzeltmesinin doğrulanması
- Samsung Galaxy Buds2 Pro kullanan bir kullanıcı, Bluetooth LE modunda sorunu yeniden üretti ve düzeltmenin işe yaradığını doğruladı.
- Bu sorun, stok Pixel OS’yi de etkiliyor.
- GrapheneOS bunu hardened_malloc bellek etiketleme desteğiyle tespit etti ve MTE çökme bildirimleri ile raporlarının gönderilebilmesi için özellik ekledi.
Güvenlik hatası olarak raporlama
use-after-free sorunu güvenlik hatası olarak raporlandı (Google çalışanları için b/328916844).
- İlk, asgari müdahaleli yama sağlandı.
- Kodun büyük bir refaktöre ihtiyacı var ve ham pointer kullanılmamalı; ancak hızlı bir yamayla yeni hatalar eklemek de istenmiyor.
Bluetooth kodunun Rust’a taşınması
- Android, Bluetooth kodunun önemli bir kısmını Rust’a taşıyor.
- Kalan kodun da Rust’a taşınmasına daha fazla kaynak ayrılması gerekiyor.
- HWASan ve MTE derlemeleri, çeşitli gerçek kullanım senaryolarında test edilmeli.
MTE’nin önemi
- Pixel cihazlar, işletim sistemi tarafından etkinleştirilmeyerek bellek/önbellek kullanımında %3.125 tasarruf edilen, MTE adlı önemli bir donanım güvenlik özelliği sunuyor.
- GrapheneOS, temel işletim sistemi ve uyumlu olduğu bilinen kullanıcı yüklü uygulamalar için MTE’yi varsayılan olarak etkinleştiriyor.
- Kullanıcılar, ayarlardan MTE’yi tüm kullanıcı yüklü uygulamalar için etkinleştirebiliyor.
GrapheneOS’un MTE uygulaması
- GrapheneOS, standart rastgele etiketler ve özel
free etiketi kullanan hardened_malloc’ın bir parçası olarak daha iyi bir MTE uygulaması sunuyor.
- Chromium entegrasyonunu düzeltti ve PartitionAlloc’i geliştirmeyi planlıyor.
GrapheneOS’ta MTE kullanımı
- GrapheneOS, üretim ortamında MTE kullanan ilk platform.
- Vanadium tarayıcısı, üretim ortamında MTE kullanan ilk tarayıcı.
- Stack MTE eklemeyi, PartitionAlloc’i geliştirmeyi ve yeni bir kernel slab MTE oluşturmayı planlıyor.
Kullanıcıların teşekkürü
- Kullanıcılar, GrapheneOS’un Bluetooth’u otomatik devre dışı bırakma özelliği için teşekkürlerini ifade ediyor.
GN⁺ görüşü
- GrapheneOS, Android tabanlı ve güvenliğe odaklı bir işletim sistemi olarak, en yeni Pixel cihazlarda bulunan bellek bozulması hatasını hızla tespit edip buna yanıt verdiğini gösteriyor.
- Bu hızlı yanıt, açık kaynak topluluğunun avantajlarını açıkça gösteriyor ve kullanıcılara daha güvenli bir mobil ortam sunulmasına katkı sağlıyor.
- Bellek güvenliğini güçlendiren Rust diline kod taşıma çalışması, uzun vadeli güvenlik iyileştirmesi için önemli bir adım.
- Donanım tabanlı bir güvenlik özelliği olan MTE’yi etkinleştirmek, performans kaybını en aza indirirken güvenliği artırmanın etkili bir yolu.
- Bu teknolojiyi devreye alırken mevcut uygulamalarla uyumluluk göz önünde bulundurulmalı; güvenliği artırmak için uygun test ve bakım gerekli.
1 yorum
Hacker News görüşleri
Bellek etiketleme uzantısı varsayılan olarak etkin değil, ancak geliştirici seçenekleri üzerinden herkes tarafından etkinleştirilebiliyor. Belirli bir uygulamayı test etmek istediğinizde bir kez açabilir ya da isteyene kadar açık tutabilirsiniz.
Graphene OS kurulumunun zor olup olmadığı, özel bir kablo gerektirip gerektirmediği, Android cihazları iyi tanımak gerekip gerekmediği ya da yalnızca talimatları takip etmenin yeterli olup olmadığı konusunda bir Graphene OS kullanıcısından yanıt bekleniyor.
Graphene OS’yi günlük kullanımda kullanmanın rahatsız edici olup olmadığı, telefonun sık sık çöküp günler süren hata ayıklama gerektirip gerektirmediği ve banka uygulamalarının çalışıp çalışmadığına dair deneyim paylaşılması isteniyor.
Pixel ekibinin, bellek/önbellek kullanımında %3,125 tasarruf etmek için önemli bir donanım güvenlik özelliği olan MTE’yi işletim sisteminde etkinleştirmeme kararını nasıl gerekçelendirdiği merak ediliyor. Heap MTE, asenkron modda neredeyse hiç performans ek yüküne sahip değil ve asimetrik modda SSP gibi giderek etkisini yitiren mevcut korumalardan daha düşük maliyetli.
MTE ile CHERI güvenlik teknolojilerinin karşılaştırılmasına dair bir soru.
GrapheneOS’un güvenlik açısından diğerlerinden çok ileride olduğu, bu yüzden Pixel donanımı dışındaki seçeneklerin sorgulandığı belirtiliyor. Ancak değiştirilebilir bataryaya sahip olma yönünde güçlü bir istek de ifade ediliyor.
En yeni Raspberry Pi gibi tek kartlı bilgisayarların Arm MTE uygulayıp uygulamadığı soruluyor.
Solaris SPARC 2015 dönemi donanımı veya daha eski bellek etiketleme mimarileri gibi, bellek bozulması sorununu çözebilecek ana akım donanımlar bekleniyor. Bu sorunların çoğunun teknik yeterliliği düşük geliştiriciler tarafından ortaya çıkarıldığı söyleniyor.
2024’te, seL4’ün ruhunu taşıyan ama daha katı biçimde doğrulanmış işletim sistemlerine, uygulamalara ve araçlara ihtiyaç olduğu savunuluyor. Bugünkü gibi yeterince test edilmemiş ve aşırı tasarlanmış kod tabanı sistemlerini kullanmanın kullanıcılar için risk oluşturduğu, çok sayıda hata ile birlikte zararlı yazılım ve saldırılar için geniş bir saldırı yüzeyi sunduğu belirtiliyor.
Temiz ve bütünleşik bir kullanıcı deneyimi (UX) ile kullanılabilir özellikler sunulmadıkça, yapılan tüm mühendisliğin boşa gideceği ifade ediliyor.
Android’in Bluetooth kodunun önemli bir bölümünü Rust’a taşıdığı belirtiliyor. Bunun, daha fazla kodun Rust’a taşınması için daha çok kaynak ayrılması gerektiğini gösteren bir örnek olduğu söyleniyor.
Uzun yıllar C ve C++ ile çalışmış ancak Rust deneyimi olmayan biri, C’den Rust’a taşıma sürecinde ne kadar yeniden düzenleme gerektiğini merak ediyor. Google’ın buna nasıl yaklaştığı, mümkün olduğunca doğrudan bir “çeviri” mi yapmaya çalıştığı yoksa bunu büyük yeniden yazım/yeniden düzenleme fırsatı olarak mı gördüğü soruluyor.
Android Bluetooth yığınının standart Linux dağıtımı masaüstü sistemlerinde kullanılıp kullanılamadığı merak ediliyor.