آژانس امنیت ملی ایالات متحده گزارشی را منتشر کرد که در آن خطرات آسیبپذیریهای ناشی از خطاهای حافظه، مانند دسترسی به یک ناحیه حافظه پس از آزاد شدن و بیش از حد بافر، تجزیه و تحلیل شد. سازمانها تشویق میشوند از زبانهای برنامهنویسی مانند C و C++ که مدیریت حافظه را در صورت امکان به توسعهدهنده واگذار میکنند، به نفع زبانهایی که مدیریت خودکار حافظه را ارائه میدهند یا بررسیهای ایمنی حافظه را در زمان کامپایل انجام میدهند، کنار بیایند.
زبان های توصیه شده برای کاهش خطر اشکالات حافظه عبارتند از C#، Go، Java، Ruby، Rust و Swift. به عنوان نمونه آمار شرکت های مایکروسافت و گوگل ذکر شده است که بر اساس آن حدود 70 درصد از آسیب پذیری های محصولات نرم افزاری آنها ناشی از کار ناایمن با حافظه است. هنگامی که امکان مهاجرت به زبانهای امنتر وجود ندارد، به سازمانها توصیه میشود که با استفاده از گزینههای کامپایلر اضافی، ابزارهای تشخیص خطا و ترفندهای سیستمعامل که بهرهبرداری از آسیبپذیریها را سختتر میکنند، دفاع خود را تقویت کنند.
منبع: opennet.ru