लिनक्स सिस्टम (CVE-2017-5689) पर विशेषाधिकार भेद्यता का इंटेल एस्केलेशन का पता लगाने और इसे कम करने के लिए कैसे?


26

1 मई, 2017 के इंटेल सुरक्षा-केंद्र के पोस्ट के अनुसार, इंटेल प्रोसेसर पर एक महत्वपूर्ण भेद्यता है, जो एएमटी, आईएसएम और एसबीटी का उपयोग करके एक हमलावर को विशेषाधिकार प्राप्त करने (विशेषाधिकार बढ़ाने) की अनुमति दे सकता है।

क्योंकि AMT का कंप्यूटर के नेटवर्क हार्डवेयर तक सीधी पहुंच है, यह हार्डवेयर भेद्यता किसी भी सिस्टम तक पहुँचने के लिए एक हमलावर की अनुमति देगा।

Intel® Active Management Technology (AMT), Intel® Standard Manageability (ISM), और Intel® लघु व्यवसाय प्रौद्योगिकी संस्करण फर्मवेयर संस्करण 6.x, 7.x, 8.x 9.x, 10 में विशेषाधिकार भेद्यता की वृद्धि होती है। .x, 11.0, 11.5, और 11.6, जो इन उत्पादों द्वारा प्रदान की जाने वाली सुविधाओं को नियंत्रित करने के लिए एक अनपेक्षित हमलावर को अनुमति दे सकते हैं। यह भेद्यता इंटेल-आधारित उपभोक्ता पीसी पर मौजूद नहीं है।

इंटेल ने विंडोज 7 और 10. के लिए उपलब्ध एक डिटेक्शन टूल जारी किया है । मैं उस जानकारी का उपयोग कर रहा हूं dmidecode -t 4और इंटेल वेबसाइट पर खोज करने पर मैंने पाया कि मेरा प्रोसेसर उपयोग करता है Intel® Active Management Technology (Intel® AMT) 8.0

प्रभावित उत्पाद:

समस्या Intel manageability फर्मवेयर संस्करण 6.x, 7.x, 8.x 9.x, 10.x, 10.x, 11.0, 11.5 और 11.6 में Intel® Active Management Technology, Intel® Small Business Technology और Intel के लिए देखी गई है। ® मानक प्रबंधन क्षमता। 6 से पहले या 11.6 के बाद के संस्करण प्रभावित नहीं होते हैं।

विवरण:

एक अनपेक्षित स्थानीय हमलावर मैनागैबिलिटी नेटवर्क प्राप्त करने का प्रबंध कर सकता है जो इंटेल मैनेजबिलिटी SKUs पर अनपेक्षित नेटवर्क या स्थानीय सिस्टम विशेषाधिकार प्राप्त कर सकता है: Intel® Active Management Technology (AMT), Intel® Standard Manageability (ISM), और Intel® Small Business Technology (SBT)

मैं लिनक्स सिस्टम पर विशेषाधिकार भेद्यता की इंटेल वृद्धि को आसानी से कैसे पहचान और कम कर सकता हूं?


1
मामला तब और जटिल हो जाता है जब हम में से कई लोग वीएम का उपयोग कर रहे होते हैं; वास्तविक मशीनों के लिए यूडीपी 16992 पर सेवा की उपस्थिति के लिए स्कैन करना पर्याप्त होगा? +1
रुई एफ रिबेरो

2
निवारक कदम: SPARC का उपयोग करें (मुझे पता है, मुझे पता है, एक संभव समाधान नहीं)। एक +1
फॉक्स

3
@ इंटेल प्रोसेसर में ME CPU का पर्याप्त रूप से उपयोग आजकल एक SPARC है; ;-)
स्टीफन किट

2
@StephenKitt वास्तव में? मुझे इंटेल के चिप्स पर अपने रुख पर पुनर्विचार करना पड़ सकता है! मेरी लगभग सभी मशीनें PPC या SPARC हैं, इसलिए मुझे मानना ​​होगा कि मेरा पूर्वाग्रह असली है
फॉक्स

जवाबों:


18

इस मुद्दे पर मैंने जो सबसे स्पष्ट पोस्ट देखी है वह मैथ्यू गैरेट की (टिप्पणी सहित) है।

मैथ्यू ने अब आपके सिस्टम को स्थानीय रूप से जांचने के लिए एक टूल जारी किया है : इसे बनाएं, इसे चलाएं

sudo ./mei-amt-check

और यह रिपोर्ट करेगा कि क्या एएमटी सक्षम और प्रावधान है, और यदि यह है, तो फर्मवेयर संस्करण (नीचे देखें)। README अधिक जानकारी के है।

संभावित रूप से कमजोर सिस्टम के लिए अपने नेटवर्क को स्कैन करने के लिए, पोर्ट 623, 624 और 16992 से 16993 पर स्कैन करें (जैसा कि इंटेल के स्वयं के शमन दस्तावेज में वर्णित है ); उदाहरण के लिए

nmap -p16992,16993,16994,16995,623,664 192.168.1.0/24

192.168.1 / 24 नेटवर्क को स्कैन करेगा, और सभी मेजबानों की स्थिति की रिपोर्ट करेगा जो प्रतिक्रिया देते हैं। पोर्ट 623 से कनेक्ट करने में सक्षम होना एक गलत सकारात्मक हो सकता है (अन्य आईपीएमआई सिस्टम उस पोर्ट का उपयोग करते हैं), लेकिन 16992 से 16995 तक कोई भी खुला पोर्ट सक्षम एएमटी का एक बहुत अच्छा संकेतक है (कम से कम यदि वे उचित रूप से जवाब देते हैं: एएमटी के साथ, इसका मतलब है कि) 16992 और 16993 पर एक HTTP प्रतिक्रिया, टीएलएस के साथ उत्तरार्द्ध)।

यदि आप पोर्ट 16992 या 16993 पर प्रतिक्रियाएँ देखते हैं, तो उन लोगों से कनेक्ट करना और /HTTP का उपयोग करने का अनुरोध Serverएएमटी सक्षम सिस्टम के साथ "Intel (R) एक्टिव मैनेजमेंट टेक्नोलॉजी" वाली लाइन के साथ प्रतिक्रिया देगा ; उसी लाइन में उपयोग में AMT फर्मवेयर का संस्करण भी होगा, जिसे तब यह निर्धारित करने के लिए इंटेल की सलाह में दी गई सूची के साथ तुलना की जा सकती है कि क्या यह कमजोर है।

उपरोक्त स्क्रिप्ट को स्वचालित करने के लिए लिंक के लिए CerberusSec का उत्तर देखें ।

"समस्या" को ठीक करने के दो तरीके हैं:

  • फर्मवेयर को अपग्रेड करें, एक बार आपके सिस्टम का निर्माता एक अपडेट प्रदान करता है (यदि कभी भी);
  • एएमटी प्रदान करने वाले नेटवर्क पोर्ट का उपयोग करने से बचें, या तो आपके सिस्टम पर एक गैर-एएमटी-सक्षम नेटवर्क इंटरफ़ेस का उपयोग करके या यूएसबी एडाप्टर (कई एएमटी वर्कस्टेशन जैसे कि i22 नेटवर्क पोर्ट के साथ C226 Xeon E3 सिस्टम) का उपयोग करके केवल एक एएमटी है। सक्षम नेटवर्क इंटरफ़ेस - बाकी सुरक्षित हैं; ध्यान दें कि एएमटी वाई-फाई पर काम कर सकता है, कम से कम विंडोज पर, इसलिए अंतर्निहित वाई-फाई का उपयोग करके समझौता भी हो सकता है)।

यदि इनमें से कोई भी विकल्प उपलब्ध नहीं है, तो आप शमन क्षेत्र में हैं। यदि आपकी एएमटी-सक्षम प्रणाली को एएमटी के लिए कभी भी प्रावधान नहीं किया गया है, तो आप यथोचित सुरक्षित हैं; उस मामले में एएमटी को सक्षम करना स्पष्ट रूप से केवल स्थानीय रूप से किया जा सकता है, और जहां तक ​​मैं बता सकता हूं कि आपके सिस्टम के फर्मवेयर या विंडोज सॉफ्टवेयर का उपयोग करने की आवश्यकता है। यदि एएमटी सक्षम है, तो आप इसे निष्क्रिय करने के लिए फर्मवेयर को रीबूट और उपयोग कर सकते हैं ( CtrlPबूट के दौरान एएमटी संदेश प्रदर्शित होने पर दबाएं )।

असल में, जबकि विशेषाधिकार भेद्यता काफी बुरा है, ऐसा लगता है कि अधिकांश इंटेल सिस्टम वास्तव में प्रभावित नहीं होते हैं। लिनक्स या किसी अन्य यूनिक्स जैसे ऑपरेटिंग सिस्टम को चलाने वाले अपने सिस्टम के लिए, एस्केलेशन को पहले एएमटी को सक्षम करने के लिए सिस्टम तक भौतिक पहुंच की आवश्यकता होती है। (विंडोज एक और कहानी है।) कई नेटवर्क इंटरफेस वाले सिस्टम पर, जैसा कि रुई एफ रिबेरो ने बताया है , आपको एएमटी-सक्षम इंटरफेस को उसी तरह से व्यवहार करना चाहिए जैसे आप किसी भी प्रशासनिक इंटरफ़ेस (आईपीएमआई-सक्षम, या होस्ट इंटरफ़ेस को मानते हैं। VM हाइपरविजर के लिए) और इसे एक प्रशासनिक नेटवर्क (भौतिक या VLAN) पर अलग करें। आप स्वयं की सुरक्षा के लिए किसी मेजबान पर भरोसा नहीं कर सकते : iptablesआदि यहाँ अप्रभावी हैं, क्योंकि AMT ऑपरेटिंग सिस्टम के होने से पहले पैकेट देखता है (और AMT पैकेट को अपने पास रखता है)।

वीएम मामलों को जटिल कर सकते हैं, लेकिन केवल इस अर्थ में कि वे एएमटी को भ्रमित कर सकते हैं और इस प्रकार एएमटी सक्षम होने पर भ्रामक स्कैनिंग परिणाम उत्पन्न करते हैं। amt-howto(7)एक्सएम सिस्टम का उदाहरण देता है जहां एएमटी डीएचसीपी से अधिक डॉमू को दिए गए पते का उपयोग करता है, यदि कोई हो, जिसका अर्थ है कि एक स्कैन एएमटी को डॉमू पर नहीं, एएमयू पर सक्रिय दिखाएगा ...


क्या मशीन पर लिनक्स से एएमटी का पता लगाने का कोई स्थानीय तरीका नहीं है? का उपयोग कर /proc/cpuinfoया dmidecode?
dolmen

क्या इसका मतलब यह है कि यदि कोई सिस्टम इन पोर्टों में से किसी का भी जवाब नहीं देता है, जो इस भेद्यता से सुरक्षित है या क्या यह अभी भी स्थानीय रूप से शोषण किया जा सकता है?
comfreak

लैपटॉप पर शमन, अंतर्निहित के बजाय यूएसबी एनआईसी का उपयोग करने का रूप ले सकता है।
माइकल मोल

1
आप "नोट करें कि एएमटी वाई-फाई पर काम कर सकता है, कम से कम विंडोज पर"। मुझे लगा कि इस भेद्यता ने ओएस के स्वतंत्र रूप से काम किया है?
प्रातः

1
@ सुरक्षा भेद्य इंटरफेस पर ओएस-स्वतंत्र है, लेकिन वाई-फाई एएमटी पर चलने वाले ओएस के चालक से सहयोग की आवश्यकता प्रतीत होती है: यह पैकेट को इंटरप्ट नहीं करता है, यह ओएस पर निर्भर करता है कि यह उपयुक्त पैकेट को अग्रेषित करता है (जैसा कि मैं इसे समझता हूं - ध्यान दें कि मैंने चीजों के इस पक्ष का परीक्षण नहीं किया है)।
स्टीफन किट

8

बस इस सेवा के लिए खुले बंदरगाहों का पता लगाना अपर्याप्त है, यह इंगित नहीं करता है कि संस्करण प्रभावित है या नहीं। हमारी टीम ने हमारे गिथब में उपलब्ध एक अजगर स्क्रिप्ट तैयार की है: CerberusSecurity / CVE-2017-5689 जो यह पता लगाता है कि लक्ष्य प्रणाली दूरस्थ हमले के लिए असुरक्षित है या नहीं।

नमूना उपयोग:

python CVE_2017_5689_detector.py 10.100.33.252-255

इससे आपको यह जांचने में सक्षम होना चाहिए कि क्या आप दूरस्थ रूप से शोषक हैं। यदि आप रुचि रखते हैं, तो हमने इस भेद्यता पर हमारे साथ http://cerberussec.org/ पर एक छोटा ब्लॉग पोस्ट भी लिखा है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.