स्थिति: लिनक्स कर्नेल टीसीपी स्टैक में दो कमजोरियां बंद हो जाती हैं

इस महीने की शुरुआत में, सुरक्षा विशेषज्ञों ने लिनक्स कर्नेल में दो नई कमजोरियों की खोज की : सेगमेंटस्मैक और फ्रैगमेंटस्मैक। ये दोनों टीसीपी स्टैक के काम से संबंधित हैं और हमलावरों को पीड़ित के सिस्टम पर DoS और DDoS हमलों को अंजाम देने की अनुमति देते हैं। अधिकांश वितरण के लिए "पैच" पहले ही जारी किए जा चुके हैं।

कटौती के तहत - सार के बारे में अधिक।


/ फोटो एली ड्यूक सी.सी.

ये कमजोरियां खतरनाक क्यों हैं?


"बुराई की जड़" सेगमेंटस्मैक - फ़ंक्शन tcp_collapse_ofo_queue () और tcp_prune_ofo_queue ()। एक हमलावर पीड़ित के सर्वर, पर्सनल कंप्यूटर या मोबाइल डिवाइस पर भेजे गए विशेष रूप से संशोधित टीसीपी सेगमेंट का उपयोग करके उन्हें कॉल करता है।

इससे मेमोरी और प्रोसेसर संसाधनों का अत्यधिक उपयोग होता है। इस प्रकार, एक हैकर केवल 2 हजार पैकेट प्रति सेकंड के ट्रैफिक के साथ एक मेजबान या डिवाइस को "लटका" सकता है।

RedHat वेबसाइट इस तरह के हमले के परिणाम का एक उदाहरण प्रदान करती है । शीर्ष कमांड चार सीपीयू कोर और प्रोसेसिंग नेटवर्क पैकेट में देरी का पूरा भार दिखाता है:

$ top %Cpu25 : 0.0 us, 0.0 sy, 0.0 ni, 1.4 id, 0.0 wa, 0.0 hi, 98.5 si, 0.0 st %Cpu26 : 0.0 us, 0.0 sy, 0.0 ni, 1.4 id, 0.0 wa, 0.0 hi, 98.6 si, 0.0 st %Cpu28 : 0.0 us, 0.3 sy, 0.0 ni, 0.7 id, 0.0 wa, 0.0 hi, 99.0 si, 0.0 st %Cpu30 : 0.0 us, 0.0 sy, 0.0 ni, 1.4 id, 0.0 wa, 0.0 hi, 98.6 si, 0.0 st PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 141 root 20 0 0 0 0 R 97.3 0.0 1:16.33 ksoftirqd/26 151 root 20 0 0 0 0 R 97.3 0.0 1:16.68 ksoftirqd/28 136 root 20 0 0 0 0 R 97.0 0.0 0:39.09 ksoftirqd/25 161 root 20 0 0 0 0 R 97.0 0.0 1:16.48 ksoftirqd/30 

ध्यान दें कि "DoS राज्य" को बनाए रखने के लिए एक खुले टीसीपी सत्र की आवश्यकता होती है, इसलिए IP स्पूफिंग का उपयोग करके हमला नहीं किया जा सकता है।

FragmentSmack अटैक IP डेटाग्राम के विखंडन सुविधाओं का शोषण करता है । जब आईपी डाटाग्राम को लिंक लेयर पर प्रेषित किया जाता है, तो फ्रेम में फिट नहीं होने पर यह खंडित हो जाता है। इस प्रकार, यह टुकड़ों में प्रसारित होता है, और मेजबान फिर इसे एक साथ इकट्ठा करता है। हालाँकि, वह केवल अंतिम आरेख प्राप्त होने पर डेटाग्राम की अंतिम लंबाई जानता है।

हमलावर इस सुविधा का उपयोग करते हैं और खंड ऑफसेट मूल्यों को समायोजित करते हैं ताकि सर्वर प्रोसेसर लगातार आईपीवी 4 और आईपीवी 6 पैकेटों को इकट्ठा कर रहा है।

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

RedHat एक समान हमले का परिणाम भी देता है (कर्नेल 99% लोड होता है):

 top - 08:59:45 up 1:34, 2 users, load average: 0.39, 0.15, 0.08 %Cpu9 : 0.0 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi,100.0 si, 0.0 st PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 54 root 20 0 0 0 0 R 99.7 0.0 0:47.53 ksoftirqd/9 

ऐसी कमजोरियों को पहली बार नहीं खोजा गया है। नब्बे के दशक में, विंडोज NT 4.0, विंडोज 95 और लिनक्स कर्नेल संस्करणों में 2.0.32 तक एक समान बग पाया गया था। शोषण को एक अश्रु हमले के रूप में जाना जाता है - एक हमलावर ने एक लक्ष्य (नेटवर्क) डिवाइस को खंडित पैकेट भी भेजा, जिससे डीओएस पैदा हुआ। भेद्यता पैच किया गया था, लेकिन यह बाद में दिखाई दिया।

2009 में, बग को फिर से विंडोज 7 और विंडोज विस्टा में पाया गया।

किसको चोट लगी


FragmentSmack, लिनक्स कर्नेल के सभी संस्करणों को 3.9 से शुरू करने की धमकी देता है, और सेगमेंटस्मैक 4.9 के साथ धमकी देता है। आप उन विक्रेताओं की सूची पा सकते हैं जिनके सिस्टम में सीईआरटी की वेबसाइट पर ये कमजोरियां हैं।

पिछले हफ्ते, सिस्को ने बताया कि उनके ऑपरेटिंग सिस्टम AsyncOS पर SegmentSmack और FragmentSmack ने हमला किया था। इसलिए, कंपनी ने कई पैच जारी किए

जैसा कि सिस्को में उल्लेख किया गया है, कमजोरियों के "लक्षणों" को नेटस्टैट कमांड का उपयोग करके ट्रैक किया जा सकता है (उदाहरण के लिए समझौता अनुभाग के सिस्को वेबसाइट पर)। यदि कमांड आउटपुट CLOSE_WAIT स्थिति में बड़ी संख्या में टीसीपी कनेक्शन दिखाता है, तो डिवाइस इन कमजोरियों से प्रभावित होने की संभावना है।

क्या इलाज करें


कई वितरण के लिए सेगमेंटस्मैक पैच के बारे में विवरण पहले से ही सीवीई पर प्रकाशित किया गया है (उदाहरण के लिए, यहां Ubuntu 14.04 एलटीएस के लिए एक पैच है)। वहां आपको सभी लिनक्स वितरण के लिए निर्देश और पैच फाइलें मिलेंगी। फ्रेगमेंटस्मैक के रूप में, इस भेद्यता के खिलाफ पैच को पहले ही उबंटू, रेड हैट, डेबियन और एंड्रॉइड ओएस के डेवलपर्स द्वारा रोल आउट किया गया है।


/ फोटो क्रिस्टोफर मिशेल सीसी

FragmentSmack समस्या के लिए एक अस्थायी समाधान के रूप में (यदि पैच किसी कारण से स्थापित नहीं किया जा सकता है), तो आप क्रमशः net.ipv4.ipfrag_high_thresh और net.ipv4.ipfrag-low_thresh के मान को 256 और 192 KB पर बदल सकते हैं (4 एमबी और 3 एमबी के बजाय)।

पहला पैरामीटर खंडित पैकेट की कतार को आवंटित अधिकतम मात्रा में मेमोरी सेट करता है। यदि कतार की लंबाई इसे पार कर जाती है, तो टुकड़ा हैंडलर सभी पैकेटों को अनदेखा कर देगा, जब तक कि कतार की लंबाई ipfrag_low_thresh मान से कम न हो।

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



हम IT-GRAD - मुख्य क्षेत्रों में क्या करते हैं:

वर्चुअल इन्फ्रास्ट्रक्चर (IaaS)PCI DSS होस्टिंगक्लाउड FZ-152



हमारे IaaS ब्लॉग की अन्य सामग्री:



Source: https://habr.com/ru/post/hi421207/


All Articles