Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

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

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
retbleed-speculative-execution-poc — gem5 में Retbleed (CVE-2022-29900/29901) माइक्रो-आर्किटेक्चरल हमले का पुनरुत्पादन। RSB अंडरफ्लो, Flush+Reload साइड-चैनल लीक, और एक सत्यापित lfence शमन। | Kitploit
उपकरण/GitHubGitHub/abdul-kalam2000/retbleed-speculative-execution-poc
भेद्यता विश्लेषणशोषणहार्डवेयर सुरक्षापेपर और शोधलर्निंग और शिक्षाबाइनरी शोषण
GitHubabdul-kalam2000/retbleed-speculative-execution-poc

retbleed-speculative-execution-poc

gem5 में Retbleed (CVE-2022-29900/29901) माइक्रो-आर्किटेक्चरल हमले का पुनरुत्पादन। RSB अंडरफ्लो, Flush+Reload साइड-चैनल लीक, और एक सत्यापित lfence शमन।

रिपॉजिटरी देखें
2420 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Retbleed: RSB अंडरफ़्लो के माध्यम से मनमाना सट्टा कोड निष्पादन

Retbleed (CVE-2022-29900 / CVE-2022-29901) का व्यावहारिक पुनरुत्पादन — 2022 का माइक्रो-आर्किटेक्चरल हमला जिसने "Retpoline" रक्षा को तोड़ दिया, यह सिद्ध करते हुए कि ret निर्देश, जिन्हें लंबे समय से सुरक्षित माना जाता था, तब अपहृत किए जा सकते हैं जब CPU का Return Stack Buffer (RSB) अंडरफ़्लो हो जाता है।

यह प्रोजेक्ट gem5 में एक x86 Out-of-Order CPU मॉडल पर पूर्ण हमला जीवनचक्र का अनुकरण करता है: RSB अंडरफ़्लो को ट्रिगर करना, Flush+Reload कैश साइड-चैनल के माध्यम से एक बार में एक बाइट गुप्त डेटा लीक करना, और फिर एक सॉफ़्टवेयर शमन (lfence) को सत्यापित करना जो लीक को बंद कर देता है।

पाठ्यक्रम प्रोजेक्ट — Advanced Computer Architecture, Fall 2025, CUNY City College लेखक: Abdul Kalam Mansoor और Rebiha Selmani

यह क्यों महत्वपूर्ण है

Spectre-शैली के हमलों ने दिखाया कि सट्टा निष्पादन कैश-स्तर के दुष्प्रभाव छोड़ता है, भले ही CPU एक गलत अनुमान को "पूर्ववत" कर दे। उद्योग का समाधान — Retpoline — ने खतरनाक अप्रत्यक्ष जंप को ret निर्देशों से बदल दिया, इस धारणा पर कि रिटर्न एक छोटे हार्डवेयर स्टैक (RSB) से सुरक्षित रूप से अनुमानित होते हैं। Retbleed ने दिखाया कि यह धारणा गलत है: गहरी रिकर्सन से RSB को समाप्त करें, और CPU चुपचाप उसी असुरक्षित प्रेडिक्टर पर वापस आ जाता है जिससे बचने के लिए Retpoline डिज़ाइन किया गया था।

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

चरणक्या होता है
1. ट्रिगरrsb_deep_call() 32 स्तरों तक गहराई से रिकर्स करता है, 16-प्रविष्टि वाले RSB को ओवरफ़्लो करता है। जब रिकर्सन अनवाइंड होता है, तो RSB खाली होता है।
2. फ़ॉलबैकRSB खाली होने पर, CPU ret लक्ष्य का अनुमान लगाने के लिए Branch Target Buffer (BTB) पर वापस आ जाता है — जिसे एक हमलावर ज़हर दे सकता है।
3. गैजेटअपहृत सट्टा पथ gadget() को निष्पादित करता है, जो गुप्त पासवर्ड का एक बाइट पढ़ता है और उसका उपयोग probe_array में इंडेक्स करने के लिए करता है, उस सरणी के एक पेज को कैश में खींचता है।
4. Flush+Reload जासूसहमले से पहले, probe_array के प्रत्येक पेज को कैश से फ़्लश किया जाता है (_mm_clflush)। सट्टा विंडो बंद होने के बाद, प्रोग्राम प्रत्येक संभावित बाइट मान तक पहुँच का समय मापता है (__rdtscp) — जो तेज़ी से वापस आता है (कैश हिट) वह गुप्त बाइट को प्रकट करता है।

ROOT_PASSWORD के प्रत्येक बाइट के लिए इसे दोहराना पूरे रहस्य का पुनर्निर्माण करता है, बिना कभी आर्किटेक्चरल रूप से gadget() को कॉल किए।

परिणाम

मोडएक्सेस लेटेंसीपरिणाम
असुरक्षित (SECURE_MODE अपरिभाषित)~49 चक्र (कैश हिट)रहस्य बाइट-दर-बाइट लीक, लाल HIT! संकेतकों द्वारा पुष्टि
पैच किया गया (SECURE_MODE परिभाषित, _mm_lfence() इंजेक्ट किया गया)>150 चक्र (कैश मिस / शोर)हमला विफल — आउटपुट SAFE / Found: ??? दिखाता है

lfence CPU को किसी भी बाद के निर्देश के निष्पादन से पहले रिटर्न पता को हल करने के लिए मजबूर करता है, गैजेट के गुप्त-निर्भर मेमोरी को छूने से पहले सट्टा विंडो को समाप्त कर देता है।

रेपो सामग्री

src/
  retbleed.c              # Full PoC: trigger, gadget, Flush+Reload spy, and lfence mitigation (toggle via SECURE_MODE)
docs/
  Retbleed_Report.pdf              # Full written report: methodology, related work, gem5 setup, results
  Retbleed_Attack_Demonstration.pptx  # Slide deck used to present the project

बिल्डिंग और चलाना

PoC को gem5 (DerivO3CPU, एक out-of-order मॉडल — आवश्यक क्योंकि in-order मॉडल सट्टा निष्पादन को लागू नहीं करते) के तहत बनाया और मापा गया था:

gcc -O0 -static -o retbleed src/retbleed.c

./build/X86/gem5.opt configs/deprecated/example/se.py \
  --cpu-type=DerivO3CPU --caches --l2cache \
  --l1d_size=64kB --l1i_size=64kB --cmd=retbleed

असुरक्षित और पैच किए गए व्यवहार के बीच स्विच करने के लिए, retbleed.c के शीर्ष पर इस पंक्ति को कमेंट/अनकमेंट करें:

#define SECURE_MODE

कोड वास्तविक x86 इंट्रिंसिक्स (_mm_clflush, __rdtscp, _mm_lfence) का उपयोग करता है और इसे x86 हार्डवेयर पर मूल रूप से संकलित और चलाया जा सकता है (gcc -O0 -o retbleed src/retbleed.c) त्वरित डेमो के लिए — परिणाम होस्ट CPU के अपने शमन (eIBRS, माइक्रोकोड पैच, आदि) के साथ भिन्न होंगे, जो स्वयं इस बात का एक उपयोगी उदाहरण है कि 2022 से इस श्रेणी के बग को कितनी अच्छी तरह पैच किया गया है।

वास्तविक दुनिया में प्रभाव

  • 2022 में Linux, Windows, और हाइपरवाइज़र में आपातकालीन माइक्रोकोड/कर्नेल अपडेट को मजबूर किया।
  • सॉफ़्टवेयर शमन (रिटर्न स्टैक स्टफिंग, अतिरिक्त lfences) ने प्रभावित हार्डवेयर पर 14–39% प्रदर्शन ओवरहेड मापा।
  • आधुनिक हार्डवेयर फिक्स: eIBRS (Enhanced Indirect Branch Restricted Speculation) और सॉफ़्टवेयर कॉल-डेप्थ ट्रैकिंग।

संदर्भ

  1. J. Wikner and K. Razavi, "RETBLEED: Arbitrary Speculative Code Execution with Return Instructions," USENIX Security, 2022.
  2. P. Kocher et al., "Spectre Attacks: Exploiting Speculative Execution," IEEE S&P, 2019.
  3. M. Lipp et al., "Meltdown: Reading Kernel Memory from User Space," USENIX Security, 2018.
  4. Y. Yarom and K. Falkner, "FLUSH+RELOAD: A High-Resolution, Low-Noise, L3 Cache Side-Channel Attack," USENIX Security, 2014.
टूल डाउनलोड करें