Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ssbd-tools — लिनक्स कर्नेल में CVE-2018-3639 (उर्फ वेरिएंट 4) के लिए शमन को लागू करने के उपकरण, जो x86 प्रोसेसरों के स्पेक्युलेटिव स्टोर बायपास डिसेबल (SSBD) फीचर का उपयोग करता है। | Kitploit
उपकरण/GitHubGitHub/tyhicks/ssbd-tools
भेद्यता विश्लेषणशोषणहार्डवेयर सुरक्षा
GitHubtyhicks/ssbd-tools

ssbd-tools

लिनक्स कर्नेल में CVE-2018-3639 (उर्फ वेरिएंट 4) के लिए शमन को लागू करने के उपकरण, जो x86 प्रोसेसरों के स्पेक्युलेटिव स्टोर बायपास डिसेबल (SSBD) फीचर का उपयोग करता है।

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

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

सभी देखें →

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

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

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

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

स्पेक्युलेटिव स्टोर बायपास डिसेबल का अभ्यास करने के लिए उपकरण

ssbd-tools प्रोजेक्ट प्रोग्रामों का एक संग्रह है जो x86 प्रोसेसर में प्रदान की गई स्पेक्युलेटिव स्टोर बायपास डिसेबल (SSBD) कार्यक्षमता का उपयोग करता है। SSBD एक प्रोसेसर-आधारित शमन है स्पेक्युलेटिव स्टोर बायपास हमले के लिए जिसे वैरिएंट 4 कहा जाता है और इसे CVE-2018-3639 सौंपा गया है। लिनक्स कर्नेल ने SSBD का उपयोग करने के लिए प्रति-प्रक्रिया नियंत्रण प्रस्तुत किए और इन उपकरणों का उपयोग उन नियंत्रणों का लाभ उठाने और उनकी शुद्धता को सत्यापित करने में मदद करने के लिए किया जा सकता है।

प्रति-प्रक्रिया SSBD नियंत्रण

लिनक्स कर्नेल संचालन के कई अलग-अलग तरीके प्रदान करता है, जिन्हें बूट समय पर spec_store_bypass_disable कर्नेल पैरामीटर के साथ चुना जा सकता है, x86 सिस्टम पर SSBD के लिए। कर्नेल पैरामीटर दस्तावेज़ीकरण उनका अच्छी तरह से वर्णन करता है। यहाँ उस दस्तावेज़ का एक अंश है जो विकल्पों का वर्णन करता है:

root@kitploit:~
  on      - Unconditionally disable Speculative Store Bypass
  off     - Unconditionally enable Speculative Store Bypass
  auto    - Kernel detects whether the CPU model contains an
            implementation of Speculative Store Bypass and
            picks the most appropriate mitigation. If the
            CPU is not vulnerable, "off" is selected. If the
            CPU is vulnerable the default mitigation is
            architecture and Kconfig dependent. See below.
  prctl   - Control Speculative Store Bypass per thread
            via prctl. Speculative Store Bypass is enabled
            for a process by default. The state of the control
            is inherited on fork.
  seccomp - Same as "prctl" above, but all seccomp threads
            will disable SSB unless they explicitly opt out.

  Not specifying this option is equivalent to
  spec_store_bypass_disable=auto.

  Default mitigations:
  X86:    If CONFIG_SECCOMP=y "seccomp", otherwise "prctl"

CPU-विशिष्ट विवरण

SSBD कार्यक्षमता प्रोसेसर के एक मॉडल-विशिष्ट रजिस्टर (MSR) में एकल बिट सेट करके सक्षम/अक्षम की जाती है। सटीक MSR और MSR के अंदर बिट स्थान CPU विक्रेताओं, एकल विक्रेता के CPU परिवारों, और कर्नेल हाइपरवाइजर के तहत चल रहा है या नहीं, के बीच भिन्न होता है। ये उपकरण वर्तमान निष्पादन वातावरण के लिए SSBD बिट कहाँ स्थित है, यह तय करने के लिए Intel और AMD द्वारा प्रकाशित दिशानिर्देशों का पालन करते हैं।

SSBD उपलब्ध क्यों नहीं हो सकता है

कुछ सिस्टम पर SSBD समर्थन उपलब्ध नहीं हो सकता है। यह कई कारणों से हो सकता है:

  • आपके प्रोसेसर को अद्यतन माइक्रोकोड की आवश्यकता है। यह Intel प्रोसेसर के लिए मामला है। आप फर्मवेयर अपडेट के माध्यम से या अपने लिनक्स वितरण के माइक्रोकोड पैकेज स्थापित करके (Debian/Ubuntu के लिए intel-microcode और amd64-microcode) अद्यतन माइक्रोकोड तक पहुंच सकते हैं। AMD परिवार 15h, 16h, और 17h प्रोसेसर को अद्यतन माइक्रोकोड की आवश्यकता नहीं है।
  • आपका कर्नेल SSBD का समर्थन करने के लिए अद्यतन नहीं किया गया है। कई Linux OS विक्रेताओं ने अपडेट जारी किए हैं, कृपया CERT के वैरिएंट 4 पृष्ठ पर अपने विक्रेता के विवरण देखें।
  • आप एक वर्चुअल मशीन का उपयोग कर रहे हैं और आपके हाइपरवाइज़र को SSBD का समर्थन करने के लिए अद्यतन नहीं किया गया है। यदि आपके पास होस्ट वातावरण का नियंत्रण है, तो प्रासंगिक हाइपरवाइज़र सॉफ़्टवेयर को अद्यतन करने की जानकारी के लिए ऊपर CERT पृष्ठ देखें।

ssbd-tools में प्रोग्रामों का सारांश

ssbd-exec

ssbd-exec प्रोग्राम किसी अन्य प्रोग्राम को निष्पादित करने से पहले प्रति-प्रक्रिया SSBD नियंत्रणों का उपयोग करता है। यह स्पेक्युलेशन की अनुमति देने के लिए PR_SET_SPECULATION_CTRL prctl का उपयोग कर सकता है (-p enable PR_SPEC_ENABLE का उपयोग करने के लिए), SSBD के माध्यम से स्पेक्युलेशन को अस्वीकार करें (-p disable PR_SPEC_DISABLE का उपयोग करने के लिए), या SSBD के माध्यम से सभी भविष्य के चाइल्ड प्रक्रियाओं में स्पेक्युलेशन को स्थायी रूप से अस्वीकार करें (-p force-disable PR_SPEC_FORCE_DISABLE का उपयोग करने के लिए)।

यह एक अनुमत seccomp फ़िल्टर (-s empty) भी लोड कर सकता है, जो डिफ़ॉल्ट रूप से x86 पर, प्रक्रिया को SSBD शमन में ऑप्ट करता है। एक विकल्प (-s spec-allow) भी है जो एक अनुमत फ़िल्टर लोड करता है जो प्रक्रिया को SSBD में ऑप्ट नहीं करता है।

ssbd-exec का उपयोग करना

  • डिफ़ॉल्ट रूप से कार्य SSBD का उपयोग नहीं करते हैं यह दिखाने के लिए /proc/PID/status देखें
root@kitploit:~
 $ ./ssbd-exec -- grep Spec /proc/self/status
 Speculation_Store_Bypass:	thread vulnerable
  • prctl के माध्यम से SSBD का उपयोग करते समय /proc/PID/status देखें
root@kitploit:~
 $ ./ssbd-exec -p disable -- grep -e Spec -e Seccomp /proc/self/status
 Seccomp:        0
 Speculation_Store_Bypass:       thread mitigated
  • एक अनुमत seccomp फ़िल्टर के साथ चलने पर /proc/PID/status देखें जो प्रक्रिया को SSBD में ऑप्ट करता है
root@kitploit:~
 $ ./ssbd-exec -s empty -- grep -e Spec -e Seccomp /proc/self/status
 Seccomp:        2
 Speculation_Store_Bypass:       thread force mitigated

ssbd-verify

ssbd-verify प्रोग्राम सत्यापित करता है कि आपके प्रोसेसर के लिए विशिष्ट MSR और बिट ऑफसेट में वास्तविक SSBD बिट, अपेक्षित मान है। 0 का अर्थ है कि SSBD उपयोग में नहीं है जबकि 1 का अर्थ है कि यह उपयोग में है।

प्रोग्राम का उपयोग कार्य के PR_GET_SPECULATION_CTRL prctl मान को सत्यापित करने के लिए भी किया जा सकता है जो स्पेक्युलेशन की अनुमति देने के लिए सेट है (-p enable PR_SPEC_ENABLE को सत्यापित करने के लिए), SSBD के माध्यम से स्पेक्युलेशन को अस्वीकार करें (-p disable PR_SPEC_DISABLE को सत्यापित करने के लिए), या SSBD के माध्यम से सभी भविष्य के चाइल्ड प्रक्रियाओं में स्पेक्युलेशन को स्थायी रूप से अस्वीकार करें (-p force-disable PR_SPEC_FORCE_DISABLE को सत्यापित करने के लिए)।

प्रोग्राम को -t SECONDS विकल्प का उपयोग करके SSBD बिट के मान को बार-बार सत्यापित करने के लिए कॉन्फ़िगर किया जा सकता है। यदि SECONDS 0 है, तो प्रोग्राम SSBD बिट को सत्यापित करते हुए अंतहीन रूप से लूप करता है। SECONDS के लिए एक गैर-शून्य मान के परिणामस्वरूप प्रोग्राम निर्दिष्ट समय के लिए SSBD बिट को सत्यापित करता है।

इस प्रोग्राम के लिए आवश्यक है कि msr कर्नेल मॉड्यूल लोड हो और उपयोगकर्ता के पास उपयुक्त MSR से SSBD बिट पढ़ने के लिए रूट विशेषाधिकार हों।

ssbd-verify का उपयोग करना

  • सत्यापित करें कि SSBD डिफ़ॉल्ट रूप से सेट नहीं है
root@kitploit:~
 $ sudo ./ssbd-verify 0
 $ sudo ./ssbd-verify 1
 FAIL: SSBD bit verification failed (expected 1, got 0)
  • सत्यापित करें कि SSBD सेट है जब prctl का उपयोग स्पेक्युलेशन को अक्षम करने के लिए किया जाता है
root@kitploit:~
 $ ./ssbd-exec -p disable -- sudo ./ssbd-verify 1
  • सत्यापित करें कि SSBD सेट है जब seccomp फ़िल्टर लोड किया जाता है
root@kitploit:~
 $ sudo ./ssbd-exec -s empty -- ./ssbd-verify 1

नोट: उपरोक्त कमांड में ssbd-exec पर sudo का उपयोग करना आवश्यक है क्योंकि seccomp फ़िल्टर लोड करने से पहले NO_NEW_PRIVS का उपयोग किया जाता है। यदि NO_NEW_PRIVS सेट होने के बाद sudo का उपयोग किया जाता है तो यह विशेषाधिकारों को ऊपर नहीं उठा सकेगा।

ssbd-toggle

ssbd-toggle प्रोग्राम प्रोग्राम के समाप्त होने तक एक अंतहीन लूप में SSBD बिट को चालू और बंद करता है। इसका उपयोग ssbd-verify के साथ संयोजन में किया जा सकता है ताकि यह सुनिश्चित किया जा सके कि जब कर्नेल अपने कार्य पर स्विच करता है तो ssbd-verify प्रक्रिया में हमेशा अपेक्षित SSBD बिट मान हो।

इस प्रोग्राम के लिए आवश्यक है कि msr कर्नेल मॉड्यूल लोड हो और उपयोगकर्ता के पास उपयुक्त MSR से पढ़ने और लिखने के लिए रूट विशेषाधिकार हों।

ssbd-toggle का उपयोग करना

  • प्रक्रिया बाधित होने तक प्रोसेसर 0 के SSBD बिट को टॉगल करें
root@kitploit:~
 $ sudo ./ssbd-toggle
 ^C

उपकरणों का निर्माण

उपकरणों के निर्माण के लिए, make चलाएँ:

root@kitploit:~
 $ make

अपने सिस्टम का परीक्षण करें

यह सुनिश्चित करने के लिए कि आपके सिस्टम पर SSBD अपेक्षित रूप से काम कर रहा है, कुछ बुनियादी स्वचालित परीक्षण चलाने के लिए, रूट के रूप में check लक्ष्य चलाएँ:

root@kitploit:~
 $ sudo make check
 PASS
टूल डाउनलोड करें