ফাইলহীন ম্যালওয়্যার কীভাবে লিনাক্সে কাজ করে?


10

আমি ফাইলহীন ম্যালওয়ারের সংজ্ঞাটি বুঝতে পারি:

ক্ষতিকারক কোড যা ফাইল ভিত্তিক নয় তবে কেবল স্মৃতিতে বিদ্যমান ... আরও বিশেষত ফাইলহীন দূষিত কোড ... নিজেকে মেমরির একটি সক্রিয় প্রক্রিয়াতে সংযোজন করে…

কেউ দয়া করে ব্যাখ্যা করতে পারেন কীভাবে এটি মেমরির একটি সক্রিয় প্রক্রিয়াতে নিজেকে যুক্ত করে?

এছাড়াও, এই জাতীয় আক্রমণগুলির বিরুদ্ধে কী (কর্নেল) সুরক্ষা / শক্তকরণ উপলব্ধ?


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

এই প্রশ্নের উত্তর সম্ভবত https://security.stackexchange.com/ এ দেওয়া যেতে পারে ।
রুবিনোরেলস

@ রুবিনোরাইলস - আমি কেবল লিনাক্স নির্দিষ্ট উত্তরগুলিতে আগ্রহী। সিকিউরিটিএসই সাধারণ। যদি আমি সেখানে লিনাক্স নির্দিষ্ট উত্তরের জন্য অনুরোধ করি তবে তারা আমাকে এখানে পাঠিয়ে দেবে।
মার্টিন ভেজিটার

উত্তর:


6

ফাইলহীন ম্যালওয়্যার একটি ব্রাউজারের ফ্ল্যাশ প্লাগইন বা কোনও নেটওয়ার্ক প্রোটোকলে যেমন দুর্বলতা কাজে লাগিয়ে লক্ষ্যকে আক্রমণ করে।

একটি লিনাক্স প্রক্রিয়া সিস্টেম কল ব্যবহার করে পরিবর্তন করা যেতে পারে ptrace()। এই সিস্টেম কলটি সাধারণত ডিবাগাররা লক্ষ্য প্রক্রিয়াটির অভ্যন্তরীণ অবস্থা পরিদর্শন ও পরিচালনা করতে ব্যবহৃত হয় এবং এটি সফ্টওয়্যার বিকাশে কার্যকর।

উদাহরণ হিসেবে বলা যায়, এর PID, 1234. এই প্রক্রিয়া 'পুরো অ্যাড্রেস স্পেস ছদ্ম ফাইলসিস্টেম দেখতে পাওয়া যেতে পারে সঙ্গে একটি প্রক্রিয়া বিবেচনা করি /procঅবস্থানে /proc/1234/mem। আপনি এই সিডোফাইলটি খুলতে পারেন, তারপরে এই প্রক্রিয়াটির সাথে সংযুক্ত করুন ptrace(); এটি করার পরে, আপনি ব্যবহার করতে পারেন pread()এবং pwrite()প্রক্রিয়া স্পেসে লিখতে।

char file[64];
pid = 1234;

sprintf(file, "/proc/%ld/mem", (long)pid);
int fd = open(file, O_RDWR);
ptrace(PTRACE_ATTACH, pid, 0, 0);

waitpid(pid, NULL, 0);
off_t addr = ...; // target process address

pread(fd, &value, sizeof(value), addr);
// or
pwrite(fd, &value, sizeof(value), addr);

ptrace(PTRACE_DETACH, pid, 0, 0);
close(fd);

(কোড থেকে নেওয়া এখানে একটি ptrace সম্পর্কে। আরেকটি কাগজ কাজে লাগান উপলব্ধ এখানে ।)

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


ঠিক সেই উত্তরটির মতোই এটিও পুরানো is যেমনটি এখানে ব্যাখ্যা করা হয়েছে যে কোনও প্রক্রিয়াটি পড়তে বা লেখার জন্য আপনাকে আর আর ট্রাই করতে হবে না /proc/PID/mem। আমি আশা করি আপনি মিথ্যা এবং ভুল তথ্য স্থির করার পরিবর্তে আপনার উত্তর আপডেট এবং সংশোধন করতে অন্য ব্যক্তির চেয়ে কম অবাধ্য হন।
পাইজলেড

... যা এই ক্ষেত্রে পরিণতি হতে পারে, কারণ লোকে ভুলভাবে ধরে নিতে পারে যে কোনও প্রক্রিয়া ptracing করে তারা অন্য প্রক্রিয়াগুলির স্মৃতি পড়তে বাধা দিতে পারে।
পাইজলেড

লিঙ্কের জন্য ধন্যবাদ আপনি যদি অন্য উত্তর হিসাবে সামগ্রী যুক্ত করেন তবে ভাল হবে good
dr_

না, আমি আর একটি উত্তর যুক্ত করতে যাচ্ছি না। আমি আশা করি আপনি আপনার ঠিক করবেন।
পাইজলেক্ট করুন

মনে রাখবেন যে আপনি অন্য ব্যক্তির উত্তরগুলিও সম্পাদনা করতে পারেন। আপনার কাছে এই নির্দিষ্ট বিষয় সম্পর্কে আমার চেয়ে আরও ভাল জ্ঞান আছে বলে মনে হয়, তাই আপনাকে এটি করতে স্বাগত।
dr_

1

আপনি যখন কোনও প্রক্রিয়া ক্র্যাশ করার ব্যবস্থা করেন, আপনি প্রক্রিয়াটিকে মেমরিতে ডেটা .োকাতে পারেন। এটি করার একটি খুব জনপ্রিয় উপায় হ'ল বাফার ওভারফ্লোগুলি ব্যবহার করা ।

কিভাবে কাজ করে ? আপনি জানেন, উদাহরণস্বরূপ, কোনও প্রক্রিয়া পোর্ট এক্সে শুনছে এবং একটি নির্দিষ্ট ফাংশনের জন্য একটি বাফার রয়েছে যা বলে, 15 বাইট বড়। আপনি সেই ফাংশনটিকে 15 বাইট ডেটা + এন বাইট (আপনার কোড কার্যকর করতে হবে) দিয়ে কল করেন। প্রোগ্রামটি যদি ডেটাটি সঠিকভাবে যাচাই না করে তবে এটি আপনার কোডের সাথে সংলগ্ন মেমরির উপরে ওভাররাইট করবে এবং এইভাবে কোড মেমরিতে বাস করে। আপনি যদি এই কোডটি কার্যকর করতে পারেন তবে আপনি সিস্টেমটির মালিক। সীমাবদ্ধতা রয়েছে, উদাহরণস্বরূপ, একটি প্রক্রিয়া তার বরাদ্দ স্থানের বাইরে মেমরিটিতে লিখতে পারে না ।

সমস্ত ওএস-তে দুর্বলতার একটি দীর্ঘ তালিকা রয়েছে যেখানে বাফার ওভাররনগুলি ক্র্যাকারকে লক্ষ্যটির স্মৃতিতে ডেটা ইনজেক্ট করতে দেয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.