برنامه نویسی

توسعه سیستم های ایمن: اهمیت ایمنی در سیستم های نرم افزاری

این پست با همکاری Eunice de Borba Correia نوشته شده است

1 معرفی

امروزه ، با تقریباً همه چیز به اینترنت ، ایمنی سیستم های نرم افزاری به یک نگرانی اساسی تبدیل شده است. حملات و دسترسی های ناخواسته در هر زمان ممکن است اتفاق بیفتد ، بنابراین آنقدر مهم است که از قبل تصور می شود که از ابتدا خود را محافظت کنند.

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

2 دلیل نظری

ایمنی در توسعه نرم افزار باید از زمان آغاز این پروژه در معماری سیستم تصور شود. برای جلوگیری از خرابی و مقاومت بیشتر در برابر حملات خارجی ، برنامه ریزی ایمنی به روش ساختاری لازم است. و برای این کار ، استفاده از اصولی مانند تأیید اعتبار قوی ، اعتبارسنجی ورود ، بررسی کد ، تست های امنیتی و استفاده از کتابخانه های معتبر ضروری است. هنگامی که این اصول در طول چرخه توسعه اعمال می شود ، خطرات آسیب پذیری به طور قابل توجهی کاهش می یابد (الیاس ، 2015).

در این زمینه ، الیاس (2015 ، ص 143) اظهار داشت:

امنیت معماری شامل برنامه ریزی کلیه ساخت و ساز نرم افزار در مورد اتخاذ اصول اصلی ایمنی نرم افزار ، مانند: کاهش سطح حمله است. امنیت به طور پیش فرض ؛ در دفاع عمیق ؛ شکست امن و امتیاز کمتری.

این اصول باعث می شود سیستم با کاهش نقاط ورودی حملات ، اطمینان از رفتارهای ایمن به طور پیش فرض و اعمال محدودیت های دسترسی مناسب ، قوی تر شود. با پیروی از این نوع مدل ، توسعه دهندگان در مواجهه با تهدیدهای فزاینده پیچیده ، برنامه های قابل اعتماد و انعطاف پذیر تر می سازند (الیاس ، 2015).

ایمنی به عنوان یک ویژگی سیستم نرم افزاری در نظر گرفته می شود ، توانایی این نرم افزار را برای محافظت از خود در برابر حملات خارجی مانند تصادفات یا در نظر گرفته شده از اشخاص ثالث نشان می دهد. حملات عمدتاً به دلیل اتصال بیشتر رایانه ها به شبکه های اینترنتی است که امکان دسترسی به دیگران وجود دارد. چندین نمونه از حملات وجود دارد که می تواند اتفاق بیفتد ، مانند ویروس ها ، اسب های سرباز ، دسترسی غیرمجاز به سیستم ، اجازه می دهد داده ها اصلاح شوند یا حتی خود سیستم باشد. ایمن ترین شکل برای اینترنت غیر دسترسی است ، اما به خوبی شناخته شده است که مزایای بسیار زیادی در دسترسی به شبکه وجود دارد ، و در اکثر سیستم های اصلی قطع ارتباط سودآور در نظر گرفته نمی شود (Sommerville ، 2011).

به گفته نویسنده ، برای محافظت از سیستم های مختلف جنبه ای ضروری در مورد قابلیت اطمینان سیستم است. سیستم هایی مانند: نظامی ، تجارت الکترونیکی و آنهایی که شامل اطلاعات محرمانه هستند باید طراحی شوند تا از سطح محافظت بسیار بالایی برخوردار باشند.

کتاب Sommerville (2011) به این نتیجه می رسد که سه تهدید اصلی برای محافظت از هر سیستم شبکه وجود دارد:

  1. تهدید به محرمانه بودن سیستم و داده های آن. این تهدیدها می تواند اطلاعات را به افراد یا برنامه هایی که مجاز به دسترسی به آن نیستند ، فاش کند.
  2. تهدید به یکپارچگی سیستم و داده های آن. این تهدیدها می تواند به نرم افزار آسیب برساند یا داده های شما را فاسد کند.
  3. تهدید به در دسترس بودن سیستم و داده های آن. این تهدیدها ممکن است برای کاربران مجاز ، دسترسی به نرم افزار یا داده های آنها را محدود کند. (سامرویل ، 2011 ، ص .227 ، 228).

نویسنده همچنین خاطرنشان می کند که تهدیدهای ذکر شده در بالا از نظر طبیعت به هم وابسته هستند. به عنوان مثال ، اگر سیستم هنگام حمله در دسترس نباشد ، امکان به روزرسانی اطلاعاتی که با گذشت زمان تغییر می کند امکان پذیر نخواهد بود. یعنی یکپارچگی سیستم می تواند در معرض خطر باشد. اگر حمله موفقیت آمیز رخ دهد و یکپارچگی به خطر بیفتد ، ممکن است سیستم برای حل مشکل لازم باشد ، که این امر در دسترس بودن آن تأثیر می گذارد (Sommerville ، 2011).

سامرویل (2011) اظهار داشت كه راز ایمنی سیستم ها اطمینان از وقوع حوادث است ، اما در صورت بروز عواقب آنها حداقل است. و می گوید که این امر می تواند به سه روش زیر حاصل شود ، که در کنار هم یکدیگر را تکمیل می کنند:

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

3 نتیجه گیری

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

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

4 مرجع کتابشناسی

Sommerville ، I. مهندسی نرم افزار. 9. ed. سائو پائولو: پیرسون ، 2011. کتاب الکترونیکی. موجود در: https://platforma.bvirtual.com.br. دسترسی به: 29 آوریل 2025.

امنیت توسعه نرم افزار Elias ، W.. در: بز ، ویلیان اوکوهارا ؛ کابال ، کارلوس. مسیرهای امنیتی اطلاعات: مسیرها و ایده هایی برای محافظت از داده ها. 1. ed. Rio de Janeiro: Brasport ، 2015. ص 135-152. کتاب الکترونیکی موجود در: https://platforma.bvirtual.com.br. دسترسی به: 02 مه 2025.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا