ویرگول
ورودثبت نام
محمدرضا رازیان
محمدرضا رازیانعلاقمند به حوزه علوم و مهندسی رایانه
محمدرضا رازیان
محمدرضا رازیان
خواندن ۱ دقیقه·۲ ماه پیش

بدافزار اندرویدی و /proc

کوتاه، با نگاه امنیت، به این پرسش پاسخ می‌دهم که یک بدافزار از /proc در اندروید چگونه استفاده می‌کند؟

داده‌های موجود ذیل proc/
داده‌های موجود ذیل proc/

با استفاده از شاخه (directory) پردازه‌ها یا همان proc/ می‌توان به مشاهده و یافتن پردازه‌ای خاص پرداخت. اینکه به چه قصدی قرار است از آن استفاده شود مسئله دیگری است که در پایان این نوشته به آن اشاره می‌شود:

کار با پیمایش روی شاخه /proc آغاز می‌شود. برای هر PID (شناسه پردازه)، فایل‌های خاصی برای بررسی ویژگی‌های آن پردازه وجود دارد:

/proc/1 /proc/2 /proc/3 ...

یافتن یک پردازه با استفاده از زمینه SELinux آن (مثلا یک بدافزار بررسی می‌کند که آیا برچسب با زمینه هدف برابر است یا خیر):

/proc/<PID>/attr/current

بررسی PPID (شناسه والد یک پردازه): پردازه‌ای که والد آن init است، معمولاً یک سرویس سیستمی است. این بدان معناست که پردازه فرزند، یک برنامه معمولی نیست. این موضوع به بدافزار کمک می‌کند تا پردازه سیستمی مناسب را پیدا کند.

/proc/<PID>/stat

بررسی cmdline: این فایل شامل دستوری است که برای شروع پردازه استفاده می‌شود:

/proc/<PID>/cmdline

این داده‌ها برای شناسایی موارد زیر می‌تواند مورد استفاده قرار گیرد:

  • یافتن پردازه مناسب برای افزایش مجوز

  • یافتن سرویس‌های سیستمی برای تزریق کد

  • یافتن پردازه مناسب برای سواری رایگان گرفتن (piggybacking) از منظر زمینه‌های SELinux

  • میزبان‌هایی برای اجرای فایل‌های so

بدافزارandroidsecuritylinuxprocess
۱
۰
محمدرضا رازیان
محمدرضا رازیان
علاقمند به حوزه علوم و مهندسی رایانه
شاید از این پست‌ها خوشتان بیاید