স্ট্যাক ওভারফ্লোতে সর্বাধিক ব্যবহৃত জাভা কোড স্নিপেটে একটি ত্রুটি রয়েছে

জাভা

একটি গবেষণা প্রকাশিত অক্টোবর 2018 এমিরিকাল সফটওয়্যার ইঞ্জিনিয়ারিং ম্যাগাজিনে শিক্ষাবিদ সেবাস্তিয়ান বাল্টেস এবং স্টিফান ডিয়েল দ্বারা প্রকাশিত হয়েছে যে একটি কোড স্নিপেট সরবরাহ করেছে থেকে একটি প্রশ্নের উত্তর অ্যান্ড্রেস লুন্ডব্ল্যাড দ্বারা সেপ্টেম্বর 2010 এ স্ট্যাক ওভারফ্লো flow, পালাটিরে জাভা বিকাশকারী, এটি সম্প্রদায় প্ল্যাটফর্মে সর্বাধিক ব্যবহৃত জাভা কোড স্নিপেট।

যাইহোক, গত সপ্তাহে একটি পোস্টে, লুন্ডব্ল্যাড ব্যাখ্যা করেছিলেন যে কোডটি ত্রুটিযুক্ত এবং এটি ভুলভাবে বাইটের সংখ্যা রূপান্তর করছে মানব-পঠনযোগ্য ফর্ম্যাটগুলিতে। প্রশ্নে থাকা কোডটি এক হাজারেরও বেশি সুপারিশ সংগ্রহ করেছে এবং অনেক প্রকল্পে এটি অন্তর্ভুক্ত করা হয়েছে এবং প্রায় 7 হাজার বার গিটহাবের ভাণ্ডারগুলিতে রয়েছে।

এটি লক্ষণীয় ত্রুটি ব্যবহারকারীদের দ্বারা পাওয়া যায় নি যারা তাদের প্রকল্পে এই কোড ব্যবহার করেছেন, তবে টিপটির মূল লেখক দ্বারা।

বিবেচিত কোডটি বাইট আকারকে পঠনযোগ্য আকারে রূপান্তর করেছে, উদাহরণস্বরূপ 110592 এ রূপান্তরিত "110.6 কেবি" বা "108.0 কিবি"। কোডটি আগে প্রস্তাবিত পরামর্শের বৈকল্পিক হিসাবে প্রস্তাবিত হয়েছিল, লগারিদম ব্যবহার করে অনুকূলিত করা হয়েছিল, যেখানে মানটি একটি চক্রের প্রাথমিক মানকে by দ্বারা ভাগ করে নির্ধারিত হয়েছিল10 18, 10 15, 10 12, 10 19, 10 6, 10 3 এবং 10 0 ″ , যদিও বিভাজকটি বাইটের মূল মানের থেকে বেশি।

অনুকূলিত সংস্করণে ভুল হিসাবের কারণে (দীর্ঘ মূল্য ওভারফ্লো), খুব বড় সংখ্যক প্রক্রিয়াজাতকরণের ফলাফল (এক্সাবাইট) বাস্তবের সাথে মিলে না।

লুন্ডব্ল্যাড ব্যাখ্যা করেছিলেন যে কোডটিতে একটি তুচ্ছ রূপান্তর ত্রুটি রয়েছে যা কেবলমাত্র কিছুটা ভুল ফাইল আকারের অনুমানের ফলস্বরূপ। বলেছিল, এটি অনুমান করা হয় যে এটি এর চেয়ে আরও খারাপ হত।

কোডটিতে সুরক্ষার দুর্বলতা থাকতে পারে, উদাহরণ স্বরূপ. যদি এটি হয় তবে সমস্ত দুর্বল অ্যাপ্লিকেশনগুলি মেরামত করতে কয়েক মাস বা কয়েক বছর লেগেছিল, ব্যবহারকারীদের আক্রমণে বহিষ্কার করে।

পরামর্শের লেখকও সমস্যার দিকে দৃষ্টি আকর্ষণ করার চেষ্টা করেছিলেন উত্সের রেফারেন্স ছাড়াই এবং লাইসেন্স নির্দিষ্ট না করে উদাহরণ ব্যবহার করতে।

“একাধিক মানব কোডারকে জড়িত সহযোগী অধিবেশনগুলিতে, আমরা সিডব্লিউই (সাধারণ দুর্বলতা বৃদ্ধি) নির্দেশাবলী অনুসারে সুরক্ষিত দুর্বলতার জন্য কোডের প্রতিটি অংশ ম্যানুয়ালি মূল্যায়ন করেছি।

কমপক্ষে একটি গিটহাব-হোস্টেড প্রকল্পে ব্যবহৃত 72,483 টি স্ক্যান কোড স্নিপেটের মধ্যে আমরা পেয়েছি 69 টি ধরণের শ্রেণিবদ্ধ মোট 29 টি সংবেদনশীল কোড স্নিপেট। অধ্যয়নরত অনেক কোড স্নিপেট এখনও ঠিক করা হয়নি, "গবেষকরা তাদের প্রতিবেদনে বলেছিলেন।

69 দুর্বল কোড স্নিপেটস স্ট্যাক ওভারফ্লোতে পাওয়া গেছে মোট 2859 গিটহাব প্রকল্পে পুনরায় ব্যবহার করা হয়েছে। স্ট্যাক ওভারফ্লোতে ভাগ করা কোড স্নিপেটের গুণমান উন্নত করতে, তারা একটি ব্রাউজার এক্সটেনশান তৈরি করেছে যা স্ট্যাক ওভারফ্লো ব্যবহারকারীদের প্ল্যাটফর্মে ডাউনলোড করার সময় স্নিপেটগুলিতে দুর্বলতার সন্ধান করতে দেয়।

তবে গবেষকদের সতর্কতা সত্ত্বেও, বিকাশকারীরা এখনও বিশ্লেষণ না করে স্ট্যাক ওভারফ্লো কোডটি তাদের প্রকল্পগুলিতে অনুলিপি করেন।

আশকান সামি, আইটি-র সহযোগী অধ্যাপক, ইঞ্জিনিয়ারিং এবং তথ্য প্রযুক্তি ইরানের শিরাজ বিশ্ববিদ্যালয়ে, এমনটাই জানিয়েছেন

“গবেষণাটি স্ট্যাক ওভারফ্লো থেকে গিটহাবের দিকে কীভাবে ত্রুটিযুক্ত কোড স্থানান্তরিত হয় তা যাচাই করার চেষ্টা করা হয়েছিল। মূলত আমরা যা দেখানোর চেষ্টা করেছি তা হ'ল স্ট্যাক ওভারফ্লো কোডটি ঘনিষ্ঠভাবে না দেখে ব্যবহার করা অ্যাপ্লিকেশন দুর্বলতার দিকে নিয়ে যেতে পারে, "সামি বলেছিলেন। অধ্যয়নটি 2017 সালের একাডেমিক নিবন্ধকেও বোঝায়।

এই নিবন্ধ অনুসারে, স্ট্যাক ওভারফ্লোতে পোস্ট করা 1161 নিরাপত্তাহীন কোড স্নিপেটগুলি গুগল প্লেতে উপলব্ধ 1.3 মিলিয়ন অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলিতে ব্যবহৃত হয়েছিল।

পূর্ববর্তী সমীক্ষা ছাড়াও, 46% বিকাশকারী যারা লেখককে উল্লেখ না করে স্ট্যাকওভারফ্লো কোড ব্যবহার করেছিলেন, 75% জানেন না যে কোডটি সিসি বাই-এসএ এর অধীনে লাইসেন্স করা হয়েছে এবং know know% জানেন না যে এটি গুণকের প্রয়োজন বোঝায়।

অন্যান্য গবেষণা থেকে প্রাপ্ত তথ্য অনুসারে, নমুনা কোডটি ব্যবহার করা কোডে থাকা বাগের ঝুঁকির সাথেই নয়, দুর্বলতার সাথেও জড়িত।

উদাহরণস্বরূপ, স্ট্যাকওভারফ্লোতে 72483 সি ++ কোডের নমুনাগুলি বিশ্লেষণ করার পরে, গবেষকরা সর্বাধিক জনপ্রিয় সুপারিশগুলির তালিকায় অন্তর্ভুক্ত samples৯ টি নমুনায় (যা 69%) গুরুতর দুর্বলতাগুলি সনাক্ত করেছেন।

উৎস: https://programming.guide


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।