প্রযুক্তির দ্রুতগতির দুনিয়ায় আমরা ভবিষ্যৎ নিয়েই মগ্ন থাকি। প্রতিদিন অত্যাধুনিক কৃত্রিম বুদ্ধিমত্তা, কোয়ান্টাম-প্রতিরোধী ক্রিপ্টোগ্রাফি ও অতি-স্কেলযোগ্য ক্লাউড আর্কিটেকচার নিয়ে শিরোনাম আসে। অথচ আধুনিক কম্পিউটিংয়ের চকচকে পৃষ্ঠের নিচে লুকিয়ে আছে এক কঠিন বাস্তবতা: ডিজিটাল অবকাঠামো দাঁড়িয়ে আছে বালুর ভিত্তির ওপর, যা প্রায়ই কয়েক দশক আগে লেখা কোডের ঠেকনায় টিকে আছে।
মৌলিক অপারেটিং সিস্টেমে সাম্প্রতিক আবিষ্কার—ত্রিশ বছরেরও বেশি পুরোনো ভঙ্গুরতাসহ—কঠোরভাবে মনে করিয়ে দেয় যে বয়স মানেই নিরাপত্তা নয়। কোনো ত্রুটি যখন কয়েক দশক ধরে মূল কোডবেসে সুপ্ত থেকে তারপর আবিষ্কৃত হতে পারে, তখন নিরাপত্তা পেশাজীবী, ডেভেলপার ও আইটি সিদ্ধান্তগ্রহণকারীরা দীর্ঘদিনের ডিজিটাল সম্পদ কীভাবে অডিট, রক্ষণাবেক্ষণ ও সুরক্ষিত করবেন, তা নতুন করে ভাবতে বাধ্য হন।
এই লিগ্যাসি সফটওয়্যার ভঙ্গুরতাগুলো কেন টিকে থাকে, সিস্টেম নতুন করে লেখার একাধিক প্রজন্ম পেরিয়েও কীভাবে থেকে যায় এবং প্রতিষ্ঠানগুলো এগুলো থেকে কীভাবে নিজেদের রক্ষা করতে পারে, তা বোঝা যেকোনো আধুনিক নিরাপত্তা কৌশলের জন্য অপরিহার্য।
দীর্ঘজীবী কোড ভঙ্গুরতার গঠন
একটি ভঙ্গুরতা কীভাবে ত্রিশ বছর বা তারও বেশি টিকে থাকতে পারে তা বুঝতে হলে আমাদের সফটওয়্যার ডেভেলপমেন্টের জীবনচক্র দেখতে হবে। কোড খুব কমই শূন্যতায় লেখা হয়; বরং আধুনিক সিস্টেম গড়ে ওঠে মৌলিক ওপেন-সোর্স কার্নেল ও ইউটিলিটির ওপর অ্যাবস্ট্রাকশন, লাইব্রেরি ও মাইক্রোসার্ভিস স্তরে স্তরে সাজিয়ে।
১৯৮০-এর দশকের শেষ বা ১৯৯০-এর দশকে যখন কোনো অপারেটিং সিস্টেম বা প্রোটোকল তৈরি হয়েছিল, তখন হুমকির চিত্র ছিল সম্পূর্ণ ভিন্ন। নেটওয়ার্ক ছিল ছোট, বদ্ধ এবং একাডেমিক বা সরকারি নিয়ন্ত্রণে। নিরাপত্তাকে প্রায়ই পরে ভাবা বিষয় হিসেবে দেখা হতো—শারীরিক অ্যাক্সেস নিয়ন্ত্রণ ও মৌলিক ব্যবহারকারী প্রমাণীকরণের ব্যাপার—স্বয়ংক্রিয় ও বৈশ্বিক সাইবার অপরাধী চক্রের বিরুদ্ধে নিরন্তর লড়াই হিসেবে নয়।
এই কোডবেসগুলো বিবর্তিত হওয়ার সাথে সাথে ডেভেলপাররা ওপরের স্তরের লক্ষণগুলো প্যাচ করেছেন, ফিচার যোগ করেছেন এবং পারফরম্যান্স অপ্টিমাইজ করেছেন। তবুও মৌলিক ডিজাইন অনুমান—যেমন মেমরি কীভাবে সামলানো হয়, সুবিধা কীভাবে বাড়ানো হয় বা ডেটা ইনপুট কীভাবে পার্স করা হয়—প্রায়ই অপরিবর্তিত থেকে গেছে। সময়ের সাথে মূল লেখকরা অন্যত্র চলে গেছেন, ডকুমেন্টেশন ঝাপসা হয়েছে এবং কোড হয়ে উঠেছে "গোষ্ঠীগত জ্ঞান"। নির্ভরশীল সিস্টেম ভেঙে যাওয়ার ভয়ে কেউ চালু কোডে হাত দিতে চায়নি, ফলে অন্তর্নিহিত এজ-কেস ত্রুটিগুলো দিব্যি চোখের সামনেই লুকিয়ে থেকেছে।
কেন আধুনিক অডিট সবচেয়ে পুরোনো বাগগুলো মিস করে
এটা ভেবে নেওয়া সহজ যে উন্নত স্বয়ংক্রিয় স্ক্যানার ও কৃত্রিম বুদ্ধিমত্তাভিত্তিক কোড বিশ্লেষক কয়েক দশক পুরোনো বাগ সহজেই ধরে ফেলবে। দুর্ভাগ্যবশত, বাস্তবতা আরও জটিল।
স্বয়ংক্রিয় স্ট্যাটিক ও ডায়নামিক বিশ্লেষণ টুল সাধারণত SQL ইনজেকশন, ক্রস-সাইট স্ক্রিপ্টিং (XSS) বা হাই-লেভেল ফ্রেমওয়ার্কে স্ট্যান্ডার্ড বাফার ওভারফ্লোর মতো প্রচলিত, আধুনিক ভঙ্গুরতার শ্রেণি ধরার জন্য অপ্টিমাইজ করা। এগুলো পরিচিত আক্রমণ কৌশলের সাথে মেলে এমন প্যাটার্ন খোঁজে।
তবে লিগ্যাসি কার্নেল বাগ ও গভীর লজিক ত্রুটিতে প্রায়ই নিম্নস্তরের হার্ডওয়্যার নির্দেশনা, মেমরি ম্যানেজমেন্ট ইউনিট ও অস্পষ্ট সিস্টেম কলের জটিল মিথস্ক্রিয়া জড়িত থাকে। স্বয়ংক্রিয় স্ক্যানার এসব পরিস্থিতিকে নিরাপত্তা ঝুঁকির বদলে স্বাভাবিক কার্যক্রম হিসেবে চিহ্নিত করতে পারে। উপরন্তু, অপারেটিং সিস্টেমের বাকি অংশ এসব রুটিনকে অন্তর্নিহিতভাবে বিশ্বাস করে বলে নিরাপত্তা টুলিং প্রায়ই এগুলোকে ছাড় দেয়।
লিগ্যাসি ঝুঁকি কমাতে বাস্তব পদক্ষেপ
আপনি রাতারাতি প্রতিটি লিগ্যাসি সিস্টেম নতুন করে লিখতে পারবেন না, আবার বৈশ্বিক ইন্টারনেট চালানো মৌলিক সফটওয়্যারের ওপর নির্ভরতাও পুরোপুরি দূর করতে পারবেন না। তবে সুশৃঙ্খল নিরাপত্তা প্রকৌশলের মাধ্যমে গভীরে প্রোথিত ভঙ্গুরতার ঝুঁকি নাটকীয়ভাবে কমানো সম্ভব।
১. সমন্বিত সফটওয়্যার বিল অফ ম্যাটেরিয়ালস (SBOM) ট্র্যাকিং
আপনি কী চালাচ্ছেন তা না জানলে তা সুরক্ষিত করতে পারবেন না। অনেক প্রতিষ্ঠান "ডিপেন্ডেন্সি অন্ধত্বে" ভোগে, যেখানে তারা তালিকাভুক্ত না হওয়া থার্ড-পার্টি লাইব্রেরি, কন্টেইনার ইমেজ ও লিগ্যাসি বাইনারি ব্যবহার করে।
- নির্ভুল SBOM তৈরি করুন: আপনার পরিবেশে চালু প্রতিটি সফটওয়্যার কম্পোনেন্ট, ওপেন-সোর্স লাইব্রেরি ও কার্নেল সংস্করণের একটি সচল তালিকা রাখুন। ডিপেন্ডেন্সি অ্যালার্ট স্বয়ংক্রিয় করুন: আপনার SBOM-কে ভঙ্গুরতা ডেটাবেসের সাথে যুক্ত করুন, যাতে কোনো অজানা কম্পোনেন্ট চিহ্নিত হলেই আপনার টিম তাৎক্ষণিক বিজ্ঞপ্তি পায়।
2. জিরো-ট্রাস্ট নেটওয়ার্ক আর্কিটেকচার
লিগ্যাসি ভঙ্গুরতা প্রায়ই অন্তর্নিহিত বিশ্বাসের ওপর নির্ভর করে। আক্রমণকারী একবার পরিসীমা ভেদ করলে বা কম সুবিধাপ্রাপ্ত ব্যবহারকারী অ্যাকাউন্ট দখল করলে, কার্নেল-স্তরের বা সুবিধা-বৃদ্ধির বাগ তাকে মেশিনের পূর্ণ নিয়ন্ত্রণ নিতে দেয়।
- অভ্যন্তরীণ নেটওয়ার্ক বিভক্ত করুন: আপনার অবকাঠামোকে মাইক্রো-সেগমেন্টে ভাগ করে ল্যাটারাল মুভমেন্ট ঠেকান। ন্যূনতম সুবিধার নীতি কার্যকর করুন: নিশ্চিত করুন ব্যবহারকারী, সার্ভিস ও কন্টেইনার কেবল কাজ সম্পন্ন করার জন্য প্রয়োজনীয় সর্বনিম্ন অনুমতি নিয়ে চলে।
৩. কঠোর আধুনিক কোড রিভিউ ও ফাজ টেস্টিং
ফাজ টেস্টিং—ক্র্যাশ ঘটানোর জন্য সফটওয়্যারের ইনপুটে ত্রুটিপূর্ণ, অপ্রত্যাশিত বা এলোমেলো ডেটা স্বয়ংক্রিয়ভাবে প্রবেশ করানো—লিগ্যাসি পার্সার ও সিস্টেম কলে এজ-কেস লজিক ত্রুটি খুঁজে পেতে অসাধারণ কার্যকর।
- গুরুত্বপূর্ণ ইন্টারফেসে ফাজ করুন: অভ্যন্তরীণ API, নেটওয়ার্ক ডেমন এবং অবিশ্বস্ত ডেটা প্রক্রিয়াকারী সিস্টেম কম্পোনেন্টে নিরবচ্ছিন্ন ফাজ টেস্টিং প্রয়োগ করুন। মূল কম্পোনেন্টকে অগ্রাধিকার দিন: আপনার নিরাপত্তা গবেষণা ও ম্যানুয়াল কোড রিভিউয়ের সম্পদ শুধু ব্যবহারকারীমুখী ওয়েব অ্যাপ্লিকেশনে নয়, মৌলিক লাইব্রেরিতেও নিয়োগ করুন।
৪. পরিকল্পিত অপ্রচলন ও আধুনিকায়নের রোডম্যাপ
কখনো কখনো পুরোনো ভঙ্গুরতার একমাত্র প্রকৃত সমাধান হলো পুরোনো কোড সম্পূর্ণ বাদ দেওয়া।
- এন্ড-অফ-লাইফ অবস্থা অডিট করুন: যেসব সফটওয়্যার কম্পোনেন্ট নির্মাতারা আর সক্রিয়ভাবে রক্ষণাবেক্ষণ করেন না, সেগুলো চিহ্নিত করুন। মাইগ্রেশন সময়রেখা তৈরি করুন: গুরুত্বপূর্ণ ওয়ার্কফ্লো মেমরি-নিরাপদ ভাষায় বা সক্রিয়ভাবে রক্ষণাবেক্ষণ করা আধুনিক বিকল্পে স্থানান্তরের জন্য ধাপে ধাপে রোডম্যাপ তৈরি করুন।
উপসংহার
প্রাচীন কার্নেল বাগ ও গভীরে লুকানো লিগ্যাসি ভঙ্গুরতা আবিষ্কার আমাদের হতাশ করা উচিত নয়, বরং কাজে নামার ডাক হওয়া উচিত। এটি মনে করিয়ে দেয় যে ডিজিটাল নিরাপত্তা এমন কোনো গন্তব্য নয় যেখানে সর্বশেষ ক্লাউড স্ট্যাক বা AI টুল গ্রহণ করলেই একবার পৌঁছানো যায়; এটি রক্ষণাবেক্ষণ, নিরীক্ষা ও বিনয়ের এক নিরন্তর, প্রজন্মব্যাপী চর্চা।
আমাদের লিগ্যাসি অবকাঠামোর সবচেয়ে অন্ধকার কোণে আলো ফেলে, কঠোর অ্যাসেট ট্র্যাকিং অনুশীলন করে এবং জিরো-ট্রাস্ট মানসিকতা গ্রহণ করে প্রযুক্তি নেতারা এমন স্থিতিস্থাপক সিস্টেম গড়তে পারেন, যা আজকের হুমকি এবং কয়েক দশক আগের ভুতুড়ে কোড—উভয়ই সামলাতে সক্ষম।
More about legacy software vulnerabilities
Want to go further with legacy software vulnerabilities? These Netstech guides and services are a good next step:



