ধরুন আপনার প্রতিষ্ঠানের পুরো সফটওয়্যার স্ট্যাক নিরাপদ ভেবে আপনি নিশ্চিন্তে ঘুমাচ্ছেন, আর ঠিক তখনই জানতে পারলেন — যে লাইব্রেরিটার নামই আপনি কখনো শোনেননি, সেটাই আপনার পুরো সিস্টেমকে বিশ্বের যেকোনো আক্রমণকারীর সামনে দরজা খুলে দিয়ে বসে আছে। ২০২১ সালের ৯ ডিসেম্বর রাতে ঠিক এই আতঙ্কের ভেতর দিয়েই গিয়েছিল বিশ্বজুড়ে সাইবার নিরাপত্তা দলগুলো। একটা টুইট থেকে জানা যায়, Apache Log4j নামের একটি অত্যন্ত সাধারণ জাভা লগিং লাইব্রেরিতে ধরা পড়েছে ভয়াবহ দূরবর্তী কোড-এক্সিকিউশনদূরবর্তী কোড-এক্সিকিউশনআক্রমণকারী দূর থেকেই লক্ষ্যের সিস্টেমে নিজের ইচ্ছেমতো কোড চালাতে পারে এমন দুর্বলতা দুর্বলতা — CVE-2021-44228CVE-2021-44228পরিচিত সফটওয়্যার দুর্বলতা শনাক্তকরণের জন্য বরাদ্দ আন্তর্জাতিক আইডি নম্বর, CVSSCVSSএকটি দুর্বলতার তীব্রতা ০ থেকে ১০-এর মধ্যে পরিমাপের আন্তর্জাতিক মানদণ্ড স্কেলে সর্বোচ্চ ১০.০ রেটিং। দুর্বলতাটার ডাকনাম হয়ে যায় "Log4Shell"। চার বছর পরে আজও অনেক প্রতিষ্ঠান এর ছায়া থেকে পুরোপুরি বের হতে পারেনি — এটাই এই ঘটনার আসল ভয়াবহতা বোঝায়।

ত্রুটিটার শেকড় ছিল Log4j 2.x-এর JNDI (Java Naming and Directory Interface)JNDI (Java Naming and Directory Interface)জাভা অ্যাপ্লিকেশনকে দূরবর্তী সার্ভার থেকে ডেটা বা রিসোর্স খুঁজে আনার সুবিধা দেয় এমন একটি জাভা ফিচার লুকআপ ফিচারে। ব্যাপারটা এতটাই সহজ ছিল যে আক্রমণকারী শুধু লগে একটা বিশেষ স্ট্রিং পাঠিয়েই দূরবর্তী সার্ভার থেকে ক্ষতিকর কোড লোড করিয়ে সরাসরি চালিয়ে দিতে পারত। Log4j 2.14.1 বা তার আগের সব সংস্করণ ছিল প্রভাবিত — অর্থাৎ ব্যবহারকারীর সংখ্যা গুনতে বসলে সেটা কোটি ছাড়িয়ে যায়।

কেন এত দ্রুত ছড়িয়ে পড়ল আতঙ্ক?

দুর্বলতা প্রকাশের কয়েক ঘণ্টার মধ্যেই স্বয়ংক্রিয় স্ক্যানিং শুরু হয়ে যায়। Cloudflare জানায়, সর্বোচ্চ সময়ে তারা প্রতি মিনিটে বিশ হাজারের বেশি স্ক্যান-প্রচেষ্টা দেখেছে। এটা কোনো বিচ্ছিন্ন সমস্যা ছিল না — ব্যাংক, সরকারি দপ্তর, AWS ও Azure-এর মতো ক্লাউড সেবা, এমনকি Minecraft গেম সার্ভারেও ত্রুটিটা ছিল। কারণটা সহজ: জাভা পৃথিবীর সবচেয়ে বেশি ব্যবহৃত এন্টারপ্রাইজ প্ল্যাটফর্ম, আর Log4j সেই বিশ্বের কার্যত ডিফল্ট লগিং লাইব্রেরি। যখন একটা লাইব্রেরি এতটা সর্বব্যাপী হয়ে যায়, তার একটা ত্রুটিও তখন আর "একটা বাগ" থাকে না — পুরো ইন্টারনেটের সমস্যা হয়ে দাঁড়ায়।

একটা প্যাচে কেন থামল না ব্যাপারটা?

Apache Foundation প্রথমে ছাড়ে সংস্করণ 2.15.0, কিন্তু সেই প্যাচও ছিল অসম্পূর্ণ। এরপর আসে 2.16 — JNDI লুকআপ সম্পূর্ণ নিষ্ক্রিয় করা হয়। অবশেষে 2.17.0 সংস্করণে সমস্যাটা পুরোপুরি সমাধান হয়। তিনবার প্যাচ লাগার এই ঘটনাটাই প্রমাণ করে — নিরাপত্তা দুর্বলতা খুঁজে বের করার চেয়ে সেটা বিশ্বের প্রতিটা কোণে ঠিকঠাক পৌঁছে দেওয়া অনেক বেশি কঠিন কাজ। যুক্তরাষ্ট্রের সাইবারসিকিউরিটি ও অবকাঠামো নিরাপত্তা সংস্থা (CISA)সাইবারসিকিউরিটি ও অবকাঠামো নিরাপত্তা সংস্থা (CISA)যুক্তরাষ্ট্রের যুক্তরাষ্ট্রীয় সাইবার নিরাপত্তা ও অবকাঠামো সুরক্ষা সংস্থা-র তৎকালীন পরিচালক জেন ইস্টারলি এই ঘটনাকে যেভাবে বর্ণনা করেছিলেন, তা আজও প্রাসঙ্গিক।

"কয়েক দশকের ক্যারিয়ারে এটি আমার দেখা সবচেয়ে গুরুতর দুর্বলতা।" — জেন ইস্টারলি, CISA

সরবরাহ-শৃঙ্খল নিরাপত্তা নিয়ে কেন নতুন করে ভাবতে হলো?

Log4Shell আসলে একটা বড় প্রশ্ন সামনে নিয়ে এসেছিল — আমরা কি জানি আমাদের নিজেদের সফটওয়্যারে ঠিক কোন কোন ওপেন-সোর্স লাইব্রেরি বসে আছে? বেশিরভাগ প্রতিষ্ঠানের উত্তর ছিল, না। এই উপলব্ধিটাই সরবরাহ-শৃঙ্খল নিরাপত্তার প্রশ্নটাকে বিশ্বব্যাপী নীতিনির্ধারণের কেন্দ্রে নিয়ে আসে।

  • মার্কিন প্রেসিডেন্ট বাইডেন স্বাক্ষরিত Executive Order 14028 (২০২১) ফেডারেল প্রতিষ্ঠানের জন্য SBOM (Software Bill of Materials)SBOM (Software Bill of Materials)একটি সফটওয়্যারে ব্যবহৃত সব উপাদান লাইব্রেরির তালিকা, যা সরবরাহ-শৃঙ্খলের ঝুঁকি যাচাইয়ে সাহায্য করে বাধ্যতামূলক করার পথ খুলে দেয়।
  • ইউরোপীয় ইউনিয়নের Cyber Resilience Act-এর আলোচনা শুরু হয়, যা ডিজিটাল পণ্যের জন্য ন্যূনতম নিরাপত্তা মানদণ্ড নির্ধারণ করবে।
  • ওপেনএসএসএফ (OpenSSF)-এর মতো সংস্থা ওপেন-সোর্স প্রকল্পগুলোর নিরাপত্তা স্কোরকার্ড উদ্যোগ শুরু করে।

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

বাংলাদেশ কতটা প্রস্তুত ছিল?

সত্যি বলতে, বাংলাদেশের প্রতিক্রিয়া প্রশংসনীয় গতিতেই এসেছিল। বাংলাদেশ ব্যাংক ২০২১ সালের ১৩ ডিসেম্বর দেশের সকল তফসিলি ব্যাংকের উদ্দেশে জরুরি সাইবার সতর্কতা জারি করে, অবিলম্বে Log4j সংস্করণ পরীক্ষা ও প্যাচ প্রয়োগের নির্দেশ দেয়। BGD e-GOV CIRT এবং bdCERT পৃথকভাবে সরকারি প্রতিষ্ঠান ও বেসরকারি খাতের আইটি দলগুলোর জন্য নির্দেশিকা প্রকাশ করে। স্থানীয় ব্যাংক, টেলকো ও ই-কমার্স প্ল্যাটফর্মের আইটি দলগুলো কয়েকদিনের মধ্যেই জরুরি প্যাচিং চালায়।

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

চার বছর পরও কেন বাতাসে দুর্বলতা রয়ে গেছে?

বিশ্বের বড় বড় দুর্বলতা-স্ক্যানিং প্ল্যাটফর্মের রিপোর্ট এখনো বলছে, ইন্টারনেটে প্রকাশিত অসংখ্য সার্ভারে Log4j-এর প্রভাবিত সংস্করণ চলছে। কারণটা একাধিক — কিছু প্রতিষ্ঠান নিজেদের ইনভেন্টরিই জানে না, কিছু প্রতিষ্ঠান ভেন্ডরের আপডেটের অপেক্ষায় বসে আছে, আবার কিছু এম্বেডেড ডিভাইস — যেমন নেটওয়ার্ক অ্যাপ্লায়েন্স — কখনোই আর আপডেট পাবে না। এই বাস্তবতাটাই বলে দেয়, একটা দুর্বলতা "সমাধান" হওয়া আর সেই সমাধান বিশ্বের প্রতিটা কোণে পৌঁছানো — এই দুইয়ের মধ্যে ফারাক কতটা বিশাল।

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

একটা খোলা-উৎসের লগিং লাইব্রেরি কীভাবে রাতারাতি বিশ্বব্যাপী সংকট তৈরি করতে পারে — Log4Shell তার সবচেয়ে বড় প্রমাণ। ভবিষ্যতের পরবর্তী "১০.০" আসবেই, এটা প্রশ্ন নয়। প্রশ্ন হলো, আমরা সেদিন কতটা প্রস্তুত থাকব — আর প্রস্তুতি নেওয়ার সময়টা আজই।