কিছু ডেভেলপার ওপেন সোর্স সফটওয়্যারকে ফাউল করছে

gettyimages-1159346361-malicious-code-skull-crossbones.jpg

Getty ছবি

ওপেন-সোর্স সম্পর্কে সবচেয়ে আশ্চর্যজনক জিনিসগুলির মধ্যে একটি হল এটি দুর্দান্ত সফ্টওয়্যার তৈরি করে না। এটা হল যে অনেক ডেভেলপার অন্যদের সাহায্যে দুর্দান্ত প্রোগ্রাম তৈরি করতে তাদের অহংকারকে একপাশে রেখে দেয়। এখন, তবে, মুষ্টিমেয় কিছু প্রোগ্রামার তাদের নিজেদের উদ্বেগকে অনেকের ভালোর আগে এবং সম্ভাব্যভাবে সকলের জন্য ওপেন-সোর্স সফ্টওয়্যারকে নষ্ট করে দিচ্ছে।

উদাহরণস্বরূপ, জাভাস্ক্রিপ্টের প্যাকেজ ম্যানেজার রক্ষণাবেক্ষণকারী RIAEvangelist, ব্র্যান্ডন নোজাকি মিলার, শান্তিনোটওয়ার নামে একটি ওপেন-কোড এনপিএম সোর্স-কোড প্যাকেজ লিখেছেন এবং প্রকাশ করেছেন. এটি খুব কম করেছে কিন্তু ডেস্কটপে শান্তির জন্য একটি বার্তা প্রিন্ট করেছে। এখন পর্যন্ত, তাই নিরীহ. 

মিলার তারপর ব্যবহারকারীদের ফাইল সিস্টেম ওভাররাইট করতে প্যাকেজে দূষিত কোড সন্নিবেশ করান যদি তাদের কম্পিউটারে রাশিয়া বা বেলারুশ আইপি ঠিকানা থাকে। তারপরে তিনি এটিকে তার জনপ্রিয়তার নির্ভরতা হিসাবে যুক্ত করেছিলেন নোড-আইপিসি প্রোগ্রাম এবং তাত্ক্ষণিক বিশৃঙ্খলা! নতুন কোডে আপডেট হওয়ার সাথে সাথে অসংখ্য সার্ভার এবং পিসি ডাউন হয়ে যায় এবং তারপরে তাদের সিস্টেমগুলি তাদের ড্রাইভগুলি মুছে ফেলে। 

মিলারের প্রতিরক্ষা, "এই সব পাবলিক, নথিভুক্ত, লাইসেন্স এবং ওপেন সোর্স,” ধরে না। 

লিরান তাল, দ স্নিক সমস্যাটি উন্মোচনকারী গবেষক বলেছেন, "যদিও ইচ্ছাকৃত এবং বিপজ্জনক কাজটিকে কেউ কেউ প্রতিবাদের একটি বৈধ কাজ বলে মনে করেন, কিভাবে এটি রক্ষণাবেক্ষণকারীর ভবিষ্যত খ্যাতি প্রতিফলিত করে এবং বিকাশকারী সম্প্রদায়ের অংশীদারিত্ব? এই রক্ষণাবেক্ষণকারীকে কি আবার বিশ্বাস করা হবে যে তারা যে কোনো প্রকল্পে অংশ নেয় তার জন্য এই ধরনের বা আরও বেশি আক্রমনাত্মক কর্মকাণ্ডে ভবিষ্যতের কাজগুলি অনুসরণ করবে না?" 

মিলার একটি র্যান্ডম ক্র্যাঙ্ক নয়। তিনি অনেক ভালো কোড তৈরি করেছেন, যেমন নোড-আইপিসি, এবং নোড HTTP সার্ভার. কিন্তু, দূষিত না হতে আপনি তার কোড কোনো বিশ্বাস করতে পারেন? যখন তিনি এটি বর্ণনা করেন "ম্যালওয়্যার নয়, [কিন্তু] প্রতিবাদওয়্যার যা সম্পূর্ণ নথিভুক্ত"অন্যরা বিষাক্তভাবে একমত নয়। 

একজন গিটহাব প্রোগ্রামার যেমন লিখেছেন, "এর সাথে যা ঘটতে চলেছে তা হল যে পশ্চিমা কর্পোরেশনগুলির সুরক্ষা দলগুলি যাদের রাশিয়া বা রাজনীতির সাথে একেবারেই কোনও সম্পর্ক নেই তারা দেখতে শুরু করবে৷ বিনামূল্যে এবং ওপেন সোর্স সফ্টওয়্যার সরবরাহ চেইন আক্রমণের একটি উপায় হিসাবে (যা সম্পূর্ণরূপে এটি) এবং কেবল তাদের কোম্পানির মধ্যে বিনামূল্যে এবং ওপেন-সোর্স সফ্টওয়্যার - সমস্ত বিনামূল্যে এবং ওপেন-সোর্স সফ্টওয়্যার নিষিদ্ধ করা শুরু করুন।" 

nm17 হ্যান্ডেল সহ অন্য গিটহাব বিকাশকারী হিসাবে লিখেছেন, “The ওপেন সোর্সের ট্রাস্ট ফ্যাক্টর, যা ডেভেলপারদের ভালো ইচ্ছার উপর ভিত্তি করে ছিল এখন কার্যত চলে গেছে, এবং এখন, আরও বেশি সংখ্যক মানুষ উপলব্ধি করছে যে একদিন, তাদের লাইব্রেরি/অ্যাপ্লিকেশনকে সম্ভবত ইন্টারনেটে কিছু এলোমেলো দেব যা কিছু ভাবছেন তা করতে/বলতে ব্যবহার করা যেতে পারে। তাদের করা সঠিক কাজ ছিল।'

উভয়ই বৈধ পয়েন্ট তৈরি করে। আপনি যখন সোর্স কোড ব্যবহার করতে পারবেন না যদি না আপনি এর নির্মাতার রাজনৈতিক অবস্থানের সাথে একমত হন, আপনি কীভাবে এটি আত্মবিশ্বাসের সাথে ব্যবহার করতে পারেন? 

মিলারের হৃদয় সঠিক জায়গায় থাকতে পারে — স্লাভা ইউক্রেনি! — কিন্তু ওপেন-সোর্স সফ্টওয়্যার একটি দূষিত পেলোড দ্বারা সংক্রামিত ইউক্রেনে রাশিয়ার আক্রমণকে রক্ষা করার সঠিক উপায় কি? না এইটা না. 

ওপেন সোর্স পদ্ধতি শুধুমাত্র কাজ করে কারণ আমরা একে অপরকে বিশ্বাস করি। যখন সেই বিশ্বাস ভেঙ্গে যায়, যে কারণেই হোক না কেন, তখন ওপেন সোর্সের মৌলিক কাঠামো ভেঙ্গে যায়। স্থিতিশীল শাখার জন্য লিনাক্স কার্নেল রক্ষণাবেক্ষণকারী গ্রেগ ক্রোহ-হার্টম্যান বলেছেন, যখন মিনেসোটা বিশ্ববিদ্যালয়ের শিক্ষার্থীরা 2021 সালে একটি পরীক্ষার জন্য ইচ্ছাকৃতভাবে লিনাক্স কার্নেলে খারাপ কোড সন্নিবেশ করার চেষ্টা করেছিল তখন বলেছিল, "তারা যা করছে তা ইচ্ছাকৃতভাবে দূষিত আচরণ এবং গ্রহণযোগ্য নয় এবং সম্পূর্ণ অনৈতিক।”

লোকেরা দীর্ঘদিন ধরে যুক্তি দিয়েছিল যে ওপেন সোর্সে নৈতিক বিধানগুলিও অন্তর্ভুক্ত করা উচিত। উদাহরণস্বরূপ, 2009 এর ব্যতিক্রম সাধারণ পাবলিক লাইসেন্স (eGPL), একটি সংশোধন GPLv2, এর কোড ব্যবহার করা থেকে "ব্যতিক্রম" যেমন সামরিক ব্যবহারকারী এবং সরবরাহকারীদের নিষেধ করার চেষ্টা করেছে৷ ইহা ব্যর্থ. অন্যান্য লাইসেন্স যেমন JSON লাইসেন্স এর মিষ্টি নিরীহ "সফ্টওয়্যারটি ভালের জন্য ব্যবহার করা হবে, মন্দ নয়" ধারাটি এখনও আশেপাশে রয়েছে, কিন্তু কেউ এটি প্রয়োগ করে না।  

অতি সম্প্রতি, অ্যাক্টিভিস্ট এবং সফ্টওয়্যার ডেভেলপার কোরালাইন অ্যাডা এহমকে একটি ওপেন-সোর্স লাইসেন্স চালু করেছে যার জন্য ব্যবহারকারীদের নৈতিকভাবে কাজ করতে হবে। বিশেষ করে, তার হিপোক্রেটিক লাইসেন্স যোগ করা MIT ওপেন সোর্স লাইসেন্স একটি ধারা উল্লেখ করে: 

"সফ্টওয়্যারটি ব্যক্তি, কর্পোরেশন, সরকার বা অন্যান্য গোষ্ঠীগুলি দ্বারা এমন সিস্টেম বা ক্রিয়াকলাপের জন্য ব্যবহার করা যাবে না যা সক্রিয়ভাবে এবং জ্ঞাতসারে বিপন্ন, ক্ষতি বা অন্যথায় সুবিধাবঞ্চিত ব্যক্তি বা গোষ্ঠীর শারীরিক, মানসিক, অর্থনৈতিক বা সাধারণ মঙ্গলকে হুমকির মুখে ফেলে৷ জাতিসংঘের সর্বজনীন মানবাধিকার ঘোষণার লঙ্ঘন।

ভালো শোনাচ্ছে, কিন্তু এটা ওপেন সোর্স নয়। আপনি দেখতে পাচ্ছেন, ওপেন সোর্স নিজেই একটি নৈতিক অবস্থান। এর নীতিশাস্ত্রের মধ্যে রয়েছে ফ্রি সফটওয়্যার ফাউন্ডেশন (FSF)এর চারটি অপরিহার্য স্বাধীনতা. এটি সমস্ত ওপেন-সোর্স লাইসেন্স এবং তাদের মূল দর্শনের ভিত্তি। ওপেন সোর্স আইনি বিশেষজ্ঞ এবং কলম্বিয়ার আইনের অধ্যাপক ইবেন মোগলেন সেই সময়ে বলেছিলেন যে নৈতিক লাইসেন্সগুলি বিনামূল্যের সফ্টওয়্যার বা ওপেন-সোর্স লাইসেন্স হতে পারে না: 

"স্বাধীনতা শূন্য, যে কোনো উদ্দেশ্যে প্রোগ্রাম চালানোর অধিকার, চারটি স্বাধীনতার মধ্যে প্রথমে আসে কারণ ব্যবহারকারীদের যদি কম্পিউটার প্রোগ্রামের ক্ষেত্রে সেই অধিকার না থাকে, তবে শেষ পর্যন্ত তাদের সেই প্রোগ্রামগুলিতে কোনো অধিকার নেই। শুধুমাত্র ভাল ব্যবহারের জন্য অনুমতি দেওয়ার প্রচেষ্টা, বা লাইসেন্সদাতার দৃষ্টিতে খারাপগুলিকে নিষিদ্ধ করার জন্য, স্বাধীনতা শূন্য রক্ষার প্রয়োজনীয়তা লঙ্ঘন করে।" 

অন্য কথায়, আপনি যদি কোনো কারণে আপনার কোড শেয়ার করতে না পারেন, তাহলে আপনার কোড সত্যিই ওপেন সোর্স নয়। 

একটি গ্রুপকে ওপেন সোর্স সফ্টওয়্যার ব্যবহার করতে নিষেধ করার বিষয়ে আরও একটি বাস্তববাদী যুক্তি হল যে আইপি ঠিকানার মতো কিছুতে ব্লক করা একটি খুব বিস্তৃত ব্রাশ। ফ্লোরিয়ান রথ হিসাবে, নিরাপত্তা কোম্পানি নেক্সট্রন সিস্টেমসগবেষণা প্রধান, যিনি বিবেচনা করেন "সিস্টেমে আমার বিনামূল্যের টুল অক্ষম করা হচ্ছে নির্দিষ্ট ভাষা এবং টাইম জোন সেটিংস সহ,” অবশেষে সিদ্ধান্ত নিলাম না। কেন? কারণ এটি করার মাধ্যমে, "আমরা সমালোচক এবং মুক্তচিন্তকদের সিস্টেমের সরঞ্জামগুলিও নিষ্ক্রিয় করব৷ যারা তাদের সরকারের কর্মকাণ্ডের নিন্দা করে।” 

দুর্ভাগ্যবশত, ওপেন-সোর্স সফ্টওয়্যারের জন্য সমস্যা সৃষ্টিকারী উচ্চতর নৈতিক উদ্দেশ্য হিসেবে যা দেখেন তার জন্য ওপেন-সোর্স ব্যবহার করার চেষ্টা করে এমন নয়। 

এই বছরের শুরুর দিকে, জাভাস্ক্রিপ্ট ডেভেলপার মারাক স্কোয়ার্স ইচ্ছাকৃতভাবে তার অস্পষ্ট, কিন্তু অত্যন্ত গুরুত্বপূর্ণ ওপেন-সোর্স জাভাস্ক্রিপ্ট লাইব্রেরি 'colors.js' এবং 'faker.js' ধ্বংস করেছে। ফলাফল? কয়েক হাজার জাভাস্ক্রিপ্ট প্রোগ্রাম উড়িয়ে দিয়েছে।

কেন? এটি এখনও সম্পূর্ণরূপে পরিষ্কার নয়, তবে একটি মুছে ফেলা গিটহাব পোস্টে, স্কোয়ার্স লিখেছেন, "সম্মানিতভাবে, আমি আর Fortune 500s সমর্থন করতে যাচ্ছি না (এবং অন্যান্য ছোট-আকারের কোম্পানি) আমার বিনামূল্যের কাজের সাথে। আর বেশি কিছু বলার নেই। আমাকে একটি ছয় অঙ্কের বার্ষিক চুক্তি পাঠানোর বা প্রকল্পটি কাঁটাচামচ করার এবং অন্য কাউকে এটিতে কাজ করার সুযোগ হিসাবে নিন।" আপনি কল্পনা করতে পারেন, পেচেকের জন্য তার পথকে ব্ল্যাকমেইল করার এই প্রচেষ্টা তার পক্ষে এতটা ভাল কাজ করেনি। 

এবং, তারপরে এমন কিছু লোক রয়েছে যারা মজা এবং লাভের জন্য ইচ্ছাকৃতভাবে তাদের ওপেন-সোর্স কোডে ম্যালওয়্যার রাখে। উদাহরণস্বরূপ, DevOps নিরাপত্তা সংস্থা জেফ্রোগ NPM সংগ্রহস্থলে 17টি নতুন জাভাস্ক্রিপ্ট দূষিত প্যাকেজ আবিষ্কার করেছে যা ইচ্ছাকৃতভাবে আক্রমণ করে এবং ব্যবহারকারীর ডিসকর্ড টোকেন চুরি করে। এই তারপর ব্যবহার করা যেতে পারে ডিসকর্ড কমিউনিকেশনস এবং ডিজিটাল ডিস্ট্রিবিউশন প্ল্যাটফর্ম.

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

এই ধরনের প্রতিটি পদক্ষেপের সাথে, ওপেন-সোর্স সফ্টওয়্যারের উপর বিশ্বাস নষ্ট হয়ে যায়। যেহেতু ওপেন সোর্স আধুনিক বিশ্বের জন্য একেবারেই অত্যাবশ্যক, এটি একটি খারাপ প্রবণতা। 

এজন্য আমরা কি করতে পারি? ঠিক আছে, একটি জিনিসের জন্য, আমাদের অবশ্যই খুব সাবধানে বিবেচনা করা উচিত কখন, যদি কখনও, আমাদের ওপেন-সোর্স কোডের ব্যবহার ব্লক করা উচিত। 

আরো বাস্তবিকভাবে, আমরা অবশ্যই ব্যবহার গ্রহণ শুরু করতে হবে লিনাক্স ফাউন্ডেশনের সফ্টওয়্যার প্যাকেজ ডেটা এক্সচেঞ্জ (SPDX) এবং সফটওয়্যার বিল অফ ম্যাটেরিয়ালস (SBOM). এইগুলি একসাথে আমাদেরকে বলবে যে আমরা আমাদের প্রোগ্রামগুলিতে কোন কোড ব্যবহার করছি এবং এটি কোথা থেকে এসেছে। তারপর, আমরা অনেক বেশি সচেতন সিদ্ধান্ত নিতে সক্ষম হব।

আজ, প্রায়শই লোকেরা ওপেন-সোর্স কোড ব্যবহার করে তারা ঠিক কী চালাচ্ছে তা না জেনে বা সমস্যাগুলির জন্য এটি পরীক্ষা করে। তারা এটা দিয়ে সব ঠিক আছে অনুমান. এটি একটি স্মার্ট অনুমান ছিল না. আজ, এটা একেবারে বোকামি. 

এমনকি এই সমস্ত সাম্প্রতিক পরিবর্তনগুলির সাথেও, ব্ল্যাক-বক্স মালিকানাধীন সফ্টওয়্যার বিকল্পগুলির চেয়ে ওপেন সোর্স এখনও ভাল এবং নিরাপদ। কিন্তু, আমাদের অবশ্যই কোডটি অন্ধভাবে বিশ্বাস করার পরিবর্তে চেক এবং যাচাই করতে হবে। সামনে এগিয়ে যাওয়াই একমাত্র বুদ্ধিমানের কাজ।

সম্পর্কিত খবর:



উৎস