1 पॉइंट द्वारा GN⁺ 2 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Microsoft Edge सेव किए गए पासवर्ड को स्टार्टअप के समय ही सभी को डिक्रिप्ट कर देता है और उन credentials को प्रोसेस मेमोरी में plain text के रूप में बनाए रखता है
  • यह व्यवहार तब भी होता है, जब उपयोगकर्ता उन credentials का इस्तेमाल करने वाली साइट पर गया ही न हो
  • Edge का Password Manager UI वही पासवर्ड दिखाने से पहले दोबारा authentication मांगता है, लेकिन browser process के पास पहले से ही सभी पासवर्ड plain text में मौजूद रहते हैं
  • टेस्ट किए गए Chromium-आधारित browsers में केवल Edge ही इस तरह काम करता था; Chrome को सेव किए गए पासवर्ड सिर्फ प्रोसेस मेमोरी से पढ़कर निकालना अधिक कठिन हो, इस तरह डिजाइन किया गया है
  • Chrome credentials को तभी डिक्रिप्ट करता है जब उनकी ज़रूरत हो, और App-Bound Encryption (ABE) के जरिए डिक्रिप्शन को authenticated Chrome process से बाँधता है, ताकि दूसरे process Chrome की encryption key को दोबारा इस्तेमाल न कर सकें
  • इस नियंत्रण के कारण plain text पासवर्ड केवल autofill या उपयोगकर्ता द्वारा सीधे देखने के समय थोड़ी देर के लिए दिखाई देते हैं, जिससे बड़े पैमाने पर memory scraping का असर कम हो जाता है

जोखिम परिदृश्य और खुलासा स्थिति

  • shared environment में पासवर्ड को मेमोरी में plain text में बनाए रखने का जोखिम बढ़ जाता है
  • अगर किसी attacker को terminal server पर administrator अधिकार मिल जाएँ, तो वह लॉग-इन किए गए सभी users के process memory तक पहुँच सकता है
  • डेमो में administrator अधिकार वाले एक user account पर कब्ज़ा करने वाले attacker ने Edge चलाने वाले अन्य दो logged-in users, या disconnected users, के सेव किए गए credentials देख लिए
  • इस व्यवहार की रिपोर्ट Microsoft को दी गई थी, और आधिकारिक जवाब यह था कि यह व्यवहार “by design” है
  • Microsoft को बताया गया कि इसे responsible disclosure के तहत साझा किया जाएगा, ताकि उपयोगकर्ता और संगठन credentials management के तरीके का आकलन कर सकें
  • 29 अप्रैल, बुधवार को Palo Alto Networks Norway के BigBiteOfTech में यह जानकारी सार्वजनिक की गई, और एक सरल tool का डेमो दिखाया गया जिससे आसानी से जाँचा जा सकता है कि पासवर्ड मेमोरी में plain text में स्टोर हैं या नहीं
  • proof-of-concept tool GitHub पर सार्वजनिक किया गया है, और C# तथा GitHub releases के अनुभव की कमी के कारण feedback माँगा गया है: EdgeSavedPasswordsDumper

1 टिप्पणियां

 
GN⁺ 2 시간 전
Hacker News की राय
  • यह स्थिति लगभग airtight hatch के दूसरी तरफ पहले से मौजूद होने जैसी है। अगर कोई arbitrary process memory पढ़ सकता है, तो संभव है कि वह उस user के रूप में बनकर पासवर्ड सीधे dump भी कर सके
    अगर हमलावर को terminal server admin अधिकार मिल जाएँ, तो वह लॉग-इन किए हुए सभी users के process memory तक पहुँच सकता है, और admin होने पर सभी Chrome processes में debugger attach करके पासवर्ड decryption को force भी कर सकता है
    असली फ़र्क शायद सिर्फ cold boot attack का है, और वह भी हमला थोड़ा आसान बनाता है या पहले से असंभव हमले को संभव करता है, यह स्पष्ट नहीं है
    [1] https://devblogs.microsoft.com/oldnewthing/20060508-22/?p=31...
    • यह तर्क Chromium threat model से पूरी तरह मेल खाता है। हमलावर को admin अधिकार मिलते ही परिभाषा के अनुसार game over है
      यह सिर्फ Edge की समस्या होने की संभावना कम लगती है, और Microsoft के पास upstream project की तुलना में browser को कम सुरक्षित बनाने की कोई वजह भी नहीं है
      Chrome physical local attacks को अपने threat model के बाहर मानता है; अगर कोई user मेरे device पर मेरी तरह लॉग-इन कर चुका है या मेरे OS user अधिकारों के साथ software चला सकता है, तो Chrome या कोई भी app उसका बचाव नहीं कर सकता
      ऐसा हमलावर executable और DLL में बदलाव, PATH जैसे environment variables बदलना, config files बदलना, user account data पढ़ना और exfiltrate करना—सब कर सकता है; इसलिए Chrome के हिसाब से वह कोई सार्थक सुरक्षा गारंटी दे ही नहीं सकता
      https://chromium.googlesource.com/chromium/src/+/148.0.7778....
    • पिछले कुछ वर्षों में ऐसे browser vulnerabilities भी रहे हैं जिनमें सिर्फ सामान्य user privileges के साथ arbitrary memory read संभव था, हालाँकि वे धीमे थे या location control पूरी तरह नहीं था। credentials का उपयोग होते ही उन्हें जितनी जल्दी हो सके साफ़ कर देना, भले ही बस एक और moat खोदने जैसा हो, फिर भी काफ़ी उचित एहतियात है
    • सुरक्षा black-and-white नहीं होती। monitor पर login info वाला Post-it चिपकाना, उसे बिना ताले वाली drawer में रखने की तुलना में साफ़ तौर पर ज़्यादा जोखिम भरा है—यानी इसमें भी स्तर होते हैं
    • user के नज़रिए से, पासवर्ड paste करने की कोशिश करते समय हर बार पहले biometric authentication से लॉग-इन करना पड़ता है; तो क्या कोई भी user process memory से पासवर्ड पकड़ सकता है?
      मुझे नहीं समझ आ रहा कि मैं क्या मिस कर रहा हूँ
    • क्या लोग Cloudbleed को पहले ही भूल गए?
      [0] https://en.wikipedia.org/wiki/Cloudbleed
  • संदर्भ के लिए, Google बताता है कि Chrome memory में पासवर्ड को encrypt करके रखता है, और दूसरे process Chrome बनकर plain-text पासवर्ड तक न पहुँच सकें, इसके लिए privilege escalation service का उपयोग करता है: https://security.googleblog.com/2024/07/improving-security-o...
  • साफ़ तौर पर कहें तो एक संभव attack path यह है कि आप computer lock किए बिना 5 मिनट के लिए bathroom गए हों, और आपके लौटने से पहले कोई malicious hacker सारे पासवर्ड dump कर ले
    मुझे लगता है यह विचार करने लायक है। password manager 10 मिनट बाद master password या passkey दोबारा क्यों माँगता है, इसकी वजह है
    मैं यह मानकर चल रहा था कि Chrome encrypted secure area पर निर्भर करता है, इसलिए root अधिकार होने पर भी पासवर्ड आसानी से निकालना काफ़ी मुश्किल होगा
    बेशक computer को unattended नहीं छोड़ना चाहिए। लेकिन इसका यह मतलब नहीं कि product को इस तरह design करना ठीक है कि टाली जा सकने वाली गलती का विनाशकारी दुरुपयोग बहुत आसान हो जाए
  • क्या यह tool उसी machine पर चल रहे Edge instance तक पहुँच रहा है? अगर हाँ, तो क्या saved passwords को बस export नहीं किया जा सकता?
    https://support.microsoft.com/en-us/topic/export-passwords-i...
    • password manager अक्सर memory में मौजूद पासवर्ड को सुरक्षित रखने के लिए काफ़ी मेहनत करते हैं, लेकिन इन tools के attack model को लोग अक्सर ठीक से नहीं समझते
      उदाहरण के लिए, KeePass जैसे tools browser plugin registration को लेकर काफ़ी सावधान रहते हैं, लेकिन अगर किसी के पास सामान्य user privileges ही हों, तो वह browser से key निकालकर कुछ भी कर सकता है
      web apps का “इस browser पर trust करें” जैसा मॉडल भी अजीब लगता है, अगर cookie store को आसानी से पढ़ा जा सकता हो
  • Linux के PAM में भी शायद ऐसा ही किया जा सकता है। बस gdb को openssh या getty login process से attach करना होगा
  • क्या इस .exe के source code का कोई link है? मैं देखना चाहता हूँ कि extraction कैसे की जाती है
  • असली गलती यह है कि हम अब भी simple password authentication का उपयोग कर रहे हैं। challenge-response या public-key authentication इस्तेमाल होना चाहिए
  • निष्पक्ष रूप से कहें तो, memory में load करना और उसमें store करना एक ही बात नहीं है
    • शीर्षक में “memory में store” लिखा है, लेकिन मुझे तो यह लगभग एक जैसा ही लगता है। क्या आप समझा सकते हैं कि memory में “load” और “store” के बीच फ़र्क को आप कैसे देखते हैं?
  • अगर मैं ग़लत हूँ तो सुधार दें, लेकिन Chrome भी Windows पर पासवर्ड raw text में रखता था, या कम-से-कम पहले रखता था। मैंने 2021 version के Chrome से एक दोस्त का भूला हुआ पासवर्ड निकाला था
    • यह कुछ साल पहले की बात है, लेकिन मुझे याद है कि Google developers यह कहते हुए बहस कर रहे थे कि अगर local file system तक पहुँच मिल गई है, तो मामला पहले ही ख़त्म है
    • Chrome ने 2024 में cookie files में app-bound encryption जोड़ा