Google Settings के अंदर छिपा एक गुप्त ब्राउज़र
(matan-h.com)- Android के Manage my account पॉपअप में ऐसी स्क्रीन खुलती है जहां से सामान्य वेबसाइटों पर जाया जा सकता है, और इसे Settings तथा Google ऐप परिवार के अंदर भी एक्सेस किया जा सकता है
- इसमें पहुंचने का रास्ता Google अकाउंट मैनेजमेंट के Security टैब, Password Manager, on-device encryption help, Privacy Policy, और Search मेनू से होकर गुजरता है
- यह स्क्रीन YouTube playback तक कर सकती है, लेकिन इसमें browsing history और address bar नहीं है, और back दबाने पर web history की जगह settings screen पर लौटता है
- JavaScript console में
mmobject औरcloseView(),requestSecurityKeyHandshake(),updateSecurityKey()functions दिखते हैं, लेकिन कुछ functions का वास्तविक उपयोग स्पष्ट नहीं है - Google ने पहले कहा कि यह security vulnerability नहीं है और parental controls bypass भी intended behavior है, लेकिन सार्वजनिक खुलासे और मीडिया कवरेज के 3 दिन बाद कहा कि वह रिपोर्ट की फिर से समीक्षा करेगा
Android Settings के अंदर खुलने वाला छिपा ब्राउज़र
- Android के कई ऐप्स में Manage my account पॉपअप होता है, और इसे Settings तथा Google ऐप परिवार जैसे प्रमुख ऐप्स में भी खोला जा सकता है
- कुछ चरणों से गुजरने पर पॉपअप के भीतर का हिस्सा सामान्य वेबसाइटों पर जाने वाले ब्राउज़र की तरह काम करता है
- Settings → Google या ऐसा ऐप जहां अकाउंट चुना जा सके, वहां “Manage my account” चुनें
- “Security” टैब में “Password Manager” चुनें
- ऊपर दाईं ओर
Settingsआइकन चुनें - “Set up on-device encryption” → “Learn more about on-device encryption” चुनें
- hamburger menu से “Privacy Policy” पर जाएं
- ऊपर 9 dots मेनू दबाएं, लगभग 5 सेकंड इंतजार करें, फिर “Search” चुनें, या
Googleआइटम पर जाएं - Google अकाउंट से log out करने पर इसे मनचाही जगह जाने वाले ब्राउज़र की तरह इस्तेमाल किया जा सकता है
- इस स्थिति में YouTube वीडियो playback भी संभव है, और स्क्रीन Settings ऐप या जिस ऐप से शुरुआत की गई थी, उसी के भीतर खुलती है
-
सामान्य ब्राउज़र से अलग बातें
- browsing history सेव नहीं होती
- session समाप्त होने पर logged-in Google account से अपने आप log out हो जाता है
- address bar नहीं है
- back key दबाने पर पिछले webpage की जगह Password Manager settings की ओर लौटता है
mm JavaScript object और Google की प्रतिक्रिया
- eruda जैसे mobile JavaScript console में
mmनाम का JavaScript object देखा जा सकता है mmobject में तीन functions हैंcloseView(): ब्राउज़र को बंद करता है, और back key दबाने जैसा व्यवहार करता हैrequestSecurityKeyHandshake(): इसका काम पुष्टि नहीं हुआ है, लेकिन नाम से यह संवेदनशील function लगता हैupdateSecurityKey(): इसका काम पुष्टि नहीं हुआ है, लेकिन नाम से यह संवेदनशील function लगता है
- क्योंकि यह ब्राउज़र on-device encryption feature के रास्ते में खुलता है, इसलिए यह केवल अटकल है कि पुष्टि न हुए ये दो functions local encryption key setup से जुड़े हो सकते हैं
- Google ने शुरुआती रिपोर्ट पर जवाब दिया कि यह security vulnerability नहीं है, और parental controls bypass “Intended Behavior” है
- लेख प्रकाशित होने के बाद अंग्रेजी और रूसी सहित कई मीडिया outlets ने इसे कवर किया, और सार्वजनिक होने के 3 दिन बाद Google ने बताया कि वह रिपोर्ट की दोबारा समीक्षा करेगा
- संबंधित चर्चा के लिए Hacker News discussion उपलब्ध है
2 टिप्पणियां
पासवर्ड मैनेजर में जाते समय कुछ एक बीट की देरी जैसी महसूस होती थी.. लगता है वो सिर्फ मेरा वहम नहीं था।
Hacker News की राय
मैंने थोड़ा जांचा, और जब आप "Manage my account" दबाते हैं, तो यह Settings app के अंदर नहीं रहता बल्कि Google Play Services में एम्बेड की गई एक Activity पर चला जाता है
आखिर में ब्राउज़र
com.google.android.gms/.auth.folsom.ui.GenericActivityथा, और यह मेरे फ़ोन की डिफ़ॉल्ट सिस्टम WebView implementation, यानी Chrome, का इस्तेमाल करता हुआ नहीं लगाAndroid में
addJavascriptInterfaceके ज़रिए Android code और JavaScript code के बीच interface बनाया जा सकता है, और लगता है GMS के अंदर इसका काफी इस्तेमाल होता है, इसलिए बाद में देखने लायक attack surface लगता हैसंदिग्ध
mminterfaceMagicArchChallengeViewके अंदर है, और obfuscatedbwuzclass से जुड़ा है.bwuzखुद लगभग खाली है, लेकिन फिर कुछ और obfuscated classes से जुड़ता हैstring search करने पर दिखता है कि
"qvc"और"pdn"नाम की दो classes संबंधित functions expose करती हैं, औरpdnमुख्य लगती है, जबकिqvcमें ऐसे काम के error logs हैं जो बताते हैं कि हर parameter क्या हैsetVaultSharedKeysएक JSON object array की उम्मीद करता है जिसमेंgaiaId,epoch, औरkeyये तीन values होती हैं, और उसे list में बदलकर एक abstract class को देता है जो account security से गहराई से जुड़ी लगती हैaddEncryptionRecoveryMethodgaiaId, security domain list, और member public key की उम्मीद करता है, और इसे भी उसी abstract class को देता हैमुझे यहाँ काम पर निकलना था इसलिए यहीं रुका, लेकिन सिर्फ यह interface ही नहीं बल्कि GMS जो दूसरे interfaces WebView को expose करता है, वे भी और खोदने लायक लगते हैं
https://developer.android.com/reference/android/webkit/WebVi...
Blink हो तब भी, शायद वह Chrome जितना up-to-date न हो. docs link देखकर लगता है कि WebKit ही है
https://2021.stateofthebrowser.com/speakers/alex-russell/
gaiaIdका मतलब Google Accounts and ID Administration ID है, तो Google के वैश्विक unique ID को ऐसा नाम देने वाला इंसान खुद पर काफी गर्व महसूस करता होगा, और करना भी चाहिएमुझे समझ नहीं आता कि यह दूसरे embedded WebView से अलग कैसे है. क्या लगभग हर app में "privacy policy देखें" जैसी जगह पर embedded WebView नहीं होता?
पूरी privacy policy app developer को सौंपने के बजाय HTML दिखाना अक्सर बहुत आसान होता है
याद के मुताबिक, कई domains या URLs को allow करने वाला WebView set up करना भी काफी मुश्किल था. मैं Android developer नहीं हूँ, और आखिरी बार इसे छुए हुए भी कई साल हो गए हैं
key management वाली बात अभी काफी हद तक अटकल है, और लेखक ने वास्तव में test नहीं किया कि यह क्या करता है, इसलिए फिलहाल बात बस इतनी है कि “पता नहीं ये क्या है, लेकिन दो डरावने दिखने वाले methods हैं”
यह कुछ वैसा ही है जैसे browser block होने पर CHM help files से इंटरनेट पर पहुंच जाना
धत्त, मेरी उम्र जाहिर हो गई
यह बिल्कुल वैसा ही है जैसा मैं बचपन में Windows के parental control app को bypass करने के लिए करता था
computer इस्तेमाल करने के लिए सिर्फ 1 घंटा मिलता था, और समय खत्म होने पर Microsoft Office apps को छोड़कर बाकी सारे apps बंद हो जाते थे क्योंकि उन्हें productivity apps माना जाता था
इधर-उधर क्लिक करते-करते किसी तरह Outlook के अंदर browser खोल लिया और Miniclip पर Flash games खेल सका
मैंने default web browser को Terminal पर सेट किया, फिर Word खोला, उसमें link बनाया और उस पर click किया
आम तौर पर इस तरह खुला Terminal दूसरे apps launch करने में fail हो जाता था, लेकिन इस तरीके से खुला Terminal instance ज्यादा permissions रखता था, इसलिए
open /path/to/your/appसे inserted disk पर मौजूद games जैसी चीजें चला सकते थेजब study hall के supervising teacher ने आकर पूछा कि क्या Starcraft खेलना ठीक है, तो मैंने कहा, “सर, जैसा कि आप जानते हैं, ये computers काफी locked down हैं, तो अगर हम यह game चला पा रहे हैं, तो स्कूल ने इसकी अनुमति दी होगी.” आज तक यकीन नहीं होता कि यह बात चल गई
अगर कोई बच्चा यह hack खुद ढूंढकर blocked sites तक पहुंच सकता है, तो मेरी राय में उसने उसका हक कमा लिया
ऐसा ही एक bypass
aboutके license page में भी थाlicense तक जाने वाले links follow करो, और browser मिल जाता है. car head unit या Peloton bike जैसी जगहों पर browser खोलने में काम आता है
यह filesystem के अंदर की सारी files की सूची जैसी लगती है
Google को bug report करने वाले इस व्यक्ति का अनुभव मुझे अपना अनुभव याद दिलाता है
मैं: Google Sheets में एक bug है जिसमें हटाया गया content third party के सामने उजागर हो जाता है
Google: bug नहीं है। जैसा इरादा था वैसा ही काम कर रहा है। issue बंद
मैं: सच में? इस application का इस्तेमाल करते हुए मुझे वास्तव में नुकसान हुआ है
Google: दरअसल bug है, लेकिन यह बहुत पहले से ज्ञात issue है इसलिए bug bounty के दायरे में नहीं आता। issue बंद
मैं: Gmail में एक bug है जिससे forged email, DKIM failure को छिपाकर सामान्य email जैसा दिख सकता है
Google: "Won't fix (Intended Behavior)"
मैं: क्या सच में Google का इरादा है कि interface में forged email सामान्य जैसा दिखे?
Google: दरअसल यह एक ज्ञात issue है
ऊपर से शुरुआती लेख उस vulnerability को चीन/रूस की hacking से जोड़ने की कोशिश कर रहे थे। ऐसी propaganda Google को खुद पर लागू करनी चाहिए। Google एक अमेरिकी company है, और उसने foreign हो या domestic, किसी के भी दुरुपयोग के लिए backdoor पूरी तरह खुला छोड़ रखा था। वास्तव में दोनों ने उसका दुरुपयोग किया
Google के साथ सच में कोई समस्या है। 2019 के बाद क्या हुआ, पता नहीं, लेकिन हालात अच्छे नहीं हैं
मैं: Google Play Services में bug है
Google: bug नहीं है। जैसा इरादा था वैसा ही काम कर रहा है। issue बंद
मैं: मैंने blog पर bug के बारे में पोस्ट किया, और media coverage काफी बड़ी हो गई
Google: लगता है हम गलत थे! यह सच में bug है। कुछ हफ्तों में फिर संपर्क करेंगे
आज मुझे पता चला कि मोबाइल JavaScript console जैसी भी कोई चीज़ होती है
https://eruda.liriliri.io/
इसमें आप दूसरे computer से developer tools खोल सकते हैं, और सारी जानकारी WebSocket के ज़रिए sync होती है। मैंने इसे एक बार customer device की समस्या debug करते समय इस्तेमाल किया था
data:text/html,तक इस्तेमाल करने की मेहनत करता हूँ, लेकिन यह हैरान कर देने वाली हद तक feature-rich हैजब मेरे माता-पिता बैंक का काम कर रहे होते थे, तब मैं lobby में कुछ ऐसा ही करता था
उस समय best viewed in Netscape Navigator टैग तो सोने की खान जैसा था। तरीका भी लगभग यही था—ऐसा टैग मिलने तक क्लिक करते रहो, फिर वहाँ से search engine पर चले जाओ
उसके बाद मैं एक संदिग्ध adware से भरी streaming site पर गया, लेकिन जैसे ही किसी दूसरे video पर स्विच किया, पूरी Tesla computer system ही hang हो गई और कार को hard reboot करना पड़ा
इससे मुझे Windows के पुराने version याद आ गए। F1 दबाने पर Windows Help के ज़रिए कई run commands trigger किए जा सकते थे
explorer.exeपर right-click करो और Run चुनो”