مسیری طول و دراز به سمت مدیریت امن RAM

16 آذر 1401 مسیری طول و دراز به سمت مدیریت امن RAM

روابط عمومی شرکت ایدکو (توزیع‌کننده‌ی محصولات کسپرسکی در ایران)؛ در نوامبر 2022 آژانس امنیت ملی آمریکا بولتنی در مورد مدیریت امن RAM صادر کرد. اگر به سایر بولتن‌های NSA در باب همین موضوع نگاهی بیاندازید متوجه خواهید شد که آن‌ها بیشتر یا روی رمزگذاری داده متمرکزند یا محافظت از لوپ تولید و سایر مسائل سازمانی. مستقیم پرداختن به توسعه‌دهندگان نرم‌افزاری برای این آژانس حرکتی تماماً غیرمعمول است. اما از آنجایی که این اتفاق افتاده می‌شود واضحاً فهمید مسئله مهمی در کار بوده است. در اصل NSA از توسعه‌دهندگان نرم‌افزاری خواسته تا به زبان‌های برنامه‌نویسی سوئیچ کنند که معماری‌شان به امنیت افزوده موقع کار با مموری اشاره دارد. و در واقع این اتفاق جلوی استفاده از  C و C++ را نیز می‌گیرد. در غیر این صورت، توصیه می‌شود مجموعه اقداماتی برای تست نرم‌افزارها انجام شود که طی آن‌ها آسیب‌پذیری‌ها شناسایی شده و جلوی اکسپلویتشان گرفته شود. برای برنامه‌نویس‌ها اینها شاید بدیهیات باشد و این فراخوان NSA هم شاید مستقیم آن‌ها را مورد خطاب قرار نداده است بلکه بیشتر از نمایندگان تجاری یا مدیریتی این درخواست را کرده است. با ما همراه بمانید تا بدون تکلف به تحلیل این مباحث بپردازیم.

امنیت مموری

ابتدا سری بزنیم به جدیدریت گزارش از سیر تکاملی تهدید در سه‌ماهه‌ی سوم 2022 و آسیب‌پذیری‌هایی که در حملات سایبری بیشترین استفاده ازشان شد. در صف اول هنوز آسیب‌پذیری CVE-2018-0802 در جزء Equation Editor بسته مایکروسافت آفیس ایستاده است که سال 2018 کشف شد. دلیل وجود آن نیز پردازش غلط داده در رم بود که نتیجه‌اش شد باز شدن داکیومنت ورد خرب که خود لانچ کد دلخواه را به همراه داشت. آسیب‌پذیری دیگر که محبوب دل مهاجمین است CVE-2022-2294 در جزء WebRTC مرورگر گوگل کروم است که با خود اجرای کد دلخواه را داشت. همین باعث شد خطای سرریز بافر بوجود بیاید. آسیب‌پذیری دیگر - CVE-2022-2624- ابزار مشاهده‌گر پی‌دی‌اف کروم را داشت که این نیز به سرریز بافر ختم شد. البته همه آسیب‌پذیری‌های نرم‌افزاری هم دلیلشان مدیریت نادرست رم نیست بلکه منظورمان تعداد خیلی بالایی از آن‌هاست. بولتن NSA به آمار کشف 70 درصدی آسیب‌پذیری‌ها ناشی از مدیریت نادرست مموری اشاره دارد.

چرا چنین اتفاقی می‌افتد؟ اگر مشکل نشتی‌های مموری انقدر جدی است چرا همت نمی‌کنیم و جلوی نوشته شدن کد آسیب‌پذیر را نمی‌گیریم؟ ریشه این مشکل استفاده از زبان‌های برنامه‌نویسی C و C++ است. معماری ان‌ها به توسعه‌دهندگان آزادی زیادی در کار با RAM می‌دهد. اما در کنار آزادی مسئولیت هم هست؛ برنامه‌نویسان C/C++ باید مکانیزم‌هایی را برای نوشتار امن داده و خواندن آن‌ها پیاده‌سازی کنند. در عین حال زبان‌های برنامه‌نویسی سطح بالا مانند C#، Rust, Go و غیره هم می‌توانند این مسئولیت را بر عهده گیرند. نکته این است که موقع کامپایل‌ کردن کد منبع برنامه ابزارهای مدیریت امن مموری خودکار معرفی می‌شود و توسعه‌دهندگان نیازی ندارند روی آن وقت بگذارند. Rust از ابزارهای بیشتری برای بهبود ایمنی استفاده می‌کند تا بدین‌ترتیب جلوی کد احتمالاً خطرناک از کامپایل شدت تا حدی گرفته شود؛ در عین حال خطا به برنامه‌نویس نیز نشان داده می‌شود. البته صرف استفاده از C/C++ وقتی این زبان‌ها برای کارکردهای خاص ضروری باشند -مانند وقتی که برای MCUها یا سایر دستگاه‌ها با محدودیت‌های جدی نیروی رایانش و سایز مموری کد نیاز است- امکان‌پذیر نیست. در صورت مساوی بودن سایر موارد، زبان‌های برنامه نویسی سطح بالا ممکن است منجر به ایجاد برنامه هایی با منابع فشرده تر شوند. اما آمار رایج تهدیدات به ما نشان می‌دهد که حملات اغلب نرم‌افزارهای کاربر رایج (مانند مرورگرها و ویرایشگرهای متن) را هدف قرار می‌دهند که روی رایانه‌های بسیار قدرتمند اجرا می‌شوند (البته در مقایسه با MCUها).

نمی‌شود به این سادگی‌ها زبان برنامه‌نویسی را عوض کرد

NSA به این موضوع واقف است که پایگاه عظیم داده نرم‌افزاری به زبان‌های برنامه‌نویسی ناامنی نوشته شده است که نمی‌شود یک‌شبه به زبان دیگری تغییرش داد. حتی اگر داریم از نوشتن محصول نرم‌افزاری از نقطه‌ی اول صحبت می‌کنیم هم شاید در خصوص یک زبان برنامه‌نویسی خاص نیاز به متودهای توسعه، زیرساخت و تیمی منسجم باشد. بگذارید یک مثال بزنیم: تصور کنید از شما خواسته‌اند چون خانه‌تان قدیمی‌ساخت است آن را عوض کنید. شما می‌دانید سازه قدیمی است و اگر زلزله بیاید پیامدهای منفی خواهد داشت با این حال به زندگی در آن خانه عادت کرده‌اید. تیم توسعه‌دهنده گوگل کروم پستی دارد که در آن صراحتاً اعلام کرده نمی‌تواند در حال حاضر به زبان برنامه‌نویسی دیگری –که در آن امنیت در سازه لحاظ شده است- سوئیچ کند (در این مورد، منظور RUST است). شاید این در آینده ممکن باشد اما در حال حاضر آن‌ها به راهکارهای دیگری نیاز دارند. در همان پست توسعه‌دهندگان گوگل کروم همچنین گفته شده است چرا نمی‌شود اساسی امنیت کد C/C++ را تغییر داد. این زبان‌های برنامه‌نویسی برای حل کردن همه مشکلات کامپایل به طور یکجا طراحی نشده‌اند. برای همین است که بولتن NSA دو مجموعه اقدامات را به عنوان جایگزین در نظر دارند:

  •         تست کد برای آسیب‌پذیری‌های احتمالی با تحلیل دینامیک و استاتیک.
  •         استفاده از قابلیت‌هایی که جلوی اکسپلویت خطای کد را حتی اگر از قبل آنجاست بگیرد.

چالش‌های تغییر

متخصصین فنی با نظر NSA موافقند. متخصصین شاید در مورد اینکه چطور دقیق می‌شود در مواردی که نیاز باشد (الزامات امنیتی برای مثال) به زبان‌های برنامه‌نویسی سطح بالا سوئیچ کرد نظرات مختلف داشته باشند. ابتدا اینکه درک اینکه اگر چنین تغییری رخ دهد شاید سال‌ها زمان ببرد مهم است. دوم اینکه چنین تکاملی بها دارد- هر کسب و کاری آماده پرداخت این بها نیست! مشکل مدیریت ناامن مموری در زبان‌های برنامه‌نویسی با سطح پایین انتزاع، مشکل سیستمی است. فراخوان برای راهکاری مهم لازم است اما توقع هم نمی‌شود داشت هر کسی فردا به توسعه C#، Go، Java، Rust یا Swift روی بیاورد. درست همانطور که نمی‌شود به این سادگی یک شهر یا کشور را عوض کرد! در آخر مشکل مدیریت ناامن مموری شاید بزرگ باشد اما تنها معضل امنیت نرم‌افزاری هم نیست. در چندین دهه وجود صنعت آی‌تی هرگز ایجاد یک سیستم تماماً امن و جهانی برای همه تسک‌ها (به جز راهکارهای به شدت تخصصی) ممکن نبوده. از نقطه‌نظر تجاری، سرمایه‌گذاری در فناوری‌های جدید (با توسعه‌ی مهارت‌های مکاتباتی و استخدام متخصصین باتجربه) با ماکسیمم محافظت از فناوری‌های موجود، عقلانی است. از دریچه توسعه نرم‌افزاری اما این شاید به شکل زبان‌های برنامه‌نویسی جدید و فناوری‌های برای تست کد موجود پدیدار شود. برای سایر کسب و کارها هم می‌شود گفت راهکار خود را به شکل سرمایه‌گذاری روی فناوری‌های جدید برای محافظت در برابر حملات سایبری و نیز تست مداوم قدرت زیرساخت‌های فعلی نشان دهد. به بیانی دیگر رویکرد جامع به ایمنی، بهینه است و تا مد‌ت‌ها هم قرار است همینطور باقی بماند.

 

منبع: کسپرسکی آنلاین (ایدکو)

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

محصولات مرتبط

  • Kaspersky Internet Security for Android

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

    7,238,100 ریال
    خرید
  • Kaspersky Cloud Password Manager

    Kaspersky Cloud Password Manager ابزار مدیریت کلمه عبور ابری کسپرسکی (KCPM) ضمن ذخیره ایمن تمامی کلمات عبور مورد استفاده شما برای وبسایت‌ها، اپلیکیشن‌ها، و شبکه‌های اجتماعی آنها را در تمامی ...

    10,860,600 ریال
    خرید
  • Kaspersky Safe Kids

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

    1,086,060 ریال10,860,600 ریال
    خرید
  • Kaspersky Security Cloud Personal

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

    72,443,100 ریال
    خرید
  • Kaspersky Standard

    سیستم امنیتی بهبودیافته به همراه تقویت‌کننده عمکرد دستگاه طرح امنیتی استاندارد ما، نه تنها سیستم امنیتی قدرتمندی را برای انواع ویروس‌ها، بدفزارها و باج‌افزارها ارائه می‌دهد ...

    10,246,500 ریال20,493,000 ریال
    خرید
  • Kaspersky Plus

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

    14,693,550 ریال29,387,100 ریال
    خرید
  • Kaspersky Premium

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

    15,718,200 ریال31,436,400 ریال
    خرید
  • Kaspersky Small Office Security

    محافظت در حین کار Kaspersky Small Office Security به طور خاص برای سازمان‌هایی طراحی شده است که 5 تا 50 دستگاه کامپیوتر در خود جای داده‌اند. نصب آن بسیار آسان است؛ مدیریت آن ...

    65,201,550 ریال130,403,100 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    208,649,100 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    78,242,550 ریال156,485,100 ریال
    خرید
  • Kaspersky Small Office Security

    250,670,100 ریال
    خرید
  • Kaspersky Small Office Security

    91,283,550 ریال182,567,100 ریال
    خرید
  • Kaspersky Small Office Security

    291,966,600 ریال
    خرید
  • Kaspersky Small Office Security

    104,324,550 ریال208,649,100 ریال
    خرید
  • Kaspersky Small Office Security

    333,987,600 ریال
    خرید
  • Kaspersky Small Office Security

    117,365,550 ریال234,731,100 ریال
    خرید
  • Kaspersky Small Office Security

    375,284,100 ریال
    خرید
  • Kaspersky Small Office Security

    119,539,050 ریال239,078,100 ریال
    خرید
  • Kaspersky Small Office Security

    382,529,100 ریال
    خرید
  • Kaspersky Small Office Security

    168,442,800 ریال336,885,600 ریال
    خرید
  • Kaspersky Small Office Security

    539,021,100 ریال
    خرید
  • Kaspersky Small Office Security

    217,346,550 ریال434,693,100 ریال
    خرید
  • Kaspersky Small Office Security

    695,513,100 ریال
    خرید
  • Kaspersky Small Office Security

    262,627,800 ریال525,255,600 ریال
    خرید
  • Kaspersky Small Office Security

    840,413,100 ریال
    خرید
  • Kaspersky Small Office Security

    498,090,300 ریال996,180,600 ریال
    خرید
  • Kaspersky Small Office Security

    1,593,893,100 ریال
    خرید

نظر خودتان را ارسال کنید


کاربر گرامی چنانچه تمایل دارید، نقد یا نظر شما به نام خودتان در سایت ثبت شود، لطفاً وارد سایت شوید.
*نظر
کلیه حقوق مادی و معنوی این سایت محفوظ و متعلق به شرکت گسترش خدمات تجارت الکترونیک ایرانیان است و هر گونه کپی برداری از آن پیگرد قانونی دارد