فروشگاه

توضیحات

امنیت نرم افزار شبکه اینترانتی

امنیت نرم افزارهای تحت شبکه های اینترانتی

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

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

پیاده سازی سیستم اطلاعاتی در یک سازمان منوط به حفظ امنیت در سازمانها است چرا که نبود یک نظام مناسب امنیتی ممکن است پیامدهای ناگوار و

خساراتی جبران ناپذیر به دنبال داشته باشد. بنابراین در حوزه نرم افزار، فرآیند تست،

به عنوان ابزاری که سعی در کشف نقص ها و آسیب پذیری ها را

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

است تا با ارائه روشی ساختارگرا و مهندسی ساز برای تست امنیت نرم افزارهای تحت اینترانتی، نقص ها و آسیب پذیری های موجود در سیستم ها

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

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

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

عوامل مخرب ، ریسک ها و نقاط آسیب پذیر را شناسایی کرده و تدابیر لازم را

امنیت نرم افزارشبکه اینترانتی

در جهت برقراری امنیت مورد توافق بکار گرفت. یکی از راهکارها و استراتژی

ها در این حوزه، جلوگیری از بروز مشکلات آسیب پذیری و یا کاهش تهدیدات امنیتی

می باشد. و این امر با وجود یک فرآیند دقیق و منسجم جهت

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

قابلیتهای تحلیل و ارزیابی ریسک ، کشف نقص ها و آسیب پذیری ها، فرآیندی جهت تست امنیت نرم افزارهای تحت اینترانت ارائه گردد به گونه- ای که

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

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

نگارش سیستم های برنامه ریزی منابع سازمانی میباشد. در این تحقیق جزئیات

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

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

 

 ۱۴۰صفحه فایل ورد (Word) فونت ۱۴ منابع دارد

 

پس از پرداخت آنلاین میتوانید فایل کامل این پروژه را دانلود کنید

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی
ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

امنیت نرم افزارشبکه اینترانتی

فهرست مطالب
عنوان صفحه

چکیده ۱
مقدمه ۲
فصل اول : کلیات ۶

۱-۱ هدف از طرح مسئله ۷
۱-۲ سوالات تحقیق ۸
۱-۳ پیشینه کار و تحقیق (مرور ادبیات) ۹
۱-۳-۱ فرآیند تست امنیت نرم افزار : رویکرد فازبندی شده ۹

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

۱-۳-۲ حرکت به سمت یکپارچه سازی چارچوب تست امنیت نرم افزار با توسعه نرم افزار ۱۷
۱-۳-۳ معرفی یک روش تست امنیت نرم افزار بر اساس انواع آسیب پذیری ها ۲۶
۱-۳-۴ فرآیند تست امنیت در چرخه حیات توسعه نرم افزار ۳۱
۱-۳-۵ فرآیندی جهت تست امنیت ۳۶
۱-۴ شاخص ها یا خصوصیات تست امنیت نرم افزارها ۴۱
۱-۵ کاستی های کارهای ارائه شده توسط دیگران ۴۴
۱-۶ روش کار و تحقیق ۴۷
فصل دوم : روش کار ۴۹
۲-۱ مفاهیم شبکه های اینترانت ۵۰
۲-۱-۱ تعریف اینترانت ۵۰
۲-۱-۲ مزایای اینترانت ها ۵۱
۲-۱-۳ ساختار پایه ای اینترانت ها ۵۳
۲-۱-۴ ضرورت توسعه اینترانت ها ۵۳
۲-۱-۵ محدودیت های اینترانت ها ۵۴

امنیت نرم افزارهای تحت شبکه های اینترانتی

۲-۱-۶ کاربرد اینترانت ها ۵۴
۲-۲ تفاوت شبکه های اینترانتی و اینترنتی ۵۵
۲-۳ شناختی بر انواع معماری های شبکه های اینترانتی ۵۶
۲-۴ امنیت شبکه های اینترانتی ۵۹
۲-۴-۱ امنیت چیست ؟ ۵۹
۲-۴-۲ دیدگاههای مختلف در رابطه با امنیت ۶۰
۲-۴-۳ مدیریت امنیت در شبکه های اینترانتی ۶۱
۲-۵ امنیت نرم افزارها ۶۳

امنیت نرم افزار شبکه اینترانتی
۲-۶ نقص های امنیتی ۶۴
۲-۶-۱ SSD در یک نرم افزار چیست؟ ۶۵
۲-۶-۲ دلایل ناشی ۶۶
۲-۶-۳ روشهای اصلاح ۶۷
۲-۶-۴ روشهای استفاده معکوس ۶۸
۲-۷ آسیب پذیری های نرم افزار ۶۹
۲-۷-۱ انواع آسیب پذیری ها ۷۰

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

۲-۸ ۱۰ لیست برتر آسیب پذیری های سال ۲۰۱۳ ۷۱
فصل سوم: مفاهیم تست امنیت نرم افزارها ۷۵
۳-۱ بررسی نرم افزارهای مبتنی بر اینترانت ۷۶
۳-۱-۱ طبقه بندی انواع نرم افزارهای مبتنی بر اینترانت ۷۷
۳-۱-۲ خواص نرم افزارهای مبتنی بر اینترانت ۷۹
۳-۲ امنیت در سیستم های ERP 81
۳-۲-۱ سیستم برنامه ریزی منابع سازمانی ERP 81
۳-۲-۲ امنیت در سیستم های بزرگ سازمانی ۸۳
۳-۲-۳ محورهای حفاظت برای برقراری امنیت ۸۳
۳-۲-۴ دسترسی و کنترل آن در سیستم های ERP 84
۳-۲-۵ حفاظت از یکپارچگی و اعتبار اطلاعات ۸۵

۳-۲-۶ ارزیابی امنیت سیستم های ERP 86
۳-۳ مشکلات امنیتی در سیستم های ERP 90
۳-۳-۱ مسائل و مشکلات امنیتی مشترک در سیستم های ERP 91
۳-۳-۲ استفاده جهانی از سیستم ERP 91

۳-۳-۳ متغیرها و مفهوم آن در امنیت ۹۲
۳-۳-۴ پیاده سازی نرم افزار ERP 93
۳-۳-۵ رویکردهای متمرکز در مقابل رویکردهای غیرمتمرکز ۹۳
۳-۴ مفاهیم تست امنیت نرم افزارها ۹۴
۳-۴-۱ تست امنیت چیست؟ ۹۴
۳-۴-۲ ضرورت تست امنیت ۹۵

امنیت نرم افزارشبکه اینترانتی

۳-۴-۳ اهداف تست امنیت ۹۵
۳-۴-۴ مدیریت ریسک و تست های امنیت ۹۶
۳-۵ استانداردهای تست امنیت نرم افزارها ۹۷
۳-۵-۱ استاندارد ۲۷۰۳۴ ISO/IEC 98
۳-۶ روشهای اصلی تست امنیت در نرم افزارهای مبتنی بر اینترانت ۱۰۱

۳-۶-۱ تست امنیت رسمی ۱۰۱
۳-۶-۲ تست امنیت مبتنی بر مدل ۱۰۲
۳-۶-۳ تست امنیت مبتنی بر تزریق خطا ۱۰۳
۳-۶-۴ تست فازی ۱۰۳
۳-۶-۵ تست بررسی آسیب پذیری ۱۰۴

امنیت نرم افزارهای تحت شبکه های اینترانتی

۳-۶-۶ تست مبتنی بر صفت خاص ۱۰۴
۳-۶-۷ تست امنیت مبتنی بر جعبه سفید ۱۰۴
۳-۶-۸ تست امنیت مبتنی بر ریسک ۱۰۴
۳-۷ طبقه بندی و عملکرد ابزارهای تست امنیت ۱۰۵
فصل چهارم : ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی ۱۰۸
۴-۱ مفاهیم کلی در رابطه با فرآیند تست امنیت نرم افزارها ۱۰۹
۴-۱-۱ چرخه حیات توسعه نرم افزار ۱۰۹
۴-۲ فرآیند پیشنهادی برای تست امنیت نرم افزارهای تحت اینترانت ۱۱۲
۴-۲-۱ تشریح فعالیتهای فرآیند ارائه شده ۱۱۵

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

۴-۲-۲ یکپارچگی تست امنیت با چرخه حیات توسعه نرم افزار ۱۲۰
۴-۲-۳ خصوصیات فرآیند پیشنهادی ۱۲۱

بحث و نتیجه گیری ۱۲۴
۵-۱ آماده سازی بستر تست ۱۲۵
۵-۱-۱ خصوصیات یک شبکه برای راه اندازی سیستم ERP 125
۵-۱-۲ الگوی های مختلف استقرار سیستم ERP 129
۵-۲ کارهای آتی ۱۳۱
منابع ۱۳۳

فهرست اشکال
عنوان صفحه
شکل ۱-۱ : یکپارچه سازی فرآیند چرخه حیات تست امنیت با فرآیند توسعه ۱۲
شکل ۱-۲ : فرآیند طرح تست امنیت و استراتژی تست امنیت ۱۳
شکل ۱-۳ : فرآیند طراحی موردهای تست امنیت ۱۴
شکل ۱-۴ : فرآیند اجرای موارد تست امنیت ۱۵
شکل ۱-۵ : فرآیند بدست آوردن نتایج تست امنیت ۱۵
شکل ۱-۶ : فرآیند بدست آوردن متریک های تست امنیت ۱۶
شکل ۱-۷ : فرآیند ارزیابی کیفی ۱۶

شکل ۱-۸ : فعالیتهای موجود در مراحل توسعه نرم افزار ۱۹
شکل ۱-۹ : سطح و تست و استراتژی تست ۲۰
شکل ۱-۱۰: نقشه مراحل توسعه نرم افزار ۲۲
شکل ۱-۱۱: چارچوب تست امنیت نرم افزار ۲۵
شکل ۱-۱۲ : چارچوب درخت تهدید تزریق SQL 28
شکل ۱-۱۳ : نمودار جریان داده فرآیند ورود ۲۹
شکل ۱-۱۴ : درخت تهدید SQL Injection 30
شکل ۱-۱۵ : الگوریتم پیمایش درخت تهدید ۳۱
شکل ۱-۱۶ : الگوریتم برای روند MyDFS 31
شکل ۱-۱۷ : جایگاه تست امنیت در چرخه حیات توسعه نرم افزار ۳۲
شکل ۱-۱۸ : چرخه حیات تست امنیت ۳۲
شکل ۱-۱۹ : رویکرد تست امنیت ۳۴

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

شکل ۱-۲۰ : انواع تست های امنیت ۴۰
شکل ۲-۱ : سیر تکاملی SSD 66
شکل ۲-۲ : مدل طبقه بندی CMR از SSD 69
شکل ۲-۳ : ۱۰ لیست برتر آسیب پذیریهای سال ۲۰۱۳ ۷۲
شکل ۳-۱ : نمودار جریان فرآیند تست امنیت خودکار عملکردی ۱۰۳
شکل ۴-۱ : چرخه‏ حیات توسعه نرم افزار ۱۱۱

شکل ۴-۲ : فرآیند ارائه شده جهت تست امنیت نرم افزارها ۱۱۳
شکل ۴-۳ : فرآیند ارائه شده جهت تست امنیت نرم افزارها با شرح فعالیتهای هر مرحله ۱۱۴
شکل ۴-۴ : فرآیند تست امنیت در کل چرخه حیات توسعه نرم افزار ۱۲۱
شکل ۴-۵ : خصوصیات فرآیند تست امنیت پیشنهادی ۱۲۲
شکل ۵-۱ : ساختار کلی یک معماری سیستم ERP 127

فهرست جداول
عنوان صفحه
جدول ۱-۱ : فهرست نقص ها بر اساس آمار CVE 27
جدول ۱-۲ : شاخص های تست امنیت در نمونه کارهای ارائه شده ۴۶
جدول ۲-۱ : مقایسه تفاوت های اینترنت و اینترانت ۵۶

 

 

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

 

مقدمه
امنیت نیز مثل هر مقوله ذهنی و اجتماعی دیگر در جهان دستخوش تغییر و دگرگونی شده است.

امنیت نرم افزارشبکه اینترانتی

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

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

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

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

امنیت نرم افزارهای تحت شبکه های اینترانتی

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

استدلالی است که منجر به ایجاد اینترانت ها گردید. ویژگی های منحصر بفرد

امنیت نرم افزارشبکه اینترانتی

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

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

امنیت نرم افزار شبکه اینترانتی

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

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

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

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

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

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

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

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

امنیت نرم افزارهای تحت شبکه های اینترانتی

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

مشکلات بالقوه امنیتی و اثر آنها کمک کند. ریسکهای نرم افزار یکبار شناسایی و رتبه بندی شده ، سپس می توانند در راهنمایی تست امنیت نرم افزار

کمک کنند. واقعیت این است که هرچه توسعه نرم افزار تکمیل تر شود،

امنیت نرم افزار شبکه اینترانتی

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

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

امنیت نرم افزارهای تحت شبکه های اینترانتی

نرم افزار کاربردی ۱۰۰% ایمن می باشد اما تا جایی که ممکن است باید آسیب پذیری ها را به حداقل رسانده و امنیت را برقرار کنیم. پس اگر چه امنیت مطلق چه در محیط های واقعی و چه در محیط های مجازی دست نیافتنی است اما ایجاد سطحی

امنیت نرم افزار شبکه اینترانتی

از امنیت در حوزهء فناوری اطلاعات و ارتباطات که به

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

چگونه می توان میزان امنیت یک نرم افزار کاربردی مبتنی بر اینترانت را با در نظر گرفتن تهدیدات امنیتی شبکه اینترانت و نقاط آسیب پذیر نرم افزارها تا

حدودی بالا برد. این امر جز با استفاده از روشهای منسجم تست امنیت

امنیت نرم افزارشبکه اینترانتی

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

تست امنیت وجود دارد، بدلیل اینکه به عنوان یک وسیله مهم جهت بهبود امنیت نرم افزار در نظر گرفته شده است. تست امنیت نرم افزارها، فرایندی

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

و اعتبار سنجی داده ها مورد ارزیابی قرار دهد. در واقع تست امنیت نرم افزار فرآیندی است برای شناسایی اینکه آیا ویژگی های امنیتی نرم افزار با

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

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

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

امنیت نرم افزار شبکه اینترانتی

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

موارد لازم راهکارهایی ضروری را جهت پرکردن خلاءهای موجود تبیین می نماید. فرآیند پیشنهادی جهت تست امنیت نرم افزارهای مبتنی بر اینترانت از

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

امنیت نرم افزارهای تحت شبکه های اینترانتی

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

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

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

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

 

تفاوتهای شبکه های اینترانت با شبکه اینترنت ، مفهوم امنیت در شبکه های اینترانتی، شناخت مفاهیم نقص های امنیتی وآسیب پذیریها و ۱۰ لیست برتر آسیب پذیری های سال ۲۰۱۳ مطالبی ارائه خواهیم نمود. در فصل سوم

امنیت نرم افزارهای تحت شبکه های اینترانتی

این تحقیق به بررسی انواع و خواص نرم افزارهای مبتنی بر اینترانت، شناخت سیستم هایERP ، اهمیت امنیت و مشکلات امنیتی در نرم افزارهایERP

که به عنوان نمونه ای از نرم افزارهای تحت اینترانت می باشند خواهیم پرداخت همچنین در رابطه با مفاهیم تست امنیت نرم افزارها، ضرورت و اهداف

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

امنیت نرم افزارشبکه اینترانتی

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

انجام خواهیم داد. در فصل چهارم فرآیند پیشنهادی خود را براساس فرضیات و مفاهیم شناخته شده در فصل های قبل ارائه خواهیم نمود. فرآیند

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

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

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

 

 

 

 

 

 

 

 

فصل اول:
کلیات

امنیت نرم افزار شبکه اینترانتی

 

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

امنیت نرم افزار شبکه اینترانتی

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

این است که فراهم شدن امکانات جدید تنها باعث پیدایش محصولات نوین و راههای بهتر و کارآمدتر نشده است بلکه در کنار آن راههای سوء استفاده از فناوری هم فراهم شده است .

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

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

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

یکی از این تدابیر، جلوگیری از بروز مشکلات آسیب پذیری و یا کاهش تهدیدات امنیتی می باشد و برای رسیدن به این هدف باید در طول فرآیند توسعه

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

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

امنیت نرم افزارهای تحت شبکه های اینترانتی

خصوصیات آنها را استخراج کنیم سپس میزان ضرورت امنیت در این نرم افزارها را بررسی نموده بدین معنی که امنیت در چنین سیستم هایی که شامل

امنیت نرم افزاری و امنیت داده ها است تا چه حد حائز اهمیت می باشد و در نهایت چه راهکارها و استراتژی هایی جهت تامین امنیت این نرم افزارها

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

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

های مجدد این آسیب پذیری ها را به حداقل رسانده تا امنیت مطلوب حاصل گردد بدیهی است که هیچ زمانی و تحت هیچ شرایطی تاکنون امنیت مطلق برای نرم افزارها حاصل نگردیده است یعنی ما به جرات نمی توانیم بگوییم که یک نرم افزار کاربردی ۱۰۰% ایمن می باشد اما تا جایی که ممکن است باید آسیب پذیری ها را به حداقل رسانده و امنیت را برقرار کنیم.

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

پس اگر چه امنیت مطلق چه در محیط های واقعی و چه در محیط های مجازی دست نیافتنی است اما ایجاد سطحی از امنیت در حوزهء فناوری اطلاعات و

ارتباطات که به اندازه کافی و متناسب با نیازها و سرمایه گذاری انجام شده باشد تقریبا در تمامی شرایط محیطی امکان پذیر است. اما آنچه حائز اهمیت

است، این که چگونه می توان میزان امنیت یک نرم افزار کاربردی در اینترانت را با در نظر گرفتن تهدیدات امنیتی شبکه اینترانت و نقاط آسیب پذیر نرم

افزارها با استفاده از روشهای منسجم تست امنیت در چرخه تولید نرم افزار تا حدودی تضمین نمود، و همچنین بدلیل این که کشور ما نیازمند آخرین

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

امنیت نرم افزار شبکه اینترانتی

• اهمیت امنیت اطلاعات در شبکه اینترانت یک سازمان

امنیت نرم افزار شبکه اینترانتی

• فقدان روش ها و ابزارهای تست امنیت نرم افزارهای کاربردی
• وجود برخی نقصان ها در فرآیندهای ارائه شده جهت تست امنیت نرم افزارهای اینترانتی
• عدم وجود روشهای سودمند جهت تامین امنیت نرم افزارها در شبکه های اینترانت
• متنوع بودن نرم افزارهای کاربردی در شبکه های اینترانت و پیچیدگی بحث امنیت در آنها

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

• به اشتراک گذاشتن اطلاعات و نداشتن مهارت کافی در حفظ اطلاعات شبکه اینترانتی
• جبران خسارت اطلاعات آسیب دیده در بعضی مواقع بسیار سنگین می باشد
• عدم اعتماد به ابزارهای تست امنیت نرم افزارهای کاربردی غیر بومی
۱-۲ سوالات تحقیق
همانطور که می دانیم هر تحقیقی بدنبال ایجاد یک سوال شروع می شود یعنی زمانی که یک سوال در زمینه ای به ذهن ما خطور می کند با کمی

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

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

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

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

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

امنیت نرم افزارهای تحت شبکه های اینترانتی

• مفهوم امنیت اطلاعات چیست؟
• آیا سطح امنیت و اهمیت آن در نرم افزارهای مختلف متفاوت است؟
• یک نرم افزار چگونه می تواند ایمن باشد؟
• نرم افزارهای تحت شبکه های اینترانتی چه نوع نرم افزارهایی هستند چه ویژگی هایی دارند؟

• امنیت نرم افزارهای تحت شبکه های اینترانتی تا چه اندازه حائز اهمیت می باشد؟

• امنیت در سیستم های ERP به عنوان نمونه ای از نرم افزارهای تحت اینترانت چگونه باید باشد؟
• چرا سازمانها نیاز به نرم افزارهای تحت اینترانت دارند؟
• برای ایمن سازی این نوع نرم افزارها چه تدابیری باید اندیشید؟

• چه نوع تکنولوژی ها و ابزارهایی جهت ایمن سازی این نوع نرم افزارها لازم است؟
• چه نوع تست هایی برای ایمن سازی نرم افزارها می توان انجام داد؟

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

• تست امنیت به چه صورتی به منظور ایمن سازی نرم افزارها انجام می شود؟
• برای تست امنیت نرم افزارها چه نوع ابزارها و روش هایی لازم است؟

• آیا تست امنیت فقط لازم است در مرحله پایانی چرخه توسعه نرم افزار انجام شود یا در تمام مراحل( تحلیل، طراحی، پیاده سازی)؟
• تست امنیت در کل چرخه توسعه نرم افزارها چگونه امکان پذیر می باشد؟
• مفهوم فرآیند چیست؟

امنیت نرم افزار شبکه اینترانتی

• آیا می توان برای تست امنیت این نوع نرم افزارها یک فرآیند ارائه نمود تا با اجرای مراحل آن فرآیند، تست امنیت را بروی نرم افزارها پیاده سازی کرد؟
• آیا تا بحال چنین فرآیندی برای تست امنیت نرم افزارها ارائه شده است؟

• این فرآیند تست امنیت چه شاخص هایی باید داشته باشد تا بگوییم که یک نرم افزار در صورت انجام تست امنیت با استفاده از این فرآیند دارای این ویژگی ها می باشد ؟
۱-۳ پیشینه کار و تحقیق (مرور ادبیات)
۱-۳-۱ فرآیند تست امنیت نرم افزار : رویکرد فازبندی شده

امنیت نرم افزارشبکه اینترانتی

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

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

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

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

تست امنیت بخشی از تحلیل ویژگی های امنیت در توسعه سیستم ها می باشد. این ویژگی های امنیتی از لحاظ مشخصات عملکردی، مستندات

راهنمایی و طراحی سطح بالای سیستم مورد بررسی قرار می گیرند. تست امنیت نرم افزار یک زمینه رشد مداوم است. تکنیک ها و تکنولوژی های

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

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

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

 

-۱-۲ خواص نرم افزارهای مبتنی بر اینترانت
نرم افزارهای مبتنی بر اینترانت با توجه به طبقه بندی بخش قبلی براساس نوع آنها دارای خصوصیات مختلفی می باشند که در زیر به چند نمونه از آنها اشاره می کنیم :
خواص نرم افزارهای مبتنی بر وب : [۱۸و۱۹]
– نرم افزارهای تحت وب حداقل سه لایه ای می باشند، مرورگر، وب سرور و دیتابیس سرور
– نرم افزارهای تحت وب قابل اجرا از طریق مرورگرهای Firefox، Internet explore و غیره می باشند.
– نرم افزارهای تحت وب قابل توسعه در Java, ASP, JSP, VBScript, javascript, Perl, PHP, Cold Fusion می باشند.

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

– دیتابیس سرور به عنوان لایه پشتی این نوع نرم افزارها، حاوی Oracle ، SQL Server ، Sybase ، MySql می باشد.
– برنامه هایی که روی ۲ یا بیشتر از ۲ ماشین اجرا می شوند
– برای اجرای برنامه از مرورگرهای متفاوت می توان استفاده کرد که با هدایت URL کار می کند

– در مد غیر اتصال هستند یعنی در صورتی که مدتی از برنامه استفاده نشود کاربر اتوماتیک از برنامه خارج خواهد شد.
– تعداد کاربران نامحدود است
– مستقل از پلت فرم خاص بروی تمامی سیستم عامل ها قابل اجرا می باشند

امنیت نرم افزارهای تحت شبکه های اینترانتی

– جهت استفاده از نرم افزار برای شناسایی هر کاربر یک نام کاربری و رمز عبور به ازای هر کاربر اختصاص داده می شود
– شما در مدیریت شبکه و نرم افزار صاحب نظر نیستید و در این وضعیت در دسترس بودن مدیران شبکه ASP هم می تواند یک مسئله باشد.
– کارمندان IT شرکت عملا در ارتقاء سیستم، نرم افزار یا مهاجرت های دیتابیس درگیر نیستند.

امنیت نرم افزار شبکه اینترانتی

– نسخه های کاربری معمولا بصورت session هایی روی یک سرور است نه نرم افزار واقعی روی کامپیوتر کاربر، که می تواند توسط یک کاربر پایه به سیستم دسترسی داشته باشد.

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

– بدلیل اینکه نرم افزار بصورت ریموت اجرا می شود بنابراین نیاز به دسترسی به اینترنت دارد بنابراین کاربران نمی توانند معمولا تغییراتی روی دیتابیس انجام دهند زمانی که آفلاین هستند. داده ها آهسته تر روی صفحه نمایش می آیند.
– این نرم افزار از هر جایی با یک بروزر استاندارد و از طریق اینترنت قابل دسترس هست. کاربر حتی مجبور نیست از کامپیوتر خودش استفاده کند. اکثر شرکتها به اینترنت معقول دسترسی دارند بنابراین هیچ هزینه اضافه نباید متحمل شوند.

ارائه فرآیندی برای تست امنیت نرم افزارهای تحت شبکه های اینترانتی

خواص نرم افزارهای مبتنی بر کلاینت-سرور : [۱۸و۱۹]
– نرم افزارهای مبتنی بر کلاینت-سرور معمولا دولایه ای می باشند front-end و back-end
– برنامه هایی که روی ۲ یا بیشتر از ۲ ماشین اجرا می شوند
– برنامه هایی که با هدایت منو کار می کنند

– این نرم افزارها معمولا در زبانهای VB, VC++, Core Java, C, C++, D2K, PowerBuilder و غیره توسعه داده می شوند لایه پشت این نرم افزارها هم می تواند MS Access, SQL Server, Oracle, Sybase, Mysql, Quadbase باشند.
– در مد اتصال هستند یعنی تا وقتی logout نکرده اید برنامه قابل اجراست
– %

امنیت نرم افزارهای تحت شبکه های اینترانتی

0 نقد و بررسی
وضعیت کالا : موجود است.
شناسه محصول : 2211

قیمت : تومان9,900