পাইথনের অফিসিয়াল লাইব্রেরিতে পাওয়া গেলো ম্যালিসিয়াস!!!

টিউন বিভাগ খবর
প্রকাশিত

ছোটবেলায় বাংলা ব্যাকরণের ধ্বনির পরিবর্তন বেশ মজা লাগতো। যেমন:

স্কুল > ইস্কুল; পিশাচ > পিচাশ; স্পর্ধা > আস্পর্ধা; এরকম আরো অনেক শব্দ।

তবে ভালো লাগতো এ কারণে যে একটু বেমানান শোনালেও এগুলো নিয়মের মধ্যেই ছিল। বুঝতাম ধ্বনির পরিবর্তন কীভাবে হয়। বাংলাদেশে জন্মানোর সুবাদে বড় বেলায় এসে আরো অনেককিছুই দেখতে হলো। তবে এগুলো কোনো নিয়মের মধ্যে ছিলো না। যেমন:

NOKIA > NOKLA; SAMSUNG > SAMSONG; Apex > Adex; Bata > Bala এরকম আরো অনেক কিছু। শব্দগুলোর উপর দিয়ে দ্রুত চোখ নিয়ে গেলে বোঝার উপায় নেই সেটা আসলে মূল পণ্যের নাম নাকি পরিবর্তিত নাম।

প্রযুক্তি নিয়ে পড়ে থাকার সুবাদে, ফিশিং সাইট নিয়ে যখন জানলাম তখন আবার চোখে পড়লো আরো অনেক কিছু। যেমন: facebook.com > faeebook.com; gmail.com (g-m-a-i-এল) > gmaiI.com (g-m-a-i-আই)এরকম আরো বহু।

হঠাৎ করে দেখলে মনে হবে মূল সাইটটিই। কিন্তু আসলে তা ফিশিং সাইট। মৃদু পরিবর্তন করা হয়েছে যা প্রথমবার দেখার সময় অতোটা পরিবর্তন চোখে পড়ে না। প্রত্যেকটা জিনিসই যদি নিয়মমাফিক হয়ে থাকে তাহলে আমার কোনো আপত্তি নেই। কারোরই আপত্তি থাকার কথা না। কিন্তু ভুল করে যদি এরকম কিছু হয়ে যায় তাহলে তার প্রভাব বেশ মারাত্মক। যার খেসারত দিতে হচ্ছে পাইথন (Python) কে। তো চলুন দেখে নেয়া যাক পাইথনে আসলে ঠিক কী ঘটেছে।

স্লোভাকিয়া’র একটি কম্পিউটার নিরাপত্তা প্রতিষ্ঠান সতর্কবাণী প্রচার করেছে যে, পাইথন এর অফিসিয়াল লাইব্রেরিতে কিছু মডিফায়েড কোড প্যাকেজ যুক্ত করা হয়েছে। তারা এটাও বলেছে যে কিছু অসচেতন ডেভেলপাররা গত তিনমাস ধরে ভুল করে প্যাকেজটি ডাউনলোড করে সফটওয়্যারে ব্যবহার করে আসছে।

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

পাইথন এর প্যাকেজ ইনডেক্স কে সংক্ষেপে বলা হয় ‘পাই পাই’(PyPI)।

স্লোভাক কর্তৃপক্ষ আরো জানান যে তারা ইতোমধ্যেই ব্যাপারটি পাইথন কর্তৃপক্ষকে অবহিত করেছেন এবং এরপর সকল মডিফায়েড প্যাকেজগুলো সরানো হয়েছে। আর এগুলো সরানোর ফলে সেটা মূল সার্ভারে কোনো প্রভাব ফেলবে না। তারা ডেভেলপারদের বারবার করে বলেছেন যে তাদের কোনো সার্ভারে এই মডিফায়েড প্যাকেজটির কোনো অস্তিত্ব আছে কিনা।

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

বৃহস্পতিবারের ঠিক পরেই সেখানকার কর্মী ও গবেষক বেঞ্জামিন ব্যাচ এবং সাংবাদিক হ্যানো বক্‌ ঘোষণা করে দেন যে, তারা এ ধরনের আক্রান্ত আরো ২০ লাইব্রেরি পেয়েছিলেন। তারা সেগুলোকে পরিবর্তন করে দেন। কারণ, এই প্যাকেজগুলো অন্য একটি সার্ভারের সাথে যুক্ত ছিল যা ডেভেলপারদের আইপি অ্যাড্রেস জমা করতো। কয়েক মিনিটের মধ্যেই লাইব্রেরিগুলো নতুন করে ইন্সটল দেয়া হয়। ফলাফলে দেখা যায় প্যাকেজগুলো মাত্র ২ দিনের ব্যাবধানে ৭ হাজার বারেরও বেশি বার ডাউনলোড হয়েছিল!!!

স্ট্যান্ডার্ড পাইথন লাইব্রেরিগুলো কোনো থার্ড পার্টি স্টোর প্যাকেজ থেকে পাইথন-এ যুক্ত করা হয় না। যুক্ত করা হয় পাইথন-এর অফিসিয়াল কোনো স্টোর থেকে। তবে বৃহস্পতিবারের বক্তব্যের পর শুক্রবারের ঘোষণাতে বলা হয় যে এ ঘটনায় প্রমাণ হয় যে ডেভেলপাররা ভালভাবে কাজ করছে না।

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

বক্ গত শুক্রবার বলেন,

“কোনো সিস্টেমকে কম সময়ে কাবু করার এটা হলো সহজতম পদ্ধতি। আর এখন, সমস্যাটা একদম কমে এসেছে। তাই এখন থেকে এ ধরনের সমস্যা পাইথন ব্যবহারকারীরা উপেক্ষাই করবে। তারপরও আমাদের আলোচনায় বসতে হবে যে এর সবচেয়ে ভাল সমাধানটা কী হয়”।

শনিবার সকালে পাইথনের অ্যাডমিনরা প্রায় ২০ টির মতো সর্বাধিক ডাউনলোডকৃত পাইথন প্যাকেজগুলো নিশ্চিহ্ন করে দেন। তবে এটা এখনও পরিষ্কার না যে PyPI সত্যিসত্যিই নতুন প্যাকেজেগুলোকে আগের নাম ব্যবহারে বাঁধা দিচ্ছে কিনা।

ঘটনার সূত্রপাত

গতবছর এরকমই একটা ঘটনা ঘটেছিল জার্মানিতে। হ্যামবার্গ ইউনিভার্সিটির ছাত্র নিকোলাই ফিলিপ থ্যাচার তার ব্যাচেলর থিসিজ-এর কাজে PyPI-তে প্যাকেজগুলো আপলোড করে। সেই সাথে আরো দুটি লাইব্রেরিতেও সেটা যোগ করে। অন্যান্য সবাই যে প্যাকেজটি সাবমিট করেছিল, প্রায় হুবহু একই নামে সে প্যাকেজটি সাবমিট করে।

সেই সাথে সে এমন কিছু কোড যুক্ত করে যার মাধ্যমে ডেভেলপারকে ট্র্যাক করা যায়। মাত্র এক মাসের ব্যবধানে তার এই মডিফায়েড কোডটি ৪৫ হাজার জায়গায় চালু করা হয়। এর মধ্যে ১৭ হাজার ছিল আলাদা আলাদা ডোমেইনে। আর প্রায় অর্ধেক ক্ষেত্রে এমন হয়েছে যে তার কোডটির মাধ্যমে প্রায় সব ধরনের অ্যাডমিনিস্ট্রেটিভ সুবিধা পাওয়া যেত।

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

“বেঞ্জামিন (ব্যাচ) পাইথন নিরাপত্তা দল ও ডেভেলপারদের এই বিষয় নিয়ে বোঝানোর চেষ্টা করেন কিন্তু এতে করে তাদের ভিতর কোনোরুপ প্রতিক্রিয়া লক্ষ করা যায় নি”।

এই সমস্যাটি হয়েছে মূলত পাইথন অ্যাডমিন ও ডেভেলপারদের নির্বুদ্ধিতার কারণে যারা প্যাকেজটিকে যাচাই বাছাই না করেই ব্যবহার করেছে। অফিসিয়াল যে প্যাকেজটি সবচেয়ে বেশি ব্যবহৃত হয় তা চালু করার সময় কোনো প্রকার ক্রিপ্টোগ্রাফিক সিগনেচার দরকার হয় না। বক্‌ বলেন যে PyPI বর্তমানে আক্রান্ত প্যাকেজগুলোর ব্যবহার বন্ধের জন্য কাজ করছে। তবে দুজনেই মনে করেন এর জন্য আরো বিস্তারিত কোনো সমাধান দরকার।

পরিশেষে, টেকটিউনস হলো বিজ্ঞান ও প্রযুক্তি সম্পর্কে জানার এক সুবিশাল প্ল্যাটফর্ম।প্রতিনিয়তই থাকবেন নতুন নতুন জ্ঞানের মধ্যে। জানবেন অজানাকে। তবে হ্যাঁ। শুধু জেনেই বসে থাকবেন না। এই জ্ঞানগুলো ছড়িয়ে দিন তাদের নিকট যাদের কাছে এই টিউনগুলো পৌঁছানো সম্ভব হয় না। জ্ঞান নিজের কাছে রাখার জিনিস না। ছড়িয়ে দিন আশেপাশে যারা আছে সবার মাঝে। প্রযুক্তিকে ভালবাসুন, প্রযুক্তির সাথে থাকুন। টেকটিউনসের সাথে থাকুন।

আজকের মতো এ পর্যন্তই। সামনে আবারও হাজির হবো নতুন কোনো তথ্য নিয়ে। আর টিউনটি কেমন লাগলো জানাতে ভুলবেন না। টিউন বিষয়ে কোনো প্রশ্ন থাকলে নিচে টিউমেন্ট বক্সে প্রশ্নটি করুন। এছাড়াও ফেইসবুকে আমার সাথে যোগাযোগ করতে পারেন।

ফেইসবুকে আমি: Mamun Mehedee

Level 2

আমি মামুন মেহেদী। Civil Engineer, The Builders, Bogra। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 10 বছর 9 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 92 টি টিউন ও 360 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 12 ফলোয়ার আছে এবং আমি টেকটিউনসে 1 টিউনারকে ফলো করি।

আমি আপনার অবহেলিত ও অপ্রকাশিত চিন্তার বহিঃপ্রকাশ।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

মামুন ভাই, আমি আপনার সাথে মিউজিক নিয়ে কিছু কথা বলতে চাই, কিভাবে যোগাযোগ করব?

    খুব একটা আর মিউজিক নিয়ে বসা হয় না। তারপরও, আপনার কোনো প্রশ্ন থাকলে তা আমাকে ফেইসবুকে ইনবক্স করতে পারেন।
    fb.com/Paakhy