وبلاگ آموزشی ، تحصیلی و اطلاع رسانی - عیسی نجفی

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

وبلاگ آموزشی ، تحصیلی و اطلاع رسانی - عیسی نجفی

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

در عصر نوین توسعه و کاربرد فناوری اطلاعات ، کانالهای ارتباطی مبتنی زیرساخت ارتباطات نوین نظیر سرویس های تحت وب ایمیل و تحت شبکه موبایل زمینه مناسبی را برای ارتباط موثر برای پیشبرد مقاصد آموزشی و اطلاع رسانی با دانشجویان عزیز فراهم اورده است . در این وبلاگ نیز اینجانب سعی می نمایم تا برای کمک به تکمیل فرایند آموزش و تحصیل دانشجویان عزیز با کمک خود دانشجویان نسبت به ارائه محتواء یا هر انچه به عزیزان کمک برای پیشرفت می نمایم داشته باشم
شما دانشجویان عزیز در هر مورد مرتبط با پست منتشر شده می توانید با ثبت نظرات مرتبط با پست با اینجانب عیسی نجفی در ارتباط بوده باشید بعلاوه از طریق ایمیل najafy1@yahoo.com , najafy12@gmail.com در خدمت شما هستیم

آخرین مطالب

مهندسی نرم افزار امن

چکیده

 

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

 

کلمات کلیدی

امنیت ،مهندسی نرم افزار

 

 

BESMEL

 

 

 

 

 

 

 

 

 

 

 

 


 

مهندسی نرم افزار امن

مریم نوری

دانشجو کارشناسی  رشته نرم افزار،دانشگاه فناوری های نوین قوچان

Noori_maryam1160@yahoo.co


 

چکیده

 

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

 

کلمات کلیدی

امنیت ،مهندسی نرم افزار

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

مهندسی نرم افزار یه روش درست و منظم برای تولید یک محصول نرم افزاری با کیفیت  که قابل اطمینان و کم هزینه است که از این نرم افزار تولید شده به این روش بتوان برروی سیستم ها بکربرد

تعریف امنیت نرم افزار

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

 

 

 

علل موثر بر کاهش امنیت نرم افزار

ü     ارتباط ضعیف نرم افزار در اجرای موفق امیز سیستم های نرم افزاری

ü     حجم نرم افزار و پیچیدگی آن مانع از اجرای آزمون جامع

ü     فریبندگی و پیچیدگی روز افزون نرم افزارها

ü     اتخاذ فرایندها و شیوه ها مورده استفاده در طراحی نرم افزار

ü     محیط های عملیاتی

ü     اتصال ب اینترنت

ü     بروزرسانی ها

ü     استفاده همزمان از چند نرم افزار مشابه

 

نرم افزاری که ب صورت امن تهیه شده باشد در تمام مراحل دارای ویژگی های زیر است:

ü     اجرای  قابل پیش بینی

یعنی نرم افزار در هنگام اجرا کاملا با انتظارات که از ان می رود مطابقت داشته باشد

ü     امانت

ب حداقل رساندن اسیب پذیری نرم افزار تا حد ممکن و جلوگیری از تغییر اهداف

ü     3.مطابقت

نرم افزار تولید شده مطابق با استانداردها قابل اجرا و همجنین مناسب برای استفاده کاربر  باشد

 

امنیت و چرخه حیات محصولات نرم افزاری

پایبندی نرم افزارها به یک مدل فرایند تولیدخاص، امنیت نرم- افزار را از نظر مصون بودن از آسیب پذیری های امنیتی ناخواسته تضمین نمی کند.

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

امنیت محصولات نرم افزاری

 

اطمینان در نرم افزار (Software Assurance: SwA): اطمینان در نرم افزار به معنای عاری بودن محصول نرم افزاری از آسیب پذیری های تعمدی و یا اتفاقی است که در هر مرحله از چرخه حیات یک محصول نرم افزاری به آن تزریق شده باشد.

اطمینان از امنیت محصول نرم افزاری (Security Assurance):  فرایندی (فعالیت ها، روش ها، یا روال ها) که طی آن نیازهای امنیتی یک محصول نرم افزاری تضمین و برآورده شود.

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

 

چرخه حیات توسعه امنیت محاسباتی قابل اطمینان مایکروسافت

(SDL)

Microsoft’s Trustworthy Computing Security Development Lifecycle

فرایندی است که شرکت مایکروسافت برای توسعه نرم افزارهایی که نیاز به پایداری در برابر حملات امنیتی دارند مورد پذیرش قرار داده است.

این فرایند مجموعه ای از فعالیت ها در سطوح امنیتی و راه حل ها را برای هریک از فازهای فرایند توسعه نرم افزاری مایکروسافت اضافه نموده است.

این فعالیت ها شامل مدل سازی تهدیدها (Threat Modeling) به منظور شناخت ریسک های امنیتی در خلال فاز طراحی (Design)، استفاده از ابزارهای تحلیلی برای اسکن کد و مرور کد در فاز پیاده سازی (Implementation) و تکنیک های تست محصول در فاز تست و کنترل می باشد.

سه روش مکمل برای بهبود امنیت در سیستم تولید نرم افزار

اجتناب از خطر:

سیستم ب گونه ای طراحی شود ک با خطر مواجه نشود

تشخیص و رفع خطر:

سیستم ب گونه ای طراحی شود که خطرات قبل از منجر شدن ب سانحه تشخیص و خنثی شود

محدود کردن خسارت:

سیستم به گونه ای طراحی شود که پیامدهای سانحه ب حداقل برسد

 

راهکارهای تولید نرم افزار امن

ساخت یک مورد تضمینی امن

SDLCگنجاندن موارد تضمین در

امنیت  تضمین و تلاش در جهت پیروی از آن

نگهداری و بهره برداری از موارد تضمینش

ضوابط مشترک

قوانین و ائین نامه امنیتی،حفظ حریم شخصی کاربران

 

1.Noopur Davis.“Secure Software Development Life Cycle Processes” .Retrieved from: https://buildsecurityin.us-cert.gov/bsi/articles/knowledge/sdlc/326-BSI.html. Software  Engineering Institute. 2006-07-05; Updated (2012).

2. The SANS Institute. “The Twenty most Critical Internet Security Vulnerabilities-The Expert Consensus” (2005).

3. Mills, E. “Secure Software? Experts Say it’s no longer a Pipe DreamCNET News, April 20, (2009).

4. Redwine, S. T. & Davis, N. “Processes to Produce Secure Software. Improving Security Across the Software Development Lifecycle” (National Cyber security Partnership Taskforce Report), Appendix B. http://www.cyberpartnership.org/init-soft.html (2004).

5. Paulk, M., Curtis, B., Chrissis, M. B. & Weber, C. “Capability Maturity Model for Software (Version 1.1)” (CMU/SEI-93-TR-024, ADA263403). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, (1993).

 6.The Software Development Life Cycle (SDLC)”. Retrieved from: http://www.stylusinc

.com/BI/ thought- leadership/it-outsourcing/the-software-development-life-cycle-sdlc/.

7.مقاله مهندسی نرم افزار امن :اقای علی خلج مدرس دانشگاه ازاد واحد کرج

8.جزوه مهندسی نرم افزار امن استاد کاویانی استاد دانشگاه شریعتی تهران

 

  • Eisa Najafy

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی