توصیه NSA به استفاده از زبان های Memory safe و عدم استفاده از C و ++C
آژانس امنیت ملی ایالات متحده آمریکا NSA به تازگی شرکتها را به جای استفاده از زبان های برنامه نویسی C و ++C تشویق به استفاده از زبانهایی که امنیت حافظه(Memory safe) بهتری مانند C# ،Rust ،Go ،Java، Ruby و سوئیفت ارائه میدهند کرده است.
به گزارش گروه دانش و فناوری اقتصاد ۱۰۰ و به نقل از سخت افزارمگ،این آژانس توصیه میکند که شرکتها در صورت امکان از زبانهایی که از قابلیتهای ایمنی حافظه پشتیبانی میکنند استفاده کنند و برای دفاع بیشتر در این زمینه توصیه استفاده از ارتقای امنیت کد نرمافزار از طریق کامپایلر و پیکربندی درست سیستم عامل کرده است.
نگرانی اصلی سازمانها در این زمینه دسترسی و سوءاستفاده مخرب مجرمان سایبری به آسیبپذیریهای حافظه مموری است و این اتفاق بیشتر در زبانهای برنامهنویسی رخ میدهد که انعطاف پذیری و گزینههای بیشتری را در خصوص مدیریت حافظه در اختیار برنامهنویس قرار میدهند.
استفاده از یک زبان برنامهنویسی امن در بخش حافظه میتواند جلوی ارائه مشکلات در این خصوص را برای توسعهدهندگان بگیرد. در بیشتر زبانهای برنامهنویسی سطح بالا عملکرد حافظه مموری به صورت خودکار توسط خود زبان برنامهنویسی مدیریت میشود و نیاز به دخالت برنامهنویس در این بخش کاهش مییابد.
در همین راستا خود زبانهای برنامهنویسی با استفاده از ویژگیهای زمان کامپایل شدن و runtime checks که به بررسی فعالانه مشکلات کدهای در حال اجرا اشاره دارد مدیریت و امنیت خودکار مموری را ایجاد میکند. این ویژگیهای ذاتی زبان برنامهنویسی، برنامهنویس را از اشتباهات ناخواسته در مدیریت و برنامهنویسی حافظه مصون میدارد.
Neal Ziring مدیر فنی امنیت سایبری در NSA اظهار کرده که استفاده مداوم از زبانهای ایمن در این بخش و پیادهسازی دیگر مکانیسمهای حفاظتی هنگام توسعه نرمافزار برای از بین بردن آسیبپذیریهای مربوط به حافظه ضروری است. با این حال NSA اعتراف کرده که memory safe بودن و استفاده از زبان برنامه نویسی پشتیبانی کننده از آن چالشهای دیگر را اضافه میکند و در زمینه پرفورمنس و انعطاف پذیری نیز مشکلاتی را به وجود میآورد.
ایمن بودن حافظه با چالشهای خاص خود همراه است و سطوح شدید حفاظت ذاتی از مموری، تاثیر نامطلوبی بر کامپایل کردن کدهای نرمافزاری دارد. جابجایی و تغییر استفاده از یک زبان به زبان دیگر نیز با دشوارهای خود همراه است. به گفته شرکت تحلیلی SlashData کاربران Rust بین سالهای 2020 تا 2022 سه برابر شده و زبان Go یا Golang همچنین پرکاربرد بوده و جامعهای 3.3 میلیونی از توسعهدهندگان از آن استفاده میکنند.
جاوا اسکریپ همچنان با 17.5 میلیون توسعهدهنده همچنین یکی از محبوبترین زبانهای برنامهنویسی است. در حالی که زبانهای برنامهنویسی تقریبا در همه جا استفاده میشوند، ادعاهای NSA مبنی بر مشکلزا بودن C و ++C یک نظر عمومی و محبوب به شمار میرود.
Mark Russinovich مدیر ارشد فناوری مایکروسافت Azure در سپتامبر گذشته اظهار کرد که زمان آن رسیده که توسعه پروژههای جدید در این دو زبان را متوقف کنند. این مدیر ارشد بخش ابری مایکروسافت بیان کرد که نسبت به استفاده از زبان Rust علاقه بیشتری را نشان میدهد اما همچنین تایید کرد که هماکنون پروژههای بسیار زیادی وجود دارند که برای دههها قرار است از C و ++C استفاده کنند.
ارسال نظر