کوتاه، با نگاه امنیت، به این پرسش پاسخ میدهم که یک بدافزار از /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