केसीएसएएन वापरुन Google ला लिनक्स कर्नलमध्ये शेकडो शर्यतींचा शोध लागला

लिनक्स कर्नल

गूगल अभियंते जे लिनक्स कर्नलमध्ये योगदान देतात केसीएएसएएन वापरुन त्यांनी कर्नलमध्ये शेकडो "रेस शर्ती" शोधल्या असल्याचे घोषित केले आहे. कोडमध्ये असुरक्षित वर्तनासाठी मेमरी भ्रष्टाचाराशी संबंधित किंवा अविभाजित बीहेव्हियरसॅनिटायझरशी संबंधित त्रुटी शोधण्यासाठी कंपनी दीर्घकाळ अ‍ॅड्रेससॅनिटायझरवर काम करत आहे.

यावेळी, केसीएएसएएन नावाच्या लिनक्स कर्नलसाठी Google एक नवीन “रेस कंडिशन्स” डिटेक्टर ऑफर करते (कर्नल कॉंकुरन्सी सॅनिटायझर). या गंभीर असुरक्षा नवीन नाहीत. खरं तर जेव्हा एकाच प्रक्रियेत दोन किंवा अधिक थ्रेड एकाच मेमरी स्थानावर एकाच वेळी प्रवेश करतात तेव्हा शर्यतीची परिस्थिती निर्माण होते, जेथे प्रवेशांपैकी किमान एक लिहायचे आहे आणि जेव्हा थ्रेड्स या मेमरीमध्ये त्यांचे प्रवेश नियंत्रित करण्यासाठी अनन्य लॉक वापरत नाहीत.

जेव्हा या अटी पूर्ण केल्या जातात, तेव्हा प्रवेश ऑर्डर निरोधक नसतात आणि गणना या ऑर्डरवर अवलंबून एका धावण्यापासून दुसर्‍याकडे भिन्न परिणाम देऊ शकते.

शर्यतीची परिस्थिती वाढत्या प्रवेश त्रुटी म्हणून वाढत्या प्रमाणात पाहिली जात आहे आणि त्याचे डुप्लिकेट करणे कठीण आहे आणि समांतर कार्यक्रमांचे निदान. लिनक्स कर्नल ही एक मोठ्या प्रमाणावर सॉफ्टवेअर सिस्टम आहे, ज्यामध्ये थ्रेड-इंटेन्सिव्ह पॅरलॅलिझम आणि नॉन-डिट्रिमिनिस्टिक थ्रेड इंटरलीव्हिंग स्पर्धात्मक अटींच्या अधीन असतात.

काही स्पर्धात्मक परिस्थिती सौम्य असू शकतात, परंतु आतापर्यंत ओळखल्या गेलेल्या बर्‍याच चुका चुकीच्या मानल्या जातात.

लिनक्स कर्नल अशा प्रकारच्या परिस्थिती टाळण्यासाठी आणि व्यवस्थापित करण्यासाठी अनेक पद्धती पुरवते थ्रेड अ‍ॅनालायझर किंवा केटीएसएएन (कर्नल थ्रेड सॅनिटायझर) सारखी साधने असल्यामुळे लिनक्स कर्नलमध्ये गंभीर अंमलबजावणी त्रुटी शोधू शकतात.

तथापि, लिनक्सच्या कर्नलमध्ये योगदान देणार्‍या गुगलने अलीकडेच केसीएसएएन प्रस्तावित केले, केटीएसएएन प्रमाणेच कर्नलसाठी नवीन रेस कंडिशन्स डिटेक्टर.

गुगलच्या मते, केसीएसएएन कर्नल कोडमधील स्पर्धात्मक परिस्थिती शोधण्यावर लक्ष केंद्रित करते. हे डायनॅमिक क्रिटिकल हिट डिटेक्टर कर्नेल थ्रेड सॅनिटायझर (केटीएसएएन) चा पर्याय आहे.

गूगलच्या स्पष्टीकरणानुसार, केसीएसएएन नमूना मॉनिटरिंग पॉईंट्सवर आधारित आहे, केटीएसएएन डिटेक्टरच्या विपरीत, जो कार्यक्रमापूर्वी एक गंभीर रेस डिटेक्टर आहे. केसीएसएएन डिझाइनमधील मुख्य प्राधान्य म्हणजे खोट्या सकारात्मकतेची, स्केलेबिलिटीची आणि साधेपणाची कमतरता.

मेमरीमध्ये प्रवेश करण्यासाठी केसीएसएएन संकलित साधनांचा वापर करते. केसीएसएएन जीसीसी आणि क्लॅंग कंपाइलरशी सुसंगत आहे. जीसीसी सह, याची आवृत्ती 7.3.0 किंवा नंतरची आणि क्लॅंगसह आवश्यक आहे, यासाठी आवृत्ती 7.0.0 किंवा नंतरची आवृत्ती आवश्यक आहे.

प्रोजेक्टच्या गिटहब पृष्ठावरगुगलच्या मार्को एल्व्हरने लिहिले आहे की गेल्या महिन्यात चाचण्यांमध्ये केसीएसएएनचा वापर करून, त्यांना दोनच दिवसांत 300 पेक्षा जास्त अनन्य कोर स्पर्धा परिस्थिती आढळल्या. केसीएसएएन त्याच्या वर्तन सानुकूलित करण्यासाठी अनेक कॉन्फिगरेशन पर्याय पुरवतो.

“आम्ही कित्येक आठवड्यांपासून सिक्झालरच्या माध्यमातून केसीएसएएन वापरत आहोत आणि आम्हाला बर्‍याच बग्स सापडल्या आहेत. सुरुवातीला सप्टेंबर 2019 मध्ये आम्ही केवळ दोन दिवसांत 300 पेक्षा जास्त अनोखी स्पर्धा घटना ओळखल्या. ”त्यांनी लिहिले.

गूगल म्हणाले की सामान्य दृष्टीकोन डेटाकॉलीडरवर आधारित आहे, कर्नल विभागांमधील स्पर्धात्मक परिस्थितीचा आणखी एक डायनॅमिक डिटेक्टर. परंतु डेटाकॉलीडर विपरीत, केसीएसएएन हार्डवेअर मॉनिटरिंग पॉईंट वापरत नाही, त्याऐवजी ते संकलित साधनांवर अवलंबून असते.

मॉनिटरींग पॉईंट्स कार्यक्षम एन्कोडिंग वापरुन अंमलात आणले जातात जे प्रकार, आकार आणि accessक्सेस पत्ता लांब फाइलमध्ये ठेवतात. लवचिक मॉनिटरिंग पॉईंट्स वापरण्याचे फायदे म्हणजे पोर्टेबिलिटी आणि मॉनिटरींग पॉईंट सक्रिय करू शकणार्‍या प्रवेशास मर्यादित ठेवण्यात अधिक लवचिकता.

केसीएसएएनने Google साठी बनविलेले काही मुख्य मुद्दे येथे आहेतः

  • उच्च कार्यक्षमता: केसीएसएएन रनटाइम कमीतकमी आहे आणि प्रत्येक प्रवेशासाठी सामायिक केलेली राज्य लॉकिंगची आवश्यकता नाही. परिणाम केटीएसएएनपेक्षा बरेच चांगले प्रदर्शन आहे.
  • अतिरिक्त मेमरी नाही: Google च्या मते, कोणत्याही कॅशेची आवश्यकता नाही. सद्य अंमलबजावणी मॉनिटरींग पॉईंट माहिती एन्कोड करण्यासाठी कमी प्रमाणात लांबी वापरते, जी नगण्य आहे.
  • मेमरी आज्ञा: केसीएसएएनला लिनक्स कर्नल मेमरी मॉडेल (एलकेएमएम) नियंत्रण नियम माहित नाहीत. याचा परिणाम केटीएसएएनसारख्या प्री-इव्हेंट रेस डिटेक्टरच्या तुलनेत गंभीर शर्यती (खोटे नकारात्मक) गमावले जाऊ शकतात
  • अचूकता: Google च्या मते, केसीएसएएन चुकीचे आहे कारण ते एक नमुना धोरण वापरते;
  • भाष्य आवश्यकः केसीएसएएन रनटाइमच्या बाहेर किमान भाष्य आवश्यक आहे. प्री-कंडिशन इव्हेंट श्रोत्याच्या बाबतीत, कोणतीही चूक चुकीची सकारात्मकता ठरवते, जे कर्नलच्या संदर्भात विशेषत: महत्वाचे असते ज्यात सानुकूल वेळ यंत्रणेचा समावेश असतो.
  • डिव्‍हाइसेस वरून डायनॅमिक राइट्स शोधणे: वॉचपॉईंट सेटअप दरम्यान डेटा व्हॅल्यूज तपासून, डिव्हाइसद्वारे डायनॅमिक राइट्स देखील शोधले जाऊ शकतात.

आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटासाठी जबाबदार: AB इंटरनेट नेटवर्क 2008 SL
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.