Aktivitas GrapheneOS di jejaring sosial
- GrapheneOS merupakan bagian dari jejaring sosial terdesentralisasi berbasis Mastodon.
- Menjalankan server GrapheneOS untuk akun proyek resmi dan anggota proyek.
- Server tersebut memiliki 5 pengguna aktif.
Dukungan penandaan memori perangkat keras pada Pixel 8 dan Pixel 8 Pro
- Menemukan bug kerusakan memori pada Bluetooth LE di Android 14 QPR2 melalui dukungan penandaan memori perangkat keras pada Pixel 8 dan Pixel 8 Pro.
- Saat ini sedang menyelidiki bug tersebut untuk memperbaikinya atau mencari solusi sementara dengan menonaktifkan sementara fitur yang baru diperkenalkan.
Menonaktifkan penandaan memori tidak cocok sebagai solusi sementara
- Hanya terjadi pada perangkat Bluetooth LE tertentu, bukan pada semua perangkat Bluetooth.
- Menonaktifkan penandaan memori untuk proses ini tidak dapat diterima bahkan sebagai solusi jangka pendek.
Pengembangan patch bug Android 14 QPR2
- Menemukan bug use-after-free yang terkait dengan Bluetooth LE dan mengembangkan patch.
- Prioritasnya adalah memasukkan perbaikan ke rilis GrapheneOS, dan masalah ini akan dilaporkan sebagai bug keamanan Android.
- Masalah audio BLE juga diharapkan akan terselesaikan.
Verifikasi perbaikan bug
- Pengguna yang memakai Samsung Galaxy Buds2 Pro mereproduksi masalah dalam mode Bluetooth LE dan mengonfirmasi bahwa perbaikannya efektif.
- Masalah ini juga memengaruhi Pixel OS bawaan.
- GrapheneOS mendeteksinya melalui dukungan penandaan memori hardened_malloc, serta menambahkan kemampuan untuk mengirim notifikasi crash MTE dan laporan.
Dilaporkan sebagai bug keamanan
- Masalah use-after-free dilaporkan sebagai bug keamanan (b/328916844 untuk karyawan Google).
- Patch awal dengan gangguan minimal telah disediakan.
- Kodenya memerlukan refactoring besar dan seharusnya tidak menggunakan pointer mentah, tetapi mereka juga ingin menghindari masuknya bug baru lewat patch cepat.
Memindahkan kode Bluetooth ke Rust
- Android telah memindahkan banyak kode Bluetooth ke Rust.
- Lebih banyak sumber daya perlu dialokasikan untuk memindahkan sisa kode ke Rust.
- Build HWASan dan MTE perlu diuji dalam berbagai lingkungan penggunaan nyata.
Pentingnya MTE
- Pixel menyediakan fitur keamanan perangkat keras penting bernama MTE, tetapi tidak diaktifkan di OS untuk menghemat penggunaan memori/cache sebesar 3.125%.
- GrapheneOS mengaktifkan MTE secara default untuk OS inti dan aplikasi yang dipasang pengguna yang kompatibilitasnya sudah diketahui.
- Pengguna dapat mengaktifkan MTE untuk semua aplikasi yang dipasang pengguna melalui pengaturan.
Implementasi MTE di GrapheneOS
- GrapheneOS menyediakan implementasi MTE yang lebih baik sebagai bagian dari hardened_malloc yang menggunakan tag acak standar dan tag
free khusus.
- Mereka telah memperbaiki integrasi Chromium dan berencana meningkatkan PartitionAlloc.
Penggunaan MTE oleh GrapheneOS
- GrapheneOS adalah platform pertama yang menggunakan MTE di lingkungan produksi.
- Browser Vanadium adalah browser pertama yang menggunakan MTE di lingkungan produksi.
- Mereka berencana menambahkan stack MTE, meningkatkan PartitionAlloc, dan membuat kernel slab MTE baru.
Ucapan terima kasih dari pengguna
- Para pengguna menyampaikan terima kasih atas fitur penonaktifan Bluetooth otomatis milik GrapheneOS.
Pendapat GN⁺
- GrapheneOS adalah sistem operasi berfokus keamanan berbasis Android, dan menunjukkan kemampuannya mendeteksi serta merespons dengan cepat bug kerusakan memori yang ditemukan pada perangkat Pixel terbaru.
- Respons cepat seperti ini menunjukkan keunggulan komunitas open source dan membantu menyediakan lingkungan mobile yang lebih aman bagi pengguna.
- Pemindahan kode ke bahasa Rust untuk memperkuat keamanan memori adalah langkah penting untuk penguatan keamanan jangka panjang.
- Mengaktifkan MTE sebagai fitur keamanan berbasis perangkat keras adalah cara efektif untuk memperkuat keamanan dengan dampak performa yang minimal.
- Saat mengadopsi teknologi ini, kompatibilitas dengan aplikasi yang ada harus dipertimbangkan, dan pengujian serta pemeliharaan yang tepat untuk penguatan keamanan tetap diperlukan.
1 komentar
Komentar Hacker News
Fitur Memory Tagging Extension secara default tidak diaktifkan, tetapi siapa pun bisa mengaktifkannya melalui opsi pengembang. Bisa diaktifkan sekali saat ingin menguji aplikasi tertentu, atau dibiarkan tetap aktif selama diinginkan.
Mengharapkan jawaban dari pengguna Graphene OS tentang apakah pemasangan Graphene OS sulit, apakah memerlukan kabel khusus, apakah harus sangat paham perangkat Android, atau cukup mengikuti petunjuk saja.
Permintaan untuk berbagi pengalaman apakah menggunakan Graphene OS sehari-hari terasa merepotkan, apakah ponsel sering crash hingga perlu debug berhari-hari, dan apakah aplikasi perbankan berfungsi.
Bertanya-tanya bagaimana tim Pixel membenarkan keputusan untuk tidak mengaktifkan fitur keamanan perangkat keras penting (MTE) di OS demi menghemat penggunaan memori/cache sebesar 3,125%. Heap MTE hampir tidak memiliki overhead performa dalam mode asinkron, dan dalam mode asimetris lebih murah daripada mekanisme perlindungan lama seperti SSP yang efektivitasnya terus menurun.
Pertanyaan tentang perbandingan teknologi keamanan MTE dan CHERI.
GrapheneOS dinilai jauh lebih unggul dari yang lain dalam hal keamanan, sehingga pilihan selain perangkat keras Pixel terasa dipertanyakan. Namun, ada juga keinginan kuat untuk memiliki baterai yang bisa diganti.
Pertanyaan apakah komputer papan tunggal seperti Raspberry Pi terbaru mengimplementasikan Arm MTE.
Menantikan perangkat keras arus utama yang bisa menyelesaikan masalah korupsi memori, seperti arsitektur memory tag pada perangkat keras Solaris SPARC tahun 2015 atau sebelumnya. Masalah seperti ini sebagian besar disebabkan oleh pengembang yang kurang kompeten.
Pada tahun 2024 dibutuhkan sistem operasi, aplikasi, dan alat yang mewarisi semangat seL4 namun diverifikasi secara formal dengan lebih ketat. Menggunakan sistem berbasis codebase yang kurang teruji dan overengineered seperti sekarang menimbulkan risiko bagi pengguna, serta menyediakan permukaan serangan besar untuk bug, malware, dan peretasan.
Jika tidak memberikan pengalaman pengguna (UX) yang rapi dan terintegrasi serta fitur yang benar-benar bisa dipakai, semua rekayasa itu sia-sia.
Android telah mem-porting sebagian besar kode Bluetooth ke Rust. Ini menunjukkan bahwa lebih banyak sumber daya perlu dialokasikan untuk mem-porting lebih banyak kode ke Rust.
Seseorang yang telah bertahun-tahun bekerja dengan C dan C++ tetapi belum punya pengalaman Rust bertanya-tanya berapa banyak refactoring yang dibutuhkan dalam proses porting dari C ke Rust. Juga mempertanyakan bagaimana Google mendekati hal ini, apakah berusaha semaksimal mungkin untuk langsung "menerjemahkannya", atau melihatnya sebagai peluang rewrite/refactoring besar.
Penasaran apakah stack Bluetooth Android dapat digunakan pada sistem desktop distribusi Linux standar.