اقیانوس دانش

بازدید :218
سه شنبه 19 فروردين 1399زمان :14:54
  • 1
  • 2
  • 3
  • 4
  • 5

Address Space Layout Randomization یا به اختصار ASLRیک تکنیک امنیتی است که در سیستم‌عامل‌ها استفاده می‌شود و اولین بار در سال 2001 پیاده‌سازی شد. نسخه‌های کنونی همهٔ سیستم‌عامل‌های اصلی همچون iOS ،Android ،Windows ،macOS و Linux این ویژگی را دارا هستند؛ اما در عین حال به نظر می‌رسد ASLR آن‌قدرها هم که فکر می‌کنیم امن نیست (ASLR می‌تواند برای کسانی که دانشی در زمینهٔ برنامه‌نویسی سطح پایین ندارند گیج‌کننده باشد. برای درک آن ابتدا باید مفهوم حافظهٔ مجازی را درک کنید).

اولین کسی باشید که به این سؤال پاسخ می‌دهید

Virtual Memory چیست؟
Virtual Memory (حافظهٔ مجازی) یک تکنیک مدیریت حافظه با مزایای بسیار است که در ابتدا برای آسان‌تر کردن برنامه‌نویسی ایجاد شد. تصور کنید در یک کامپیوتر با رم 4 گیگابایتی برنامه‌های ورد، گوگل کروم و برنامه‌های زیاد دیگری باز باشند. در مجموع، برنامه‌های این کامپیوتر بیشتر از 4 گیگابایت رم استفاده می‌کنند اما همهٔ این برنامه‌ها یا همیشه فعال نیستند و یا نیاز به دسترسی هم‌زمان به رم ندارند.

سیستم‌عامل تکه‌هایی از حافظه را به نام Page به برنامه‌ها اختصاص می‌دهد؛ اگر در رم فضای کافی برای ذخیرهٔ همهٔ پبج‌ها با هم وجود نداشته باشد، پیج‌هایی که احتمالاً کمتر مورد نیاز قرار می‌گیرند در یک فضای کندتر (اما با حجم بیشتر) ذخیره می‌شوند. هنگامی که نیاز به دسترسی به این پیج‌های ذخیره شده باشد، جای آن‌ها با پیج‌هایی که در آن زمان در رم کمتر مورد نیاز هستند عوض می‌شود که این فرآیند Paging نام دارد (لازم به ذکر است که نام فایل pagefile.sys در ویندوز نیز از آن گرفته شده است).

حافظهٔ مجازی به برنامه‌ها این امکان را می‌دهد تا حافظهٔ خود را آسان‌تر مدیریت کنند و همچنین آن‌ها را امن‌تر نیز می‌کند. لزومی ندارد برنامه‌ها نگران این باشند که سایر برنامه‌ها داده‌های خود را کجا ذخیره می‌کنند و یا چقدر از حجم رم باقی مانده است؛ فقط باید در صورت نیاز از سیستم‌عامل درخواست حافظهٔ بیشتر و یا بازگرداندن حافظهٔ بلااستفاده را کنند. همهٔ آن چیزی که یک برنامه می‌بیند یک تکه از آدرس‌های متوالی حافظه برای استفادهٔ انحصاری است که Virtual Addresse (آدرس مجازی) نام دارند.

زمانی که یک برنامه نیاز به دسترسی به حافظه دارد، یک آدرس مجازی به سیستم‌عامل می‌دهد؛ سیستم‌عامل با واحد مدیریت حافظهٔ CPU (یا به اختصار MMU) ارتباط برقرار می‌کند. MMU آدرس‌های مجازی را معادل‌های فیزیکی‌شان ترجمه می‌کند و این اطلاعات را به سیستم‌عامل باز می‌گرداند؛ بنابراین از یک سو در هیچ زمانی برنامه مستقیماً با رم تعامل ندارد و از سوی دیگر یک برنامه اجازهٔ دسترسی به حافظهٔ برنامهٔ دیگری را ندارد.

ASLR چیست؟
اصطلاح ASLR در ابتدا برای حفاظت در برابر آسیب‌پذیری Buffer Overflow استفاده می‌شد. در این نوع حملات، مهاجمان به یک سیستم تا حدی که ظرفیت دارد داده‌های ناخواسته ارسال می‌کند سپس یک Payload مُخرب می‌فرستند که بر روی داده‌هایی که برنامه قصد دسترسی به آن‌ها را دارد، بازنویسی می‌شود. برای مثال، روش متداول JailbreakMe یکی از روش‌های Jailbreaking در iOS 4 از آسیب‌پذیری بافر اورفلو استفاده می‌کرد که در نهایت اپل را وادار به افزودن ASLR به iOS 4.3 کرد.

در حملات Buffer Overflow مهاجم باید محل ذخیره‌سازی هر قسمت از برنامه در حافظه را بداند که فهمیدن این موضوع معمولاً نیازمند یک فرآیند پیچیدهٔ آزمون و خطا است که پس از مشخص شدن، مهاجم باید یک Payload ایجاد کرده و محل مناسب برای اینجکت آن را بیابد. به طور کلی، سوء‌استفاده از یک برنامه می‌تواند سخت و یا غیرممکن باشد اگر مهاجم محل ذخیره‌سازی کد هدف را نداند.

ASLR همراه با مدیریت حافظهٔ مجازی برای تصادفی انتخاب کردن محل‌‌های ذخیره‌سازی قسمت‌های مختلف برنامه در حافظه کار می‌کند. هر زمان که برنامه در حال اجرا است، اجزاء آن (شامل استک، هیپ و برخی دیگر لایبرری‌ها) به یک آدرس متفاوت در حافظهٔ مجازی مستقل مرتبط می‌شوند و در این صورت است که مهاجمان دیگر قادر به فهمیدن محل ذخیره‌سازی کد هدف از طریق آزمون و خطا نیستند زیرا آدرس آن هر بار متفاوت است. عموماً برنامه‌ها باید با پشتیبانی ASLR کامپایل شوند و این موضوع در حال تبدیل شدن به یک پیش‌فرض برای برنامه‌ها است (حتی در نسخهٔ 5 و بالاتر اندروید نیز به یک بایدتبدیل شده است).

آیا ASLR شما را در برابر حملات محافظت می‌کند؟
چندی پیش، محققان SUNY Binghamton و University of California، مقاله‌ای تحت عنوان Jump Over ASLR: Attacking Branch Predictors to Bypass ASLR ارائه کردند. این مقاله شامل راهی برای حمله به Branch Target Buffer یا به اختصار BTBاست که به عنوان بخشی از پردازشگر است که اگر دستورات پیش‌بینی نتیجه درست باشند، عملیات را تسریع می‌کند. با استفاده از روش گفته شده توسط نویسندهٔ این مقاله، مشخص کردن محل‌ دستورات شناخته شده در یک برنامهٔ در حال اجرا امکان‌پذیر است. این حمله بر روی یک سیستم لینوکسی با پردازشگر Intel Haswell (که نخستین بار در سال 2013 منتشر شد) اجرا شد اما احتمالاً می‌تواند بر روی هر سیستم‌عامل و پردازشگر مدرن دیگری قابل‌اجرا باشد.

با این حال نباید ناامید بود. این مقاله چندین روش پیشنهاد داده است که دولوپرهای سخت‌افزار و سیستم‌عامل می‌توانند با استفاده از آن‌ها احتمال وقوع این حمله را کاهش دهند. به تازگی، تکنیک‌های جدید و هوشمندانهٔ ASLR تلاش بیشتری را از مهاجمان می‌طلبد و همچنین افزایش تعداد آنتروپی (تصادفی‌سازی) می‌تواند حملهٔ Jump Over را غیرممکن سازد و به احتمال خیلی زیاد، سیستم‌عامل‌ها و پردازشگرهای جدیدتر در برابر این حمله ایمن خواهند بود.

روش Jump Over جدید است و هنوز استفاده از آن در میان هکرها و مهاجمان دیده نشده است. وقتی که مهاجمان از این روش سوء‌استفاده کنند، این نقص باعث افزایش آسیبی احتمالی می‌شود که یک مهاجم می‌تواند برای دستگاه شما ایجاد کند. این سطح از دسترسی بی‌سابقه نیست؛ مایکروسافت و اپل ASLR را در سیستم‌عامل‌‌هایی که در سال 2007 و بعد از آن به بازار عرضه کردند پیاده‌سازی کردند. حتی اگر این سبک از حمله رایج شود، وضعیت شما بدتر از زمانی که از ویندوز XP استفاده می‌کردید نخواهد بود!

به خاطر داشته باشید که مهاجمان برای ایجاد هر نوع آسیبی باز هم باید کد خود را وارد دستگاه شما کنند اما شما به عنوان یک کاربر همیشه باید بهترین روش‌های امنیتی را دنبال کنید؛ از آنتی ویروس استفاده کنید، از وب‌سایت‌ها و برنامه‌های سرسری پیاده‌سازی شده دوری کنید و نرم‌افزارهای خود را به روز نگاه دارید. با انجام این کارها و دور نگاه داشتن مهاجمان از کامپیوتر خود، سیستم شما همان‌گونه که تا الان امن بوده، ایمن باقی خواهد ماند.



مشاهده پست مشابه : لیست رشته های بدون کنکور دانشگاه پیام نور ۹۹
بازدید :186
دوشنبه 18 فروردين 1399زمان :15:05
  • 1
  • 2
  • 3
  • 4
  • 5

وردپرس یکی از اصلی‌ترین سیستم‌های مدیریت محتوا در جهان است که در ابتدا به عنوان چهارچوبی برای وبلاگ نویسی شروع به کار کرد. اما پس از مدتی با ارائه‌ی پلاگین‌های متعدد،‌ موارد استفاده‌ی بیشتری پیدا کرد. در این مقاله، به بررسی ده مشکلی که ممکن است با آن روبرو شوید می‌پردازیم:

۱- هاست کردن آنلاین وبسایت

برای راه‌اندازی یک سایت وردپرس، شما باید یک پایگاه داده ساخته و آن را به سایت خود متصل کنید. اما اگر شما آن را آفلاین بسازید، هنگام آنلاین شدن و آپلود کردن آن به مشکل برمی‌خورید.

پس از خرید دامنه:

  • به هاست خود اطلاع بدهید تا فضای مناسب برای شما فراهم کنند.
  • به صورت آفلاین سایت و دیتابیس خود را زیپ کنید.
  • فایل سایت خود را بر روی یک html عمومی آپلود کنید. برای دیتابیس نیز پس از ساخت آن بر روی MySQL، روی PhpMyAdmin‌ آپلودش کنید.
  • حال می‌توانید یوزرنیم و پسورد خود را از طریق فایل php موجود در فایل زیپ(که اکنون اکسترکت کرده‌اید) سایت تغییر دهید.
  • فایل sql را بر روی دیتابیس تازه ساخته‌شده‌ی خود اکسترکت کنید.
  • همچنین می‌توانید یک دیتابیس جدید بر روی cPanel ساخته و برای تنظیم درست، توضیحات آن را بنویسید. این عمل خود به خود دیتابیس را به سایت وصل می‌کند.
  • حال می‌توانید به سایت خود دسترسی داشته‌باشید.

هنگام آپلود کردن مراقب باشید تا به اروری برنخورید.

arow-wp (3)

۲- پیغام Error establishing a Database Connection

این ارور می‌تواند به سه دلیل زیر باشد:

  • ایراد در سرور هاست
  • ایراد در فایل wp-config.php
  • هک شدن سایت

arow-wp (1)

برای حل دلیل اول باید به شرکت هاست خود مراجعه کنید.

دلیل دوم مربوط به عدم ارتباط مناسب سایت و دیتابیس است که عمدتا به علت اطلاعات غلط یوزنیم، پسورد و یا هاست است و بنابراین باید تمامی این اطلاعات را دقت بررسی کنید تا ایرادی نداشته‌باشند.

برای بررسی دلیل سوم باید سایت را بررسی کنید و مطمئن شوید که از ابزار هک استفاده نشده‌است. حتما پس از بررسی، یوزرنیم و پسورد خود را تغییر دهید تا هکر مجددا به سایت دسترسی پیدا نکند.

۳- عدم دسترسی به ادمین وردپرس

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

برای حل این مشکل، می‌توانید به کد فایل وارد شوید و از آن‌جا پسورد را تغییر دهید. علت دیگر این مشکل، فراموش کردن رمز عبور است که با چک کردن ایمیل ثبت‌نام خود به راحتی می‌توانید به آن دسترسی پیدا کنید.

بنابراین پیشنهاد می‌شود که هرگاه در ورود به داشبورد خود به مشکل برخوردید، این دو روش ذکرشده را از یاد نبرید.

۴- ریدایرکت شدن هنگام تلاش برای ورود به وردپرس

ممکن است هنگام لوگین کردن، به مشکل رفرش یا ریدایرکت شدن صفحه بر بخورید. علت این مشکل، ایراد در بخش آدرس سایت و Home است.

اطلاعات آدرس سایت اصلی ممکن است با اطلاعات وارد شده در دیتابیس متفاوت باشد که این مسئله، ایراد مذکور را پدید می‌آورد.

۵- صفحه سفید

اگر هنگام ورود به وبسایت خود با صفحه‌ای سفید روبرو می‌شوید، نترسید. علت این مسئله می‌تواند تمام شدن حافظه، مشکل در کد تم و یا پلاگین باشد.

برای حل مشکل حافظه، محدودیت آن را در فایل wp.config.php به مقداری مناسب مثل 64M افزایش دهید تا هنگام آپلود فایل‌های بزرگ به مشکلی برنخورید.

اگر با این کار مشکل برطرف نشد، ممکن است مشکل در تم یا پلاگینی باشد که اخیرا نصب کرده‌اید. این مشکل می‌تواند مربوط به عدم هماهنگی با نسخه‌ی وردپرس و یا ایراد در کد باشد.

۶- عدم دریافت ایمیل بازیابی پسورد

اگر پس از فراموش کردن پسورد خود، ایمیلی برای بازیابی و تغییر آن دریافت نمی‌کنید، موارد زیر را اجرا کنید:

  • به phpMyAdmin مراجعه کنید و به دنبال پسورد خود بگردید.
  • دیتابیس مورد نظر را انتخاب کنید.
  • در بخش wp_users یوزرنیم خود را پیدا کنید.
  • روی Go کلیک کرده و عملیات را ذخیره کنید.

حال می‌توانید با پسورد جدید خود وارد سایت شوید.

۷- ارور WordPress: 500 internal server

دلایل اصلی این ارور شایع، پلاگین‌ها، حافظه، cache و htaccess است. در ابتدا پلاگین‌های جدید خود را بررسی کنید که ایجادکننده‌ی مشکل نباشند. برای این کار، کافیست آن را غیرفعال کنید و مجددا وبسایت را بررسی کنید.

همچنین اگر چند پلاگین دارای عملکردی مشابه دارید، آن‌ها را بررسی کنید تا عامل ارور نباشند.

arow-wp (2)

اگر مشکل در پلاگین نبود، مقدار حافظه را در فایل php.ini یا wp.config.php به 64M تغییر دهید. برای جلوگیری از ایجاد ایرادات بیشتر، مقدار حافظه را بیش از این افزایش ندهید.

همانطور که گفته شد فایل htaccess‌ که در کنار دیگر فایل‌های سایت قرار دارد نیز می‌تواند علت این ارور باشد. اسم این فایل را تغییر داده و سپس دانلود کنید، بعد در سیستم خود یک فایل نوشتاری با پسوند htaccess ساخته و در پوشه‌ی اصلی سایت آپلود کنید.

اگر هیچ‌کدام از این سه روش کار نکردند، cache سایت را پاک کرده و مجددا برای ورود به سایت تلاش کنید.

۸- ارور Connection Timed out

علت این ارور، طول کشیدن پاسخ‌دهی سرور است. یکی از علل این مشکل می‌تواند ایراد در پلاگین‌ها و تم‌ها باشد. در صورت رویارویی با این مشکل، این موارد را بررسی کنید و اگر مشکل برطرف نشد، میزان حافظه را بالا ببرید.

همچنین دیگر راه‌حل احتمالی پیش روی شما، پاک کردن cache و چک کردن مجدد سایت است.

۹- عدم اعمال تغییرات در سایت

اگر تغییراتی که می‌دهید در وبسایت شما نشان‌داده نمی‌شوند، بهتر است به پلاگین‌ها مراجعه کنید چراکه یک پلاگین ممکن است نسخه‌ای از سایت را ذخیره کرده و تغییرات جدید را شناسایی نکرده‌باشد.

اگر مشکل در اینجا بود، پلاگین را غیرفعال کرده و پس از اعمال تغییرات مجددا راه‌اندازی کنید.

۱۰- ارور 404

این ارور نتیجه‌ی تنظیمات اشتباه است. برای اصلاح این امر، باید لینک‌های جدید و پیوندهای یکتا بررسی شوند. بعد از این کار رفرش کرده و cache را پاکسازی کنید.



مشاهده پست مشابه : لیست رشته های بدون کنکور دانشگاه پیام نور ۹۹
بازدید :257
شنبه 16 فروردين 1399زمان :13:38
  • 1
  • 2
  • 3
  • 4
  • 5

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

مشاهده پست مشابه : لیست رشته های بدون کنکور دانشگاه پیام نور ۹۹
درباره ما
اطلاعات کاربری
نام کاربری :
رمز عبور :
آرشیو
خبر نامه


معرفی وبلاگ به یک دوست


ایمیل شما :

ایمیل دوست شما :



چت باکس




captcha


پیوندهای روزانه
  • آرشیو لینک ها
آمار سایت
  • کل مطالب : 3
  • کل نظرات : 0
  • افراد آنلاین : 2
  • تعداد اعضا : 0
  • بازدید امروز : 2
  • بازدید کننده امروز : 2
  • باردید دیروز : 0
  • بازدید کننده دیروز : 1
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 4
  • بازدید ماه : 4
  • بازدید سال : 9
  • بازدید کلی : 2539
کدهای اختصاصی