ایمنی حافظه: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
جز ربات: افزودن en:Memory safety |
جز ربات ردهٔ همسنگ (۲۰) ++مرتب+تمیز(۱.۶): + رده:عملکرد امنیتی رایانه+رده:اشکالهای برنامهنویسی |
||
خط ۱:
'''ایمنی حافظه''' یک نگرانی در توسعه نرمافزار است که قصد دارد از اشکالات نرم افزاری که باعث آسیب پذیریهای امنیتی در برخورد با دسترسی به حافظه دسترسی تصادفی (RAM) می شود جلوگیری کند، مانند انوع buffer Overflow و اشاره گر آویزان.
==انواع خطاهای حافظه==
سطر ۷ ⟵ ۵:
انواع مختلفی از خطاهای حافظه میتواند رخ دهد، بسته به نوع زبان برنامه نویسی استفاده میشود.
* '''[[سرریز بافر]]:'''
* '''خطاهای حافظه:'''
* '''درجه دو آزاد:'''
* '''درجه نامعتبر:'''
* متغیرهای مقداردهی نشده
* اشاره گر وحشی
*
سرریز پشته - هنگامی رخ میدهد که یک برنامه خارج از فضای پشته اجرا میشود
تخصیص
==اشاره گر معلق==
یک اشاره گر است که اشاره به حافظه شدهاست.
<syntaxhighlight lang="c">
int *a = new int;
سطر ۲۹ ⟵ ۲۷:
*a = 4; /* Memory error: we may be overwriting another pointer's data */
</syntaxhighlight>
==سر ریز بافر==
بافر ناحیه ذخیره سازی موقت دادهاست.
<syntaxhighlight lang="c">
سطر ۴۰ ⟵ ۳۷:
{
char arr[ARRAY_SIZE];
if(argc <
return -1;
else
سطر ۴۹ ⟵ ۴۶:
}
</syntaxhighlight>
این برنامه دچار مشکل سرریز بافر میباشد.
راه حل برای این مشکل، از ویژگیهای است که اجرای برنامه از کد را در بخش پشته از حافظه اجازه نمیدهد.
سطر ۵۷ ⟵ ۵۴:
== منابع ==
{{پانویس}}
* http://people.cs.umass.edu/~emery/pubs/fp014-berger.pdf
[[رده:اشکالهای برنامهنویسی]]
[[رده:عملکرد امنیتی رایانه]]
[[en:Memory safety]]
|