জুলাই ৩০ থেকে সমন্বিত আক্রমণ শুরু হওয়ার পর থেকে, কোল্ডকার্ড হার্ডওয়্যার ওয়ালেটে একটি দুর্বলতা একটি প্রায় ১,৩৬৭ BTC, যা প্রায় ৮৯ মিলিয়ন ডলারের সমান, ৪,৫০০-এরও বেশি ঠিকানা থেকে চুরি করেছে। মার্চ ২০২১ থেকে ফার্মওয়্যারে নিঃশব্দে অবস্থানরত এই বাগটি ওয়ালেট সিড তৈরির জন্য ব্যবহৃত র্যান্ডমনেসকে এতটাই দুর্বল করে দিয়েছিল যে আক্রমণকারীরা শেষপর্যন্ত এগুলি ভাঙতে সক্ষম হয়েছিল।
ফাউন্ডেশন ডিভাইসেসের সিইও জ্যাক হারবার্ট বিটকয়েন ওয়ালেট কোডের ওপেন-সোর্স প্রকৃতিকে কারণ হিসেবে উল্লেখ করেন যে এর কারণে সম্প্রদায় সমস্যাটি শনাক্ত করতে এবং এত দ্রুত প্রতিক্রিয়া জানাতে সক্ষম হয়েছিল। তাঁর যুক্তি: প্রপ্রাইটারি ফার্মওয়্যার সমস্যাটি খুঁজে পাওয়াকে আরও কঠিন করত এবং ঠিক করাকেও আরও কঠিন করত।
কোল্ডকার্ডের ফার্মওয়্যারের ভিতরে কী ভুল হয়েছিল
যখন আপনি একটি হার্ডওয়্যার ওয়ালেট সেটআপ করেন, তখন ডিভাইসটি একটি “সিড” তৈরি করে, যা আপনার সমস্ত বিটকয়েনের মাস্টার কী। সেই সিডটি র্যান্ডম হতে হবে। শিল্পের মানদণ্ড হল 128 বিট এনট্রপি, যা ব্যবহারিকভাবে বোঝায় যে সম্ভাব্য সিডের সংখ্যা এতটাই অসীমভাবে বড় যে সঠিক সিডের দিকে ব্রুট-ফোর্স করতে বিশ্বের বয়সের চেয়েও বেশি সময় লাগবে।
কানাডিয়ান প্রস্তুতকারক কোইনকাইট দ্বারা মার্চ ২০২১-এ প্রকাশিত কোল্ডকার্ডের ফার্মওয়্যার সংস্করণ 4.0.1-এ একটি গুরুতর কোড পুনর্লিখনের সময় একটি বাগ চালু হয়। প্রভাবিত ডিভাইসগুলি, বিশেষ করে Mk2 এবং Mk3 মডেলগুলি, 128 বিট এনট্রপি সহ সিড তৈরির পরিবর্তে প্রায় 72 বিট সিড উৎপাদন করেছিল।
যদি আপনি ক্রিপ্টোগ্রাফার না হন, তবে ১২৮ বিট এবং ৭২ বিট এনট্রপির মধ্যে পার্থক্য ক্ষুদ্র মনে হতে পারে। কিন্তু এটি এমন নয়। প্রতিটি অনুপস্থিত বিট সম্ভাব্যতার সংখ্যাকে অর্ধেক করে দেয়। ৫৬ বিট হারানোর মানে হলো অনুসন্ধানের স্থান প্রায় ৭২ কোটি কোটি গুণ কমে গেছে। এটিই সেই গণিত, যা একটি তাত্ত্বিক দুর্বলতাকে ব্যবহারিক একটি দুর্বলতায় পরিণত করে।
আক্রমণ এবং প্রতিক্রিয়া
৩০ জুলাই, ২০২৬-এ দুর্বলতা ব্যবহার করে সমন্বিত আক্রমণ শুরু হয়। কয়েক দিনের মধ্যে, প্রভাবিত ফার্মওয়্যার সংস্করণে তৈরি করা ওয়ালেটগুলি থেকে প্রায় ১,৩৬৭ BTC সরিয়ে নেওয়া হয়। সেই সময়, এই অর্জনের মূল্য প্রায় ৮৯ মিলিয়ন ডলার ছিল।
4,500-এর বেশি আলাদা ঠিকানায় ড্রেনের গতি নির্দেশ করে যে আক্রমণকারীরা কিছুক্ষণ ধরে প্রস্তুতি নিচ্ছিল, সম্ভবত দ্রুত ক্রমাগত চুরি করার আগেই ভাজনযোগ্য বীজগুলি পূর্বে গণনা করে রেখেছিল।
কোইনকাইট ৩১ জুলাই প্যাচড ফার্মওয়্যার প্রকাশ করে, আক্রমণগুলি স্পষ্ট হওয়ার একদিন পরে। এই সংশোধনগুলি Mk4 এবং Mk5 ডিভাইসের জন্য ভার্সন 5.6.0, Q মডেলের জন্য ভার্সন 1.5.0Q এবং পুরনো Mk3-এর জন্য ভার্সন 4.2.0 হিসাবে আসে। কিন্তু ফার্মওয়্যার আপডেট করাই সমস্যাটি সমাধান করে না। যারা ভালভাবে সংবেদনশীল ফার্মওয়্যারে সিড তৈরি করেছিলেন, তাদের এখনও সম্পূর্ণ নতুন সিডে স্থানান্তরিত হতে হবে, কারণ পুরনো সিডগুলি এখনও দুর্বল, যদিও ডিভাইসটি এখন কোনও সফটওয়্যার চলছে।
অন্তত ৫০টি স্বাধীন ন্যায্য ডাইস রোল ব্যবহার করে তৈরি সিডগুলি প্রভাবিত হয়নি। 4.0.1-এর আগের ফার্মওয়্যার সংস্করণে তৈরি সিডগুলিও প্রভাবিত হয়নি। এই দুর্বলতাটি 2021 সালের পুনর্লিখনে যোগ করা এনট্রপি জেনারেশন কোডের সাথে সীমাবদ্ধ ছিল।
ওপেন-সোর্স যুক্তি
ফাউন্ডেশন ডিভাইসেস পরিচালনা করেন জ্যাক হারবার্ট, যিনি একটি প্রতিদ্বন্দ্বী হার্ডওয়্যার ওয়ালেট তৈরি করেন, তিনি ঘটনাটির উপর মন্তব্য করে বলেন যে ওপেন-সোর্স কোড সম্প্রদায়ের দ্রুত প্রতিক্রিয়ার ক্ষমতার কেন্দ্রীয় অংশ। তাঁর অবস্থানটি সরল: যখন ওয়ালেট ফার্মওয়্যার পাবলিকলি অডিটযোগ্য, তখন ভুলগুলি দ্রুত খুঁজে পাওয়া যায়, প্যাচগুলি ডিপ্লয়মেন্টের আগে পরীক্ষা করা হয়, এবং সমগ্র বাস্তুতন্ত্রটি সমষ্টিগত পর্যবেক্ষণের মাধ্যমে লাভবান হয়।
ওপেন সোর্স কোড বিটকয়েন সম্প্রদায়কে দ্রুত প্রতিক্রিয়া জানাতে সাহায্য করে এবং ভবিষ্যতের নিরাপত্তা ঘটনা প্রতিরোধ করতে পারে।
Foundation Devices এর Passport ওয়ালেট হলো Coldcard-এর সরাসরি প্রতিদ্বন্দ্বী। এই ভালনারেবিলিটি পাঁচ বছরেরও বেশি সময় ধরে প্রোডাকশন ফার্মওয়্যারে ছিল যতক্ষণ না এটি ব্যবহার করা হয়। আক্রমণ থেকে ঠিক করা পর্যন্ত মাত্র একদিনের দ্রুত প্যাচ টার্নারাউন্ড — এটি সমর্থন করে যে স্বচ্ছ কোডবেসগুলি ঘটনা প্রতিক্রিয়াকে ত্বরান্বিত করে।
হার্ডওয়্যার ওয়ালেট ব্যবহারকারীদের জন্য এটির অর্থ কী
মার্চ 2021 এর পরে জেনারেট করা সিড ব্যবহার করে এমন ব্যবহারকারীদের জন্য, কাজের তালিকা স্পষ্ট: ফার্মওয়্যার তাত্ক্ষণিকভাবে আপডেট করুন এবং আরও গুরুত্বপূর্ণভাবে, সম্পূর্ণ নতুন সিড জেনারেট করুন। একটি নতুন সিডে স্থানান্তর না করে শুধুমাত্র ফার্মওয়্যার প্যাচ করলে মূল দুর্বলতা অক্ষুণ্ণ থাকে। যারা তাদের সিড জেনারেশনের জন্য কমপক্ষে ৫০টি স্বতন্ত্র ও নিরপেক্ষ ডাইস রোল ব্যবহার করেছিলেন, তারা কখনই ডিভাইসের অভ্যন্তরীণ র্যান্ডম নম্বর জেনারেটরের উপর নির্ভরশীল ছিলেন না এবং এই সমস্যা থেকে অপ্রভাবিত।

