PDA

View Full Version : پنهان کردن برنامه اجرایی از دید admin



mahak_f
چهارشنبه 07 آذر 1386, 09:30 صبح
با سلام.
همانطوری که می دونیم با اجرای کامندهایی مثل ps یا top یا pstree پروسسهای در حال اجرا یا لود شده روی کامپیوتر نشون داده میشن.حالا سوال من اینه چطور میشه برنامه ای نوشت که بتونه این کامندهای ps یا top یا pstree رو گول بزنه و admin نتونه برنامه اجرایی منو روی کامپیوتر ببینه؟

mahak_f
جمعه 09 آذر 1386, 17:16 عصر
این رو میدونم که از دو روش میشه اینکار رو انجام داد. یکی از این روشها دستکاری در کرنله.
واقعا کسی نمیتونه کمکی بکنه؟

Inprise
شنبه 10 آذر 1386, 17:24 عصر
یک راه استفاده از روتکیتهای متداول لینوکس هست . تعدادشون هم زیاد نیست . بسته به شرایط سیستمت ببین کدوم برات مناسبه . اگه خواستی مسئله ات رو بهتر توضیح بده و بگو روی 2.4 هستی یا 2.6 که بهتر راهنمائی کنم
راه سخت تر استفاده از SELinux هست . میتونی برای یک یا تعدادی از باینری هات ، در یک یا تعدادی مسیر ، پالیسی خاصی تعریف کنی که قابل خواندن و نوشتن توسط روت هم نباشن . یه سری تمپلیت هم همراهش هست که اگر درست یادم باشه یکیشون کل همین ماجرا رو خودکار میکرد . فکر میکنم تو اخرین نسخه اوبونتو SELinux با امکانات جانبی و مدیریتی خوبی وجود داشته باشه اما از قدیم همیشه بهترین حمایت SELinux روی Redhat بوده .

Inprise
شنبه 10 آذر 1386, 17:33 عصر
در مورد جواب کاربری که گفته بود این چیزها غیر ضروریه و کاربردی نداره و تو مملکت ما و ...( که مدیر بخش مطلبش رو به دلیل بی ربط بودن حذف کرده ) یه توضیحی میدم که شاید لااقل فایدهء این جواب به یه نفر دیگه هم برسه :

بر اساس نیاز و شرایط خیلی وقتها آدم به چیزهای مختلفی نیاز پیدا میکنه . این خیلی طبیعی هست که یه نفر بخواد روی کامپیوترهای شبکه اش برنامه ای رو نصب کنه که کاربران حتی اگر روت بودند نتونن ببیننش یا حذفش کنن ، یا شاید بخواد برای کامپیوتر صنعتی ای که برای یک کاربرد خیلی خاص داره میفروشه یه جور قفل یا محدودیت بگذاره و در عین حال روت رو هم بده ، یا دوست داشته باشه بخشی از اطلاعات ماشین رو همیشه حفظ کنه حتی اگر روت فعلی بخواد پاکشون کنه و ...ده ها مثال دیگه . یکی از تفاوتهای Man خوندن و کل کل کردن در مورد اپن سورس با تجربه در دنیای واقعی درک همین واقعیت هاست .

یکی از مهمترین کارکردهای SELinux امکان فرموله کردن اختیارات روت هست . سوالی که پیش میاد اینه که حالا این روت هنوز روت هست ؟ جوابش مثبته . چجوری ؟ whoami
قرار نیست اگر کسی روت بود ، لزوما ما حق نداشته باشیم به سیاستی برای کنترلش فکر کنیم .

Folaani
شنبه 10 آذر 1386, 18:08 عصر
پنهان کردن هیچوقت یک راه حل اصولی نیست برای اینکه مثلا به اون برنامه کنترلی نداشته باشن. بلکه کافیه اجازهء کنترل اون برنامه رو نداشته باشن.
البته اینکه بخوان برنامه دیده هم نشه، بله بنظر شاید مورد داشته باشه.
بهرحال سیستم شما نباید حکایت چندتا آشپز بشه و آش شور یا بی نمک، درسته؟
ما در این سیستم اگر یک ادمینی خواستیم که بتونه به کل سیستم احاطه و دید داشته باشه، ایا معقول و مورد دار هست یا نه؟ مثلا میخواد بدونه رایانه چرا اینقدر کند شده!

مثلا دوست عزیزمون در پست خودشون به وضوح صحبت از گول زدن این فرمانها میکنن! خب از این چه برداشت درجهء اول و پاسخی بدست میاد؟ میخواید خیلی سطح بالا صحبت کنیم و فرض کنیم در عملیات آپولو هوا کردن به مشکل نقص فیزیک کوانتمی برخورد کردن؟
برداشت اینه که خودشون کاربر عادی هستن و میخوان کنترل ادمین رو دور بزنن.
مسلمه که آدم برداشت بکنه طرف میخواد از این بازیهای هکری و شیرین کار دربیاره.
و گول زدن زمین تا آسمان فرق داره تا یک کار اصولی و سیستماتیک و چیزی که تمهیدات مستقیم براش در سیستم عامل باشه.

Inprise
شنبه 10 آذر 1386, 20:26 عصر
هر کسی حق داره با ماشینی که در اختیارش هست ، کامپیوترش ، سیستم عاملش و غیره هر کاری دلش میخواد بکنه . چه شیرین کاری چه غیره . قضاوت در این باره شایستهء دیگران نیست . اگر کسی دلش میخواد ls رو فریب بده خوب لابد دوست داره و نیاز داره که اینکار رو انجام بده . لابد فردی در شرایطی قرار گرفته که مشخصاتش بر دیگران مکشوف نیست و در عین نیاز به انتقال روت نیازمند مخفی کردن برخی از دسترسی ها هم هست . من شخصا بارها در این موقعیت بودم ، خیلیهای دیگر هم . گوگل .

حالا به چنین فردی میشه پیشنهادهای مختلفی کرد . روتکیت که اولین توصیه بود دقیقا همان گول زدن هست . یعنی با دستکاری چند تا جدول آدرس و چند تا لیست پیوندی میشه خیلی چیزها رو بسادگی مخفی کرد حتی از دید روت ولی قبل از انجامش باید خودت روت باشی . کلید مسئله همین هست . ( مگر اینکه مسئله Exploitation مطرح باشه که لااقل اینجا مطرح نیست ) SELinux هم به عنوان توصیه دوم خیلی موجود عظیمی هستش و چون تسلط بهش و کاربریش هزینه زیادی داره به نظر من باید واقعا یک توجیه منطقی کافی براش پیدا بشه . حالا دیگه با این توصیفات این خود کاربر هست که باید انتخاب کنه .

armin390
سه شنبه 13 آذر 1386, 16:54 عصر
شاید استفاده از exec بتونه مشکلت رو حل کنه!