কেন সেলফ-ডিক্রিপ্টিং আর্কাইভ এখনও ম্যালওয়্যার ছড়ানোর একটি পছন্দের পদ্ধতি
আক্রমণকারীদের প্রয়োজন নেই শূন্য দিন যখন ডেভেলপাররা এখনও স্যান্ডবক্সিং ছাড়াই যথেচ্ছ ফাইল আনজিপ করে। একটি সেলফ-ডিক্রিপ্টিং আর্কাইভ ম্যালওয়্যার ছড়ানোর অন্যতম কার্যকর পদ্ধতি হিসেবে রয়ে গেছে, কারণ এটি ঠিক সেই বিষয়টিকেই কাজে লাগায়: অভ্যন্তরীণ কোড, বিল্ড আর্টিফ্যাক্ট এবং থার্ড-পার্টি টুলের ওপর ডেভেলপারদের বিশ্বাস।
অসদৃশ standard জিপ (ZIP), যা একটি স্ব-ডিক্রিপ্টিং আর্কাইভ, আনপ্যাকিং প্রক্রিয়াটিকে একটি প্রোগ্রাম হিসেবে সম্পাদন করে। এই সহজ কৌশলটি বেশিরভাগ স্ট্যাটিক এবং সিগনেচার-ভিত্তিক স্ক্যানারকে ফাঁকি দেয়, বিশেষ করে যখন এটি একটি বৈধ ইনস্টলার বা আপডেটের ছদ্মবেশে থাকে। একবার চালু হলে, আর্কাইভটি আপনার ডেভেলপমেন্ট এনভায়রনমেন্টের সংবেদনশীল অংশগুলোতে সরাসরি ট্রোজান, স্পাইওয়্যার বা কীস্ট্রোক লগার আনপ্যাক করতে পারে।
আক্রমণকারীরা কেন স্ব-ডিক্রিপ্টিং আর্কাইভ পছন্দ করে?
- তারা নীরবে মৃত্যুদণ্ড কার্যকর করে।
- প্রাথমিক কার্য সম্পাদনের পর তারা ব্যবহারকারীর মিথস্ক্রিয়ার ওপর নির্ভর করে না।
- তারা বিশ্বাসের সেই একই সীমারেখাগুলোকে কাজে লাগায়, যার ওপর আপনি নির্ভর করেন: অভ্যন্তরীণ চিত্রনাট্য। CI/CD ধাপসমূহ, এবং ডেভ টুলস।
আপনি প্রায়শই নকল SDK, হ্যাক হওয়া ওপেন-সোর্স প্যাকেজ, বা এমনকি বিল্ড অপটিমাইজার বা অভ্যন্তরীণ টুল বলে দাবি করা প্রতারণামূলক অ্যাটাচমেন্টের মধ্যে স্ব-ডিক্রিপ্টিং আর্কাইভ দেখতে পাবেন। এই আর্কাইভগুলো বর্তমানে ম্যালওয়্যার ছড়ানোর অন্যতম স্থায়ী একটি পদ্ধতি, কারণ এগুলো ডেভেলপারদের দৈনন্দিন কাজের ধারার সাথে মিশে যায়। অনেক ক্ষেত্রে, এগুলো কোনো অ্যালার্ট ট্রিগার না করেই নিঃশব্দে একটি কীস্ট্রোক লগার ইনস্টল করে দেয়, যা ক্রেডেনশিয়াল থেকে শুরু করে সংবেদনশীল কমান্ড পর্যন্ত সবকিছু রেকর্ড করে রাখে।
পেলোড থেকে স্থায়িত্ব: এক্সিকিউশনের পরে আসলে কী ঘটে
একটি সেলফ-ডিক্রিপ্টিং আর্কাইভ একবার চালু হলে, এটি শুধু একটি বাইনারি ফাইল রেখে উধাও হয়ে যায় না। এটি ভুলভাবে কনফিগার করা এক্সিকিউশন পলিসি বা ব্যবহারকারীর বিশেষাধিকারের সুযোগ নিয়ে সিস্টেমের গভীরে নিজেকে লুকিয়ে ফেলে। এর একটি জনপ্রিয় পদ্ধতি হলো ইউজারল্যান্ড প্রসেস বা সিস্টেম স্টার্টআপ স্ক্রিপ্টে একটি কীস্ট্রোক লগার বা ব্যাকডোর ট্রোজান প্রবেশ করানো।
উদাহরণস্বরূপ, একটি SDA একটি রিমোট অ্যাক্সেস ট্রোজান (RAT) আনপ্যাক করতে পারে যা নিজেকে একটি পরিষেবা হিসাবে ইনস্টল করে বা পরিবর্তন করে। .bashrc, .zshrcঅথবা পাওয়ারশেল প্রোফাইল। এটি নির্ধারিত কাজগুলিতেও হস্তক্ষেপ করতে পারে বা নেটিভ টুলিং ব্যবহার করতে পারে, যেমন schtasks or চালু রিবুট করার পর পুনরায় চালু করতে।
ডেভেলপারদের যেসব সাধারণ কম্প্রোমাইজ ইন্ডিকেটর (IoC) এর দিকে নজর রাখা উচিত, সেগুলো হলো:
- EXE বা ELF বাইনারিগুলির অপ্রত্যাশিত CLI এক্সিকিউশন / tmp -র পরিবর্তে, %অ্যাপ্লিকেশন তথ্য%, অথবা অনুরুপ.
- অজানা টুল চালানোর ঠিক পরেই অস্বাভাবিক নেটওয়ার্ক ট্র্যাফিক।
- সন্দেহজনক কার্যসম্পাদন-পরবর্তী ধাপসহ পরিবর্তিত বিল্ড বা টেস্ট স্ক্রিপ্ট।
এই পেলোডগুলি পরিকল্পিতভাবেই স্থায়ী থাকে এবং ডেভ এনভায়রনমেন্টে প্রচলিত EDR দ্বারা খুব কমই চিহ্নিত হয়, বিশেষ করে যখন এগুলি ডেভ ডিপেন্ডেন্সি হিসাবে ছদ্মবেশে থাকে। একবার একটি কীস্ট্রোক লগার সক্রিয় হয়ে গেলে, এটি নীরবে ডেভেলপার ক্রেডেনশিয়াল থেকে শুরু করে প্রোডাকশনের গোপনীয় তথ্য পর্যন্ত সবকিছু ক্যাপচার করতে পারে।
ডেভেলপাররা কোথায় সবচেয়ে বড় ঝুঁকির সম্মুখীন হন CI/CD Pipelines
এখান থেকেই আসল ঝুঁকি শুরু হয়: CI/CD pipelines.
স্ব-ডিক্রিপ্টিং আর্কাইভগুলি বিশেষভাবে বিপজ্জনক হয়ে ওঠে যখন সেগুলি আঘাত হানে CI/CD কারণ তারা মিশে যায়। তাদের ছদ্মবেশ ধারণ করা যেতে পারে:
- প্রি-কম্পাইল করা SDK বা CLI টুলগুলো রিপো-তে চেক ইন করা হয়েছে।
- বিল্ডের নির্ভরতাগুলো যাচাইবিহীন উৎস থেকে নেওয়া হয়েছে।
- স্ল্যাক বা ইমেলের মাধ্যমে শেয়ার করা অভ্যন্তরীণ টুল, তারপর commitস্ক্রিপ্টে ব্যবহৃত বা ব্যবহৃত।
ঝুঁকির হটস্পট
- বিল্ড এজেন্ট: এখানে কোনো SDA চালানো হলে, এটি এনভায়রনমেন্ট ভেরিয়েবল, ক্রেডেনশিয়াল পরিবর্তন করতে পারে, এমনকি পরবর্তী জবগুলোতেও ইনজেক্ট করতে পারে।
- নির্ভরতা ক্যাশেএসডিএ-তে থাকা ম্যালওয়্যার যখন আপনার ক্যাশে পৌঁছে যায়, তখন তা সাপ্লাই চেইনের জন্য ঝুঁকি তৈরি করে। সংক্রমিত ক্যাশে থেকে ডেটা গ্রহণকারী প্রতিটি জব সেই পেলোডটি পেয়ে যায়।
- প্রত্নবস্তু ভান্ডারএসডিএ দ্বারা বিষাক্ত করা হলে, এগুলি ম্যালওয়্যার সরবরাহের মাধ্যম হিসেবে কাজ করে যা স্টেজিং এবং প্রোডাকশন সহ ডাউনস্ট্রিম এনভায়রনমেন্টে পৌঁছায়।
CI/CD এটি দ্রুত এবং স্বয়ংক্রিয়। এর মানে হলো, একটি স্ব-ডিক্রিপ্টিং আর্কাইভ কারও নজরে পড়ার আগেই নিঃশব্দে একাধিক পরিবেশের মধ্যে দিয়ে প্রবাহিত হতে পারে। আরও খারাপ ব্যাপার হলো, যদি পেলোডে কীস্ট্রোক লগার অন্তর্ভুক্ত থাকে, তবে এটি leak secretবিভিন্ন পর্যায়ে ব্যবহৃত হলেও কখনো শনাক্ত হয় না।
DevSecOps নিয়ন্ত্রণের মাধ্যমে সাইলেন্ট এক্সিকিউশন ব্লক করা
স্ব-ডিক্রিপ্টিং আর্কাইভের নির্বাহ প্রতিরোধ করা জটিল কিছু নয়, কিন্তু এর জন্য ডিফল্ট সেটিংসে পরিবর্তন প্রয়োজন।
ডেভেলপার-কেন্দ্রিক কার্যকরী নিয়ন্ত্রণ:
- ঝুঁকিপূর্ণ এক্সিকিউশন পলিসি নিষ্ক্রিয় করুন: টেম্পোরারি বা অজানা পাথ থেকে এক্সিকিউটেবল ফাইল চালানোর ক্ষমতা সীমাবদ্ধ করুন। এর জন্য বিল্ড এজেন্টগুলিতে যথাযথ ফাইল এক্সিকিউশন পলিসি সেট করতে হবে।
- আর্টিফ্যাক্ট যাচাইকরণ বাধ্যতামূলক করুন: সমস্ত অভ্যন্তরীণ টুল, এসডিকে এবং বাইনারিতে ক্রিপ্টোগ্রাফিক চেকসাম বা সাইনিং ব্যবহার করুন। প্রতিটি আর্টিফ্যাক্ট ব্যবহারের পূর্বে তা যাচাই করুন। pipeline.
- প্রথমবার চালানোর বাইনারি স্যান্ডবক্স: বিশেষ করে সম্প্রতি ডাউনলোড করা বা যোগ করা টুলগুলির জন্য। এই উদ্দেশ্যে কন্টেইনারাইজড রানার বা বিচ্ছিন্ন ভিএম ব্যবহার করুন।
- মনিটর pipeline আচরণ: অস্বাভাবিক এক্সিকিউশন আচরণের ক্ষেত্রে ফ্ল্যাগ এবং অ্যালার্ট দিন, যেমন বিল্ড-পরবর্তী আউটবাউন্ড ট্র্যাফিক, অথবা আপনার কনফিগারেশনে সংজ্ঞায়িত নয় এমন CLI প্রসেস। pipeline কনফিগারেশন
একটি শক্তিশালী DevSecOps ভঙ্গি ধরে নেয় যে প্রতিটি টুলই হ্যাক হতে পারে। যদি আপনার CI/CD ফাঁক গলে ঢুকে পড়া একটি সেলফ-ডিক্রিপ্টিং আর্কাইভ শনাক্ত করতে পারে না, এটি এর চেয়েও অনেক খারাপ কিছু এড়িয়ে যাবে। ম্যালওয়্যার ছড়ানোর পদ্ধতি বিকশিত হচ্ছে, কিন্তু বিল্ড এনভায়রনমেন্টে ক্ষতিকর বাইনারি চালানোই প্রধান ঝুঁকি হিসেবে রয়ে গেছে। শনাক্তকরণের সাথে প্রতিরোধ।
সনাক্তকরণের বাইরে: ম্যালওয়্যার সরবরাহের পথ খুঁজে বের করতে জাইজেনি কীভাবে সাহায্য করে
ঘটনা ঘটে যাওয়ার পরে কীস্ট্রোক লগার শনাক্ত করা অনেক দেরি হয়ে যায়। এখানেই এর মতো টুলগুলোর প্রয়োজন হয়। জাইজেনি ব্যাপার।
জাইজেনি আপনার সিস্টেমে কী সম্পাদিত হচ্ছে সে সম্পর্কে রিয়েল-টাইম তথ্য প্রদান করে। pipelineসেটা স্ব-ডিক্রিপ্টিং আর্কাইভ হোক বা বিল্ড হেল্পারের ছদ্মবেশে থাকা কোনো দুর্বৃত্ত বাইনারি হোক। এর শক্তি নিহিত আছে:
- ম্যালওয়্যার বিতরণের পদ্ধতিগুলো কীভাবে ছড়িয়ে পড়ে তার ম্যাপিং pipelines.
- ক্ষতিকারক স্ব-ডিক্রিপ্টিং আর্কাইভের উৎস সন্ধান।
- শুধুমাত্র সিগনেচারের উপর নয়, আচরণগত সূচকের উপর ভিত্তি করে এক্সিকিউশন ব্লক করা।
Xygeni-এর সাহায্যে, আপনি এই ধরনের ঘটনাগুলোর মধ্যে সম্পর্ক স্থাপন করতে পারেন: “বিল্ড জব #42-এ একটি অস্বাভাবিক আর্টিফ্যাক্ট দেখা দিয়েছে” → “CLI একটি অপ্রত্যাশিত বাইনারি এক্সিকিউট করেছে” → “এন্ডপয়েন্টে কীস্ট্রোক লগার বীকন শনাক্ত করা হয়েছে।”
সুরক্ষিত করার চেষ্টা করার সময় এই শনাক্তযোগ্যতা অত্যন্ত গুরুত্বপূর্ণ। CI/CD গোপন ম্যালওয়্যার বিতরণ পদ্ধতির বিরুদ্ধে কর্মপ্রবাহ।
শেষ প্রতিরক্ষা ব্যবস্থা: স্ব-ডিক্রিপ্টিং আর্কাইভগুলো বিস্ফোরিত হওয়ার আগেই থামান। Pipeline
স্ব-ডিক্রিপ্টিং আর্কাইভগুলো শুধু একটি পুরনো কৌশল নয়। এগুলো ডেভেলপারদের লক্ষ্য করে তৈরি হওয়া সবচেয়ে বিপজ্জনক এবং কম শনাক্ত হওয়া ম্যালওয়্যার ছড়ানোর পদ্ধতিগুলোর মধ্যে অন্যতম। pipelines.
আপনি যদি একজন ডেভেলপার হিসেবে কোড লেখেন বা সুরক্ষিত করেন, তাহলে আপনাকে যা করতে হবে:
- প্রতিটি বাইনারিকে অবিশ্বস্ত হিসেবে বিবেচনা করুন, এমনকি আপনার নিজের বাইনারির ভেতরেও। pipeline.
- সকল তৃতীয়-পক্ষের আর্টিফ্যাক্টের জন্য ভ্যালিডেশন এবং স্যান্ডবক্সিং বাধ্যতামূলক করুন।
- মনিটর pipeline আচরণটি এমন যেন এটি প্রোডাকশন ট্র্যাফিক।
এবং সবচেয়ে গুরুত্বপূর্ণভাবে, Xygeni-এর মতো টুল ব্যবহার করার কথা বিবেচনা করুন, যা শুধু স্ক্যান করার মধ্যেই সীমাবদ্ধ নয়; এই টুলগুলো আপনার ডিভাইসে কীস্ট্রোক লগার প্রবেশ করানোর আগেই ক্ষতিকারক সেলফ-ডিক্রিপ্টিং আর্কাইভগুলোকে ট্র্যাক, ট্রেস এবং ব্লক করে দেয়। CI/CD স্ট্যাক। বাম দিকে সরান, কিন্তু আরও গভীরভাবে স্ক্যান করুন। এবং কখনই অবমূল্যায়ন করবেন না যে কীভাবে একটি ছোট আর্কাইভ নীরব ম্যালওয়্যার ছড়ানোর পদ্ধতির মাধ্যমে বড় ঝুঁকি তৈরি করতে পারে।





