لینک کوتاه مطلب : https://hsgar.com/?p=4649

سندباکس برنامه از طریق sandbox-exec · کارل تارواس

این به طور گسترده تبلیغ نمی شود، اما macOS با ابزار مستقل sandboxing خارج از جعبه عرضه می شود: sandbox-exec. در حالی که صفحه manpage بسیار کوتاه می‌گوید که این ابزار منسوخ شده است، و در حال حاضر برای چند نسخه اصلی، به شدت توسط سیستم‌های داخلی استفاده می‌شود، بنابراین بعید است به این زودی‌ها از بین برود.

تنظیمات Sandbox در زیر مجموعه ای از Scheme نوشته شده است. یک مثال شروع مفید حداقلی برای بسته بندی یک برنامه مدرن ممکن است چیزی شبیه به این باشد:

(version 1)
;; Disallow everything by default
(deny default)

;;
;; This system profile grants access to a number of things, such as:
;;
;;  - locale info
;;  - system libraries (/System/Library, /usr/lib, etc)
;;  - access to to basic tools (/etc, /dev/urandom, etc)
;;  - Apple services (com.apple.system, com.apple.dyld, etc)
;;
;; and more, see bsd.sb and system.sb in the corresponding directory.
;;
(import "/System/Library/Sandbox/Profiles/bsd.sb")

ذخیره موارد بالا به عنوان config.sb، می توانید از آن برای جعبه سندباکس یک برنامه به صورت زیر استفاده کنید:

$ sandbox-exec -f config.sb /Applications/Foo.app/Contents/MacOS/Foo

برای مشاهده تمام عملیاتی که رد شده اند، برنامه ها → ابزارهای کمکی → کنسول را باز کرده و عبارت را جستجو کنید. sandbox و نام برنامه از نظر تاریخی، می توانید از آن استفاده کنید (trace "output") فرمان، اما به نظر می رسد این در جدیدترین macOS ناکارآمد است.

اکثر برنامه‌های کاربردی مدرن با چنین مجوزهای محدودی کار نمی‌کنند، بنابراین قبل از کار کردن نمایه جعبه ایمنی، انتظار داشته باشید که مقداری به عقب و جلو بروند.

بسته به نسخه سیستم عامل خود، می توانید چند نمونه جعبه ایمنی سیستم را در برخی از مکان های زیر پیدا کنید:

  • /Library/Sandbox/Profiles
  • /System/Library/Sandbox/Profiles
  • /usr/share/sandbox

این ابزار تقریباً هیچ سند رسمی ندارد، بنابراین برخی از بینش هکرها می تواند بسیار مفید باشد. تعدادی مثال مفید در اینجا وجود دارد:

پیشینه تاریخی و جزئیات فنی بیشتر را می توان در اینجا یافت:

راه‌اندازی Sandbox از ابتدا اغلب می‌تواند تا حد زیادی آزمایش و خطا باشد – همه چیز را مجاز نکنید، و سپس دنباله خطاها را دنبال کنید تا ببینید چه چیزی را به عنوان حداقل نیاز دارید تا برنامه کار کند.

از طرف دیگر، این یک راه عالی برای به دست آوردن بینش در مورد آنچه که باینری های منبع بسته در تلاش هستند روی سیستم شما انجام دهند، است.

لینک منبع

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.