Spook.js, क्रोम में स्पेक्टर कमजोरियों का फायदा उठाने की एक नई तकनीक

शोधकर्ताओं का एक समूह अमेरिकी, ऑस्ट्रेलियाई और इज़राइली विश्वविद्यालयों ने बताया कि एक नई हमले तकनीक का वर्णन किया जो कमजोरियों का फायदा उठाने की अनुमति देता है क्रोमियम-संचालित ब्राउज़रों पर स्पेक्ट्रर वर्ग।

हमला, कोडनेम Spook.js, जावास्क्रिप्ट कोड को निष्पादित करते समय साइट अलगाव तंत्र को बायपास करने की अनुमति देता है और वर्तमान प्रक्रिया के संपूर्ण पता स्थान की सामग्री को पढ़ना, अर्थात्, उन पृष्ठों के डेटा तक पहुंचना जो अन्य टैब में निष्पादित होते हैं, लेकिन जो उसी प्रक्रिया में संसाधित होते हैं।

चूंकि क्रोम अलग-अलग प्रक्रियाओं में विभिन्न साइटों को लॉन्च करता है, इसलिए व्यावहारिक हमले उन सेवाओं तक सीमित हैं जो विभिन्न उपयोगकर्ताओं को अपने पृष्ठों को होस्ट करने की अनुमति देते हैं। Spook.js आक्रमण विधि उस पृष्ठ से संभव बनाती है जिसमें एक हमलावर अपना JavaScript कोड एम्बेड कर सकता है, उसी साइट के उपयोगकर्ता द्वारा खोले गए अन्य पृष्ठों की उपस्थिति का निर्धारण करें और गोपनीय जानकारी निकालें उनमें से, उदाहरण के लिए, क्रेडेंशियल्स या बैंक विवरण वेब प्रपत्रों में स्वत: पूर्ण प्रणाली द्वारा प्रतिस्थापित किए गए हैं।

विधि का एक अन्य अनुप्रयोग ब्राउज़र प्लगइन्स पर हमला है, जो अन्य प्लग-इन से डेटा निकालने की अनुमति देता है, जब एक हमलावर-नियंत्रित प्लग-इन स्थापित होता है।

Spook.js क्रोमियम इंजन पर आधारित किसी भी ब्राउज़र पर लागू होता है, जिसमें Google Chrome, Microsoft Edge और Brave शामिल हैं। शोधकर्ताओं का यह भी मानना ​​​​है कि फ़ायरफ़ॉक्स के साथ काम करने के लिए विधि को अनुकूलित किया जा सकता है, लेकिन चूंकि फ़ायरफ़ॉक्स इंजन क्रोम से बहुत अलग है, इसलिए इस तरह के कारनामे को बनाने का काम भविष्य पर छोड़ दिया गया है।

ब्राउज़र के माध्यम से निर्देशों के सट्टा निष्पादन से संबंधित हमलों से बचाने के लिए, क्रोम में पता स्थान विभाजन लागू किया गया है: सैंडबॉक्स अलगाव जावास्क्रिप्ट को केवल 32-बिट पॉइंटर्स के साथ काम करने की अनुमति देता है और गैर-अतिव्यापी 4GB स्टैक में नियंत्रक की मेमोरी को साझा करता है।

प्रक्रिया के संपूर्ण पता स्थान तक पहुंच को व्यवस्थित करने और 32-बिट सीमा से बचने के लिए, शोधकर्ताओं ने टाइप कन्फ्यूजन तकनीक का उपयोग किया, जो जावास्क्रिप्ट इंजन को गलत प्रकार के साथ किसी ऑब्जेक्ट को संसाधित करने की अनुमति देता है, जिससे 64-बिट बनाना संभव हो जाता है। दो 32-बिट मानों के संयोजन पर आधारित कोड।

हमले का सार यह है कि जावास्क्रिप्ट इंजन में विशेष रूप से तैयार की गई दुर्भावनापूर्ण वस्तु को संसाधित करके, ऐसी स्थितियां बनाई जाती हैं जो सरणी तक पहुंचने वाले निर्देशों के सट्टा निष्पादन की ओर ले जाती हैं। ऑब्जेक्ट का चयन इस तरह से किया जाता है कि हमलावरों द्वारा नियंत्रित क्षेत्रों को उस क्षेत्र में रखा जाता है जहां 64-बिट पॉइंटर का उपयोग किया जाता है।

चूंकि दुर्भावनापूर्ण ऑब्जेक्ट का प्रकार संसाधित किए जा रहे सरणी के प्रकार से मेल नहीं खाता है, सामान्य परिस्थितियों में इस तरह की कार्रवाइयां क्रोम में सरणी तक पहुंचने के लिए उपयोग किए गए कोड के डीओप्टिमाइजेशन तंत्र द्वारा अवरुद्ध कर दी जाती हैं। इस समस्या को हल करने के लिए, टाइप कन्फ्यूजन अटैक कोड को "if" कंडीशनल ब्लॉक में रखा जाता है, जो सामान्य परिस्थितियों में फायर नहीं करता है, लेकिन सट्टा मोड में चलता है, अगर प्रोसेसर गलत तरीके से अधिक शाखाओं की भविष्यवाणी करता है।

नतीजतन, प्रोसेसर अनुमानित रूप से उत्पन्न 64-बिट पॉइंटर तक पहुंचता है और असफल भविष्यवाणी का निर्धारण करने के बाद राज्य को वापस कर देता है, लेकिन निष्पादन के निशान साझा कैश में सेट किए जाते हैं और कैश की सामग्री को तीसरे के माध्यम से निर्धारित करने के तरीकों का उपयोग करके पुनर्स्थापित किया जा सकता है- पार्टी चैनल, कैश्ड और गैर-कैश्ड डेटा तक पहुंच समय में परिवर्तन का विश्लेषण।

जावास्क्रिप्ट में उपलब्ध टाइमर की अपर्याप्त सटीकता की स्थितियों में कैश की सामग्री का विश्लेषण करने के लिए, Google द्वारा प्रस्तावित एक विधि का उपयोग किया जाता है जो प्रोसेसर में उपयोग की जाने वाली ट्री-पीएलआरयू कैश डेटा निष्कासन रणनीति को चकमा देता है और संख्या चक्रों को बढ़ाकर अनुमति देता है। कैश में किसी मान की उपस्थिति और अनुपस्थिति में समय के अंतर को महत्वपूर्ण रूप से बढ़ाता है।

शोधकर्ताओं ने एक प्रोटोटाइप कारनामा जारी किया है जो क्रोम 89 ई . में काम करता हैइंटेल i7-6700K और i7-7600U के साथ n सिस्टम। स्पेक्टर हमलों को अंजाम देने के लिए Google द्वारा पहले प्रकाशित जावास्क्रिप्ट कोड के प्रोटोटाइप का उपयोग करके शोषण बनाया गया था।

अंत में शोधकर्ताओं ने उल्लेख किया कि Intel और Apple M1 प्रोसेसर पर आधारित सिस्टम के लिए वर्किंग कारनामे तैयार करने में कामयाब रहे, जिन्हें 500 बाइट्स प्रति सेकंड की गति और 96% की सटीकता से पढ़ने वाली मेमोरी को व्यवस्थित करने का अवसर दिया जाता है। माना जाता है कि यह विधि एएमडी प्रोसेसर पर लागू होती है, लेकिन पूरी तरह कार्यात्मक शोषण तैयार करना संभव नहीं था।

Fuente: https://www.spookjs.com


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।