1 पॉइंट द्वारा GN⁺ 2024-02-07 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • SIM swap हमला वह तरीका है जिसमें carrier को पीड़ित का मोबाइल नंबर हमलावर के डिवाइस पर ट्रांसफर करने के लिए राजी किया जाता है, और फिर SMS login·password reset code को बीच में पकड़ लिया जाता है; मुख्य विवाद यह है कि कंपनियों ने इस कमजोर रास्ते को authentication flow में शामिल किया
  • SMS plain text में पहुंचता है और यह security protocol नहीं है, इसलिए इसे password reset, account recovery, onboarding, login में इस्तेमाल करने पर उपयोगकर्ता की डिजिटल सुरक्षा भी फोन नंबर ट्रांसफर के साथ चली जाती है
  • Apple, Google, Dropbox, PayPal, Block, Chase, Wells Fargo, Robinhood, Schwab, Bank of America जैसी कई services SMS को login, recovery, 2FA के लिए इस्तेमाल करती हैं या कर चुकी हैं, और Azure, AWS, Twilio, Google जैसे cloud providers SMS one-time code services देते हैं
  • बेहतर विकल्प हैं email-आधारित reset और Authy·Google Authenticator जैसे authenticator apps; SMS 2FA को अगर अधिक मजबूत विकल्पों के साथ सीमित रूप से रखा भी जाए, तो उसे account recovery fallback नहीं बनना चाहिए
  • 2024 के बाद AT&T, T-Mobile, Verizon जैसे प्रमुख अमेरिकी carriers के Salt Typhoon हमले में लंबे समय तक compromise होने की बात सामने आने से यह धारणा और कमजोर हुई है कि SMS login flow में वास्तविक सुरक्षा देता है

SMS-आधारित authentication किस तरह SIM swap हमलों को बढ़ाता है

  • SIM swap हमला वह तरीका है जिसमें हमलावर carrier से पीड़ित का मोबाइल नंबर अपने फोन पर port करने का अनुरोध करता है
    • अमेरिका में competition बढ़ाने के लिए number portability नियमों के कारण carriers को नंबर ट्रांसफर अपेक्षाकृत आसान रखना पड़ता है
    • नंबर ट्रांसफर होते ही हमलावर कंपनी द्वारा भेजी गई SMS login जानकारी या password reset code प्राप्त कर account तक पहुंच सकता है
  • carriers की number protection व्यवस्था कमजोर होने की आलोचना उचित है, लेकिन कई कंपनियों ने भी उसी कमजोर कड़ी पर mission-critical authentication flow खड़ा किया है
  • मूल समस्या यह है: “अगर कोई T-Mobile, AT&T, Verizon आदि को मेरा नंबर port करने के लिए मना भी ले, तो मेरी डिजिटल सुरक्षा भी उसके साथ port नहीं हो जानी चाहिए”

SMS को authentication माध्यम के रूप में डिज़ाइन नहीं किया गया था

  • SMS एक unencrypted plain text message है, जिसे postcard की तरह बीच रास्ते पढ़ा या intercept किया जा सकता है
  • जो चीज security protocol ही नहीं है, उसे password reset, account recovery, onboarding, login में इस्तेमाल करना संरचनात्मक रूप से अनुपयुक्त है
  • SMS-आधारित 2FA को सिर्फ तभी अपेक्षाकृत “कम बुरा” माना जाता है जब वह अधिक मजबूत 2FA विकल्पों के साथ दिया जाए
    • मुख्य आलोचना SMS-आधारित password reset, user onboarding और account recovery को लेकर है
  • बेहतर विकल्प हैं email-आधारित password reset और Authy, Google Authenticator जैसे authenticator apps
  • अगर SMS account recovery fallback बना रहता है, तो अधिक मजबूत 2FA implementation भी कमजोर पड़ सकता है

कंपनियों ने authentication flow में SMS को कैसे शामिल किया

  • Apple ने 2018 में iPhone पर SMS passcode auto-fill feature पेश किया, जिससे password reset और account login में SMS के इस्तेमाल वाला flow और मजबूत हुआ
    • ऐसे scenarios हैं जहाँ Apple account reset में SMS इस्तेमाल हो सकता है
    • Apple developer account के two-step verification में भी SMS या phone call का उपयोग होता है
    • Apple का native 2FA implementation SMS fallback की वजह से कमजोर माना जाता है
  • Google ने 2019 में Android के लिए SMS autofill feature के जरिए one-time code auto-fill उपलब्ध कराया
  • Cloud providers और messaging infrastructure कंपनियों ने SMS code industry तैयार की
    • Azure, AWS, Twilio, Google आदि SMS one-time code से जुड़ी services देते हैं
    • इन पर मूल रूप से टूटी हुई तकनीक को security solution की तरह बेचने की आलोचना होती है
  • finance और payment services में भी SMS reset, SMS login, SMS 2FA, SMS account recovery का व्यापक उपयोग है
    • उदाहरण के तौर पर Wells Fargo, Cash App, Robinhood, Schwab, PayPal, Bank of America का उल्लेख आता है
    • ये SMS विकल्प “identity verification” के नाम पर दिए जाते हैं, लेकिन SIM swap हमलावरों के लिए भी अनुकूल संरचना बनाते हैं
  • food ordering services, social networks, data storage services आदि में भी SMS account reset का default तरीका बना रहता है
    • Dropbox की तरह disable करने का विकल्प हो तब भी उपयोगकर्ता को हर service में अलग से opt-out करना पड़ता है
    • कई services opt-out देती ही नहीं हैं

सुविधा से पहले security design की जिम्मेदारी आती है

  • उपयोगकर्ता SMS reset की कमजोरी को समझ न पाए, और यह तय करना उपयोगकर्ता की जिम्मेदारी भी नहीं होना चाहिए
  • SMS, email reset या Authy जैसे 2FA app की तुलना में अधिक सुविधाजनक लग सकता है, इसलिए उपयोगकर्ता इसे पसंद कर सकते हैं
  • iPhone का SMS auto-fill iOS की अच्छी सुविधा माना जाता है, लेकिन सुविधा अपने-आप security की गारंटी नहीं देती
  • security system सुरक्षित है या नहीं, इसका आकलन और design करने की जिम्मेदारी tech companies की है
  • अगर कंपनियाँ ग्राहक सुरक्षा को प्राथमिकता देने की बात करते हुए भी SMS-आधारित authentication बनाए रखती हैं, तो वे ग्राहकों को exposed स्थिति में छोड़ती हैं

सिर्फ protocol सुधार और regulation पर्याप्त नहीं हैं

  • SHAKEN/STIR जैसे phone protocol सुधार के प्रयास न पूर्ण adoption तक पहुँचे हैं, न कड़े enforcement तक; इसलिए वे लगातार SMS password reset code भेजते रहने का पर्याप्त आधार नहीं बनते
  • और मजबूत phone protocols लागू हो भी जाएँ, तब भी वे SIM swap हमले को स्वयं नहीं रोकते
  • EU की Sim Verify initiative का उल्लेख ऐसे विकल्प के रूप में होता है जिससे SMS पर निर्भर कंपनियाँ यह जांच सकें कि SIM हाल में port हुआ है या नहीं
  • अमेरिका में ऐसा बदलाव निकट भविष्य में आएगा या नहीं, यह अनिश्चित है; SHAKEN/STIR rollout का अनुभव दिखाता है कि बदलाव में लंबा समय लग सकता है
  • Hacker News की एक टिप्पणी में कहा गया कि NIST ने अक्टूबर 2023 तक SMS या phone call को user identification के लिए इस्तेमाल करने पर कड़ा guidance दिया था

2024 के बाद carrier risk और बढ़ गया

  • अपडेट के अनुसार AT&T, T-Mobile, Verizon जैसे बड़े अमेरिकी carriers Salt Typhoon हमले में महीनों तक compromised रहे
  • यही carriers असंख्य login flows, account reactivation और password reset के लिए इस्तेमाल होने वाले unencrypted SMS पहुंचाते हैं
  • अमेरिकी telecom compromise और SIM swap हमलों की निरंतरता को साथ देखें, तो यह मान लेना छोड़ देना चाहिए कि SMS login flow के किसी भी हिस्से में वास्तविक सुरक्षा देता है
  • Google को Gmail में सीमित रूप से SMS की कमजोरी स्वीकार कर उससे दूर जाना शुरू करने वाले उदाहरण के रूप में लिया गया है
  • Chase, Block/Square, Apple आदि अब भी login process के कुछ हिस्सों में SMS पर निर्भर उदाहरणों के रूप में बने हुए हैं

Hacker News टिप्पणियों में उपयोगकर्ता नुकसान के उदाहरण

  • अगर उपयोगकर्ता ऐसे क्षेत्र में यात्रा कर रहा हो जहाँ SMS नहीं मिलता, तो वह account से बाहर लॉक हो सकता है
  • Bank of America जैसे bank, जहाँ किसी भी 2FA को सक्रिय करने से पहले SMS 2FA चालू करना पड़ता है, विशेष समस्या के रूप में बताए गए
  • नंबर बदलने पर Viber से लॉक हो जाना, या Citibank द्वारा account phone number बदलने के लिए SMS verification मांगना भी उदाहरण के रूप में सामने आता है
  • अगर carrier SMS roaming charge लेता है, तो उपयोगकर्ता एक कमजोर security mechanism के लिए पैसे भी देता है
  • prepaid balance recharge न करने पर SIM block हो जाए, तो SMS नहीं मिलेगा और SMS को मजबूर करने वाली services तक पहुंच भी टूट सकती है
  • EU banking sector में काम कर चुके एक commenter के अनुसार वहाँ SMS अमेरिका की तुलना में महँगा रहा, इसलिए यह इतना व्यापक नहीं हुआ; और SMS 2FA security breach तथा user lockout दोनों के लिए संवेदनशील है

phone number-आधारित identity verification से आगे बढ़ने की जरूरत क्यों है

  • deepfake के दौर में मजबूत identity verification services और अधिक महत्वपूर्ण हो गई हैं
  • AI-आधारित fake ID services आम हो रही हैं, और financial companies व ISP द्वारा इस्तेमाल की गई voiceprint पहचान भी deepfake audio और लगातार कोशिश करने वाले हमलावरों के सामने बेअसर हो सकती है
  • SMS जैसे unencrypted और SIM swap के प्रति संवेदनशील identity verification तरीकों से दूर जाना जरूरी है
  • ransomware भी IT के सामने बड़ी समस्या है, और SIM swap हमला corporate network compromise का एक अहम vector माना जाता है
  • SMS login घटाने से ransomware समस्या के एक हिस्से को कम करने की कड़ी भी बताई गई है

1 टिप्पणियां

 
GN⁺ 2024-02-07
Hacker News की राय
  • SMS की बाढ़ शुरू होने से पहले TOTP code को 1Password किसी भी device, किसी भी location पर अपने-आप autofill कर देता था
    अब हर बार फोन निकालना पड़ता है, और भले उस नंबर की ज़रूरत न हो, travel करने के लिए international roaming लेनी पड़ती है या SMS forwarding सेट करनी पड़ती है। वाह, क्या शानदार security है
    अगर तर्क यह है कि फोन नंबर को real-world identity से कभी भी recover किया जा सकता है, तो दुनिया भर की हर कंपनी में मेरा नंबर फैलाने के बजाय authenticator app को SMS से जोड़ देना चाहिए

    • समस्या यह है कि authenticator app से वह अपेक्षाकृत stable cross-site/app identifier नहीं मिलता जिसे ads के बदले मामूली पैसों में बेचा जा सके
    • अगर password manager में TOTP code generator भी डाल दें, तो authentication factor की संख्या फिर से 1 नहीं रह जाती क्या?
    • carrier बदलने पर वही नंबर बना रहेगा, इस पर भरोसा करना मुश्किल है, और MVNO के बीच number porting भी असंगत रही है, ऊपर से मैं विदेश यात्रा भी करता हूँ, इसलिए हर जगह Google Voice नंबर इस्तेमाल करता हूँ
      लेकिन बेवकूफ कंपनियाँ फोन नंबर मांगती हैं और Google Voice के इस्तेमाल को रोकती हैं
    • काश कोई authentication·identity service होती जिसमें recovery की कठिनाई खुद चुनी जा सकती
      जैसे सरकारी ID दिखाना, fingerprint verify करना, यहाँ तक कि असली तेज़ DNA test भी, लागत के हिसाब से विकल्प मिलें, और मौत या अक्षम होने की स्थिति में account beneficiary भी तय किया जा सके
      अंतिम identity verification के लिए email, Google account, और SMS पर निर्भर मौजूदा तरीका हास्यास्पद है। तीनों ही या तो सुरक्षित नहीं हैं, या मनमाने block का जोखिम रखते हैं, या recovery कठिन है, या फिर वास्तविक पहचान सत्यापित नहीं करते, इसलिए spam के प्रति कमजोर हैं
    • भारत में हर महीने recharge न करो तो SIM card काम करना बंद कर देता है, 2 महीने बाद नंबर block हो जाता है, और 90 दिन बाद नंबर deactivate होकर फिर से reuse कर लिया जाता है
      आम जवाब यह होता है कि WhatsApp में अगर नंबर 90 दिन तक इस्तेमाल न हो तो password reset वगैरह रुक जाते हैं, इसलिए ठीक है
      फिर बात आगे बढ़ती है कि बैंक में मोबाइल नंबर बदलने के लिए लिखित आवेदन दे सकते हो, इसलिए सब ठीक है
  • account की महत्वपूर्ण actions के लिए SMS का इस्तेमाल भयानक है

    1. फोन खो सकता है या चोरी हो सकता है
    2. लोग देश बदलकर रहने लगते हैं
    3. SMS attacks होते हैं
    4. फोन नंबर दोबारा इस्तेमाल किए जाते हैं
    5. user को paid mobile plan बनाए रखना पड़ता है
      कृपया account को फोन नंबर से बाँधना बंद करना चाहिए
      संपादन: यह साफ़ करने के लिए पहली पंक्ति बदली कि मैं one-time notifications वगैरह की बात नहीं कर रहा हूँ
      1. परिभाषा के मुताबिक, अगर 2FA device चोरी हो गया तो वैसे भी खेल खत्म है। Authenticator भी गया। SMS में कम से कम carrier से संपर्क करके वही नंबर वापस पाया जा सकता है
      2. roaming होती है। विदेश में SMS receive करना अक्सर free होता है
      3. सही
      4. सही, लेकिन अगर केवल data plan भी चालू रखो, तो active बनाए रखना आसान है
      5. सही, लेकिन ठीक से सेटअप हो तो खर्च लगभग न के बराबर होता है। मैं Europe और Thailand के SIM cards को सालाना 5 डॉलर से कम में active रखता हूँ, और Google Voice नंबर 2009 से free है
        मैं मानता हूँ कि Authenticator और Passkeys बेहतर हैं, लेकिन SMS के फायदे भी नकारने नहीं चाहिए
    • यह कि फोन व्यक्ति की पहचान बनता जा रहा है, मेरे हिसाब से बहुत बड़ी समस्या है
      मैं अक्सर couples को एक-दूसरे के फोन इस्तेमाल करते और passwords जानते देखता हूँ, लेकिन मैं नहीं जानता कि किसी पर इतना भरोसा किया जा सकता है या नहीं। मैं शायद अपनी माँ को भी password न दूँ, जबकि उन्होंने कभी अविश्वास की कोई वजह नहीं दी
      सबसे बुरी बात यह है कि यह विकल्प नहीं है। services बस अचानक SMS को 2FA के रूप में इस्तेमाल करना शुरू कर देती हैं
      अगर फोन नंबर बदल जाए तो क्या करना है, समझ नहीं आता। पुराने नंबर पर control ही न हो और account में घुस न पाओ, तो उसे नए नंबर में कैसे बदलोगे? और अगर किसी ऐसे account में, जिसे update करने की ज़रूरत होने के बारे में सोचा भी न हो, एक दिन अचानक 2FA माँग ली जाए तो? कुल मिलाकर यह बहुत खराब system है
    • यह अच्छा है कि internet provider या बिजली कंपनी वैकल्पिक रूप से power outage alerts के SMS भेजे और उन्हें समय-समय पर update भी करे। अगर STOP भेजकर बंद किया जा सके, तो ठीक है
      मैं 2 हफ्ते camping पर था, और मेरे home state में तेज़ तूफ़ान आया था। 5 दिन तक बिजली नहीं थी। SMS alerts न होते तो मुझे पता ही नहीं चलता, और लौटते ही मैं fridge और freezer तुरंत खाली कर सका
    • अगर email हमेशा collect किया जाता है, तो मुझे यह ठीक लगता है
      फोन hijack हो जाए तब भी email बचा रहता है
      end user के नज़रिए से इसमें असल usability भी है। भले ऐसी समस्या 1% लोगों को ही हो, अरबों लोगों के लिए शायद यह समस्या न हो। यह सस्ता है और सुविधाजनक भी। फोन message receive करता है और autofill कर देता है
      email check करने के लिए app बदलने की ज़रूरत नहीं पड़ती। जब तक email compromise न हो, account हमेशा recover किया जा सकता है। अगर email खो जाए तो बुरा है, लेकिन ऐसा तो होता ही है, इसलिए passwords समय-समय पर बदलने और multi-factor authentication सेट करने की ज़रूरत होती है
      security कभी भी 100% नहीं हो सकती। वह एक व्यर्थ लक्ष्य है। यह इतना सुविधाजनक और इतना सुरक्षित होना चाहिए कि अधिकतम लोगों के लिए काम करे
      HN के बाहर लगभग किसी को परवाह नहीं है, न ही वे इसे समझते हैं। उन्हें इसकी ज़रूरत भी नहीं है। app से अपना काम करो और आगे बढ़ो
      backend geeks संभाल लेंगे
    • Revolut का फोन नंबर लिंक करना अनिवार्य करना मुझे हमेशा डरावना लगा
  • अर्जेंटीना में Movistar उपयोगकर्ताओं के लिए Payoneer SMS से जुड़ी एक बड़ी समस्या हुई थी। इसे HN पर पोस्ट करने की कोशिश की थी, लेकिन दब गई।
    स्पेनिश में लिखे गए एक सूझबूझ भरे ट्वीट [1] का अनुवाद लगभग यह है:
    “Payoneer का रहस्य सुलझ गया।
    #PayoneerHacked

    • हमलावर ने उस SMS gateway से समझौता कर लिया था जिसका इस्तेमाल Movistar ग्राहकों को 2FA भेजने के लिए किया जाता है। प्लेटफ़ॉर्म लागत बचाने के लिए इसका इस्तेमाल करते हैं
    • हमलावर ने Payoneer से Movistar नंबरों पर जाने वाले 2FA संदेश देखे, लेकिन पासवर्ड बदलने और ट्रांज़ैक्शन करने के लिए उसे Payoneer उपयोगकर्ताओं का email पता भी जानना था
    • इसलिए उसने हर फ़ोन नंबर के पीछे का email पता पता लगाने के लिए एक phishing site बनाई, जहाँ से केवल email लिए गए। email + फ़ोन नंबर + compromised SMS gateway से real-time में मिले 2FA के साथ, वे पासवर्ड बदल सकते थे, अकाउंट में घुस सकते थे और पैसे ट्रांसफ़र कर सकते थे। क्योंकि वे Movistar फ़ोनों पर आने वाले 2FA संदेश लगातार पढ़ रहे थे
    • इसलिए पीड़ितों ने रात के बीच कई असली 2FA SMS आते देखे, और उसी दौरान उनके अकाउंट खाली हो गए
    • अगर Payoneer ग्राहक phishing का शिकार भी हुए हों, तो सामान्य हालत में केवल एक 2FA फ़ैक्टर ही लीक होता; login, account addition, और money transfer के लिए ज़रूरी सब कुछ नहीं। इसी ज़रूरत से साफ़ होता है कि SMS gateway compromise हुआ था
    • पीड़ितों ने अपनी security stack के आख़िरी हिस्से के compromise होने की वजह से पैसे गंवाए
      सावधान रहें। Facebook, Twitter आदि भी SMS लागत बचाने के लिए यही gateway साझा करते हैं
      मैं उन SMS के screenshots छोड़ रहा हूँ जो तड़के पीड़ितों तक पहुँचे। पीड़ित इन्हें किसी phishing में साझा नहीं कर सकता था, और अकाउंट खाली करने के लिए इन्हीं SMS की ज़रूरत थी
      मीडिया में आप जो भी पढ़ें… फल बहुत हैं, सलाद भी भरपूर है, लेकिन ड्रेसिंग कम है। मूल पोस्ट यहाँ है
      सहयोग करने वाले सभी लोगों का धन्यवाद”
      [1] https://twitter.com/julitolopez/status/1748440685743587811
    • और भी पागलपन वाली बात यह थी कि Payoneer ने email address के ownership proof के बिना, केवल SMS से भेजे गए reset code के आधार पर अकाउंट पासवर्ड reset करने दिया
  • लोग कहते हैं, “[ग्राहकों को] [SMS reset] email reset से ज़्यादा सुविधाजनक लगता है”, लेकिन निजी तौर पर जब भी मुझे Google अकाउंट में फ़ोन verification के ज़रिए login करना पड़ता है, बहुत चिढ़ होती है
    मुझे डेस्क से उठकर फ़ोन ढूँढना पड़ता है, और कभी-कभी फ़ोन दूसरे कमरे में होता है। फिर code वाला कॉल या message पाने के लिए उसे हाथ में लेना पड़ता है
    तुलना करें तो TOTP कहीं ज़्यादा सुविधाजनक है। मैं code को KeePassXC में स्टोर करता हूँ, इसलिए डेस्क से उठने की ज़रूरत नहीं पड़ती

    • “Try another way” लिंक दबाने पर आप TOTP code दर्ज कर सकते हैं
      Google इस विकल्प को “Google Authenticator app से verification code लें” कहता है, भले ही आपने कभी Authenticator इस्तेमाल न किया हो
    • Apple ecosystem में SMS Mac पर sync हो जाता है, Safari code पहचान कर उसे webpage में auto-fill कर देता है, और काम पूरा होने पर SMS अपने-आप delete भी कर देता है। इससे ज़्यादा smooth होना मुश्किल है
    • बस हर डिवाइस पर passkey बना लें
      https://www.google.com/account/about/passkeys/
      https://blog.google/technology/safety-security/passkeys-defa...
      Passkeys सपोर्ट करने वाली साइटें: https://passkeys.directory/
  • फ़ोन नंबर खो जाने पर भी यह बहुत खराब है
    मैं सालों से अपने मुख्य Google अकाउंट में login नहीं कर पाया हूँ। मेरे पास username, password, recovery email address है, और सारे email अब भी मुझे forward होते हैं, लेकिन अकाउंट से जुड़ा फ़ोन नंबर अब नहीं है, इसलिए मुझे साफ़ तौर पर घुसपैठिया माना जाता है

    • इस मामले में Google वाकई बहुत खराब है। यह recovery email address तक का सही इस्तेमाल नहीं करता
      एकमात्र उपाय यह है कि आप उसी IP range में लौटें जो आपके मूल “घर” location जैसी दिखे, और फिर काम करने की दुआ करें। Google के अंदर जिसने यह सोचा कि अकाउंट access या recovery की अनुमति न देना अच्छी बात है, उससे कहने के लिए मेरे पास बहुत कुछ है
    • यात्रा के दौरान भी यही समस्या होती है। मेरे साथ ऐसा हुआ है कि विदेश में अकाउंट से logout हो गया और SNS access नहीं था
    • बहुत लोग कहते हैं कि फ़ोन नंबर इस्तेमाल करें तो backup के तौर पर दूसरे तरीक़े रख सकते हैं, लेकिन मैंने ऐसी काफ़ी कहानियाँ पढ़ी हैं जहाँ Google ने अपने पास मौजूद हर जानकारी माँगी
    • EU के पास एकीकृत digital identity wallet होने वाला है। वहाँ पहले से qualified electronic signatures भी हैं
      मेरे देश के ID card में public key cryptography इस्तेमाल करने वाली chip है। अगर Google अकाउंट को स्थायी रूप से national identity से जोड़ने दिया जाए, तो समस्या हल हो जाएगी, कम-से-कम EU निवासियों के लिए
      तब आप केवल YubiKey खोने की चिंता किए बिना इसका इस्तेमाल कर सकेंगे, और कोई उसे चुरा भी ले तो आप अपना अकाउंट वापस पा सकेंगे
    • मुझे यक़ीन है कि यह एक bug है। अगर recovery email मौजूद है, तो SMS verification की ज़रूरत खत्म हो जानी चाहिए
      लेकिन Google के पास न helpdesk है, न bug report करने का कोई तरीका। Google को इस पर शर्म आनी चाहिए
  • जब कंपनियां मेरे Google Voice नंबर को “verification के लिए इस्तेमाल नहीं किया जा सकता” या उससे भी ज़्यादा साफ़ तौर पर “यह वैध phone/mobile नंबर नहीं है” कहकर खारिज करती हैं, तो वही सबसे ज़्यादा बुरा लगता है
    कुछ कंपनियों ने शुरुआत में इस नंबर से sign up की अनुमति दी, फिर account बनने के बाद किसी समय policy बदल दी। आम तौर पर यह बात तब पता चलती है जब account से बाहर लॉक कर दिया जाता है
    अच्छी बात यह रही कि ज़्यादातर ऐसे store apps या payment services थे जिन्हें आगे चलकर बस avoid किया जा सकता है। साफ़ है कि वे मेरे कारोबार को महत्व नहीं देते। लेकिन चिंता यह है कि कहीं कभी मेरा bank भी ऐसा ही करके मुझे account से लॉक न कर दे

    • user के phone number को मुनाफ़े के लिए सोखने की यह आदत इतनी फैली हुई क्यों है, इसका कारण सीधा है
      हर किसी के पास mobile phone है, ज़्यादातर लोग अपना नंबर लगभग कभी नहीं बदलते, और बहुत से लोग social security number से भी ज़्यादा आसानी से phone number दे देते हैं
      उन्हें account security या इस बात से कोई मतलब नहीं कि नंबर सचमुच user के control में है या नहीं। उन्हें सिर्फ़ user को uniquely identify करना है, और ऐसा नंबर चाहिए जो पहले से उन ad tech कंपनियों के databases में मौजूद हो जो user data के लिए सबसे ज़्यादा पैसे देती हैं
    • Google Voice के अपने अनुभव से कहूँ तो, Google Voice को allow न करना मुझे लोगों के लिए मददगार एक positive signal लगता है
      Google Voice क्यों नहीं इस्तेमाल करना चाहिए, इस पर मैंने इस पोस्ट की दूसरी comments में थोड़ा लिखा है: https://news.ycombinator.com/item?id=39270503
      मेरा अनुभव सब पर लागू हो, ज़रूरी नहीं, लेकिन “free” Google Voice पर निर्भर रहना मुझे अब भी risky लगता है
    • Viber ने मेरे साथ ऐसा किया था। मेरा Viber account 2012 से था, लेकिन phone बदलते समय जाकर यह पता चला
  • प्रतिवाद के तौर पर, SMS login और account recovery का user experience अच्छा है, और carriers को कुल मिलाकर अपना स्तर उठाना चाहिए

    • बिल्कुल नहीं, यह संभालना बहुत झुंझलाहट भरा है
      अगर मैं desktop computer इस्तेमाल कर रहा हूँ, तो सिर्फ़ इसलिए कि वे FIDO या किसी और असली 2-factor authentication को support नहीं करना चाहते, हर login पर चीज़ें मेरे phone पर नहीं भेजनी चाहिए
      laptop में fingerprint reader है, phone में Face ID है, USB में YubiKey है। वही इस्तेमाल करो
    • 11 दिन पहले मैंने 2nd factor के रूप में SMS पर एक comment लिखा था, और वह सामान्य स्थिति में भी लागू होता है: https://news.ycombinator.com/item?id=39130032
      email साफ़ तौर पर बेहतर है। मुख्य वजह यह है कि email provider या तो user के control में होता है, या हमारे जैसे geeks के custom domain की तरह, या फिर Google जैसी बड़ी और गैर-व्यक्तिगत इकाई होती है। वह phone number provider जैसा नहीं है, जिसे attacker अपेक्षाकृत आसानी से बदलवा सके
      मैं identity provider में काम करता हूँ, और खासकर user experience के नज़रिए से इस feature को support करने की मांग करने वाले लोग काफ़ी हैं
      जैसा ऊपर कहा, phone number providers की भी जवाबदेही होनी चाहिए। अगर phone number को offline और online दोनों में global identifier के रूप में आगे बढ़ाने का रुझान जारी रहता है, तो carriers को phone number change के लिए कहीं ज़्यादा सख़्त शर्तें रखनी चाहिए
    • लेख से उद्धरण:
      “सालों तक industry के लोग हमेशा यही कहते रहे: ‘SMS-based authentication देना कुल मिलाकर customer security के लिए बेहतर है। इसमें कमियाँ हैं, लेकिन यह दूसरे तरीकों, जैसे कहीं ज़्यादा सुरक्षित email confirmation, से ज़्यादा convenient है।’ इस पर मेरा जवाब है: ‘आप होते कौन हैं customer से security छीनने वाले?’”
      और:
      “SIM swap attacks को लेकर ग़ुस्से का बड़ा हिस्सा carriers की ओर गया, और यह समझ में आता है। सचमुच carriers अपने customers के phone numbers की security बहुत खराब तरीके से संभालते हैं, और उस विफलता के लिए वे ज़िम्मेदार भी हो सकते हैं। लेकिन असली बात यह है: carrier security हमेशा से खराब रही है, और कुछ मायनों में क़ानूनों की वजह से और भी खराब हुई है, फिर भी दूसरी कंपनियों ने उसी कमज़ोर कड़ी पर mission-critical systems खड़े करने का फैसला किया।”
      और:
      “SMS security के लिहाज़ से खराब है, लेकिन यह नए customers के onboarding, जैसे Uber onboarding, और password reset को लगभग बिना friction के संभव बनाता है। कंपनियों को लगा कि competitors ने जब यह तरीका अपना लिया है तो उन्हें भी उसके साथ चलना होगा।”
      यह आख़िरी हिस्सा WordPress पोस्ट update के दौरान अफ़सोसजनक रूप से overwrite हो गया था, इसलिए मैंने उसे फिर से जोड़ा
    • जिस नंबर का मालिकाना अब आपके पास नहीं है, उस पर SMS भेजना तो वाकई शानदार user experience है
    • हर किसी के पास mobile phone नहीं होता, न हर कोई उसे चाहता है, और न ही हर कोई अपनी ज़िंदगी पर नियंत्रण mobile carriers को सौंपना चाहता है
  • मैं मानता हूँ कि SMS एक भयानक multi-factor authentication factor है
    लेकिन लोगों से app install करने को कहना बहुत बड़ा बोझ है, इसलिए SMS फैल गया। ऊपर से लोग recovery codes भी लगभग कभी save नहीं करते
    Authy इस्तेमाल करके codes का backup लिया जा सकता है, लेकिन वह लगभग “तकनीकी लोगों” वाला क्षेत्र है
    आखिरकार आम लोगों के लिए व्यावहारिक रूप से एकमात्र realistic समाधान SMS ही है। carriers को SIM swap को और मुश्किल बनाने के लिए मजबूर किया जाना चाहिए

    • यूरोप के card-issuing banks यह कर चुके हैं
      वहाँ अच्छी बात यह रही कि SMS इतना महंगा था कि banks ने उसे one-time password factor के रूप में किफ़ायती नहीं माना, और payment authentication के लिए उसे अकेले इस्तेमाल करना पर्याप्त सुरक्षित भी नहीं समझा, इसलिए second factor ज़रूरी हो गया
      नतीजा यह हुआ कि banks ने ज़्यादा सुरक्षित या ज़्यादा ergonomic तरीके उपलब्ध कराए। जैसे bank-specific authentication apps, जो अक्सर international travel के दौरान भी काम करते हैं जब internet या cellular signal न हो, hardware authenticators, WebAuthN वगैरह
      “SIM swap को और कठिन बनाओ” नहीं, बल्कि financial companies को अपना स्तर उठाकर ऐसे तरीके देने चाहिए जो न security breach के प्रति कमज़ोर हों, न user lockout के प्रति
    • मेरे bank ने Symantec VIP install करवाया था। वह अच्छा नहीं था
      tax filing के लिए MyGovID चाहिए। वह भी अच्छा नहीं है
    • Google Authenticator अब Google account के साथ sync होता है
    • iOS का built-in password manager OS के अंदर ही TOTP 2-factor authentication support करता है, इसलिए अलग app की ज़रूरत नहीं है
  • वही तर्क किसी और जगह भी लागू करके देखें
    जिन कंपनियों ने password login लागू किया है, उन्हें Post-it चोरी के लिए ज़िम्मेदार ठहराया जाना चाहिए
    जिन कंपनियों ने email 2-step verification लागू किया है, उन्हें email account चोरी के लिए ज़िम्मेदार ठहराया जाना चाहिए
    पता नहीं यह तर्क टिकता भी है या नहीं। ऐसी बातें बार-बार देखने को मिलती हैं। एक पक्ष है जो क़ानून नहीं तोड़ रहा, क़ानून लागू करने में सहयोग भी कर सकता है, और एक आपराधिक पक्ष है जो उसके ग्राहकों पर हमला करता है। चुटकी बजाकर सरकार से चोरी को दो गुना, तीन गुना ज़्यादा ग़ैरक़ानूनी तो नहीं बनवाया जा सकता, इसलिए लोग आम तौर पर निर्दोष पक्ष को पकड़ते हैं और उनकी ज़िंदगी और मुश्किल बनाने की कोशिश करते हैं
    गहरी सांस लेकर इसे छोड़ देना चाहिए। अपराधी की जगह निर्दोष को सज़ा देने का कोई भी स्तर हानिरहित नहीं होता
    यह अजीब और पागलपन जैसा लगेगा, लेकिन जिसने SIM बदला है, उसी को SIM swap attack की ज़िम्मेदारी लेनी चाहिए। क्या कहा? अपराधी को दोष दो? सुनने में साहसी रुख लगता है, लेकिन बात सही है

    • SMS 2-step verification और ऊपर दिए उदाहरणों में फ़र्क यह है कि पहले वाले को सुरक्षित तरीके से इस्तेमाल करना सचमुच असंभव है
      जहाँ तक मुझे पता है, अमेरिकी consumer mobile carriers में से किसी ने भी unauthorized SIM swap जैसी चीज़ों को रोकने के लिए पर्याप्त सुरक्षा उपाय लागू नहीं किए हैं
      अगर कोई कंपनी SMS 2-step verification लागू करती है, तो उसे यह बात पता होनी चाहिए, और अगर उसने उपभोक्ताओं को एक गहराई से ख़राब 2-step verification system यह कहकर बेचा कि यह “ज़्यादा सुरक्षित” है, तो विफल होने पर उसे ज़िम्मेदारी लेनी चाहिए
      जितनी जल्दी SMS 2-step verification खत्म होगा, उतनी ही जल्दी वे पुराने websites भी, जो सिर्फ़ SMS 2-step verification लागू करते हैं, वास्तव में सुरक्षित तरीक़े लागू करने पर मजबूर होंगे
    • 23andMe मामले को देखकर भी मुझे कुछ ऐसा ही लगा
      उन्होंने शायद इससे बेहतर किया हो सकता था, लेकिन उन्हें “सज़ा” देने की कोशिश बाद में क़ानून बनाकर दंड देने जैसी लगती है। नया regulation बनाकर आगे होने वाली घटनाओं पर कार्रवाई करनी चाहिए, यह मामला वैसा नहीं लगता जिसे इसी घटना पर सज़ा दी जाए
    • telecom carriers को भी ज़िम्मेदारी लेनी चाहिए
    • यह strawman तर्क है। Post-it पर न लिखना आपके नियंत्रण में है
      SIM swap attack आपके नियंत्रण में नहीं है
  • online service provider के नज़रिए से SMS का इस्तेमाल पूरी तरह समझ में आता है
    नीचे दिए गए दो लक्ष्य बहुत मिलते-जुलते हैं, लेकिन अलग हैं

    1. account ownership का प्रमाण: क्या जो व्यक्ति यह action करने की कोशिश कर रहा है, वही account का मालिक है
    2. ग़ैर-वैध उपयोगकर्ताओं द्वारा बनाए जाने वाले accounts की संख्या सीमित करना
      SMS दूसरे लक्ष्य के लिए बहुत प्रभावी है। क्योंकि 100 अलग-अलग phone numbers तक पहुँच रखने वाले लोग बहुत कम होते हैं
      mobile phone number लेना आम तौर पर एक व्यक्तिगत प्रक्रिया होती है, जिसमें address, passport, social security number जैसी चीज़ें चाहिए होती हैं। यानी कुछ procedural hurdles होते हैं
      कंपनियाँ SMS पर इसलिए निर्भर करती हैं क्योंकि वे customer verification process को telecom carrier के पास outsource कर सकती हैं। वे इसे इसलिए नहीं इस्तेमाल करतीं कि account ownership साबित करने के लिए यही सबसे अच्छा या सबसे सुरक्षित समाधान है
      जो लोग लगातार शिकायत करते रहते हैं, उन्होंने साफ़ तौर पर regulation या financial services से जुड़ी किसी कंपनी में इस तरह के authentication decisions कभी नहीं लिए हैं
    • वह बिंदु account takeover से पूरी तरह अलग है
      account creation के समय phone number माँगा जा सकता है, लेकिन यह ज़रूरी नहीं कि उसी नंबर पर भेजे गए SMS के आधार पर account takeover भी अनुमति दी जाए
    • सिर्फ़ यह समझ लेना कि कंपनियाँ ऐसा क्यों करती हैं, इसका मतलब यह नहीं कि हमें इससे खुश होना चाहिए
      इसी तर्क से तो यह भी जायज़ ठहराया जा सकता है कि कंपनियाँ users को track करें और personal data बेचें। वे पैसे कमाती हैं, और पैसे कमाना business चलाने का अहम हिस्सा है
    • “100 अलग-अलग phone numbers तक पहुँच रखने वाला व्यक्ति शायद ही कोई हो” यह बात सही नहीं लगती, क्योंकि SMS verification providers हर जगह उपलब्ध हैं
      प्रति verification 50 सेंट जैसी बहुत छोटी रकम देकर दर्जनों या सैकड़ों phone numbers इस्तेमाल किए जा सकते हैं। जिसमें थोड़ा भी इरादा हो, उसे यह नहीं रोकता