সফ্টওয়্যার সাপ্লাই চেইন কৌশল প্যারি নির্ভরতা বিভ্রান্তি আক্রমণ

সফ্টওয়্যার সাপ্লাই চেইন কৌশল প্যারি নির্ভরতা বিভ্রান্তি আক্রমণ

সফ্টওয়্যার সাপ্লাই চেইন কৌশল প্যারি নির্ভরতা বিভ্রান্তি আক্রমণ PlatoBlockchain ডেটা বুদ্ধিমত্তা. উল্লম্ব অনুসন্ধান. আ.

“নামে কি আছে? আমরা যাকে গোলাপ বলি অন্য কোনো নামে তার গন্ধ ততই মিষ্টি হবে।” 2 সালে শেক্সপিয়র যখন এই শব্দগুলি (রোমিও অ্যান্ড জুলিয়েট, অ্যাক্ট 2, দৃশ্য 1596) লিখেছিলেন, তখন তিনি বলছিলেন যে একটি নাম কেবল একটি সম্মেলন। এর কোন অন্তর্নিহিত অর্থ নেই। জুলিয়েট রোমিওকে ভালোবাসে সে কে তার জন্য, তার নামের জন্য নয়।

কিন্তু এটা না জেনে, শেক্সপিয়রও নির্ভরতা বিভ্রান্তির আক্রমণ বর্ণনা করছিলেন।

নির্ভরতা বিভ্রান্তি যখন আপনি আপনার কোড ব্যবহার করছেন প্যাকেজ আপনার হয় না. তাদের একই নাম রয়েছে, তবে এটি আপনার কোড নয় যা উত্পাদনে চলছে। একই নাম, কিন্তু একটি প্যাকেজ গোলাপের মতো গন্ধ এবং অন্যটি ... দুর্গন্ধ।

সাম্প্রতিক গবেষণা প্রতিবেদন অনুমান করে যে 41% থেকে 49% সংস্থাগুলি নির্ভরতা বিভ্রান্তির আক্রমণের ঝুঁকিতে রয়েছে। OX সিকিউরিটি থেকে নতুন গবেষণা দেখায় যে যখন একটি সংস্থা নির্ভরতা বিভ্রান্তির আক্রমণের ঝুঁকিতে থাকে, তখন তার সম্পদের 73% দুর্বল হয়। গবেষণাটি মাঝারি এবং বড় প্রতিষ্ঠানের উপর দৃষ্টি নিবদ্ধ করে (1K+, 8K+, 80K+ কর্মচারীরা) বিস্তৃত সেক্টর জুড়ে — অর্থ, গেমিং, প্রযুক্তি এবং মিডিয়া — এবং সমস্ত আকারের সংস্থা জুড়ে প্রতিটি সেক্টরে ঝুঁকি খুঁজে পেয়েছে। গবেষণায় আরও দেখা গেছে যে 1 বিলিয়নেরও বেশি ব্যবহারকারীর প্রায় সমস্ত অ্যাপ্লিকেশন নির্ভরতা ব্যবহার করছে যা নির্ভরতা বিভ্রান্তির ঝুঁকিপূর্ণ।

এই নিবন্ধটির লক্ষ্য আপনাকে নির্ভরতা বিভ্রান্তি এবং কীভাবে এটি প্রতিরোধ করা যায় তা বুঝতে সহায়তা করা।

ডাবল, ডাবল

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

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

যখন একটি প্যাকেজ ম্যানেজার দুটি অভিন্ন প্যাকেজ জুড়ে আসে, একটি পাবলিক রেজিস্ট্রিতে এবং একটি প্রাইভেট রেজিস্ট্রিতে, এটি বিভ্রান্তির কারণ হয় - তাই নাম "নির্ভরতা বিভ্রান্তি।" যেহেতু দুটি প্যাকেজ অভিন্ন, ম্যানেজার স্বয়ংক্রিয়ভাবে একটি উচ্চতর সংস্করণ সহ একটি ইনস্টল করতে বেছে নেবে - এই ক্ষেত্রে, আক্রমণকারীর দূষিত প্যাকেজ।

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

পরিশ্রম এবং কষ্ট

নির্ভরতা বিভ্রান্তি আক্রমণের বিভিন্ন পদ্ধতি রয়েছে।

  • নেমস্পেসিং। একটি পাবলিক রেজিস্ট্রিতে একটি দূষিত সফ্টওয়্যার লাইব্রেরি আপলোড করে — যেমন পাইথন প্যাকেজ ইনডেক্স (PyPI) বা জাভাস্ক্রিপ্টের npm রেজিস্ট্রি - এটাই একইভাবে নামকরণ করা হয়েছে একটি বিশ্বস্ত, অভ্যন্তরীণভাবে ব্যবহৃত লাইব্রেরিতে, সিস্টেম যা একটি নামস্থান/ইউআরএল চেক বাদ দেয় বা একটি ব্যক্তিগত রেজিস্ট্রি থেকে আনতে বাধ্য করে না ভুলবশত দূষিত কোড টানতে পারে। দ্য সাম্প্রতিক PyTorch নির্ভরতা বিভ্রান্তির ঘটনা যেমন একটি উদাহরণ।
  • DNS স্পুফিং। ডিএনএস স্পুফিংয়ের মতো একটি কৌশল ব্যবহার করে, বৈধ অভ্যন্তরীণ ইউআরএল/পাথগুলি কেমন দেখাচ্ছে তা প্রদর্শন করার সময় সিস্টেমগুলিকে ক্ষতিকারক সংগ্রহস্থল থেকে নির্ভরতা টেনে নেওয়ার নির্দেশ দেওয়া যেতে পারে।
  • স্ক্রিপ্টিং। বিল্ড/ইনস্টল স্ক্রিপ্ট পরিবর্তন করে বা ক্রমাগত একীকরণ / ক্রমাগত বিতরণ (CI/CD) পাইপলাইন কনফিগারেশন, সিস্টেমগুলি স্থানীয় সংগ্রহস্থলের পরিবর্তে একটি দূষিত উত্স থেকে সফ্টওয়্যার নির্ভরতা ডাউনলোড করার জন্য প্রতারিত হতে পারে।

থিংস ডন ওয়েল অ্যান্ড উইথ আ কেয়ার

নির্ভরতা বিভ্রান্তি থেকে রক্ষা করতে, এই অনুশীলনগুলি ইনস্টিটিউট করুন।

  • প্যাকেজ ম্যানেজারে নীতি নির্ধারণ করুন। প্যাকেজ ম্যানেজারদের একটি প্রাইভেট প্যাকেজের তুলনায় একটি পাবলিক প্যাকেজকে অগ্রাধিকার দেওয়া থেকে বিরত রাখুন।
  • সর্বদা একটি .npmrc ফাইল অন্তর্ভুক্ত করুন। আপনি যদি একটি প্যাকেজ ম্যানেজার হিসাবে জনপ্রিয় NPM ব্যবহার করেন তবে সর্বদা একটি .npmrc ফাইল অন্তর্ভুক্ত করুন যা নির্দিষ্ট প্রতিষ্ঠানের সুযোগের অধীনে প্যাকেজগুলি কোথায় আনতে হবে তা নির্দিষ্ট করে৷
  • একটি পাবলিক রেজিস্ট্রিতে প্যাকেজের নাম রিজার্ভ করুন। নির্ভরতা বিভ্রান্তির আক্রমণ থেকে রক্ষা করার আরেকটি উপায় হল একটি পাবলিক রেজিস্ট্রিতে প্যাকেজের নাম সংরক্ষণ করা যাতে হাইজ্যাকাররা এটি ব্যবহার করতে না পারে এবং তাই, প্যাকেজ ম্যানেজারকে একটি দূষিত প্যাকেজ ইনস্টল করার জন্য "কৌশল" করতে না পারে।

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

প্যাকেজের নামও সর্বজনীনভাবে নিবন্ধিত হওয়া উচিত। যদি কোনো প্রতিষ্ঠান Python নির্ভরতার জন্য প্যাকেজ ম্যানেজার হিসেবে জনপ্রিয় PIP ব্যবহার করে, উদাহরণস্বরূপ, এটি একটি কঠোর প্রত্যয় সহ অভ্যন্তরীণ প্যাকেজ তৈরি করা উচিত যা স্বীকৃত এবং সমস্ত প্রকল্প জুড়ে কাজ করবে। প্লেসহোল্ডার হিসেবে পাবলিক রেজিস্ট্রি PyPI-তে একই নামের একটি খালি প্যাকেজ আপলোড করুন।

একটি পাবলিক রেজিস্ট্রিতে প্যাকেজের নাম সংরক্ষণ করার আরেকটি কারণ হল যদি অন্য কেউ এটি সংরক্ষণ করে (দূষিতভাবে বা না), বিকাশকারীদের প্রাইভেট রেজিস্ট্রিতে সমস্ত প্যাকেজের নাম পরিবর্তন করতে হবে যা এখনও পাবলিক রেজিস্ট্রিতে সংরক্ষিত করা হয়নি। এটি একটি দীর্ঘ এবং ক্লান্তিকর প্রক্রিয়া হতে পারে।

এটা মনে রাখা গুরুত্বপূর্ণ যে সমস্ত প্যাকেজ রেজিস্ট্রি ব্যবহারকারীদের প্যাকেজের নাম সংরক্ষণ করার অনুমতি দেয় না, তাই নিশ্চিত করুন যে আপনি এমন একটি খুঁজে পান।

প্রস্থান, একটি ভালুক দ্বারা তাড়া

নির্ভরতা বিভ্রান্তির আক্রমণগুলি বিশ্বব্যাপী সংস্থাগুলির জন্য একটি গুরুতর এবং আসন্ন সাইবার নিরাপত্তা হুমকি তৈরি করে৷ সমস্ত সংস্থার প্রায় অর্ধেক ঝুঁকির মধ্যে রয়েছে এবং সেই সংস্থাগুলির 73% সম্পদ প্রকাশ করা হয়েছে। এই ক্রমবর্ধমান হুমকি মোকাবেলা করার জন্য, সংস্থাগুলিকে অবশ্যই শক্তিশালী প্রতিরোধমূলক ব্যবস্থা প্রয়োগ করতে হবে এবং সাইবার নিরাপত্তার সর্বোত্তম অনুশীলনগুলি গ্রহণ করতে হবে।

শেক্সপিয়ারের গোলাপ শত শত বছর ধরে নির্ভরতা বিভ্রান্তির আক্রমণের ঝুঁকির কথা বলে থাকতে পারে, তবে বার্ডের আরেকটি উদ্ধৃতি তাদের বিরুদ্ধে সুরক্ষার জন্য কিছু বুদ্ধি থাকতে পারে: "প্রতিটি চোখ নিজের জন্য আলোচনা করুক এবং কোন এজেন্টকে বিশ্বাস করুক।" (মাচ এডো অ্যাবাউট নাথিং, অ্যাক্ট 2, দৃশ্য 1)

সময় স্ট্যাম্প:

থেকে আরো অন্ধকার পড়া