स्टैक ओवरफ्लो पर सबसे अधिक इस्तेमाल किया जाने वाला जावा कोड स्निपेट में त्रुटि है

जावा

में प्रकाशित एक अध्ययन अक्टूबर 2018 अनुभवजन्य सॉफ्टवेयर इंजीनियरिंग पत्रिका में शिक्षाविदों द्वारा सेबस्टियन बाल्इट्स और स्टीफ़न डाइहाल पता चला कि एक कोड स्निपेट में प्रदान किया गया है से एक सवाल का जवाब सितंबर 2010 में एंड्रियास लुंडब्लैड द्वारा स्टैक ओवरफ्लो, जावा डेवलपर पलंतिर में, यह सामुदायिक मंच पर सबसे व्यापक रूप से उपयोग किया जाने वाला जावा कोड स्निपेट है।

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

यह उल्लेखनीय है कि उपयोगकर्ताओं द्वारा त्रुटि नहीं मिली जिन्होंने अपनी परियोजनाओं में इस कोड का उपयोग किया है, लेकिन टिप के मूल लेखक द्वारा।

माना गया कोड बाइट के आकार को पठनीय रूप में परिवर्तित करता है, उदाहरण के लिए 110592 में परिवर्तित "110.6 kB" या "108.0 KiB"। कोड को पहले से प्रस्तावित सलाह के एक प्रकार के रूप में प्रस्तावित किया गया था, जो लघुगणक का उपयोग करके अनुकूलित किया गया था, जिसमें मान को लूप में प्रारंभिक मूल्य को विभाजित करके निर्धारित किया गया था «10 18, 10 15, 10 12, 10 19, 10 6, 10 3 और 10 0, , जबकि भाजक मूल मूल्य बाइट्स से अधिक है।

अनुकूलित संस्करण में गलत गणना के कारण (लंबा मूल्य अतिप्रवाह), बहुत बड़ी संख्या में प्रसंस्करण का परिणाम है (exabytes) वास्तविकता के अनुरूप नहीं था।

लुंडब्लैड ने बताया कि कोड में एक तुच्छ रूपांतरण त्रुटि थी जो केवल थोड़े गलत फ़ाइल आकार के अनुमानों के परिणामस्वरूप थी। उस ने कहा, यह अनुमान है कि यह उससे भी बदतर होगा।

कोड में सुरक्षा भेद्यता हो सकती है, उदाहरण के लिए। अगर ऐसा होता, तो उपयोगकर्ताओं को हमलों के बारे में बताते हुए सभी संवेदनशील अनुप्रयोगों की मरम्मत में महीनों या वर्षों का समय लग जाता।

सलाह के लेखक ने समस्या पर ध्यान आकर्षित करने का भी प्रयास किया स्रोत के संदर्भ के बिना और लाइसेंस निर्दिष्ट किए बिना उदाहरणों का उपयोग करना।

“कई मानव कोडर वाले सहयोगी सत्रों में, हमने मैन्युअल रूप से CWE (सामान्य कमजोरी गणना) निर्देशों के अनुसार सुरक्षा कमजोरियों के लिए कोड के प्रत्येक टुकड़े का आकलन किया।

कम से कम एक GitHub- होस्ट प्रोजेक्ट में उपयोग किए गए 72,483 स्कैन किए गए कोड स्निपेट में से, हमने कुल 69 असुरक्षित कोड स्निपेट्स को 29 प्रकारों में वर्गीकृत किया। अध्ययन किए गए कई कोड स्निपेट्स अभी तक तय नहीं हैं, “शोधकर्ताओं ने अपनी रिपोर्ट में कहा।

69 असुरक्षित कोड स्निपेट स्टैक ओवरफ्लो पर पाया गया कुल 2859 गिटहब परियोजनाओं में पुन: उपयोग किया गया। स्टैक ओवरफ्लो पर साझा कोड स्निपेट्स की गुणवत्ता में सुधार करने के लिए, उन्होंने एक ब्राउज़र एक्सटेंशन विकसित किया है जो स्टैक ओवरफ्लो उपयोगकर्ताओं को स्निपेट्स में कमजोरियों के लिए खोज करने की अनुमति देता है जब वे उन्हें प्लेटफॉर्म पर डाउनलोड करते हैं।

हालांकि, शोधकर्ताओं के कैविट्स के बावजूद, डेवलपर्स अभी भी विश्लेषण किए बिना स्टैक ओवरफ्लो कोड को अपनी परियोजनाओं में कॉपी करते हैं।

अश्कान सामी, आईटी के एसोसिएट प्रोफेसर, इंजीनियरिंग और सूचना प्रौद्योगिकी ईरान में शिराज विश्वविद्यालय में, ने कहा कि

“शोध यह जांचने का एक प्रयास था कि स्टैक ओवरफ्लो से गिटहब तक कैसे दोषपूर्ण कोड माइग्रेट किया जाता है। मूल रूप से जो हम दिखाने की कोशिश कर रहे हैं, वह यह है कि स्टैक ओवरफ्लो कोड का उपयोग किए बिना इसे बारीकी से देखे बिना एप्लिकेशन कमजोरियों को जन्म दे सकता है, ”सामी ने कहा। अध्ययन 2017 से एक अकादमिक लेख को भी संदर्भित करता है।

इस लेख के अनुसार, स्टैक ओवरफ्लो पर पोस्ट किए गए 1161 असुरक्षित कोड स्निपेट्स का उपयोग Google Play पर उपलब्ध 1.3 मिलियन एंड्रॉइड ऐप में किया गया था।

पिछले अध्ययन के अलावा, 46% डेवलपर्स जिन्होंने लेखक को निर्दिष्ट किए बिना स्टैकओवरफ़्लो कोड का उपयोग किया था, 75% को यह पता नहीं था कि कोड को CC BY-SA के तहत लाइसेंस प्राप्त है और 67% को यह नहीं पता था कि इससे रोपण की आवश्यकता का पता चलता है।

अन्य अध्ययनों के आंकड़ों के अनुसार, नमूना कोड का उपयोग न केवल कोड में बग के जोखिम के साथ जुड़ा हुआ है, बल्कि कमजोरियों के साथ भी है।

उदाहरण के लिए, StackOverflow पर 72483 C ++ कोड नमूनों का विश्लेषण करने के बाद, शोधकर्ताओं ने 69 नमूनों में गंभीर भेद्यता की पहचान की (जो 0.09% है), सबसे लोकप्रिय सिफारिशों की सूची में शामिल है।

Fuente: https://programming.guide


पहली टिप्पणी करने के लिए

अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।