1 पॉइंट द्वारा GN⁺ 2023-12-23 | 1 टिप्पणियां | WhatsApp पर शेयर करें

खोज की प्रक्रिया

  • WhatsApp में link preview फीचर के ज़रिए HTTP request किए जाने के तरीके का अध्ययन किया गया।
  • यह पुष्टि की गई कि लिंक और preview अलग-अलग भेजे जाते हैं, और इसका उपयोग करके ऐसे message बनाने में सफलता मिली जिनमें वास्तविक लिंक से अलग preview दिखता है।

समस्या #1 - link preview mismatch

  • WhatsApp message में शामिल लिंक और preview data का विश्लेषण करके mismatch पैदा करने का तरीका खोजा गया।
  • message को intercept और modify करके ऐसे message भेजने में सफलता मिली जिनमें preview और वास्तविक लिंक अलग थे।

समस्या #2 - link masquerading (2K2E)

  • Unicode characters का उपयोग करके text representation बदलने के तरीकों का परीक्षण किया गया।
  • U+202E (Right-To-Left Override) character का उपयोग करके लिंक को उल्टे क्रम में दिखाया गया, और इसके ज़रिए नकली URL को वास्तविक URL जैसा दिखाने की विधि विकसित की गई।

अंतिम परिणाम

  • Instagram जैसा दिखने वाला URL बनाया गया, लेकिन वास्तव में वह attacker के blog पर ले जाने वाला लिंक था।
  • इसके ज़रिए ऐसी vulnerability मिली जिससे users सामान्य लिंक समझकर click कर सकते हैं।

attack scenario

  • attacker एक नकली domain खरीदता है और किसी वैध domain का preview इस्तेमाल करने वाला message बनाता है।
  • matchedText property हटाकर और text property को U+202E character तथा नकली URL से बदलकर message में हेरफेर की जाती है।
  • इस तरह बदला गया message victim को भेजा जाता है।

Meta की प्रतिक्रिया

  • Meta के पास ऐसा system है जो कई platforms और environments को support करने के कारण URL normalization logic को dynamically adjust कर सकता है।
  • लेकिन Meta का इस security issue को ठीक करने का इरादा नहीं दिखता, और संभवतः केवल spam के रूप में detect होने पर ही प्रतिक्रिया दी जाएगी।

mitigation method

  • चूँकि Meta का इस समस्या को ठीक करने का इरादा नहीं है, इसलिए WhatsApp में लिंक पर भरोसा नहीं किया जा सकता।
  • लिंक पर click करने से पहले उसे copy करके clipboard preview में U+202E character हटने के बाद दिखने वाला link address जाँच लेना चाहिए।

अपडेट

  • WhatsApp के अलावा भी ऐसी अन्य services हैं जहाँ उचित sanitization न होने के कारण 2K2E vulnerability मौजूद है।

GN⁺ की राय:

  • इस लेख की सबसे महत्वपूर्ण बात WhatsApp में मिली clickjacking vulnerability है, जिसमें users को वास्तविक लिंक से अलग नकली लिंक पर click करवाने वाले attack method का विस्तार से वर्णन किया गया है।
  • यह लेख इसलिए दिलचस्प है क्योंकि आमतौर पर भरोसेमंद माने जाने वाले messaging platform में अप्रत्याशित security vulnerability पाई गई, जो users को याद दिलाती है कि किसी भी लिंक पर click करने से पहले हमेशा सावधानी बरतनी चाहिए।
  • साथ ही, Meta की प्रतिक्रिया यह दिखाती है कि वह इस समस्या को सक्रिय रूप से हल करने के पक्ष में नहीं है, जिससे users को अपनी security के प्रति और अधिक सतर्क रहने की आवश्यकता पर ज़ोर पड़ता है।

1 टिप्पणियां

 
GN⁺ 2023-12-23
Hacker News राय
  • यह फीचर के दुरुपयोग का चतुर संयोजन है, लेकिन जब तक हमलावर पुलिस, खुफिया एजेंसियां आदि न हों, तब तक अतिरिक्त हमलों की जरूरत पड़ती है, इसलिए सुरक्षा प्रभाव कम माना जाता है। तकनीकी सटीकता के लिए, इसे "clickjacking" कहना उचित नहीं लगता। clickjacking एक खास तकनीक को संदर्भित करता है, जिसमें अदृश्य HTML frame को दूसरे content के ऊपर ओवरले किया जाता है.
  • clickjacking का मतलब है कि उपयोगकर्ता जिस element पर क्लिक करना चाहता है, उसके बजाय कोई दूसरा element click event को पकड़ ले। हमलावर यह पता कर सकता है कि उपयोगकर्ता ने क्या क्लिक किया। OP ने जो खोजा वह बढ़िया है, और वास्तव में उसने clickjacking नहीं बल्कि किसी दूसरे सिस्टम में link display बदलने का तरीका खोजा है.
  • उपयोगकर्ताओं को link क्लिक करते समय domain पहचानने में कठिनाई होती है, और बहुत से लोग इसे समझ नहीं पाते या अलग नहीं कर पाते। link ट्रैक करने योग्य है और संदिग्ध दिखता है, फिर भी कोई इस पर सवाल नहीं उठाता.
  • Meta को यह स्वीकार करना चाहिए और समाधान बनाना चाहिए कि message URL और preview URL अलग हो सकते हैं। यह शायद URL shortening को खोलने के लिए हो, लेकिन Meta और WhatsApp को इससे बेहतर समाधान निकालना चाहिए.
  • असली समस्या WhatsApp या Unicode reverse-order characters नहीं हैं, बल्कि यह है कि URL खुद ही मुश्किल होते हैं। visa.securesite.com जैसा सरल URL भी बहुत लोगों को धोखा दे देता है। निकट भविष्य में कोई अच्छा समाधान आता नहीं दिखता.
  • यह निराशाजनक है कि Meta ने इस समस्या को ठीक नहीं किया और शोधकर्ता को bug bounty भी नहीं दी.
  • यह दिलचस्प है कि इस हमले को "reverse engineering" के रूप में वर्गीकृत किया गया.
  • RTL जितने समय से मौजूद है, उतने समय से यह सुरक्षा कमजोरियों का बड़ा कारण रहा है। जो लोग RTL का उपयोग नहीं करते, उन्हें जोखिम में पड़ने से बचाने के लिए operating system में RTL को disable करने का विकल्प होना चाहिए.
  • हमला बहुत शानदार है, और लेख पढ़ने-समझने में आसान है। एक बुनियादी सवाल है कि क्या WhatsApp web app पर debugger इस्तेमाल किया गया था, फोन पर लागू किया गया था, या emulator इस्तेमाल किया गया था.
  • यह दिलचस्प विचार और कमजोरी साझा करने के लिए धन्यवाद। यह संक्षिप्त और स्पष्ट सारांश है.
  • यह पुष्टि होती है कि link और preview अलग-अलग भेजे जाते हैं। यह और बड़ी समस्या है कि UI design उपयोगकर्ता से सुरक्षा के लिए link और preview की तुलना करने की अपेक्षा करता है.