इंटेल सीपीयू सुरक्षा छेद पैच के कारण खोए हुए प्रदर्शन को पुनः प्राप्त करने के लिए पेज टेबल अलगाव को कैसे निष्क्रिय किया जाए?


43

वर्तमान इंटेल CPU सुरक्षा छेद समस्या के कारण, एक पैच अपेक्षित है जो सिस्टम प्रदर्शन को धीमा कर देता है।

मैं यह कैसे सुनिश्चित कर सकता हूं कि यह पैच मेरे Ubuntu सिस्टम पर स्थापित नहीं होगा?


49
आप विभिन्न अन्य सुरक्षा तंत्रों को अक्षम करके अपने सिस्टम के प्रदर्शन को और भी अधिक बढ़ा सकते हैं। नहीं, यह सिफारिश नहीं है।
स्कै

11
यदि प्रदर्शन आपके लिए मायने रखता है, तो मैं हाल ही में जारी कर्नेल जारी करने वाले उम्मीदवार का निर्माण करने और आपके कार्यभार पर प्रदर्शन हानि का परीक्षण करने की सलाह देता हूं। आप अच्छी तरह से पा सकते हैं कि ओवरहेड नगण्य या सहन करने योग्य है।
जेफरी बोसबोम

5
मैं नहीं समझ सकता कि यह कितना भयानक विचार है।
अलेक्जेंडर

13
मैं असंतोष जा रहा हूँ। व्यक्तिगत रूप से मैं सुरक्षा सुविधाओं को अक्षम करने की सलाह नहीं दूंगा, लेकिन उपयोगकर्ताओं के लिए, जो एक प्रदर्शन हिट को अक्षम करने वाली पीटीआई को नोटिस करते हैं, यह विचार करना एक उचित विकल्प हो सकता है कि इस विशेष सुरक्षा छेद के खिलाफ हमले और लक्ष्य कंप्यूटर / डेटा के मूल्य का लाभ उठाना कितना मुश्किल हो सकता है। सवाल यह है कि इस विकल्प को कैसे निष्क्रिय किया जाए, क्या मुझे इस विकल्प को अक्षम नहीं करना चाहिए।
पैंथर

2
मैं सहमत हूं, पीटीआई एक सुरक्षा सुविधा है जिसमें एक गैर-नगण्य लागत हो सकती है। यह तय करने के लिए ओपी तक कि यह उनके लिए सही है और इस प्रश्न के दायरे से बाहर है।
जेक

जवाबों:


55

पैच (उर्फ "पेज टेबल आइसोलेशन") एक सामान्य कर्नेल अपडेट का हिस्सा होगा (जो आपको आपके सिस्टम को अपडेट करते समय मिलेगा)। हालाँकि, कर्नेल को अद्यतित रखने की अत्यधिक अनुशंसा की जाती है, क्योंकि इसमें कई अन्य सुरक्षा फ़िक्सेस भी मिलते हैं। तो मैं तय किए बिना सिर्फ एक पुरानी गिरी का उपयोग करने की सिफारिश नहीं करूंगा ।

हालाँकि, आप प्रभावी रूप से पैच को जोड़ सकते हैं pti=off( कर्नेल पैच इस विकल्प को जोड़ते हुए, अधिक जानकारी के साथ ) अपनी कर्नेल कमांड लाइन ( howto ) पर। ध्यान दें कि ऐसा करने से परिणाम कम सुरक्षित होगा।

पोस्टग्रेएसक्यूएल मेलिंग सूची में पीटीआई सक्षम और अक्षम के साथ अधिक जानकारी और प्रदर्शन परीक्षण हैं - टीएलडीआर यह है कि इसमें 10 से 30% प्रदर्शन प्रभाव है (For ProggreSQL, अर्थात - अन्य चीजें जैसे खेल शायद एक प्रभाव से कम होंगे) ।

ध्यान दें कि यह केवल इंटेल प्रोसेसर को प्रभावित करेगा, क्योंकि एएमडी स्पष्ट रूप से अप्रभावित ( रेडिट ) है, इसलिए यह एएमडी पर डिफ़ॉल्ट रूप से निष्क्रिय हो जाएगा।


2
"... यह AMD पर डिफ़ॉल्ट रूप से अक्षम किया जाएगा।" इसका मतलब यह है कि उबंटू ऑपरेटिंग सिस्टम के लिए मशीनों पर चलने वाले एएमडी सीपीयू के साथ कैननिकल द्वारा दिया गया एक अतिरिक्त कर्नेल संस्करण होगा? :)
cl-netbox

16
नहीं, कर्नेल का पता लगाता है (बूटअप पर) मौसम यह AMD CPU पर चल रहा है, और यदि यह है तो फिक्स को निष्क्रिय करता है। @ सीएल-नेटबॉक्स
जोनासकज -

1
Theregister.co.uk/2018/01/04/intel_amd_arm_cpu_vulnerability के अनुसार एएमडी चिप्स कम से कम एक किस्म के स्पेक्टर अटैक (ब्रांच टारगेट इंजेक्शन) से प्रभावित होते हैं, इसलिए उन्हें इस सप्ताह एक संभव प्रदर्शन-प्रभावित कर्नेल अपडेट मिल रहा होगा, हालांकि, भले ही वे Meltdown के अधीन नहीं हैं उचित।
डेव शेरोहमान

1
जाहिरा तौर पर यह सुविधा x64 आर्किटेक्चर में है, लेकिन i386 / IA-32 में नहीं है। लेकिन इसके बावजूद, पैच 32bit लिनक्स को भी प्रभावित नहीं करता है (सुरक्षा / Kconfig को PAGE86able_ISENATION सक्षम करने के लिए X86_64 की आवश्यकता होती है)। हालांकि यह एक और सवाल लाता है। 32 बिट के साथ x64 मशीनों के बारे में क्या स्थापित है, क्या ये प्रभावित हो सकते हैं? यदि हां, तो पुरानी x64 मशीनों के बारे में क्या जो केवल 32 बिट निर्देशों (जैसे पुराने परमाणु-आधारित नेटबुक) चलाने के लिए बायोस द्वारा सीमित हैं? क्या वे बत्तख बैठे हैं?
thePiGrepper

2
जब तक मैं कुछ के लिए सीखा था एक जावास्क्रिप्ट आधारित हमले मैं इस का उपयोग करने पर योजना बना रहा था।
जोशुआ

35

अपडेट: इस मुद्दे को एक जोड़ी मोनिकर्स: मेलडाउन और स्पेक्टर दिया गया है । मैंने नई जानकारी के साथ उत्तर को अपडेट कर दिया है।

यह शुरू में एक कर्नेल पैच होगा। यह एक उच्च संस्करण के रूप में दिखाई देगा। यह स्थापित हो जाएगा क्योंकि आपने linux-image-genericस्थापित किया है। यही वह पैकेज है। इसलिए आप निकाल सकते हैं linux-image-generic। यह एक भयानक, विनाशकारी विचार है, जो आपको सभी प्रकार के नास्तिकों को उजागर करेगा लेकिन आप ऐसा कर सकते हैं। वहाँ हो सकता है भी सीपीयू माइक्रोकोड कि में इस प्रकार होना linux-firmwareएक में सीपीयू ठीक करने के लिए। यह वास्तव में इंटेल पर है।

जिस विधि को आप अन-फिक्स करने के लिए अनुसरण करते हैं वह अप्रासंगिक है। आप किसी ऐसी चीज़ को दरकिनार करने के लिए कह रहे हैं, जहाँ आप न तो बग का सही प्रभाव जानते हैं, और न ही इसे ठीक करने की प्रदर्शन लागत।

  • बग गंदा है। रिपोर्ट किए गए CVEs क्रॉस प्रोसेस मेमोरी रीडिंग हैं। किसी भी प्रक्रिया को किसी अन्य प्रक्रिया की मेमोरी पढ़ने में सक्षम होना। इनपुट, पासवर्ड, बहुत कुछ। इस संभावना के सैंडबॉक्स पर भी निहितार्थ हैं। यह बहुत शुरुआती दिन है और मुझे उम्मीद है कि लोग इसे और आगे बढ़ा सकते हैं, दोनों प्रभाव और पहुंच में।

  • प्रदर्शन हिट होने की संभावना उतनी बड़ी नहीं है जितनी आप चिंतित हैं। सैद्धांतिक सबसिस्टम प्रदर्शन या सबसे खराब स्थिति पर लोग ध्यान केंद्रित कर रहे हैं। एक खराब कैश्ड डेटाबेस वह है जो सबसे मुश्किल हिट हो रहा है। गेमिंग, और दिन-प्रतिदिन के सामान की संभावना औसत रूप से बदलने वाली नहीं है।

अब भी हम देख सकते हैं कि वास्तविक बग क्या है, यह कहना जल्दबाजी होगी कि प्रभाव क्या है। जबकि RAM में मुफ्त पढ़ा जाना बुरा है, वहां से भी बदतर चीजें हैं। मैं यह भी देखने के लिए परीक्षण करूँगा कि वास्तव में फिक्स आपको कितना प्रभावित करता है (आपके द्वारा की गई चीजों के साथ)।

झंडे के साथ अपने GRUB कॉन्फ़िगरेशन को पूर्व-लोड करना शुरू न करें, या अभी तक कर्नेल मेटा पैकेज को हटा दें।


7
pti=offपैच को अक्षम करने के लिए आपको बस कर्नेल कमांड लाइन (GRUB में) को जोड़ना होगा।
जोनासकज -

3
@JonasCz उस टिप्पणी - अगर सच है, मुझे नहीं पता - लगता है कि यह एक अलग जवाब के लायक होगा, खासकर यदि आप इसे एक संदर्भ के साथ वापस कर सकते हैं।
बाइट कमांडर

IMHO nopti एक बेहतर विकल्प है
पैंथर

3
@ क्या मैं उस सलाह से सहमत हूं और इस तरह की सलाह मैंने खुद कहीं और दी है। उस के साथ, सवाल यह है कि यदि वांछित हो, तो इस नई सुरक्षा सुविधा को अक्षम कैसे करें और, IMO, nopti ऐसा करने का विकल्प है।
पैंथर

1
हाँ, वर्चुअल मशीनों का उपयोग करते समय इसने मेरे कुछ सिस्टम गतिविधियों को 99% तक धीमा कर दिया है। होस्ट से वर्चुअल मशीन में फाइल कॉपी करने में 2-3 सेकंड लगते थे अब इसमें एक मिनट का समय लगता है।
16

14

हालाँकि मैं इसकी अनुशंसा नहीं करता, लेकिन पीटीआई को निष्क्रिय करना संभव है

साथ रातें कर्नेल कमांड लाइन पैरामीटर

Phoronix के अनुसार ।

ऐसा करने के लिए, noptiउस लाइन के बगल में स्ट्रिंग के साथ संलग्न करें जो शुरू होता GRUB_CMDLINE_LINUX_DEFAULTहै /etc/default/grubऔर फिर चल रहा है

sudo update-grub

इसके बाद पुनः आरंभ करें।

प्रदर्शन-प्रासंगिक सुरक्षा सुविधाओं को अक्षम करने के लिए कर्नेल बूट मापदंडों के बारे में अधिक, देखें: उबंटू विकी में स्पेक्टर और मेल्टडाउन मिटिगेशन कंट्रोल्स


1
कर्नेल बूट परमोपेश और पीटीआई = के बीच अंतर क्या है ?
१।

@niutech में कोई अंतर नहीं है, सबूत के लिए आप यहाँ
nixpower

wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SpectreAndMeltdown/… "nopti" और अन्य का वर्णन करता है ..
alfonx


3

सबसे सरल तरीका: कर्नेल कॉन्फ़िगरेशन में अनचेक करें

-> सुरक्षा विकल्प

[] उपयोगकर्ता मोड में कर्नेल मैपिंग निकालें

फिर नए कर्नेल को संकलित करें


1
उबंटू पूछने के लिए आपका स्वागत है! इसके वर्तमान स्वरूप में आपका उत्तर उतना अच्छा नहीं है जितना कि यह हो सकता है। क्या आप समीक्षा कर सकते हैं कि कैसे एक अच्छा उत्तर लिखें , और सवाल और जवाब के लिए स्टाइल गाइड । - समीक्षा से
जे। स्टारनेस

2
अफसोस की बात है कि जे। स्टारनेस सही है। आप एक अंतिम अंतिम उपाय के अलावा अपने खुद के कर्नेल को अब संकलित नहीं करते हैं।
जोशुआ

यह कर्नेल विकल्पों के लिए एक बल्कि तुच्छ परिवर्तन है, लेकिन, IMO noptiशायद एक बेहतर / आसान विकल्प है।
पैंथर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.