GrapheneOS की social network गतिविधि
- GrapheneOS, Mastodon-आधारित distributed social network का हिस्सा है.
- यह आधिकारिक project account और project members के लिए GrapheneOS server चला रहा है.
- server पर 5 active users हैं.
Pixel 8 और Pixel 8 Pro में hardware memory tagging support
- Pixel 8 और Pixel 8 Pro में hardware memory tagging support के ज़रिए Android 14 QPR2 के Bluetooth LE में होने वाला memory corruption bug खोजा गया.
- अभी इस bug की जांच की जा रही है ताकि इसे ठीक किया जा सके या नई जोड़ी गई functionality को अस्थायी रूप से disable करने जैसा workaround ढूंढा जा सके.
Memory tagging को disable करना अस्थायी समाधान के रूप में उपयुक्त नहीं
- यह केवल कुछ खास Bluetooth LE devices पर होता है, सभी Bluetooth devices पर नहीं.
- इस process के लिए memory tagging को disable करना short-term solution के रूप में भी स्वीकार्य नहीं है.
Android 14 QPR2 के लिए bug patch development
- Bluetooth LE से जुड़ा use-after-free bug खोजा गया और उसके लिए patch विकसित किया गया.
- GrapheneOS release में fix शामिल करना प्राथमिकता है, और इसे Android security bug के रूप में report किया जाएगा.
- उम्मीद है कि BLE audio समस्या भी हल हो जाएगी.
Bug fix की पुष्टि
- Samsung Galaxy Buds2 Pro इस्तेमाल करने वाले एक user ने Bluetooth LE mode में समस्या को reproduce किया और पुष्टि की कि fix प्रभावी है.
- यह समस्या default Pixel OS को भी प्रभावित करती है.
- GrapheneOS ने hardened_malloc memory tagging support के ज़रिए इसे detect किया, और MTE crash notification तथा report भेजने की क्षमता जोड़ी.
Security bug के रूप में report
- use-after-free समस्या को security bug के रूप में report किया गया (Google कर्मचारियों के लिए b/328916844).
- शुरुआती minimal invasive patch दिया गया.
- code को बड़े refactoring की ज़रूरत है, और raw pointers का उपयोग नहीं होना चाहिए, लेकिन तेज़ patch के कारण नया bug न आ जाए इसका ध्यान रखा जा रहा है.
Bluetooth code को Rust में port करना
- Android ने काफी Bluetooth code को Rust में port किया है.
- बाकी code को भी Rust में port करने के लिए अधिक resources लगाने की ज़रूरत है.
- HWASan और MTE builds को विभिन्न वास्तविक उपयोग परिवेशों में test करना चाहिए.
MTE का महत्व
- Pixels, OS में इसे enable किए बिना memory/cache usage में 3.125% बचत करने के लिए MTE जैसा महत्वपूर्ण hardware security feature प्रदान करते हैं.
- GrapheneOS, default OS और ज्ञात compatible user-installed apps के लिए default रूप से MTE enable करता है.
- users settings में जाकर सभी user-installed apps के लिए MTE enable कर सकते हैं.
GrapheneOS का MTE implementation
- GrapheneOS, standard random tags और dedicated free tag का उपयोग करने वाले hardened_malloc के हिस्से के रूप में बेहतर MTE implementation प्रदान करता है.
- इसने Chromium integration को ठीक किया है और PartitionAlloc को बेहतर बनाने की योजना है.
GrapheneOS में MTE का उपयोग
- GrapheneOS, production environment में MTE का उपयोग करने वाला पहला platform है.
- Vanadium browser, production environment में MTE का उपयोग करने वाला पहला browser है.
- stack MTE जोड़ने, PartitionAlloc को बेहतर बनाने और नया kernel slab MTE बनाने की योजना है.
Users का आभार
- users ने GrapheneOS के Bluetooth auto-disable feature के लिए आभार व्यक्त किया.
GN⁺ की राय
- GrapheneOS एक Android-आधारित security-focused operating system है, जिसने नवीनतम Pixel devices में पाए गए memory corruption bug को तेज़ी से खोजकर उस पर प्रतिक्रिया दी.
- ऐसी तेज़ प्रतिक्रिया open source community के फ़ायदों को अच्छी तरह दिखाती है और users को अधिक सुरक्षित mobile environment देने में योगदान करती है.
- memory safety को मजबूत करने के लिए Rust language में code port करना दीर्घकालिक security reinforcement की दिशा में एक महत्वपूर्ण कदम है.
- MTE जैसे hardware-based security feature को enable करना performance impact को कम रखते हुए security बढ़ाने का प्रभावी तरीका है.
- इस technology को अपनाते समय existing applications के साथ compatibility पर विचार करना चाहिए, और security को मजबूत करने के लिए उचित testing और maintenance की आवश्यकता होती है.
1 टिप्पणियां
Hacker News राय
मेमोरी टैगिंग एक्सटेंशन फ़ीचर डिफ़ॉल्ट रूप से सक्षम नहीं है, लेकिन कोई भी इसे developer options के जरिए सक्षम कर सकता है। अगर किसी खास app को test करना हो तो इसे एक बार के लिए चालू किया जा सकता है, या चाहें तो जब तक चाहें चालू रखा जा सकता है.
उम्मीद है कि Graphene OS उपयोगकर्ता इस बारे में जवाब देंगे कि Graphene OS install करना कितना मुश्किल है, क्या किसी खास cable की ज़रूरत पड़ती है, क्या Android device की अच्छी समझ होनी चाहिए, या सिर्फ़ निर्देशों का पालन करना काफ़ी है.
अनुरोध है कि लोग अपना अनुभव साझा करें कि Graphene OS को रोज़मर्रा में इस्तेमाल करना असुविधाजनक है या नहीं, क्या फ़ोन अक्सर crash होता है और कई दिनों तक debugging करनी पड़ती है, और क्या banking apps काम करती हैं.
यह जानने की जिज्ञासा है कि Pixel टीम 3.125% मेमोरी/cache उपयोग बचाने के लिए OS में एक महत्वपूर्ण hardware security फ़ीचर (MTE) को सक्षम न करने के फ़ैसले को कैसे सही ठहराती है। heap MTE में asynchronous mode में लगभग कोई performance overhead नहीं है, और asymmetric mode में यह SSP जैसे मौजूदा लेकिन धीरे-धीरे कम प्रभावी होते जा रहे सुरक्षा उपायों से भी सस्ता है.
MTE और CHERI security technology की तुलना के बारे में सवाल.
GrapheneOS सुरक्षा के मामले में बाकी विकल्पों से बहुत आगे है, इसलिए Pixel hardware के अलावा किसी और विकल्प पर जाना संदिग्ध लगता है। लेकिन साथ ही removable battery चाहने की तीव्र इच्छा भी व्यक्त की गई है.
सवाल है कि क्या नवीनतम Raspberry Pi जैसे single-board computers में Arm MTE लागू किया गया है.
ऐसे mainstream hardware का इंतज़ार है जो Solaris SPARC 2015 hardware या उससे पहले की memory tag architectures की तरह memory corruption समस्याओं को हल कर सके। ऐसी समस्याएँ ज़्यादातर कम कुशल developers की वजह से होती हैं.
2024 में seL4 की भावना को आगे बढ़ाने वाले, लेकिन उससे भी अधिक सख़्ती से formally verified operating systems, applications और tools की ज़रूरत है। मौजूदा तरह के अपर्याप्त रूप से tested और अत्यधिक engineered codebase systems का उपयोग users के लिए जोखिम पैदा करता है, और bugs, malware तथा hacking के लिए बड़ा attack surface देता है.
अगर साफ़-सुथरा और एकीकृत user experience (UX) और उपयोगी features नहीं दिए जाते, तो सारी engineering बेकार है.
Android ने Bluetooth code का एक बड़ा हिस्सा Rust में port किया है। यह दिखाता है कि और ज़्यादा code को Rust में port करने के लिए और संसाधन लगाने चाहिए.
C और C++ में कई साल काम कर चुके लेकिन Rust का अनुभव न रखने वाले एक व्यक्ति को जिज्ञासा है कि C से Rust में port करते समय कितना refactoring करना पड़ता है। सवाल यह भी है कि Google इसे कैसे approach कर रहा है—क्या वह जहाँ तक संभव हो सीधा "translation" करने की कोशिश कर रहा है, या इसे बड़े rewrite/refactoring के अवसर की तरह देख रहा है.
यह जानने की जिज्ञासा है कि क्या Android Bluetooth stack standard Linux distribution desktop systems पर इस्तेमाल के लिए उपलब्ध है.