
Intel Management Engine JTAG अवधारणा का प्रमाण
सभी जानकारी केवल शैक्षिक उद्देश्यों के लिए प्रदान की गई है। इन निर्देशों का पालन अपने जोखिम पर करें। इस पृष्ठ में निहित जानकारी के आधार पर किसी व्यक्ति या संगठन द्वारा कार्य करने या न करने से उत्पन्न किसी भी प्रत्यक्ष या परिणामी क्षति या हानि के लिए न तो लेखक और न ही उनका नियोक्ता जिम्मेदार है।
परिचय
आवश्यक सॉफ़्टवेयर
पेलोड जनरेट करना
अनलॉक टोकन जनरेट करना
SPI फ्लैश इमेज तैयार करना
फ़र्मवेयर इमेज में फ़ाइलें शामिल करना
OEM साइनिंग अक्षम करना
फ़र्मवेयर इमेज बनाना
मुख्य CPU को BringUP करना
SPI फ्लैश में इमेज लिखना
USB डिबग केबल तैयार करना
OpenIPC कॉन्फ़िगरेशन फ़ाइलों को पैच करना
OpenIPC कॉन्फ़िगरेशन फ़ाइलों को डिक्रिप्ट करना
कॉन्फ़िगरेशन में LMT कोर जोड़ना
IPC_PATH पर्यावरण चर सेट करना
JTAG कार्यशीलता की प्रारंभिक जाँच करना
CPU ME थ्रेड दिखाएँ
कोर रोकना
ME डिबगिंग: त्वरित प्रारंभ
किसी भी मेमोरी को पढ़ना
ROM पढ़ना
TXE क्यों?
परीक्षणित प्लेटफ़ॉर्मों की सूची
लेखक
लाइसेंस
भेद्यता INTEL-SA-00086 Intel Management Engine कोर के लिए JTAG सक्रिय करने की अनुमति देती है। हमने अपना [JTAG PoC][8] Gigabyte Brix GP-BPCE-3350C प्लेटफ़ॉर्म के लिए विकसित किया है। हालाँकि हम अनुशंसा करते हैं कि इच्छुक शोधकर्ता उसी प्लेटफ़ॉर्म का उपयोग करें, Intel Apollo Lake चिपसेट वाले अन्य निर्माताओं के प्लेटफ़ॉर्म को भी PoC का समर्थन करना चाहिए (TXE संस्करण 3.0.1.1107 के लिए)।
भेद्यता INTEL-SA-00086 में MFS ([आंतरिक ME फ़ाइल सिस्टम][6]) पर संग्रहीत फ़ाइल को संसाधित करते समय बफ़र ओवरफ़्लो शामिल है। पूर्ण फ़ाइल पथ /home/bup/ct है। आपको इसे Intel Flash Image Tool (FIT) का उपयोग करके ME फ़र्मवेयर में एकीकृत करना होगा, जो Intel द्वारा Intel PCH चिपसेट पर आधारित हार्डवेयर के OEM को प्रदान किए जाने वाले Intel System Tools में से एक है।
Intel System Tools पैकेज की रूट निर्देशिका की संरचना यहाँ दी गई है:

Intel ME (TXE, SPS) System Tools उपयोगिताएँ अंतिम उपयोगकर्ताओं के लिए अभिप्रेत नहीं हैं—इसलिए आप उन्हें आधिकारिक Intel वेबसाइट पर नहीं पा सकते हैं। हालाँकि, कुछ OEM उन्हें डिवाइस ड्राइवरों के साथ सॉफ़्टवेयर अपडेट के भाग के रूप में प्रकाशित करते हैं। इसलिए, हमारे PoC को एकीकृत करने के लिए आपको Intel TXE System Tools संस्करण 3.x की आवश्यकता है, जो ऑनलाइन पाया जा सकता है।
आपको Intel System Studio स्थापित करने की आवश्यकता है, जिसका परीक्षण संस्करण Intel साइट से डाउनलोड किया जा सकता है। अपने प्रयोगों में, हमने Intel System Studio 2018 का उपयोग किया।
PoC Intel TXE फ़र्मवेयर संस्करण 3.0.1.1107 को लक्षित करता है। Gigabyte GB-BPCE-3350C संस्करण F5 के लिए SPI फ्लैश इमेज में आवश्यक फ़र्मवेयर संस्करण होता है।
हमारी सभी स्क्रिप्ट Python में लिखी गई हैं। हम Python 2.7 का उपयोग करने की अनुशंसा करते हैं। साथ ही स्क्रिप्ट्स को pycrypto पैकेज की आवश्यकता होती है। pycrypto स्थापित करने के लिए, निम्न कमांड चलाएँ:
pip install pycrypto
यह उपयोगिता केवल तभी आवश्यक है जब आपको CPU bring up करने की आवश्यकता हो।
EFI Human Interface Infrastructure (HII) UEFI में उपयोगकर्ता इंटरफ़ेस बनाने के साथ-साथ उपयोगकर्ता इनपुट को संसाधित और प्रबंधित करने के लिए एक विशेष तंत्र है। EFI HII सभी विकल्पों के लिए डिफ़ॉल्ट मानों की पहचान करता है, जिसमें छिपे हुए विकल्प भी शामिल हैं। जैसे ही DCI से संबंधित विकल्प मिलता है, इसे डिफ़ॉल्ट कॉन्फ़िगरेशन के लिए सक्रिय किया जा सकता है, और BIOS फ़ैक्टरी सेटिंग्स को पुनर्स्थापित करके DCI को सक्षम किया जा सकता है। मुख्य CPU को bring up करने के लिए आपको AMI BIOS Configuration Program संस्करण 5.xx की आवश्यकता होती है, जो ऑनलाइन भी पाया जा सकता है।
स्क्रिप्ट me_exp_bxtp.py चलाएँ:
me_exp_bxtp.py -f <file_name>
स्क्रिप्ट आवश्यक डेटा उत्पन्न करती है और उसे निर्दिष्ट फ़ाइल में निर्यात करती है (पूर्ण फ़ाइल पथ इंगित करें या, वर्तमान निर्देशिका के भीतर, केवल एक नाम, डिफ़ॉल्ट रूप से ct.bin)। इस फ़ाइल का उपयोग बाद में FIT द्वारा किया जाएगा।
स्क्रिप्ट me_utok_bxtp.py चलाएँ:
me_utok_bxtp.py -f <file_name>
स्क्रिप्ट आवश्यक डेटा उत्पन्न करती है और उसे निर्दिष्ट फ़ाइल में निर्यात करती है (पूर्ण फ़ाइल पथ इंगित करें या, वर्तमान निर्देशिका के भीतर, केवल एक नाम, डिफ़ॉल्ट रूप से utok.bin)। इस फ़ाइल का उपयोग बाद में FIT द्वारा किया जाएगा।
यदि आपको CPU को bring up करने की आवश्यकता नहीं है तो इस चरण को छोड़ दें।
DCI Enable विकल्प को सक्रिय करने के लिए, AMIBCP उपयोगिता चलाएँ और इसका उपयोग अपने प्लेटफ़ॉर्म के साथ प्रदान की गई SPI फ़र्मवेयर इमेज को खोलने के लिए करें। Gigabyte Brix GP-BPCE-3350C के लिए, ऊपर बताए गए Gigabyte लिंक से डाउनलोड की गई फ़ाइल खोलें (संग्रह में इमेज फ़ाइल का पथ: F5/image.bin)।

अब हमें Setup Configuration टैब में HDCIEN विकल्प को सक्षम करने की आवश्यकता है।
ct.bin और utok.bin फ़ाइलों को एकीकृत करने के लिए, FIT उपयोगिता (fit.exe) चलाएँ और इसका उपयोग SPI फ़र्मवेयर इमेज को खोलने के लिए करें।

यदि आप किसी अन्य हार्डवेयर प्लेटफ़ॉर्म का उपयोग कर रहे हैं और आपके पास TXE 3.0.1.1107 तक पहुँच नहीं है, तो आप Gigabyte GB-BPCE-3350C संस्करण F5 के लिए SPI फ्लैश इमेज डाउनलोड कर सकते हैं और FIT के माध्यम से TXE अनुभाग निकाल सकते हैं। इमेज खोले जाने पर FIT समग्र SPI इमेज के विभिन्न अनुभागों (SPI डिस्क्रिप्टर, UEFI/BIOS फ़र्मवेयर, Intel ME फ़र्मवेयर, और अनलॉक टोकन) को निकालता है और उन्हें *"image_name"/Decomp * फ़ोल्डर में सहेजता है।

इसलिए आपको आवश्यक Intel TXE फ़र्मवेयर वाली फ़ाइल /Decomp/TXE Region.bin पर मिलेगी।
फिर, FIT में, अपने विशेष प्लेटफ़ॉर्म के लिए SPI इमेज खोलें और Intel TXE फ़र्मवेयर वाली फ़ाइल को GB Brix 3350c इमेज से प्राप्त संस्करण से बदलें ("Intel(R) TXE Binary File" फ्लैश लेआउट टैब पर):
