क्या बैश शेलशॉक बग के लिए मैक कमजोर हैं?


58

रेड हैट ने हाल ही में बैश शेल में सुरक्षा से संबंधित एक बड़े बग की घोषणा की । कुछ इसे "शेलशॉक" बग कह रहे हैं। चूंकि ओएस एक्स यूनिक्स से बना है, तो क्या यह बग का शोषण करने वाले हमलों के लिए कमजोर है?

एक अंतिम उपयोगकर्ता के रूप में, क्या मुझे तत्काल सुधार के बारे में चिंता करने की आवश्यकता है? या मेरे लिए ऐप्पल के आधिकारिक सॉफ़्टवेयर अपडेट की प्रतीक्षा करना बेहतर है?



यह देखने के लिए कि क्या क्रियाएं OSX को प्रभावित करती हैं, सुरक्षा
।stackexchange.com

प्रश्न को अपडेट किया है, इसलिए यह एक कम है और लेप्स के लिए सलाह के लिए अधिक अनुरोध है।
hairboat

1
Apple ने अब एक फिक्स जारी किया है: support.apple.com/kb/DL1769
AT

जवाबों:


46

हां आप तकनीकी रूप से कमजोर हैं। इसलिए अगर आपको घबराहट या कुछ घबराहट के काम के लिए घबराए हुए ग्राहक की बिलिंग करने का मन करता है, तो इसके लिए जाएं!

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

मतलब आपका डेस्कटॉप मैक-जो वास्तव में किसी भी तरह का सर्वर एप्लिकेशन नहीं चलाता है - किसी भी गंभीर जोखिम पर नहीं है। मैं यहां कुछ लौकिक "विनम्र पाई" खाने के लिए तैयार हूं, लेकिन मुझे नहीं लगता कि मैक उपयोगकर्ताओं के अधिकांश दिन के अंत में जोखिम में होंगे।

तो यह मुद्दा मुख्य रूप से मैक ओएस एक्स और यूनिक्स / लिनक्स सर्वरों पर सिस्टम प्रशासकों के लिए चिंता का विषय है, जो कि डेस्कटॉप उपयोगकर्ता नहीं हैं, जो एसएसएच साझाकरण को सक्षम नहीं करते हैं।

शायद इस जोखिम का फायदा उठाने के लिए किसी मैक मालवेयर या वायरस का एज रिस्क हो, लेकिन मुझे शक है।

संपादित करें: और यह विस्तृत करने के लिए कि यह मुद्दा कैसा है - मेरी विनम्र राय में - वास्तव में अधिकांश औसत उपयोगकर्ताओं के लिए एक मुद्दा नहीं है, हाँ मैं bashमैक ओएस एक्स 10.9.5 पर निम्न कमांड चला सकता हूं:

env x='() { :;}; echo vulnerable' bash -c 'echo hello'

और मैं यह देखता हूं:

vulnerable
hello

अंदाज़ा लगाओ? यह केवल भयानक है अगर आप तर्कसंगत रूप से यह नहीं सोचते हैं। मैं पहले से ही अपने मैक में लॉग इन किया गया था यहां तक ​​कि टर्मिनल खोलने के लिए। और ऊपर दिए गए SSH के बारे में मैंने जो कहा, उसे नकारने के लिए, यहां तक ​​कि मैं इस परीक्षण को चला सकता हूं, भले ही SSH सक्षम हो, फिर भी मुझे शुरू करने के लिए लॉग इन करना होगा। और फिर कहते हैं कि मैं SSH के माध्यम से पहुँच प्राप्त करता हूँ — कमांड मुझे अपने सामान्य उपयोगकर्ता अधिकारों जैसे कि पिछले कुछ भी करने की अनुमति नहीं देता है:

env x='() { :;}; echo vulnerable' bash -c 'cat /etc/ssh_host_rsa_key'

मतलब अगर आप वास्तव में इस हैक द्वारा शोषित होने के लिए असुरक्षित हैं, तो सिस्टम पर आपकी मुख्य सुरक्षा को इतना समझौता करना होगा कि जिस तथ्य bashमें दोष है वह वास्तव में आपके मुद्दों से बहुत कम है।

यह एक समग्र नियंत्रण और अधिकार के मुद्दे से एक चिंता का विषय है क्योंकि संभावित मानदंडों के बाहर व्यवहार के विस्तार के बाद से अनपेक्षित पहुंच की अनुमति देने की क्षमता है। लेकिन मेरी विनम्र राय में, यह ओपनएसएसएल या बगीचे की विविधता के बराबर नहीं है "मुझे मेरी स्क्रीन पर टैप किए गए नोट पर अपना पासवर्ड छोड़ने दें" जोखिम।

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

अद्यतन: Apple का आधिकारिक शब्द यहां पोस्ट किया गया है ; जोर मेरा:

Apple X के एक प्रवक्ता ने iMore को बताया , "OS X के अधिकांश उपयोगकर्ताओं को हाल ही में बश भेद्यता का खतरा नहीं है," कमजोर सिस्टम का नियंत्रण। ओएस एक्स के साथ, सिस्टम डिफ़ॉल्ट रूप से सुरक्षित हैं और बैश के दूरस्थ कारनामों के संपर्क में नहीं आते हैं जब तक कि उपयोगकर्ता उन्नत यूनिक्स सेवाओं को कॉन्फ़िगर नहीं करते हैं। हम अपने उन्नत यूनिक्स उपयोगकर्ताओं के लिए शीघ्रता से एक सॉफ्टवेयर अपडेट प्रदान करने के लिए काम कर रहे हैं। "

अनुवाद: क्या मैंने ऊपर कहा कि यह एक सर्वर समस्या है और ग्राहक समस्या नहीं है? ठीक ठीक।

एक अंतिम विवरण: स्रोत से संकलन के साथ संघर्ष कर रहे किसी के लिए, 29 सितंबर तक, Apple ने आधिकारिक तौर पर मैक ओएस एक्स 10.9.5, 10.8.5 के साथ-साथ 10.7.5 के लिए पैच जारी किए हैं:

YET ANOTHER FINAL UPDATE: और अब, Apple ने आज ही एक संयोजन सुरक्षा अद्यतन जारी किया है जिसमें bashअद्यतन भी शामिल है !

नोट: सुरक्षा अपडेट 2014-005 में ओएस एक्स बैश अपडेट 1.0 की सुरक्षा सामग्री शामिल है


7
"या एक वेब सर्वर जो सर्वर साइड स्क्रिप्टिंग चलाता है" - या एक एप्लिकेशन चल रहा है, एक खुले पोर्ट पर सुन रहा है जो आरपीसी कॉल करने की अनुमति देता है जो रनिंग शेल कमांड को समाप्त करता है। यह किसी भी संख्या में हो सकता है क्योंकि बहुत सारे मानक अनुप्रयोग हैं जो उनके आरपीसी करते हैं। मुझे लगता है कि यह उत्तर बहुत भोला है। अनजाने में किसी क्लाइंट-सर्वर प्रकार की चीज को करने वाले एप्लिकेशन को चलाने के दौरान अनजाने में "वेब सर्वर चलाना" करना बहुत आसान है।
इयान सी

3
@IanC। क्या आप एक उदाहरण प्रदान कर सकते हैं जहाँ बॉक्स से बाहर OS X वास्तव में असुरक्षित होगा? उदाहरण के लिए WebEx या GotoMeeting जैसी कोई चीज़ भी बैश क्षमताओं के पास आएगी? मुद्दा यह है कि मैं एक सादे ओएस एक्स इंस्टाल परिदृश्य के बारे में नहीं सोच सकता जो वास्तव में चीजों को उजागर करेगा। क्या आप?
जेकलॉल्ड

8
अतिथि खाता ssh के लिए उपलब्ध नहीं है। वास्तव में, इसे ssh, IIRC को उपलब्ध कराना भी संभव नहीं है। तथ्य यह है कि, ओएस एक्स उपयोगकर्ताओं के विशाल बहुमत के लिए, बैश भेद्यता बिल्कुल भी एक मुद्दा नहीं है। हममें से जहां यह एक मुद्दा है, हमें एक परीक्षण फिक्स उपलब्ध होते ही बैश को फिर से शुरू करने की जरूरत है, लेकिन अभी ऐसा नहीं है।
lbutlr

3
@IanC। ठीक है, निष्पक्ष उदाहरण। लेकिन आप अभी भी इस बिंदु को याद कर रहे हैं: आपके द्वारा प्रदान किए जा रहे प्रत्येक उदाहरण में कोई इस तरह की भेद्यता का फायदा कैसे उठा सकता है? प्रत्येक मामले में एक उपयोगकर्ता को सिस्टम के उपयोग की आवश्यकता होगी और तब क्या होगा? मैं इस बारे में फ़्लिप नहीं कर रहा हूं, लेकिन मैं अभी भी समझ नहीं पाया कि वास्तव में जोखिम क्या होगा? उदाहरण के लिए, किसी ने अपने रास्ते को खराब करने के लिए Plex API को गढ़ा होगा, तब सामान्य उपयोगकर्ता अधिकारों और पहुंच विशेषाधिकारों के बाहर कुछ करने के लिए वास्तव में क्या करना चाहिए?
जेकगॉल्ड

6
@danielAzuelos "जब तक अतिथि खाता खुला है तब तक हर कोई असुरक्षित है: [!" अतिथि खाते का कोई लेना-देना नहीं है bash। तो डर क्या वास्तव में पर आधारित है? इसके अलावा, यहां तक ​​कि अगर अतिथि खाता खुला है और किसी तरह bashउपयोग करने योग्य है, तो क्या? मैं इस कारनामे का उपयोग करते हुए जो अनुमान लगा रहा हूं, वह उन्नत विशेषाधिकार या कुछ भी नहीं होगा। गंभीरता से, मैं अपने रुख से पीछे हटने को तैयार हूं, लेकिन ऐसा लगता है कि घबराहट ज्यादा नहीं पर आधारित है, जबकि ओपनएसएसएल एक वास्तविक मुद्दा था।
जेकगॉल्ड

37

हाँ!

इसे अपने शेल में टाइप करें

env x='() { :;}; echo vulnerable' bash -c 'echo hello'

अगर यह कहता है vulnerableतो आप कमजोर हैं।

अगर यह कहे

bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
hello

तो आप अच्छे हैं।

संपादित करें: तय करने के लिए लिंक


4
धन्यवाद। मैंने सवाल को अपडेट किया - अगर हम पाते हैं कि हम कमजोर हैं, तो मैक उपयोगकर्ता इसे कैसे ठीक कर सकता है?
hairboat

3
@abbyhairboat ने मेरा जवाब पोस्ट किया। जब तक आप बाहरी दुनिया के संपर्क में आने वाला सर्वर नहीं चला रहे हैं, कोई व्यावहारिक जोखिम नहीं है। सर्वर प्रशासक वे हैं जिन्हें इस बारे में चिंता करने की आवश्यकता है।
जाकगोल्ड

1
→ abby: कृपया इस संबंधित उत्तर को देखें: apple.stackexchange.com/a/146851/22003
डेन

2
यह कोशिश करो env X="() { :;} ; echo busted" /bin/sh -c "echo completed"- मेरे सिस्टम को पैच करने के बाद भी, यह एक कमांड लाइन पर एक 'बस्टेड' खांसी करता है। बाह।
ट्रेन् फ्रैंक्स

1
@ मर्क नोप, zsh सुरक्षित है। आपको इसे परीक्षण करने के लिए "zsh -c" के साथ "bash -c" को बदलने की आवश्यकता है।
इस्माइल

3

एक के रूप में अंत उपयोगकर्ता , जाँच करें कि:

  • आपका अतिथि खाता बंद है:

    सिस्टम वरीयताएँ> उपयोगकर्ता और समूह> अतिथि उपयोगकर्ता
    
  • आपकी sshपहुंच बंद है:

    सिस्टम वरीयताएँ> साझाकरण> दूरस्थ लॉगिन
    

डिफ़ॉल्ट रूप से ये दोनों Mavericks पर बंद हैं।

एक अंतिम उपयोगकर्ता के रूप में , इस भेद्यता को ठीक करने वाले एक आधिकारिक Apple सुरक्षा अद्यतन की प्रतीक्षा करना सुरक्षितbash है।


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

मुझे गुस्सा आ रहा है Apple ने उन सेटिंग्स को बंद करने की सलाह नहीं दी। कौन उन्हें सक्षम करेगा? मैं। मैं १ ९ since६ से एक मैक उपयोगकर्ता हूं, एक पूर्णकालिक वेब एप्लिकेशन डेवलपर (ताकि ssh मेरी जिंदगी है), और एक पिता (इसलिए बच्चों के लिए एक अतिथि खाता इतना बुरा विचार नहीं है)। मैं बहुत से ऐसे लोगों को जानता हूं जो इन तरीकों से मेरे जैसे हैं जो Apple लैपटॉप का उपयोग करते हैं। हमें खोना चाहते हैं? इस भेद्यता को खुला छोड़ना एक अच्छा तरीका है।
मीनोप्रेत

2

सभी मैक ओएस एक्स मशीनें तकनीकी रूप से "शेलशॉक" की चपेट में हैं, जब तक कि ऐप्पल एक सुरक्षा अद्यतन जारी नहीं करता है जो बैश करता है, लेकिन ।।

आपका प्रश्न यह होना चाहिए: क्या मुझे दूर से हैक किया जा सकता है?

इतना साफ्टवेयर है कि bashअनुपस्थित दिमाग का उपयोग करता है कि उस प्रश्न का उत्तर देना बेहद कठिन है। यदि आप चिंतित हैं तो मैं System Preferencesदूरस्थ कारनामों को रोकने के लिए कई बदलाव सुझाऊंगा:

  • साझाकरण प्राथमिकता के तहत सभी साझाकरण सेवाएँ अक्षम करें।
  • सुरक्षा और गोपनीयता के तहत फ़ायरवॉल सक्षम करें।

यदि आप विशेष रूप से चिंतित हैं तो Firewallविकल्प बटन दबाएं:

  • अनचेक करें Automatically allow signed software to receive incoming connections
  • जाँच करें Block all incoming connections

अभी भी एक सम्मानजनक मौका है कि आप डीएचसीपी, बोंजोर, आदि का उपयोग कर एक स्तर के हमले के प्रति संवेदनशील हैं, लेकिन हे अगर आपको एक और सेवा की आवश्यकता है, तो जाहिर है कि आप इसे चलाना छोड़ सकते हैं, जबकि आप आशा करते हैं कि यह शोषित नहीं होगा। और आपको फ़ायरवॉल को और भी खुला छोड़ना होगा। यदि आप मशीन से किसी अन्य फ़ायरवॉल के पीछे रहते हैं तो यह ठीक होगा।

इसके अलावा, क्या स्थानीय विशेषाधिकार वृद्धि "शेलशॉक?" द्वारा सक्षम हैं, हाँ, लगभग निश्चित रूप से। मुझे चिंता नहीं होगी क्योंकि मैक ओएस एक्स में पर्याप्त समान हमले हैं। Apple स्थानीय विशेषाधिकार वृद्धि के बग को शीघ्रता से पैच नहीं करता है। और Apple उन्हें अक्सर Apple स्क्रिप्ट सक्षम सेवाओं के साथ बनाता है। बस मान लें कि सभी मैक ओएस एक्स मशीनें हमेशा स्थानीय हमलों की चपेट में हैं। यदि आपको DEFCON जैसे हैकर सम्मेलनों में भाग लेने की आवश्यकता है तो उस प्रयोजन के लिए अपने आप को एक लिनक्स बॉक्स खरीदें।

अद्यतन: अपने स्वयं के निश्चित बैश और अन्य प्रश्नों को भी कवर करने के निर्देश हैं। मैं खुद ऐसा करूंगा, लेकिन अगर आप कोई सर्वर नहीं चलाते हैं और Apple का फ़ायरवॉल किसी भी तरह चालू रखते हैं, तो IMHO ओवरकिल हो जाएगा।

अद्यतन: यदि आप टर्मिनल उपयोग के साथ सहज हैं, तो यहां एक कार्यक्रम का execsnoopउल्लेख किया गया है जो आपको यह जांचने देगा कि क्या आमतौर पर आपके सर्वर प्रक्रियाओं द्वारा बैश को बुलाया जाता है। मैजिक बुलेट नहीं है क्योंकि सर्वर प्रक्रिया केवल असामान्य स्थितियों में बैश कह सकती है, लेकिन यह आपको एक अच्छा विचार देगा।

अंत में, Apple सुरक्षा भेद्यताओं को पैच करने के बारे में बहुत अच्छा नहीं है, लेकिन वे पीआर में अच्छे हैं, इसलिए यह अपेक्षाकृत तेज़ हो जाएगा। इसलिए यह सोचना उचित है कि "मुझे भालू की तुलना में तेज़ दौड़ने की ज़रूरत नहीं है, मुझे केवल इंटरनेट पर बड़ी संख्या में आसानी से शोषक सर्वरों की तुलना में तेज़ दौड़ने की ज़रूरत है"। :)


2
कोई मौका नहीं है कि मैक डीएचसीपी का उपयोग करते हुए एक हमले के लिए असुरक्षित हैं, क्योंकि यह बैश का उपयोग नहीं करता है।

1
तुम्हें कैसे पता? प्रारंभिक सलाहकार एक कमजोर डीएचसीपी ग्राहक था। और कई लेख अनुमान लगाते हैं कि मैक ओएस एक्स और / या आईओएस डीएचसीपी क्लाइंट असुरक्षित हो सकते हैं। सभी सर्वरों को तब तक असुरक्षित माना जाना चाहिए जब तक कि अन्यथा सिद्ध न हो।
जेफ बर्गेज

1
नहीं, उन्हें नहीं होना चाहिए; वह पूर्ण FUD है। आप OS X के dhcp कार्यान्वयन के लिए दोनों ओपन सोर्स कोड की जांच कर सकते हैं और माप सकते हैं कि सिस्टम स्वयं को सत्यापित करने के लिए कहता है।

3
@JeffBurdges, OS X ने डीएचसीपी के साथ 10.3 के बाद से शेल निष्पादन का उपयोग नहीं किया है, और इससे पहले कि सिस्टम पर बैश स्थापित नहीं किया गया था। ओएस एक्स पर डीएचसीपी शेलशॉक के साथ सिर्फ एक मुद्दा नहीं है। (एक कम बात है जिसके बारे में चिंता करें। :))
ट्रैन फ्रैंक्स

1
→ जेफ: कृपया विचार करें: strings /usr/libexec/bootpd | egrep '/bin|bash'और nm -a /usr/libexec/bootpd | egrep 'fork|exec'। MacOS X के विभिन्न संस्करणों पर इन कमांड आउटपुट को पढ़कर, आप dhcpdMacOS X पर होने के कारण अपने जोखिम विश्लेषण पर पुनर्विचार कर सकते हैं ... लेकिन यह अकेले :(।
dan

2

इस भेद्यता के बारे में सुनते ही मैंने यह उपकरण बनाया । यह आपके शेल को पैच करने के लिए एक लेख के लिंक के साथ प्रदान करेगा यदि उपकरण निर्धारित करता है कि आप असुरक्षित हैं।

Mac OS X 10.6 और ऊपर की आवश्यकता है।


3
हो सकता है कि यह सिर्फ मैं ही हो ... लेकिन किसी बेतरतीब व्यक्ति के कोड को किसी शोषण के लिए परीक्षण करने का विचार बस एक बहुत बुरा विचार लगता है जब आप आसानी से एक स्ट्रिंग पेस्ट कर सकते हैं (यह स्पष्ट रूप से केवल परीक्षण और कुछ भी नहीं चल रहा है) टर्मिनल विंडो।
जो

मैं सहमत हूँ, यही कारण है कि स्रोत code.google.com/p/shellshock-check
थॉमस जोन्स

कभी-कभी हालांकि, यह कई प्रणालियों के परीक्षण के लिए आसानी से उपयोग की पेशकश कर सकता है।
थॉमस जोन्स

मुझे इस चीज का लाभ नहीं दिख रहा है। टर्मिनल विंडो में एक साधारण कमांड लाइन चिपकाने से भेद्यता की जाँच करना बहुत आसान होता है।
अल्बर्ट गॉडफ्राइंड

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