انجمن های گفتگوی جامعه کاربران لینوکس استان یزد
16 شهريور 1389,ساعت 17:39:23 *
خوش آمدید، مهمان - لطفا برای ثبت نام اینجا و یا برای ورود اینجا را کلیک کنید.
آیا هنوز ایمیل فعال سازی حساب کاربری برای ما ارسال نشده است؟

لطفا برای ورود نام کاربری و رمز عبورتان را وارد نمایید
اخبار: لطفا برای استفاده بهتر از انجمن، ثبت نام کنید!
 
   فهرست   راهنمايي جستجو تقویم ورود عضويت  
نويسنده موضوع: W^X  (دفعات بازدید: 491 بار)
L0pht
مدیر انجمن ها
کاربر فعال
*****
آنلاین آنلاین

جنسيت : پسر
تعداد ارسال: 221


Nothing [at] all


WWW
W^X
« : 04 دي 1387,ساعت 02:26:22 »

سلام .
اینقدر گوگل کار را  راحت کرده که لازم نمی بینم خیلی اوقات پستی بدم اما گاهی اوقات برای  خط دادن به دیگران خیلی خوبه که آدم به فارسی یه مطلبی را ارائه کنه .
اگر به دید یک مدیر امنیتی نگاه کنیم به اصطلاح میگیم  هر سیستم عاملی  را میشه امن کرد فقط باید علمش موجود باشه خوب منم این موضوع را وقتی به دید ابتدایی نگاه می کردم می پذیرفتم اما وقتی خیلی از نفوذ هارا تجربی تحلیل و بررسی کردم دیدم که اصلا قابل پذیرش نیست. نوع ،ساختار و حتی هدف از بکاربردن یک سیستم عامل را باید قبل ازاستفاده از  اون بررسی کرد. امن  کردن توسط یک متخصص %85 موارد را تکمیل میکنه تا ما یک سیستم مستحکم داشته باشیم خوب باقی اون تا رسیدن به %99 بستگی به خود plateform داره. تصدیق این حرفا با یه مثال کوچیک شاید ثابت بشه.
خوب همه خانواده BSD را میشناسید نه ؟ من بهشون میگم ادمای بد اخلاق  smile-big بویژه OpenBSD که قراره با یکی از  property هاش آشنا بشیم.
OpenBSD به هدف امن ترین سیستم عامل دنیا یا بهتره بگم رسیدن به اصطلاح Number One در صنعت امنیت . تا حدی به این هدف  رسید و اون را نگه داشته  راستش اگر Advisory ها را هم کمی جستجو کنید جز یه 3 الی 4 آسیب پذیری bufferOverflow  که اکثرا local و یکی remote هستند چیز زیادی پیدا نخواهید کرد که اونا هم یا تو مکانیزم packet handling توی سرویس های  مبتی بر اون بوده یا از ماژول های  اضافی لود شده در  کرنل.
اگر بخوایم تکنیک ها یا defence هایی که این سیستم عامل در کد های خود پنهان کرده بر شمارین میشه پیشه پا افتاده ترین اونا را موارد زیر بیان کرد:
  • Privilege separation
  • strlcpy() and strlcat()
  • Chroot jailing
  • Privilege revocation
  • New uids
  • # ProPolicey
  • W^X
و خیلی موارد دیگه که شاید در آینده طی تحقیقات خودتون بهش رسیدین.
W^X یک مکانیزم  امنیتیست که در سیستم عامل OpenBSD پیاده سازی شده. این یه policy برای محافظت بهتره حافظه در مقابل حملات پیچیده bufferoverflow و stack breaking (اصطلاح خودم) هست.بدین وسیله عملیات paging یا Swapping که بین حافظه اصلی و یک منبع مشخص صورت میگیره ، هر page در address space یک فرایند قایل درج و اجرا میباشد اما همزمان  نه که به این روش  عملیات xorBoolen گفته میشه به اصطلاح هرچیزی که قایل درج نیست قایل اجرا است. W^X از  دسترسی درخواستی توسط Application ها جلوگیری نمی کند ، مجوز های درج یا نوشتن یا قابلیت اجرا بودن توی این نوع ویژگی هیچ تاثیری نداره . همونطور که گفتم OpenBSD تنها با این خاصیت موافقت کرده و باعث شده تا خیلی از حملات سر ریز بافر و حملات مبتنی بر پشته یا stack قابل  اجرا نباشند.W^X با نوع پردازده شما هم خیلی  وابسته هست.روی CPU هایی که به صورت خوب page permission ها را نگاه کرده و عملی  می سازند مثل SPARC های SUN و AMD ها و HP'Alpha ها .
شماتیک کلی از به کار گیری این ویژگی :

خوب دور زدن این نوع protection هم هست.

متشکر از google,coresecrity,openbsd.org



مشاهده كاربراني كه از این پست تشكر كرده اند:

ZareI

براي اين پست, 1 كاربر تشكر كرده اند
خارج شده است

Security Community
Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC | Developed by Aftab Javid Pars | Hosted by Dibagroup