মায়াজমা সরবরাহ শৃঙ্খল আক্রমণ
মায়াজমা (Miasma) নামে সম্প্রতি আবিষ্কৃত একটি সফটওয়্যার সাপ্লাই চেইন অ্যাটাক ক্যাম্পেইন @redhat-cloud-services-এর একাধিক এনপিএম (npm) প্যাকেজকে ক্ষতিগ্রস্ত করেছে। এই অপারেশনটির উদ্দেশ্য হলো ডেভেলপার এনভায়রনমেন্ট থেকে ক্রেডেনশিয়াল ও সংবেদনশীল তথ্য হাতিয়ে নেওয়া এবং একই সাথে একটি স্ব-প্রসারমান ওয়ার্ম (worm) স্থাপন করা, যা সফটওয়্যার ডেভেলপমেন্ট ইকোসিস্টেমের মধ্যে আরও ছড়িয়ে পড়তে সক্ষম।
এই ক্যাম্পেইনটি মিনি শাই-হুলুদ- এর সাথে পূর্বে যুক্ত কৌশলগুলোরই হুবহু অনুরূপ, যেখানে ইনস্টলেশন-কালীন এক্সিকিউশন, ক্রেডেনশিয়াল চুরি, CI/CD কম্প্রোমাইজ, এনক্রিপ্টেড ডেটা এক্সফিলট্রেশন এবং ডাউনস্ট্রিম প্রোপাগেশন সক্ষমকারী বিভিন্ন মেকানিজম ব্যবহার করা হয়।
সুচিপত্র
উৎস অনিশ্চিত রয়ে গেছে
Miasma-র জন্য দায়ী হুমকিদাতাকে এখনও চূড়ান্তভাবে শনাক্ত করা যায়নি। এর দায়ভার নির্ধারণ করা আরও জটিল হয়ে উঠেছে, কারণ TeamPCP, যা Replicating Marauder, TGR-CRI-1135, এবং UNC6780 নামেও পরিচিত, পূর্বে Shai-Hulud ওয়ার্মের সাথে যুক্ত আক্রমণ সরঞ্জামগুলো ওপেন-সোর্স প্রকল্প হিসেবে প্রকাশ করেছিল। এই ঘটনাটি অন্যান্য সাইবার অপরাধী গোষ্ঠীগুলোকে একই ধরনের কৌশল নকল করতে সক্ষম করেছে, যা চূড়ান্তভাবে দায়ভার নির্ধারণকে উল্লেখযোগ্যভাবে আরও কঠিন করে তুলেছে।
আপোসকৃত এনপিএম প্যাকেজ
নিম্নলিখিত npm প্যাকেজগুলি প্রভাবিত হিসাবে চিহ্নিত করা হয়েছে:
@redhat-cloud-services/vulnerabilities-client
@redhat-cloud-services/tsc-transform-imports
@redhat-cloud-services/topological-inventory-client
@redhat-cloud-services/sources-client
@redhat-cloud-services/rule-components
@redhat-cloud-services/remediations-client
@redhat-cloud-services/rbac-client
অস্পষ্ট ইনস্টলেশন যুক্তির মাধ্যমে পরিচয়পত্র সংগ্রহ
নিরাপত্তা গবেষকরা আবিষ্কার করেছেন যে, এই ক্ষতিকারক প্যাকেজগুলোতে একটি দুর্বোধ্য প্রি-ইনস্টল হুক রয়েছে, যা প্যাকেজ ইনস্টলেশনের সময় স্বয়ংক্রিয়ভাবে কার্যকর হওয়ার জন্য ডিজাইন করা হয়েছে। এই ম্যালওয়্যারটি বিভিন্ন ধরনের সংবেদনশীল সম্পদকে লক্ষ্যবস্তু করে, যার মধ্যে রয়েছে গিটহাব অ্যাকশনস সিক্রেটস, এনপিএম অথেনটিকেশন টোকেন, ক্লাউড ক্রেডেনশিয়ালস, কুবারনেটিস ও হ্যাশিকর্প ভল্ট সিক্রেটস, এসএসএইচ কী, গিট ক্রেডেনশিয়ালস এবং আক্রান্ত সিস্টেমে সংরক্ষিত অন্যান্য গোপনীয় ফাইল।
পূর্ববর্তী মিনি শাই-হুলুদ ক্যাম্পেইনগুলোতে যেমন দেখা গেছে, এই ম্যালওয়্যারটি এনক্রিপ্টেড এক্সফিলট্রেশন রুটিন অন্তর্ভুক্ত করে। চুরি করা তথ্য api.anthropic.com:443/v1/api-তে পাঠানো হয়, এবং একই সাথে গিটহাব একটি বিকল্প এক্সফিলট্রেশন চ্যানেল হিসেবে কাজ করে। এই দ্বৈত-উদ্দেশ্যমূলক কৌশলটি কেবল ক্রেডেনশিয়াল চুরি করার প্রচেষ্টাই নয়, বরং সফটওয়্যার সাপ্লাই চেইনকে আরও ক্ষতিগ্রস্ত করার জন্য সেগুলোকে অস্ত্র হিসেবে ব্যবহার করার প্রচেষ্টাও প্রদর্শন করে।
এনক্রিপ্টেড ডেটা প্যাকেজগুলো গিটহাব এপিআই (GitHub API)-এর মাধ্যমে কমিট করা হয়, এবং কমিট মেসেজগুলোতে এই স্ট্রিংটি থাকতে পারে:
'আপনি যদি এই টোকেনটি বাতিল করেন তবে এটি মালিকের কম্পিউটারটি ধ্বংস করে দেবে:'
স্টিলথ কৌশল এবং প্রচার প্রক্রিয়া
ম্যালওয়্যারটিতে স্থায়িত্ব বাড়ানো, শনাক্তকরণ এড়ানো এবং অ্যাক্সেস প্রসারিত করার উদ্দেশ্যে বেশ কিছু ব্যবস্থা অন্তর্ভুক্ত রয়েছে। এর একটি উল্লেখযোগ্য বৈশিষ্ট্য হলো রুশ-ভাষী সিস্টেমগুলিতে ইচ্ছাকৃতভাবে এক্সিকিউশন এড়িয়ে যাওয়া, যা পূর্বে গ্লাসওয়ার্ম সাপ্লাই চেইন ক্যাম্পেইনগুলিতেও পরিলক্ষিত হয়েছিল।
npm এনভায়রনমেন্টের ক্ষেত্রে, ক্ষতিকারক কোডটি OIDC টোকেন এক্সচেঞ্জ এবং whoami এন্ডপয়েন্টগুলোর সাথে ইন্টারঅ্যাক্ট করে, সফটওয়্যার আর্কাইভগুলোকে আপডেট করা টারবলে পুনরায় প্যাকেজ করে এবং Sigstore ব্যবহার করে পরিবর্তিত আর্টিফ্যাক্টগুলোতে স্বাক্ষর করে। এরপর চুরি করা ক্রেডেনশিয়ালগুলো 'Miasma: The Spreading Blight' বিবরণসহ আক্রমণকারীর-নিয়ন্ত্রিত পাবলিক গিটহাব রিপোজিটরিগুলোতে পাচার করা হয়।
তদন্তকারীরা ২৯ মে, ২০২৬ তারিখে এই বিবরণ সম্বলিত সর্বপ্রথম জ্ঞাত কমিটটি শনাক্ত করেছেন, যা ওই তারিখের কাছাকাছি সময়ে হয় সক্রিয় কার্যক্রমের সূচনা অথবা একটি প্রাথমিক পরীক্ষা পর্বের ইঙ্গিত দেয়।
গিটহাব পরিবেশে, ম্যালওয়্যারটি হ্যাক হওয়া টোকেন দ্বারা অ্যাক্সেসযোগ্য রিপোজিটরিগুলো তালিকাভুক্ত করে, GraphQL কোয়েরির মাধ্যমে ওয়ার্কফ্লো ডেফিনিশন বিশ্লেষণ করে এবং `createCommitOnBranch` মিউটেশন ব্যবহার করে ক্ষতিকারক ওয়ার্কফ্লো প্রবেশ করায়। এই পদ্ধতির ফলে ক্ষতিকারক পরিবর্তনগুলো যাচাইকৃত এবং ক্রিপ্টোগ্রাফিকভাবে স্বাক্ষরিত কমিট হিসেবে প্রদর্শিত হয়।
উন্নত স্থায়িত্ব এবং বিশেষাধিকার বৃদ্ধির বৈশিষ্ট্য
বিশ্লেষণে ম্যালওয়্যারটির মধ্যে অন্তর্নিহিত বেশ কিছু অতিরিক্ত সক্ষমতা প্রকাশ পেয়েছে:
এমন কন্টেইনার চালু করার মাধ্যমে বিশেষাধিকার বৃদ্ধির প্রচেষ্টা করা হয়, যা হোস্টের /etc/sudoers.d ডিরেক্টরিকে বাইন্ড-মাউন্ট করে এবং CI রানারদের পাসওয়ার্ডবিহীন sudo অ্যাক্সেস প্রদান করে।
ক্ষতিকারক কার্যকলাপ শুরু করার আগেই CrowdStrike, SentinelOne, Carbon Black, এবং StepSecurity Harden-Runner সহ এন্ডপয়েন্ট নিরাপত্তা সমাধানগুলো শনাক্ত করা।
এমন কিছু স্থায়িত্ব রক্ষার কৌশল যা অ্যানথ্রোপিক ক্লড কোডে একটি SessionStart হুক প্রবেশ করিয়ে দেয় এবং মাইক্রোসফট ভিজ্যুয়াল স্টুডিও কোড প্রোজেক্টের জন্য 'runOn': 'folderOpen' দিয়ে কনফিগার করা ক্ষতিকর tasks.json ফাইল তৈরি করে, যা ভবিষ্যতের ডেভেলপমেন্ট সেশন চলাকালীন সেগুলোর নির্বাহ নিশ্চিত করে।
ক্লাউড আইডেন্টিটি কম্প্রোমাইজের উপর বর্ধিত মনোযোগ
মায়াজমা ভ্যারিয়েন্টের একটি প্রধান বিবর্তন হলো ক্লাউড আইডেন্টিটি সংগ্রহের উপর এর বর্ধিত মনোযোগ। গুগল ক্লাউড প্ল্যাটফর্ম (GCP) এবং মাইক্রোসফট অ্যাজুর পরিবেশকে লক্ষ্য করে তৈরি নতুন মডিউলগুলো একটি সংক্রমিত মেশিন থেকে অ্যাক্সেসযোগ্য সমস্ত ক্লাউড আইডেন্টিটি সম্পর্কে তথ্য সংগ্রহ করে।
পূর্ববর্তী সংস্করণগুলো প্রধানত ক্লাউড পরিবেশ থেকে গোপনীয় তথ্য আহরণের উপর মনোনিবেশ করত। পরিচয়-কেন্দ্রিক সংগ্রাহকদের সংযোজন সরাসরি ক্লাউড অ্যাক্সেস অর্জন এবং ক্লাউড অবকাঠামোর মধ্যে বিশেষাধিকারপ্রাপ্ত পরিচয়গুলোকে কাজে লাগানোর দিকে একটি কৌশলগত পরিবর্তনের ইঙ্গিত দেয়।
সনাক্তকরণের প্রচেষ্টাকে আরও জটিল করে তোলে যে, প্রতিটি সংক্রমণ একটি স্বতন্ত্রভাবে এনক্রিপ্টেড পেলোড তৈরি করে। এই কাস্টমাইজেশনটি সিগনেচার-ভিত্তিক সনাক্তকরণ, ম্যালওয়্যার ট্র্যাকিং এবং বিভিন্ন ঘটনার মধ্যে সংস্করণের পারস্পরিক সম্পর্ক স্থাপনকে উল্লেখযোগ্যভাবে বাধাগ্রস্ত করে।
প্রাথমিক আপস এবং সরবরাহ শৃঙ্খলে অনুপ্রবেশ
প্রাপ্ত তথ্যপ্রমাণ থেকে জানা যায় যে, রেড হ্যাটের একজন কর্মীর গিটহাব অ্যাকাউন্ট হ্যাক হওয়ার মাধ্যমে এই অভিযানটির সূত্রপাত হয়। তদন্তকারীরা মনে করেন, অ্যাকাউন্টটিই ছিল সংক্রমণের প্রাথমিক উৎস, যা আক্রমণকারীদের প্রভাবিত প্যাকেজগুলোতে ক্ষতিকারক কোড প্রবেশ করাতে সক্ষম করে।
জানা গেছে, হ্যাক হওয়া অ্যাকাউন্টটি প্রতিষ্ঠিত কোড রিভিউ পদ্ধতিকে পাশ কাটিয়ে দুটি রেড হ্যাট ইনসাইটস রিপোজিটরিতে ক্ষতিকর অরফ্যান কমিট পুশ করে এবং সফটওয়্যার সাপ্লাই চেইনে ক্ষতিকর পেলোডটি প্রবেশ করিয়ে দেয়।
ঘটনা প্রতিক্রিয়া এবং প্রতিকার নির্দেশিকা
যেসব সংস্থা ক্ষতিগ্রস্ত প্যাকেজ সংস্করণ ইনস্টল করেছে, তাদের অবিলম্বে প্রভাবিত সিস্টেমগুলিকে বিচ্ছিন্ন করা, ক্ষতিকারক প্যাকেজগুলি অপসারণ করা, সম্ভাব্য উন্মুক্ত সমস্ত ক্রেডেনশিয়াল পরিবর্তন করা, অননুমোদিত অ্যাক্সেসের লক্ষণের জন্য GitHub এবং npm কার্যকলাপ তদন্ত করা এবং ডেটা সংরক্ষণের পদ্ধতির জন্য পরিবেশ পর্যালোচনা করা উচিত। অননুমোদিত পরিবর্তনগুলির প্রতি বিশেষ মনোযোগ দেওয়া উচিত, যার মধ্যে রয়েছে:
~/.claude/settings.json, .vscode/tasks.json, .github/workflows/codeql.yml, এবং .github/setup.js।
ডেভেলপমেন্ট এবং ক্লাউড এনভায়রনমেন্ট জুড়েও কঠোর অ্যাক্সেস নিয়ন্ত্রণ ব্যবস্থা প্রয়োগ করা উচিত।
যেহেতু ম্যালওয়্যারটি ব্যাকগ্রাউন্ডে চলার ক্ষমতা তৈরি করে এবং ডেভেলপার টুলসের মধ্যে স্থায়ীভাবে থেকে যায়, তাই শুধু আক্রান্ত npm প্যাকেজগুলো আনইনস্টল করা বা node_modules ডিরেক্টরিটি মুছে ফেলাকে যথেষ্ট প্রতিকার হিসেবে বিবেচনা করা উচিত নয়।
CI/CD এনভায়রনমেন্টের ক্ষেত্রে, প্রভাবিত ওয়ার্কফ্লো এক্সিকিউশনগুলো অবিলম্বে স্থগিত করা উচিত। প্রতিষ্ঠানগুলোর উচিত এক্সপোজার পিরিয়ডে তৈরি হওয়া বিল্ড আর্টিফ্যাক্টগুলো বাতিল করা এবং পুঙ্খানুপুঙ্খভাবে পর্যালোচনা করা যে, ক্ষতিকারক প্যাকেজটি এনভায়রনমেন্টে প্রবেশ করানোর পরে কোনো রিলিজ, কন্টেইনার ইমেজ, এনপিএম প্যাকেজ, ডিপ্লয়মেন্ট আর্টিফ্যাক্ট বা অন্যান্য সফটওয়্যার কম্পোনেন্ট তৈরি হয়েছে কিনা।