
TPM भेद्यता जाँच उपकरण CVE-2018-6622 के लिए। यह उपकरण Black Hat Asia 2019 और Black Hat Europe 2019 में प्रकाशित किया जाएगा।
,----------------, ,---------,
,-----------------------, ," ,"|
," Napper v1.3 for TPM ," | ," ," |
+-----------------------+ | ," ," |
| .-----------------Z | | +---------+ |
| | Z | | | | -==----'| |
| | ︶ ︶ z | | | | | |
| | - | | |/----| ==== oo | |
| | | | | ,/| (((( | ,"
| `-----------------' |," .;'/ | (((( | ,"
+-----------------------+ ;; | | |,"
/_)______________(_/ //' | +---------+
___________________________/___ `,
/ oooooooooooooooo .o. oooo / \,"---------
/ ==ooooooooooooooo==.o. ooo= / ,`\--{-D) ,"
`-----------------------------' '----------"
Napper v1.3 for checking a TPM vulnerability, CVE-2018-6622 and unknown CVE
Project link: https://github.com/kkamagui/napper-for-tpm
Please contribute your summary report to the Napper project!
"Napper" डिस्क्रीट TPM और फर्मवेयर TPM (Intel PTT) के लिए एक नया भेद्यता जाँच उपकरण है। CVE-2018-6622 और अज्ञात CVE, S3 स्लीपिंग स्थिति या एडवांस्ड कॉन्फ़िगरेशन और पावर इंटरफ़ेस (ACPI) के सस्पेंड से संबंधित हैं। हमलावर S3 स्लीप के साथ TPM को खत्म कर सकता है, और प्लेटफ़ॉर्म कॉन्फ़िगरेशन रजिस्टर (PCRs) का उपयोग करने वाली रिमोट एटेस्टेशन और सील/अनसील सुविधाओं को निष्क्रिय किया जा सकता है। यदि आप CVE-2018-6622 और अज्ञात CVE के बारे में विस्तृत जानकारी चाहते हैं, तो कृपया हमारा USENIX पेपर, A Bad Dream: Subverting Trusted Platform Module While You Are Sleeping और ब्लैक हैट यूरोप 2019 प्रस्तुति BitLeaker: Subverting BitLocker with One Vulnerability पढ़ें।
Napper और CVE-2018-6622 को नीचे दिए गए सुरक्षा सम्मेलनों में प्रस्तुत किया गया था।
Intel प्लेटफ़ॉर्म ट्रस्ट टेक्नोलॉजी (PTT) से संबंधित एक अज्ञात CVE को नीचे दिए गए सुरक्षा सम्मेलनों में प्रस्तुत किया गया था।
आप नीचे दिया गया डेमो वीडियो देख सकते हैं।
हम हमेशा आपके योगदान का स्वागत करते हैं। आपके द्वारा योगदान की गई Napper की सारांश रिपोर्ट दुनिया को सुरक्षित बनाएगी।
Napper के पास GPL v2 लाइसेंस है।
ट्रस्टेड प्लेटफ़ॉर्म मॉड्यूल (TPM) एक छेड़छाड़-प्रतिरोधी उपकरण है और हार्डवेयर-आधारित या फर्मवेयर-आधारित सुरक्षा कार्य प्रदान करने के लिए डिज़ाइन किया गया है। TPM चिप में एक रैंडम नंबर जनरेटर, नॉन-वोलाटाइल स्टोरेज, एन्क्रिप्शन/डिक्रिप्शन मॉड्यूल और प्लेटफ़ॉर्म कॉन्फ़िगरेशन रजिस्टर (PCRs) होते हैं, जिनका उपयोग BitLocker, DM-Crypt, ट्रस्टेड बूट (tboot), और ओपन क्लाउड इंटीग्रिटी टेक्नोलॉजी (Open CIT) जैसे विभिन्न सुरक्षा अनुप्रयोगों के लिए किया जा सकता है।
TPM को कमोडिटी उपकरणों में व्यापक रूप से तैनात किया गया है ताकि विश्वसनीय प्लेटफ़ॉर्म बनाने के लिए एक मजबूत आधार प्रदान किया जा सके, विशेष रूप से एंटरप्राइज़ और सरकारी सिस्टम में उपयोग किए जाने वाले उपकरणों में। चूंकि TPM विश्वसनीय प्लेटफ़ॉर्म में महत्वपूर्ण बिंदु है, कई शोधकर्ताओं ने TPM में कमजोरियाँ खोजने का प्रयास किया है और निष्कर्ष निकाला है कि भौतिक पहुँच के बिना इसे तोड़ना कठिन है। हालाँकि, अब यह सच नहीं है।
हमारे द्वारा पाई गई कमजोरियाँ एडवांस्ड कॉन्फ़िगरेशन और पावर इंटरफ़ेस (ACPI) के साथ TPM को खत्म कर सकती हैं। पीसी, लैपटॉप और सर्वर में ACPI बिजली की खपत कम करने के लिए छह स्लीपिंग स्थिति (S0-S5) प्रदान करता है। जब सिस्टम स्लीपिंग स्थिति में प्रवेश करता है, तो CPU, डिवाइस और RAM बंद हो जाते हैं। चूंकि सिस्टम सुरक्षा उपकरणों सहित घटकों को बंद कर देता है, सिस्टम को जागते समय उन्हें फिर से आरंभ करना चाहिए और यह हमले की सतह हो सकती है। हमने इस हमले की सतह पर बिना भौतिक पहुँच के कमजोरियाँ पाईं।
कमजोरियों को कम करने के लिए, हम प्रतिउपाय और TPM की कमजोरियों की जाँच करने के लिए एक नया उपकरण, "Napper" भी प्रस्तुत करते हैं। Napper Linux-आधारित एक बूट करने योग्य USB उपकरण है, और इसमें एक कर्नेल मॉड्यूल और एक भेद्यता जाँच सॉफ़्टवेयर है। जब आप Napper के साथ एक सिस्टम बूट करते हैं, तो यह आपके सिस्टम को कमजोरियों की जाँच करने और परिणाम आपको रिपोर्ट करने के लिए नींद लेने देता है।
Napper में एक विशेष कर्नेल मॉड्यूल और अनुकूलित tpm2 उपकरण शामिल हैं। Napper Ubuntu 18.04 पर आधारित है, और हमने लाइव CD इमेज बनाने के लिए इसे अनुकूलित और तैयार किया है। यदि आप केवल TPM भेद्यता की जाँच करना चाहते हैं और इसके लिए एक आसान तरीका खोजना चाहते हैं, तो कृपया अनुभाग 3.1 पर जाएँ और अपने USB स्टोरेज के साथ Napper लाइव CD इमेज का उपयोग करें। Napper लाइव CD में न केवल एक बाइनरी उपकरण है बल्कि Napper का पूरा स्रोत कोड भी है। यदि आप अब Ubuntu 18.04 का उपयोग कर रहे हैं और Napper को स्क्रैच से बनाना चाहते हैं, तो कृपया अनुभाग 3.2 पर जाएँ और इसे बनाएँ।
Napper लाइव CD इमेज Napper प्रोजेक्ट के रिलीज़ पेज पर हैं।
यदि आप माइक्रोसॉफ्ट विंडोज ऑपरेटिंग सिस्टम का उपयोग कर रहे हैं, तो Win32 डिस्क इमेजर का उपयोग करें और Napper लाइव CD इमेज को अपने USB स्टोरेज पर लिखें।
यदि आप लिनक्स या मैक OS X का उपयोग कर रहे हैं, तो नीचे दिए गए dd कमांड का उपयोग करें।```
$> sudo dd if=Napper-LiveCD.iso of=/dev/sdX bs=4096 $> sync
### ३.१.३. अपने यूएसबी स्टोरेज के साथ सिस्टम को रीबूट करें और नैपर चलाएँ
यदि आप अपना यूएसबी स्टोरेज प्लग करते हैं और उससे बूट करने के लिए बूट अनुक्रम बदलते हैं, तो आप नीचे नैपर का बूट मेनू देख सकते हैं और पहला विकल्प चुनकर नैपर लाइव सीडी शुरू कर सकते हैं।
<center> <img src="https://assets.kitploit.com/production/public/readmes/28076/525cb00d8f948ccc1653bd4fd08c8baf293615ad80ec52082b6c04efe7484f57.png" alt="napper_boot_menu"/> </center>
बूट अनुक्रम के बाद, आप डेस्कटॉप पर README.txt फ़ाइल और बाएँ डॉक बार पर नैपर टूल आइकन देख सकते हैं। अपने सिस्टम की जाँच करने के लिए, कृपया डॉक बार के शीर्ष आइकन पर क्लिक करें और पासवर्ड के लिए `napper` टाइप करें। नैपर टूल का `ID` और `password` `napper` पर सेट है। जब नैपर आपके सिस्टम का परीक्षण करता है, तो यह आपके सिस्टम को स्लीप करेगा और जगाएगा। इसलिए, आपको ACPI S3 स्लीप स्थिति से अपने सिस्टम को जगाने के लिए एक कीबोर्ड टाइप करना होगा।
<center> <img src="https://assets.kitploit.com/production/public/readmes/28076/50fdb76d396e32fe811b7f9e23849fd4b66fccee5c4325b5f8c4f167938c51b2.png" alt="napper_run"/> </center>