فهرست مندرجات
فهرست مطالب
فصل اول: کلیات
مقدمه………………………………………………………………………………………………………………… ۱۷
شرح مسئله………………………………………………………………………………………………………….. ۱۸
انگیزه های پژوهش…………………………………………………………………………………………………… ۲۱
اهداف پژوهش………………………………………………………………………………………………………… ۲۱
ساختار پایان نامه……………………………………………………………………………………………………… ۲۱
فصل دوم: لزوم داشتن امنیت و فازهای نرمافزاری و فازهای نرم افزاری
۲٫۱٫ مقدمه………………………………………………………………………………………………………………….. ۲۵
۲٫۲٫ فضای سایبر ………………………………………………………………………………………………………….. ۲۶
۲٫۳٫ سیاست های به اشتراک گذاری فضای سایبر…………………………………………………………………………. ۲۸
۲٫۴٫ سیاست های امن کردن محیط سایبر………………………………………………………………………………….. ۲۹
۲٫۵٫ مفهوم امنیت…………………………………………………………………………………………………………… ۳۰
۲٫۶٫ تعریف امنیت…………………………………………………………………………………………………………. ۳۳
۲٫۷٫ امنیت اطلاعات……………………………………………………………………………………………………….. ۳۵
۲٫۸٫ بندهای سه گانه امنیت…………………………………………………………………………………………………. ۳۶
۲٫۸٫۱٫ محرمانگی………………………………………………………………………………………………………….. ۳۶
رمزگذاری……………………………………………………………………………………………………………… ۳۷
احراز هویت با چند فاکتور……………………………………………………………………………………………… ۳۷
۲٫۸٫۲٫ یکپارچگی………………………………………………………………………………………………………….. ۳۷
امضاء دیجیتال…………………………………………………………………………………………………………. ۳۸
محدودکردن دسترسی بر اساس نقش……………………………………………………………………………………. ۳۸
حسابرسی………………………………………………………………………………………………………………. ۳۸
۲٫۸٫۳٫ در دسترس بودن……………………………………………………………………………………………………. ۳۹
دیوار آتش………………………………………………………………………………………………………………. ۴۰
بازرسی…………………………………………………………………………………………………………………. ۴۰
۲٫۹٫ فازهای نرم افزار………………………………………………………………………………………………………. ۴۰
۲٫۹٫۱٫ فاز اول از توسعه نرم افزار، فاز شناسایی………………………………………………………………………….. ۴۱
۲٫۹٫۱٫۱٫ موضوعات / اهداف……………………………………………………………………………………………… ۴۳
۲٫۹٫۱٫۲٫افراد تاثیرگذار…………………………………………………………………………………………………….. ۴۳
۲٫۹٫۱٫۳٫کارهایی که در این فاز باید انجام گیرد……………………………………………………………………………. ۴۴
۲٫۹٫۲٫ فاز دوم از توسعه نرم افزار، فاز طراحی و توسعه ………………………………………………………………… ۴۵
۲٫۹٫۲٫۱٫ موضوعات / اهداف………………………………………………………………………………………………… ۴۶
۲٫۹٫۲٫۲٫ افراد تاثیرگذار………………………………………………………………………………………………………. ۴۶
۲٫۹٫۲٫۳٫ کارهایی که در این فاز باید انجام گیرد……………………………………………………………………………… ۴۶
۲٫۹٫۳٫ فاز سوم از توسعه نرم افزار، فازاجرا و ارزیابی …………………………………………………………………….. ۴۸
۲٫۹٫۳٫۱٫ موضوعات / اهداف………………………………………………………………………………………………… ۴۸
۲٫۹٫۳٫۲٫ افراد تاثیرگذار………………………………………………………………………………………………………. ۴۹
۲٫۹٫۳٫۳٫ کارهایی که در این فاز باید انجام گیرد……………………………………………………………………………… ۴۹
۲٫۹٫۴٫ فاز چهارم از توسعه نرم افزار، فاز عملیات و نگه داری……………………………………………………………… ۵۰
۲٫۹٫۴٫۱٫ موضوعات / اهداف………………………………………………………………………………………………… ۵۱
۲٫۹٫۴٫۲٫ افراد تاثیرگذار………………………………………………………………………………………………………. ۵۱
۲٫۹٫۴٫۳٫ کارهایی که در این فاز باید انجام گیرد……………………………………………………………………………… ۵۱
۲٫۹٫۵٫ فاز پنجم از توسعه نرم افزار، فاز بازنشستگی………………………………………………………………………… ۵۲
۲٫۹٫۵٫۱٫ موضوعات / اهداف………………………………………………………………………………………………… ۵۲
۲٫۹٫۵٫۲٫ افراد تاثیرگذار………………………………………………………………………………………………………. ۵۳
۲٫۹٫۵٫۳٫ کارهایی که در این فاز باید انجام گیرد……………………………………………………………………………… ۵۳
۱۰٫۲٫ خلاصه………………………………………………………………………………………………………………….. ۵۳
فصل ۳: مروری بر کارهای انجام شده
۳٫۱٫ مقدمه……………………………………………………………………………………………………………………… ۵۶
۳٫۲٫ مروری بر کارهای انجام شده…………………………………………………………………………………………….. ۵۷
۳٫۲٫۱٫ مدل OCTAVE………………………………………………………………………………………………………. 58
۳٫۲٫۱٫۱٫ ویژگیهای کلیدی اکتاو………………………………………………………………………………………………. ۵۹
۳٫۲٫۱٫۲٫ اکتاو بخشی از زنجیره ایمن سازی………………………………………………………………………………….. ۶۱
۳٫۲٫۲٫ استاندارد ISO/IEC 15408………………………………………………………………………………………….. 62
۳٫۲٫۲٫۱٫ مخاطبان استاندارد ISO/IEC 15408…………………………………………………………………………….. 63
۳٫۲٫۲٫۲٫ دامنه کاربرد استاندارد ISO/IEC 15408…………………………………………………………………………. 64
۳٫۲٫۳٫ استاندارد ISO/IEC 27002………………………………………………………………………………………….. 66
۳٫۲٫۳٫۱٫ بخش های امنیتی ISO/IEC 27002………………………………………………………………………………. 67
۳٫۲٫۴٫ مدل SSE-CMM……………………………………………………………………………………………………… 69
۳٫۲٫۵٫ مدل TSP – Security ………………………………………………………………………………………………. 71
۳٫۲٫۶٫ فرآیندی بر پشتیبنی از امنیت نرم افزار……………………………………………………………………………….. ۷۴
۳٫۲٫۶٫۱٫ گروه بندی کارها…………………………………………………………………………………………………….. ۷۵
۳٫۳٫ محدودیت و چالش های موجود……………………………………………………………………………………………. ۸۱
۳٫۳٫۱٫ چرا امنیت اهمیت دارد؟………………………………………………………………………………………………… ۸۲
۳٫۳٫۱٫۱٫ امنیت یکی از ملزومات جدی برای نرمافزار است……………………………………………………………….. ۸۲
۳٫۳٫۱٫۲٫ تولید نرمافزارهای امنیتی پیچیده میباشد؛………………………………………………………………………. ۸۳
۳٫۳٫۱٫۳٫ تعریف کلی از نرمافزار ایمن سخت است؛………………………………………………………………………… ۸۴
۳٫۳٫۱٫۴٫ چرا راه حلهای موجود به صورت گسترده مورد استفاده قرار نمیگیرند؛………………………………………. ۸۴
۴٫۳٫ خلاصه………………………………………………………………………………………………………………… ۸۵
فصل ۴٫ چارچوب پیشنهادی و نگاشت آن به فازهای توسعه نرم افزار
۴٫۱٫ مقدمه…………………………………………………………………………………………………………………… ۸۸
۴٫۲٫ کلیات چارجوب پیشنهادی………………………………………………………………………………………………. ۸۹
۴٫۳٫ نگاشت چارچوب پیشنهادی به فازهای توسعه نرم افزار………………………………………………………………. ۹۱
۴٫۳٫۱٫ فاز اول از توسعه نرم افزار- فاز شناسایی…………………………………………………………………………… ۹۲
۴٫۳٫۱٫۱٫ برنامه ریزی اولیه برای امنیت…………………………………………………………………………………… ۹۳
۴٫۳٫۱٫۲٫ دسته بندی سیستم های اطلاعاتی…………………………………………………………………………………. ۹۶
۴٫۳٫۱٫۳٫ ارزیابی از تاثیر تجارت…………………………………………………………………………………………… ۹۸
۴٫۳٫۱٫۴٫ارزیابی از تاثیر حریم خصوصی………………………………………………………………………………….. ۹۹
۴٫۳٫۱٫۵٫استفاده مطمئن از فرآیندهای توسعه سیستم های اطلاعاتی……………………………………………………… ۱۰۰
۴٫۳٫۲٫ فاز دوم از توسعه نرم افزار- فاز طراحی و توسعه ………………………………………………………………. ۱۰۱
۴٫۳٫۲٫۱٫ ارزیابی ریسک…………………………………………………………………………………………………. ۱۰۲
۴٫۳٫۲٫۲٫ انتخاب و مستند کردن کنترل های امنیتی……………………………………………………………………… ۱۰۳
۴٫۳٫۲٫۳٫ طراحی معماری امنیت…………………………………………………………………………………………. ۱۰۵
۴٫۳٫۲٫۴٫ مهندسی کردن کنترل های امنیتی……………………………………………………………………………… ۱۰۷
۴٫۳٫۲٫۵٫ تهیه مستندات امنیتی…………………………………………………………………………………………… ۱۰۸
۴٫۳٫۲٫۶٫ انجام دادن تست ( برای توسعه عملکرد و امنیت )…………………………………………………………….. ۱۰۹
۴٫۳٫۳٫ فاز سوم از توسعه نرم افزار- پیاده سازی و اجرا…………………………………………………………………. ۱۱۰
۴٫۳٫۳٫۱٫ اجاد یک برنامه ریزی دقیق برای C&A……………………………………………………………………… 111
۴٫۳٫۳٫۲٫ ادغام کردن امنیت درون سیستم یا محیط های ایجاد شده………………………………………………………. ۱۱۲
۴٫۳٫۳٫۳٫ ارزیابی امنیت سیستم…………………………………………………………………………………………… ۱۱۳
۴٫۳٫۳٫۴٫ مجوز دادن به سیستم های اطلاعاتی…………………………………………………………………………… ۱۱۴
۴٫۳٫۴٫ فاز چهار از توسعه نرم افزار- فاز عملیات و نگه داری………………………………………………………….. ۱۱۵
۴٫۳٫۴٫۱٫ بررسی آمادگی عملیات برای اجرا…………………………………………………………………………….. ۱۱۶
۴٫۳٫۴٫۲٫ مدیریت و کنترل پیکربندی اجرا شده………………………………………………………………………….. ۱۱۷
۴٫۳٫۴٫۳٫ نظارت مستمر بر نتایج………………………………………………………………………………………… ۱۱۸
۴٫۳٫۵٫ فاز پنجم از توسعه نرم افزار- فاز بازنشستگی……………………………………………………………………. ۱۱۹
۴٫۳٫۵٫۱٫ ساخت و اجرای برنامه ها برای بازنشسته کردن / انتقال………………………………………………………… ۱۲۰
۴٫۳٫۵٫۲٫ تضمین حفظ امنیت……………………………………………………………………………………………….. ۱۲۱
۴٫۳٫۵٫۳٫محافظت از رسانه…………………………………………………………………………………………………. ۱۲۲
۴٫۳٫۵٫۴٫کنارگذاشتن سخت افزار و نرم افزار………………………………………………………………………………. ۱۲۳
۴٫۳٫۵٫۵٫ بستن سیستم ………………………………………………………………………………………………………. ۱۲۴
۴٫۴٫ خلاصه…………………………………………………………………………………………………………………. ۱۲۵
فصل ۵٫ ارزیابی روش پیشنهادی
۵٫۱٫ مقدمه…………………………………………………………………………………………………………………… ۱۲۸
۲٫۵٫ معرفی روش ارزیابی…………………………………………………………………………………………………… ۱۲۹
۳٫۵٫ نتایج تولید شده………………………………………………………………………………………………………….. ۱۲۹
۵٫۴٫ خلاصه…………………………………………………………………………………………………………………. ۱۳۷
مراجع………………………………………………………………………………………………………………………. ۱۳۹
ضمیمه ۱٫ مجموعه کارهایی که در PSSS انجام میگیرد…………………………………………………………………… ۱۴۳
ضمیمه ۲٫ مجموعه کارهای پیشنهادی به تفکیک فازهای توسعه نرم افزار………………………………………………… ۱۴۸
واژه نامه……………………………………………………………………………………………………………………… ۱۵۲
فهرست جداول
فصل ۲
جدول ۲٫۱٫ کارهایی در فاز آغازین انجام میگیرد.………………………………………………………………………….. ۴۵
جدول ۲٫۲٫ کارهایی در فاز طراحی و توسعه انجام میگیرد.………………………………………………………………… ۴۸
جدول ۲٫۳٫ کارهایی در فاز پیاده سازی و اجرا انجام میگیرد.………………………………………………………………. ۵۰
جدول ۲٫۴٫ کارهایی در فاز فاز عملیات و نگه داری انجام میگیرد.………………………………………………………… ۵۲
جدول ۲٫۵٫ کارهایی در فاز بازنشستگی انجام میگیرد.……………………………………………………………………… ۵۳
فصل ۳
جدول ۱٫۳٫ تفاوتهای اصلی بین اکتاو و روشهای دیگر……………………………………………………………………. ۵۹
فصل ۵
جدول ۱٫۵٫ دستهبندی اطلاعاتی سیستم…………………………………………………………………………………….. ۱۳۱
جدول ۲٫۵٫ تهدیدهای انسانی……………………………………………………………………………………………….. ۱۳۴
جدول ۳٫۵٫ آسیبپذیریهای سیستم…………………………………………………………………………………………. ۱۳۵
ضمیمه ۱
جدول ۱٫ مجموعه کارهایی که در PSSS انجام میگیرد……………………………………………………………………. ۱۴۷
فهرست شکلها
فصل ۳
شکل۳٫۱٫ ابعاد سهگانه اکتاو………………………………………………………………………………………………… ۵۸
شکل ۳٫۲٫ مراحل اکتاو……………………………………………………………………………………………………… ۶۱
شکل ۳٫۳٫ فعالیتهای اکتاو و مدیریت خطر……………………………………………………………………………….. ۶۲
شکل ۳٫۴٫ حفرههای گزارش شده توسط CERT- CC…………………………………………………………………….. 83
فصل ۴٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫
شکل ۴٫۱٫ چارچوب پیشنهادی……………………………………………………………………………………………… ۹۵
ضمیمه ۲
شکل ۱٫ مجموعه کارهایی پیشنهادی به تفکیک فازهای توسعه نرم افزار……………………………………………….. ۱۴۹
چکیده
امروزه با توجه به پیشرفتهایی که در زمینه فناوری اطلاعات وجود دارد، نرم افزارها یکی از بخشهای عمومی در هر یک از سازمانها میباشد. نرمافزارها دارای ابعاد مختلفی مانند، کیفیت، کمیت، قابلیت اطمینان و غیره میباشد که هر کدام از اینها به نوبه خود دارای اهمیت فراوانی هستند. یکی از ابعاد دیگر نرمافزار امنیت هست و بخاطر اینکه نرمافزارها به همه دادههایی که در سازمانها وجود دارد، دسترسی دارند، و محافظت از دادهها دارای اهمیت فراوانی است، بحث امنیت در نرمافزار نیز از جایگاه خاصی برخوردار است.
در زمینه امنیت برای نرمافزار و اطلاعات، مدل و استانداردهای مختلفی وجود دارد مانند ISO/IEC27002، SSE-CMM و TSP-Security.
یکی دیگر از مدلای که در زمینه امنیت نرمافزار مورد استفاده قرار میگیرد و در کارهایی که مورد استفاده قرار گرفته، نتایج بهتری نسبت به مدل و استانداردهای دیگر تولید کرده، "فرآیندی برای امنیت محصولات نرمافزاری(PSSS)" است.
5 فاز توسعه نرمافزار عبارتند از :فاز شناسایی، طراحی و توسعه، اجرا و ارزیابی، عملیات و نگهداری و بازنشستگی
در این پایاننامه سعی ما بر این است تا با مبنا قرار دادن PSSS و استفاده از کارهای سایر مدل و استانداردهای امنیت نرمافزار، هریک از کارهایی که باید در هر کدام از فازهای توسعه نرمافزار انجام داد را نگاشت میدهیم تا در کنار کارهایی که برای توسعه نرمافزار است، امنیت نیز به عنوان بخشی از توسعه نرمافزار در نظر گرفته شود تا کارها به صورت ایمن وارد فاز بعدی شود و به این ترتیب، در زمان توسعه امنیت را در نرمافزار بالا ببریم.
فصل اول
کلیات
1.1. مقدمه
به اشتراکگذاری اطلاعات برای دستیابی به دادهها یکی از بخشهای مهم هر سازمان میباشد که از دادهها میخواهند به بهترین شکل ممکن استفاده کنند. اما در زمان به اشتراکگذاری اطلاعات و داده ها برای آن، ویژگیهاییاز قبیل صحت و درستی داده، سرعت به اشتراکگذاری و چندین ویژگی دیگر را باید در نظر گرفت. در این بخش به لزوم توجه به امنیت، یکی از ویژگیهایی که باید در به اشتراکگذاری اطلاعات باید به آن توجه داشت، اشاره میکنیم.
2.1. شرح مسئله
اطلاعات که با اشکال گوناگون میتواند وجود داشته باشد، از داراییهای مهم سازمان و تجارت هستند مانند سایر داراییهای آن، و از میزان اهمیت زیادی برخورداراند و بخاطر اینکه، مابین بخشهایی که در سازمان و تجارت وجود دارد، به اشتراک گذاشته میشوند بیشترین نگرانیها را دارند، در نتیجه باید بگونهای محافظت شوند. مخصوصا در محیطی که تعاملات تجارت رو به رشد است و دادهها به اشتراک گذاشته میشوند، از اهمیت بیشتری برخوردار است در نتیجه این افزایش تعاملات، اطلاعات در معرض انواع گوناگونی از تهدیدها و آسیبها قرار میگیرد[4].
سیر پیشرفت فناوری اطلاعات1(IT) و ارتباطات و نوآوریهای حاصل از آن موجب افزایش چشمگیر بهرهوری و پیدایش انواع جدیدی از خدمات شده است. با بهبود روز افزون قدرت، ظرفیت و قیمت تجهیزات میکروالکترونیکی که به رشد سالیانه تقریباّ 30 درصدی بهرهوری نسبت به قیمت منجر شده، امکان استفاده از این فناوری را برای همه میسر گردیده است. امروزه ما در دنیایی زندگی میکنیم که پردازش اطلاعات در آنارزان و هزینه ارتباطی روبه کاهش است و جهان به طور فزایندهای در تبادل و تعامل میباشد.
با گسترش سیستمهای اطلاعاتی و ارتباطی،حملات و تهدیدهای امنیتی علیه این گونه سیستمها نیز افزایش یافته و در نظر گرفتن جنبههای امنیتی در توسعه سیستمها به عنوان یکی از کلیدیترین موضوعات مطرح میباشد[2].تعداد این حملات به گونهای است که در سالهای گذشته بیش از 3500 آسیب به مرکز فوریتهای کامپیوتری2(CERT/CC) در طول هر سال گزارش شده و همچنین در سال 2003 حدود 140000 رویداد امنیت به این مرکز ارائه گردیده است. این رویدادهای امنیتی به قدری بود که CERT
انتشار این آمارها را در سال 2004 متوقف کرد. وزارت دفاع آمریکا هم تعداد کامپیوترهایی که در آن کشور دارای حفرههای امنیتی هستند را 88% اعلام کرد که تعداد 96% از آنها از وجود نقص در سیستم اطلاعی ندارند[18]. بنابراین نقش ITتنها در صورتی در زندگی بشری پر رنگتر خواهد بود که امنیت این حوزه تامین گردد. نقص امنیتی این فناوری موجب میشود که نه تنها مزایای بیشمار آن از بین برود بلکه به عامل تهدید کننده زندگی بشری نیز تبدیل شود[10].
IT دارای بخشهای مختلفی مانند منابع انسانی، سختافزار، نرمافزار، داده، تجهیزات و پروتکلهای ارتباطی، دستگاههای الکترونیکی و الکتریکیو غیره میباشد. که تمرکز بر روی تمامی بخشهایIT در این مجال نمیگنجد. به همین خاطر در ادامه تنها در رابطه با بخشی از نرمافزار که نرمافزارهای کاربردی میباشند، متمرکز خواهیم شد.
امنیت یکی از ویژگیهای غیرتابعی سیستممانند قابلیت اطمینان یا کارایی میباشد که آن یک�
|