2 पॉइंट द्वारा GN⁺ 2025-01-29 | 1 टिप्पणियां | WhatsApp पर शेयर करें

SLAP: डेटा speculation हमले (data Speculation attacks via Load Address Prediction)

  • SLAP हमला Apple Silicon के M2/A15 CPU में पाया गया एक नया speculative execution हमला है।
  • Load Address Predictor (LAP) मेमोरी access pattern के आधार पर अगला मेमोरी address predict करके performance बेहतर करता है।
  • गलत prediction होने पर, CPU ऐसे डेटा को speculative execution में प्रोसेस कर सकता है जिसे उसे access नहीं करना चाहिए, जिससे security risk पैदा होता है।
  • एक वास्तविक डेमो में दिखाया गया कि Safari web browser में remote attacker ईमेल की सामग्री और browsing behavior को recover कर सकता है।

FLOP: गलत Load Output Prediction (False Load Output Predictions)

  • FLOP हमला Apple M3/A17 CPU में data dependency prediction के कारण होने वाला एक और speculative execution हमला है।
  • Load Value Predictor (LVP) मेमोरी subsystem द्वारा लौटाए जाने वाले data value को predict करके performance बेहतर करता है।
  • गलत prediction होने पर, यह memory safety के लिए program logic की महत्वपूर्ण checks को bypass कर सकता है और मेमोरी में stored secrets के लीक होने के लिए attack surface खोल देता है।
  • Safari और Chrome web browser में location history, calendar events, credit card information आदि recover करने वाले हमलों का डेमो दिखाया गया।

डेमो

  • Proton Mail के inbox data का लीक: M3 CPU के LVP को WebKit के भीतर JavaScript code से train करके inbox की सामग्री को address space में लाया गया।
  • The Great Gatsby पढ़ना: Apple M2 CPU पर LAP का उपयोग करके secret string recover करने वाला proof-of-concept डेमो।
  • Harry Potter पढ़ना: Apple M3 CPU पर LVP का उपयोग करके गलत array index predict करना और string के characters को refer करने वाला proof-of-concept डेमो।

शोधकर्ता

  • Jason Kim, Jalen Chuang, Daniel Genkin (Georgia Institute of Technology)
  • Yuval Yarom (Ruhr University Bochum)

SLAP और FLOP FAQ

Is my Apple device affected?

  • Mac laptop: 2022 के बाद जारी सभी मॉडल (MacBook Air, MacBook Pro)
  • Mac desktop: 2023 के बाद जारी सभी मॉडल (Mac Mini, iMac, Mac Studio, Mac Pro)
  • iPad: सितंबर 2021 के बाद जारी सभी iPad Pro, Air, Mini मॉडल
    • Pro 6वीं और 7वीं पीढ़ी, Air 6वीं पीढ़ी, Mini 6वीं पीढ़ी
  • iPhone: सितंबर 2021 के बाद जारी सभी मॉडल
    • iPhone 13, 14, 15, 16 के सभी मॉडल और SE 3वीं पीढ़ी

Why are the SLAP and FLOP attacks significant?

  • सुरक्षा तंत्र: आम तौर पर web browser दो खुले web page को एक-दूसरे से isolate रखते हैं, ताकि एक page दूसरे page की content न पढ़ सके
  • भेद्यता: SLAP और FLOP इस सुरक्षा को निष्क्रिय कर देते हैं, जिससे attacker page target page का sensitive data पढ़ सकता है
    • उजागर होने वाला डेटा: location history, credit card information आदि

How can I defend against SLAP and FLOP?

  • FLOP के लिए mitigation उपलब्ध है, लेकिन इसके लिए software vendor patch जरूरी है और user इसे सीधे ठीक नहीं कर सकता
  • Apple ने कहा है कि वह future security update में इस समस्या को ठीक करेगा, इसलिए auto update चालू रखना और latest OS व applications बनाए रखना महत्वपूर्ण है

What about other processor vendors?

  • Intel, AMD, Qualcomm, Ampere आदि के products में अभी तक SLAP या FLOP के संकेत नहीं मिले हैं

What about other web browsers?

  • Firefox जैसे अन्य browser का परीक्षण नहीं किया गया

Can I detect if someone is using SLAP or FLOP on my device?

  • SLAP और FLOP microarchitecture-आधारित हमले हैं, इसलिए ये system log में कोई निशान नहीं छोड़ते

Are any malicious actors abusing SLAP or FLOP in the wild?

  • अभी तक SLAP या FLOP के वास्तविक उपयोग का कोई प्रमाण नहीं मिला है

When did you notify Apple?

  • SLAP: 24 मई 2024 को Apple को रिपोर्ट किया गया
  • FLOP: 3 सितंबर 2024 को Apple को रिपोर्ट किया गया

तकनीकी प्रश्न

Side Channel क्या है?

  • कंप्यूटर hardware implementation की कमजोरियों का दुरुपयोग करने वाला हमला
    • software bug के बजाय hardware behavior से होने वाले information leak का उपयोग
  • डेटा लीक के रास्ते
    • ध्वनि, electromagnetic wave, heat dissipation जैसी physical phenomena
    • CPU के shared resources (core, cache, internal buffer आदि) में होने वाला contention
  • CPU contention से information exposure
    • timing measurement, power consumption जैसे indirect variables के जरिए target के behavior pattern का अनुमान

Speculative Execution हमला क्या है?

  • Speculative Execution: CPU द्वारा control flow predict करके instructions को पहले से execute करने की optimization technique
    • prediction गलत होने पर state rollback हो जाता है, लेकिन cache जैसी सूक्ष्म traces रह जाती हैं
  • Spectre हमला
    • गलत flow की दिशा में predictive execution करवाना
    • यदि speculative execution के दौरान sensitive data इस्तेमाल करने वाला instruction चलता है, तो data value अप्रत्यक्ष रूप से उजागर हो सकती है
  • SLAP और FLOP में विस्तार
    • Apple CPU केवल control flow ही नहीं, data flow भी predict करता है
    • FLOP गलत data value के आधार पर instruction execution को trigger करता है

SLAP कैसे काम करता है

  1. Load Address Prediction (LAP) विश्लेषण
    • अगर किसी खास मेमोरी address pattern को train किया जाए, तो LAP अगला address predict करके data operation execute करता है
    • hardware prefetching से अलग, इसमें predicted data के साथ instruction execution होता है
  2. Safari भेद्यता का दुरुपयोग
    • iLeakage द्वारा खोजी गई Safari isolation समस्या के आधार पर, अलग-अलग web page को एक ही process में handle होने के लिए मजबूर किया गया
    • attacker web page target web page के string data तक पहुंचता है

FLOP कैसे काम करता है

  1. Load Value Prediction (LVP) विश्लेषण
    • यदि एक ही data value बार-बार लौटती है, तो LVP result predict करता है
    • गलत memory value का उपयोग करके instruction execute किए जाते हैं
  2. Safari और Chrome पर हमला
    • Safari: JavaScript data structure की type information predict करके गलत data structure पर instruction execute करना
    • Chrome: WebAssembly function call के दौरान गलत argument के कारण memory read error पैदा होना

SLAP और FLOP में अंतर

  • SLAP: Load Address Predictor (LAP) का उपयोग करके string allocation की निकटता का दुरुपयोग करता है
  • FLOP: Load Value Predictor (LVP) का उपयोग करके data integrity checks को bypass करता है
  • LAP vs LVP
    • LAP: अगला memory address predict करता है
    • LVP: अगला memory value return होने का predict करता है
    • LAP के लिए लंबी training process की जरूरत होती है, लेकिन pattern prediction संभव है

JavaScript और WebAssembly क्या हैं?

  • JavaScript: web content को dynamically update करने वाली भाषा
  • WebAssembly: high-performance web application के लिए भाषा, जो JavaScript के साथ काम करती है
  • हमले का प्रभाव
    • दोनों भाषाएं browser में अपने-आप चलती हैं, इसलिए malicious code download किए बिना भी हमला संभव है

Safari और Chrome को attack target क्यों चुना गया

  • Safari:
    • site isolation न होने के कारण अलग-अलग domain के web page एक ही process में चल सकते हैं
    • LAP और LVP-आधारित attack surface बढ़ जाता है
  • Chrome:
    • site isolation लागू होने के बावजूद, कुछ मामलों में एक ही site के subdomain एक process में handle होते हैं
    • LAP और LVP हमले अब भी संभव हैं

शोध सहायता

  • इस शोध को AFOSR, Alfred P Sloan Research Fellowship, ARC Discovery Project, DARPA, DFG, Qualcomm, Cisco, Zama का समर्थन मिला।

1 टिप्पणियां

 
GN⁺ 2025-01-29
Hacker News टिप्पणियाँ
  • SLAP डेमो यह अच्छी तरह दिखाता है कि defense in depth किस तरह किसी vulnerability के exploitability को तय कर सकता है। Safari की कमजोरी इसलिए होती है क्योंकि window.open कॉल पर नया विंडो अलग process में isolate नहीं होता

  • M3 में LVP की मौजूदगी को reverse engineer करने वाला हिस्सा दिलचस्प है। 8-byte load पर केवल तब LVP सक्रिय होता है जब load value 0 हो। यह memory safety के लिए एक उपाय हो सकता है

  • Spectre और Meltdown हमले तथा उनसे जुड़े papers पहली बार देखने वालों के लिए पढ़ने लायक हैं

  • Safari में cache hit और miss में फर्क करने के लिए NOT gate-आधारित cache amplification सिद्धांत का उपयोग किया गया है। वेब environment में भी cache hit और miss को अलग किया जा सकता है

  • यह दिखाता है कि Chrome की site isolation कोई परफेक्ट mitigation नहीं है। एक corner case मौजूद है जहाँ एक ही site के दो subdomain एक process में merge हो सकते हैं

  • hardware vulnerability disclosures के लिए marketing culture अजीब लगती है। यह सवाल उठता है कि सिर्फ vulnerability report करने और paper प्रकाशित करने के बजाय custom domain, logo, FAQ वगैरह क्यों बनाए जाते हैं

  • पिछले साल Intro to Cyber Security क्लास में Daniel Genkin प्रोफेसर से मिला था। उन्होंने कहा था कि वे Apple CPU पर speculative attacks का अध्ययन कर रहे हैं। इससे यह समझ आया कि security लगभग कभी guaranteed नहीं होती

  • अविश्वसनीय sites पर डिफ़ॉल्ट रूप से js disable रखने की प्रवृत्ति है। आखिर यह किसी और का program है जो हम अपनी मशीन पर चला रहे होते हैं

  • Apple ने हाल ही में macOS और iOS के लिए security fixes वाले minor version updates जारी किए हैं। यह जानने की जिज्ञासा है कि क्या किसी ने पुष्टि की है कि यह vulnerability ठीक हो गई है

  • ऐसा लगता है कि RUB advanced offensive security research का एक global hub बन गया है। सोचता हूँ कि 10 साल पहले मैंने इस पर ध्यान नहीं दिया था, या फिर यह कोई नया phenomenon है