23
ﻧﺴﺨﻪ1,0 - اﻓﺰار ﻧﺮم اﻣﻦ ﺗﻮﺳﻌﻪ ﻓﺮآﯾﻨﺪ ا ﯿ م ا ا ر ﺣﻘﻮق ﮐﻠﯿﻪ. ﺑﺎﺷﺪ ﻣﯽ آﺑﺎن ﻫﻮﺷﻤﻨﺪ ﺳﺎﻣﺎﻧﻪ ﺷﺮﮐﺖ ﺑﻪ ﻣﺘﻌﻠﻖ١ او ﯾﺎد ﺑﺎ اﻓﺰار ﻧﺮم اﻣﻦ ﺗﻮﺳﻌﻪ ﭼﺎرﭼﻮب ﻣﺎﯾﮑﺮوﺳﺎﻓﺖ ﻣﺘﺪوﻟﻮژي ﺑﺮ ﻣﺒﺘﻨﯽ وﯾﺮاﯾﺶ1,0 وﯾﺮاﯾﺶ آﺧﺮﯾﻦ ﺗﺎرﯾﺦ: 26 / 10 / 94 اﻟﺰﻣﺎﻧﯽ ﺻﺎﺣﺐ رﺿﺎ: ﻣﺸﺎوره ﮔﺮوه ﻣﺪﯾﺮ) it.com - rs@aban ( www.aban-it.com

چارچوب توسعه امن نرم افزار

Embed Size (px)

Citation preview

Page 1: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

١

با یاد او

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

1,0 ویرایش

26/10/94 :تاریخ آخرین ویرایش

)it.com-rs@aban( مدیر گروه مشاوره : رضا صاحب الزمانیwww.aban-it.com

Page 2: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

٢

فهرست 3 .............................................. ................................ ................................ ................................ ................................ ................................ مقدمه

4 ..................................................... ................................ ................................ ................................ توسعه امن مایکروسافت چرخه درباره

5 .................................... ................................ ................................ ................................ ................................ کروسافتیما در تیامن توسعه

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

SDL ................................ ................................ ................................ ................................ ................................... 6 شده يساز نهیبه مدل

SDL ................................ ................................ ................................ ................................ ................................ ................................. 7 کاربرد

7 .................................................... ................................ ................................ تیامن بخش کارکنان تیصالح احراز و تیمسئول نقش،

SDL ................................ ................................ ................................ ........................................................ 9 شدهساده یتیامن يهاتیفعال

10 ...................................... ................................ ................................ ................................ ................................ ياجبار یتیامن اقدامات

10 .......................................... ................................ ................................ ................................ تیامن آموزش: SDL يازهاینشیپ

12 ........................................ ................................ ................................ ................................ ................................ الزامات: اول مرحله

14 ....................................... ................................ ................................ ................................ ................................ یطراح: دوم مرحله

15 ........................................... ................................ ................................ ................................ ................................ يریکارگبه: سوم مرحله

16 ................... ................................ ................................ ................................ ................................ ................................ دییتأ: چهارم مرحله

17 ................... ................................ ................................ ................................ ................................ ................................ عرضه: پنجم مرحله

19 .................................... ................................ ................................ ................................ ................................ ياریاخت یتیامن اقدامات

20 ................... ................................ ................................ ................................ ................................ ................................ ندیفرا الزامات گرید

20 ............................................ ................................ ................................ ................................ ................................ علل ياشهیر لیتحل

20 ............................................................... ................................ ................................ ................................ ندیفرا يادوره يهایروزرسانبه

20 ........................................................ ................................ ................................ ................................ يکاربرد برنامه تیامن دییتأ ندیفرا

22 ................................. ................................ ................................ ................................ ................................ ................................ يریگجهینت

SDL ................................ ................................ ................................ ............................................................. 23 ندیفرا حیتشر: 1 مهیضم

Page 3: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

٣

مقدمه

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

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

سیستم قابل اطمینان ، نیاز مند یک چارچوب کامل پذیري هر سیستم به اندازه آسیب پذیري ضعیف ترین نقطه آن است ، رسیدن به یک

تست شده ، همه جانبه نگر و قابل اطمینان باشد. ،دارد که خود

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

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

الگو در طول فرآیند تولید سفارشی شده و بر اساس نیاز پروژه بهینه می گردد.

) بپردازیم و پیرامون تک تک اقدامات امنیتی SDL( توسعه امن مایکروسافت، قصد داریم به تشریح مفاهیم اساسی چرخه در این مستند

را شکل می دهد. سامانه هوشمند آبانپروژه مشاوره امنیت شرکت بحث کنیم که

:پردازدمیموارد زیر به شرح حاضر مستند

مایکروسافت. SDLمروري مختصر بر •

سازي.بهینهمدل در SDLجایگاه مایکروسافت با توجه خاص به SDLسازي مروري بر مدل بهینه •

، شامل:توسعه امن مایکروسافتهاي بحث درمورد تک تک فعالیت •

o فرایند تولید برنامه کاربردي دست دارند.نقش و مسئولیت افرادي که در

o .اقدامات امنیتی اجباري

o .اقدامات امنیتی اختیاري

o .فرایند تأیید امنیت برنامه کاربردي

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

را به شکلی اجرا کنند که مناسب استعدادهاي انسانی و منابع در SDLبایست هاي کاربردي میاي تولید برنامههیعنی تیمنیستند؛

.توسعه یابدتوسط مشاور ،این برنامه در طول پروژه بسته به نیاز سازمان می تواند ،و دسترسشان باشد

Page 4: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

٤

هاي کاربردي و منظور ساخت برنامهافزار بههاي امنیتی تولید نرمتنها بر استفاده از روش چارچوبباید به این نکته توجه داشته باشید که این

ها وجود دارند ) درون سازمانITهاي دیگري (مانند اقدامات امنیت روش کند.خدمات آنالین براي عرضه در داخل یا خارج سازمان تمرکز می

کنند مجبور باشند از شرایط هایی که این فرایندها را اجرا میرچند ممکن است تیممتمرکز هستند؛ ه» عملیاتی«که بر تهدیدات امنیت

در مورد استفادههاي کاربردي هایی معموًال به ساخت برنامهافزار پیروي کنند، چنین تیمهاي تولید نرمقانونی و فناوري مشابه شرایط گروه

پردازند.هاي داراي ریسک امنیتی شدید نمیمحیط

فرایند گردش کارهاينیز باید در نظر گرفته شوند که در حظات دیگري رد بخشهایی از نرم افزار که ماهیت امنیتی باالتري دارند ، مالدر مو

می باشند. و نکنیکی تغییري ایجاد نمی نماید و عمدتا مالحظات فنی

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

.کنیمدرج می این مستند ،درطول را و دیگر اطالعات کمکی

توسعه امن مایکروسافتدرباره چرخه

اي کالن در سرتاسر ، به عنوان برنامهSDLافزار است. فرایند ) فرایندي براي تأمین امنیت الزم در تولید نرمSDLچرخه توسعه امنیت (

افزارها و دیگر دستاوردهاي در نرمنیازمندیهاي محرمانگی و سازي امنیت ، نقشی حیاتی را در نهادینه2004شرکت و سیاستی اجباري از سال

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

کند.افزار ایجاد میرا درطول تمامی مراحل تولید نرمنیازمندیهاي محرمانگی امنیت و ، SDLچرخه بکاهد.

هاي فنی . آموزش و یادگیري مداوم نقشپاسخگوییو بهبود مداوم، آموزشمایکروسافت بر سه مفهوم اساسی استوارست: SDLفرایند

کند بتوانند در مقابل تغییرات ها کمک میبه سازمان ،گذاري مناسب در انتقال دانشافزار امري حیاتی است. سرمایهدر یک گروه تولید نرم

بر درك علت و SDLی ماهیت پویایی دارند، برنامه رو واکنش درخوري نشان دهند. ازآنجایی که خطرات امنیتفناوري و تهدیدات پیش

هاي جدید فناوري و اعمال تغییرات الزم درپاسخ به پیشرفت SDLمعلول این خطرات تأکید زیادي دارد و مستلزم ارزیابی منظم فرایندهاي

، از SDLمنظور تأیید پیروي از روند ؛ بهگرددآوري میهایی جمعها، دادهیا تهدیدات جدید است. براي ارزیابی میزان تأثیرگذاري آموزش

باید حتماً تمامی SDLکنند. نهایتاً، هاي پس از عرضه نیز به درك تغییرات آینده کمک میشود؛ مقیاسهاي حین فرایند استفاده میمقیاس

هنگامی که یک سازمان از جزئیات کند.آوري کاربردي در هنگام وقوع موقعیت بحرانی را جمع ايرسانی به برنامه هاي الزم براي خدمتداده

Page 5: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

٥

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

کند.

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

موردهاي تولیدي متداول مایکروسافت در فعالیت SDLبر کاربرد این مستند

این مستند هاي خارج از شرکت مایکروسافت تمرکز دارد. بین گروه استفاده

ات و خدمات مایکروسافت،استفاده در تولید محصول و فرایند منتشرشده مورد

هرچند، باید به این نکته توجه داشته باشید که ارتباط زیادي وجود دارد.

پردازدمیاین مستند مایکروسافت به تشریح مفاهیم اساسی مورد بحث در

دهنده شرایط فنی و تجاري خودبه عنوان فرایندي نشان SDLو از

صدها محصول این در و گیرد مینشأت این مستند م اساسی مورد بحث دراستفاده مایکروسافت از مفاهی مورد SDLکند. فرایند استفاده می

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

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

فرد مربوط به این حوزه وسیع فناوري برآیند.منحصربه

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

زا و پرهزینه تبدیل اي اضطرابطور مناسب صورت نگیرد، به مسئلهگنجاندن مفاهیم تولید امن در فرایند تولیدي موجود، درصورتی که به

یت تیم خواهد شد. معموالً موفقیت یا عدم موفقیت در انجام این کار به متغیرهایی مانند اندازه سازمان، منابع (زمان، استعداد و بودجه) و حما

وغ تیم تولیدي، میزان هاي کاربردي برمبناي سطح بلتوان ازطریق درك اقدامات مناسب توسعه امنیت و ایجاد اولویتاجرایی بستگی دارد. می

منظور کمک به بررسی چنین را به SDLسازي تأثیرگذاري متغیرهاي ناملموس فوق را کنترل کرد. شرکت مایکروسافت هم مدل بهینه

مسائلی ایجاد کرده است.

به مستند مایکروسافتی که در این SDLبرنامه

پردازیم، بر کاربرد اقدامات امنیتی تشریح آن می

اي در نقاط مجزا در چرخه تولید تأییده شده

کند. این فرایند وابسته به افزار تأکید مینرم

هاي بزرگ نیز فناوري خاصی نیست و به سازمان

اي که کاربرد آن در هر شود؛ مسئلهمحدود نمی

کند می رامکان پذیاي را سازماي با هر اندازه

Page 6: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

٦

افزار ارتباط زیادي دارند:مایکروسافت حول پنج ظرفیت اساسی استوار است که با مراحل طول چرخه تولید نرم SDLسازي مدل بهینه

سازمانیگذاري و ، سیاستآموزشیهاي ظرفیت •

و طراحیالزامات •

کارگیريبه •

تأیید •

عرضه و بازخورد •

هاي مربوط به پنج حوزه ها و ظرفیتچهار سطح بلوغ (پایه، استاندارد، پیشرفته و پویا) را براي فعالیت SDL شده سازيعالوه، مدل بهینهبه

فوق تعریف کرده است.

شود و تا سطح پویا (که ویژگی از سطح بلوغ پایه (آموزش و تجهیز همراه با پردازش کم یا فاقد پردازش) شروع می SDLسازي مدل بهینه

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

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

SDL شده مدل بهینه سازي

همراه با سطوح بلوغ و ظرفیت ها SDL: مدل بهینه سازي 1شکل

پویا >پیشرفته >استاندارد >کلیه فعالیتها در سطوح پایه آموزش ، سیاست گذاري،ظرفیتهاي سازمان

نیاز سنجی و طراحی

پیاده سازي

تست و تایید

ارایه و پاسخگویی

Page 7: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

٧

این نقطه اي است که در آن سازمانی کند. تمرکز می SDLها و فرایندهاي الزم براي دستیابی به سطح پیشرفته بلوغ بر فعالیتاین مستند

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

مدل خطوط مشی کند. این مایکروسافت کامال بر بهبود فرایند تولید تأکید می SDLافزار، مدل بهینه سازي هاي بلوغ نرمبر خالف دیگر مدل

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

پرهیزد.هاي تودرتو میفهرست

SDL کاربرد

مایکروسافت داشته باشد. تجربه نشان داده SDLفرایندهاي هاي تحت کنترل هر سازمان حتماً باید انتظارات مشخصی درمورد نوع پروژه

قرار گیرند. SDLهاي زیر را دارند، باید تحت کنترل هاي کاربردي که یک یا چند مورد از ویژگیاست که برنامه

رونددر محیطی تجاري یا اقتصادي به کار می •

کنندهاي حساس را پردازش می) یا دیگر دادهPIIاطالعات خصوصی اشخاص ( •

پردازندها به تبادل داده میمرتبًا ازطریق اینترنت یا دیگر شبکه •

، کامال ضروري خواهد بود. SDLنکته شایان توجه این است که پروژه مورد نظر ، هر سه ویژگی باال را دارست ، بنا بر این استفاده از روش

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

تري باشد.) نیستند، کار سادهSDLکه تحت کنترل اقدامات امنیتی (مانند موارد مربوط به

نقش، مسئولیت و احراز صالحیت کارکنان بخش امنیت

درطول مرحله ملزومات مشاغل دارد. این محرمانگی هاي مربوط به امنیت و توضیحات شغلی و معیارهایی کلی براي پست SDLفرایند

SDL هستند شامل موارد زیرو شوندمیتکمیل:

Page 8: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

٨

و مسئولیت قبول اندپروژه طراحی شدهنیازمندیهاي محرمانگی منظور مقابله با نقایص امنیت یا ها بهاین پست نقد و مشاوره: •

پیشنهادي تیم پروژه را دارند.نیازمندیهاي محرمانگی هاي امنیتی و یا رد برنامه

SME- Subject Matterها به افراد متخصص موضوعات خاص (این پست: محرمانگیمشاور امنیتی و مشاور •

Expertsشوند که خودشان عضو تیم پروژه نیستند. ) محول می

صالحیت واگذار کرد که عضو گروهی مستقل توان یا به فردي بااین پست را می

هایی را دارد و یا آن راو متمرکز درون سازمان است که مسئولیت چنین مشاوره

برعهده نهادي خارج از سازمان گذاشت. شخصی که براي انجام این وظیفه

شود باید دو پست فرعی دیگر را نیز به دست بگیرد:می انتخاب

آمیز هریک از الزامات امنیتی را تأیید افزار نظارت داشته باشد و تکمیل موفقیتاین فرد باید بر تمامی مراحل تولید نرم بازرس: •

آزادي کامل داشته باشد و تیم پروژه در نیازمندیهاي محرمانگی تأیید یا عدم تأیید پیروي از الزامات امنیتی و در کند. مشاور باید

کار وي مداخله نکند.

تأیید الزم در زمینه امنیت نیز برخوردار باشد.شود، باید از تخصص قابلشخصی که به سمت مشاور منصوب می :تخصصم •

هاي مشاور امنیتی و توان پستها و تجربیات الزم را یافت، میاگر بتوان فردي داراي مهارت :هاي مشورتیترکیبی از پست •

.نفر سپردرا به دست یک نیازمندیهاي محرمانگی مشاور

هایی از درون خود تیم پروژه بر عهده بگیرند. این افراد مسئول مذاکره، SMEمسئولیت نمایندگی تیم را باید : نمایندگان تیم •

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

افزار هستند.ید نرمدر طول پروژه تولگیرندگان تصمیم

تمامی مسائل امنیتی در رعایت : این فرد (یا گروه) مسئول تضمین محرمانگی نماینده بخش امنیت و نماینده بخش •

سازي و پیگیري رعایت مسائل امنیتی در پروژه را برعهده دارد. متصدي این پست افزار عرضه شده نیست اما مسئولیت هماهنگنرم

افزار) در تیم پروژه هاي تولید و آزمایش نرممشاور امنیتی و دیگر اشخاص مرتبط (مانند مدیران بخش مسئول گزارش وضعیت به

نیز هست.

توان ها و تجربیات الزم را یافت، می، اگر بتوان فردي داراي مهارتمحرمانگی مانند پست مشاور امنیت و :هاترکیبی از پست •

دست یک نفر سپرد. را بهنمایندگی تیم هاي مربوط به مسئویت

در تمام طول مشاور بهتر است از گروه

درك؛ چنین گروهی پروژه استفاده شود

سازمانی و دانش فرایندي فراتر از توانی هاي

ی که موقتا با مجموعه همکاري متخصصان

اختیار می گذارند.می کنند ، در

Page 9: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

٩

SDLشده هاي امنیتی سادهفعالیت

اي از اقدامات امنیتی اجباري است کهمایکروسافت مجموعه SDLبه بیان ساده،

)SDLCافزار (و براساس مراحل سنتی تولید نرم ترتیب منظمی دارند

که به تنهایی اجرا شوند اند. بسیاري از اقدامات موردبحث، درصورتیتقسیم شده

حال، تجربیات عملی شرکت اینتوانند مزایایی امنیتی را دربرداشته باشند. باهم می

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

ها ممکن سازد.آنتدریجی اجراي تک به تک یا

، اقدامات امنیتی اختیاري را نیز بنا به صالحدید تیم پروژه یا محرمانگی منظور دستیابی به اهداف موردنظر در زمینه امنیت و توان بهمی

، براي جلوگیري از به درازا کشیدن بحث، از توضیح مفصل تک تک اقدامات امنیتی مستنددر دستور کار قرار داد. در این مشاور امنیتی

کنیم.یخودداري م

.که توسط مشاور راهبري می شود توسعه امن مایکروسافت: حالت ساده شده چرخه 2شکل

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

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

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

) SDLتهدیدات سازي شبیهاز ابزاري تخصصی (مانند ابزار مایکروسافت نوشته یا با استفاده پرداز، درقالب سندي در واژهایجاد شده است

برد، ارزش اصلی این فرایند در دقت گذاري مناسب در تولید تجهیزات و اتوماسیون کارآمد بهره میاز سرمایه SDLتولید شود. اگرچه فرایند

از آن است.و کمال نتایج حاصل

داد حاصل هر مرحله باید بر دقت برون

تمرکز کامل داشته باشیم؛ چراکه گزارشهاي

پرزرقوبرق حاوي اطالعات ناقص یا نادرست

شوند.باعث هدررفت زمان و منابع می

Page 10: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

١٠

کشد، مراجعه نمایید. به تصویر میکه این فرایند را موجود در ضمیمه یک توانید به نمودار مفصل ، میSDLفرایند تر بر ساده يبراي مرور

این مثال هم ؛ افزار ادامه دارددهد که از آموزش کارکنان تا عرضه نرماي فرضی را نشان میاین نمودار اقدامات امنیتی انجام شده در پروژه

گیرد.وظایف اجباري و هم اقدامات اختیاري را دربر می

اقدامات امنیتی اجباري

مراجعه نمایید)، تیم تولید SDLقرار گیرد (به بخش کاربرد SDLافزاري تحت کنترل اگر مشخص شود که حتمًا باید پروژه تولید نرم

اقدام امنیتی اجباري را با موفقیت تکمیل کند. میزان تأثیرگذاري این اقدامات 16مایکروسافت، SDLبایست براي پیروي از فرایند می

طور منظم به عنوان بخشی از فرایند ارزیابی اند، بهها اذعان کردهبه تأثیر آننیازمندیهاي محرمانگی اجباري، که متخصصان حوزه امنیت و

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

.داده شوندجاي » االجراالزم«هاي باید همواره در فهرست فعالیتاین مستند اقدام مذکور در 16دیگر اقدامات امنیتی برخوردار باشند اما

: آموزش امنیتSDLنیازهاي پیش

: الزامات آموزشیSDLنخستین اقدام

، محرمانگی در زمینه امنیت و تغییرات فن آوريامنیتی اساسی و آخرین الزامات افزار باید براي اطالع از تمامی اعضاي تیم تولید نرم

اندرکار تولید که مستقیماً دست و مدیران برنامه) آزمون کنندگانهاي فنی (تولیدکنندگان، هاي الزم را دریافت نمایند. متصدیان پستآموزش

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

افزار باید مفاهیم اساسی زیر را پوشش دهند:هاي بنیادین امنیت نرمآموزش

طراحی ایمن، شامل موضوعات زیر: •

کاهش سطح حمله .1

افزایش عمق دفاع .2

ترسیاصل کمترین دس .3

Page 11: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

١١

فرض ایمنتنظیمات پیش .4

سازي تهدید، شامل موضوعات زیر:شبیه •

تهدیدسازي مرور شبیه .1

سازي شده در طراحیتهدید شبیهاستفاده از .2

هاي کدگذاري براساس مدل تهدیدمحدودیت .3

ایمن، شامل موضوعات زیر: کد نویسی •

)++Cو Cهاي مبتنی بر استفاده بیش ازحد از حافظه میانجی (براي برنامه .1

)++Cو Cهاي مبتنی بر خطاهاي محاسباتی کامل براي برنامه .2

هاي کاربردي مبتنی بر وب)سرتاسري (براي کدهاي مدیریت شده و برنامهنوشتن کد آغازگر .3

هاي کاربردي مبتنی بر وب)(براي کدهاي مدیریت شده و برنامه SQLتزریق .4

رمزنگاري ضعیف .5

سنجش امنیت، شامل موضوعات زیر •

هاي بین سنجش امنیت و سنجش عملکردتفاوت .1

ارزیابی ریسک .2

هاي سنجش امنیتروش .3

، شامل موضوعات زیر:محرمانگی •

محرمانگی هاي حساس به نوع داده .1

محرمانگی بهترین عملکرد براي طراحی .2

ارزیابی ریسک .3

محرمانگی بهترین عملکرد براي توسعه .4

محرمانگی بهترین عملکرد براي سنجش .5

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

هایی از این مفاهیم شامل (ولی نه محدود به) موارد زیرند:تواند ضروري باشد. مثالمی

طراحی و معماري پیشرفته امنیت •

اطمینان مورد طراحی رابط کاربري •

Page 12: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

١٢

توضیح مفصّل خطرات امنیتی •

انجام اقدامات معمول براي کاهش تهدیدات •

الزاماتمرحله اول:

: الزامات امنیتیsdlدومین اقدام

توان در اساسی تولید سامانهاي ایمن است. بهترین زمانی که می هايبهاز جننیازمندیهاي محرمانگی به امنیت و » پیش از تولید«لزوم توجه

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

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

گیرد و شامل در آغاز پروژه صورت مینیازمندیهاي محرمانگی ها را به حداقل برساند. تحلیل الزامات امنیتی و هاي زمانی و طرحآسیب برنامه

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

اقدامات و خطرات امنیتی است.مربوط به ردگیري موارد

هاي کیفیت و سدهاي باگ: دروازهSDLسومین اقدام

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

هاي امنیتی را در طول فرایند سازد باگهاي تولید را قادر میکند و تیمدر آغاز پروژه به درك بهتر خطرات مربوط به مسائل امنیتی کمک می

راي مثال، باید پیش از ورود کد هاي کیفیت عبور کنند (ببایست در هر مرحله تولید از دروازههاي پروژه میتیمتولید شناسایی و رفع نمایند.

تواند توضیحات ؛ این مشاور مینمایدتمامی هشدارهاي کامپایلر بررسی و رفع شوند) و سپس از مشاور امنیتی بخواهند این عبور را تأیید

امنیتی نهایی بررسی تکمیل منظور بایست بهتیم پروژه می را به پروژه اضافه کند. ياضافه خاص هر پروژه و الزامات امنیتی متناسب شدیدتر

)FSRهاي کیفیت پشت سر گذاشته شده را نیز نشان دهد.)، پیروي از الزامات دروازه

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

سد باگ هرگز پذیر باشند. ، به هیچ وجه نباید در هنگام عرضه آسیب»مهم«یا » حیاتی«هاي کاربردي ؛ براي مثال، برنامهشوداستفاده می

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

Page 13: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

١٣

محرمانگی رات امنیت و : ارزیابی خطSDLاقدام چهارمین

در کارکردي یهای) فرایندهاي اجباري هستند که جنبهPRA(نیازمندیهاي محرمانگی ) و ارزیابی خطرات SRAارزیابی خطرات امنیتی (

ها باید اطالعات زیر را دربرگیرند:کنند. این ارزیابیافزار را که به بازنگري عمیق نیاز دارند، شناسایی مینرم

سازي تهدیدات پیش از عرضه نیاز خواهند داشت؟هاي پروژه به شبیهکدام یک از بخش(امنیت) .1

هاي پروژه به بازنگري در طرح امنیتی پیش از عرضه نیاز خواهند داشت؟یک از بخش(امنیت) کدام .2

فق طرفین در خارج از هاي پروژه (درصورت وجود) به انجام آزمون نفوذپذیري ازسوي گروهی مورد توایک از بخش(امنیت) کدام .3

خود تیم پروژه نیاز خواهد داشت؟

داند؟(امنیت) آیا مشاور انجام آزمون یا تحلیل امنیتی دیگري را براي کاهش خطرات امنیتی الزم می .4

(امنیت) گستره خاص الزامات آزمون تداخل چقدر است؟ .5

زیر بستگی دارد:بندي دسترسش به چقدر است؟ پاسخ این پنیازمندیهاي محرمانگی ) میزان تأثیر محرمانگی ( .6

• P1 سازي یا انتقال ، محصول یا خدمت موردنظر مسئول ذخیرهویژگی: محرمانگی ریسک بااليPII تنظیمات یا ، تغییر

.استافزار نرمیا نصب و ها همخوانی نوع فایل

• P2 اندازد خدمت موردنظر را به خطر میویژگی، محصول یا نیازمندیهاي محرمانگی : تنها رفتاري که محرمانگی ریسک متوسط

شود).سایتی میافزار وارد وبکند و نرمها ازسوي کاربر است (براي نمونه، کاربر روي لینکی کلیک مینام و یکباره دادهانتقال بی

• P3 را به محرمانگی نیازمندیهاي : هیچ رفتاري در ویژگی، محصول یا خدمت موردنظر وجود ندارد که بتواند محرمانگی خطر کم

به هیچ افزار در دستگاه، تغییر تنظیمات ازسوي کاربر و نصب نرم PIIسازي نام، ذخیرههاي شخصی یا بیخطر بیندازد. انتقال داده

شود.انجام نمیوجه

Page 14: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

١٤

مرحله دوم: طراحی

: الزامات طراحیSDLپنجمین اقدام

بهترین زمان براي تغییر قابلیت اطمینان طراحی یک پروژه در ابتداي

نیازمندیهاي محرمانگی چرخه آن است. توجه دقیق به مسائل امنیتی و

کاهش مشکالت امنیتی زیادي دارد. درطول مرحله طراحی اهمیت بسیار

در مراحل ابتدایی چرخه پروژه بسیار نیازمندیهاي محرمانگی و

هاي پروژه باید از موکول کردن تیمدرنتیجه، تر خواهد بود. هزینهکم

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

تکمیل پروژه بپرهیزند.

العاده زیادي برخوردارست. هاي پروژه از اهمیت فوقتیمتوسط » هاي امنیتیویژگی«و » هاي ایمنویژگی«عالوه، درك تفاوت بین به

هایی هاي ایمن آن دسته از ویژگیهاي امنیتی که درعین حال فاقد ایمنی هستند، امري کامًال محتمل است. ویژگیقیقت، کاربرد ویژگیدرح

ها پیش از پردازش و یا استفاده از دقیقاً تنظیم شده است (مانند تأیید اعتبار دقیق تمامی داده یردشان ازنظر امنیتهستند که کارک

اعتبار هایی با کاربردهاي امنیتی (مانند تأیید هاي امنیتی به عملکرد برنامهواژه ویژگی هایی قدرتمند براي خدمات رمزنگاري).مجموعه

Kerberos ش) اشاره دارد.یا دیواره آت

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

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

هاي خاص به هایی که براي دسترسی به دادهد که مستقیماً دراختیار کاربران قرار داده خواهند شد؛ مانند ویژگینرا تعیین کنمحرمانگی

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

کارگیري ایمن تمامی کارکردهاي هر ویژگی یا قابلیت را تعیین کنند. مقایسه مشخصات طرح با مشخصات بایست شیوه بهصات طرح میمشخ

تواند اقدام مناسبی باشد. مشخصات عملیاتی باید:عملیاتی برنامه کاربردي می

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

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

ها یا موارد باید روشی رسمی براي تعویق باگ

افزار هاي تولید نرماستثنا در تمامی پروژه

هاي کاربردي گنجانده شود. بسیاري از برنامه

شوند و هاي قدیمی تولید میبرمبناي طرح

درنتیجه شاید الزم باشد انجام برخی از اقدامات

مربوط به امنیت و حریم خصوصی را درنتیجه

هاي فنی به تعویق بیندازیم. محدودیت

Page 15: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

١٥

: کاهش سطح حملهSDLششمین اقدام

پردازد. سازي تهدید دارد؛ هرچند این اقدام از دیدگاه نسبتاً متفاوتی به مقابله با مسائل امنیتی میزیادي با شبیهارتباط کاهش سطح حمله

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

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

کند.می

سازي تهدید: شبیهSDLهفتمین اقدام

هاي داراي ریسک امنیتی شدید استفاده سازي تهدیدات در محیطاز شبیه

سازد کاربردهاي هاي تولید را قادر میشود. این اقدامی است که تیممی

ریزي شده و به شکلیهاي خود را در محیط عملیاتی برنامهامنیتی طرح

سازي تهدیدات ها بحث کنند. شبیهراجع به آنساختاریافته بررسی، ثبت و

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

افزار را مرحله طراحی نرمگیرد و تحلیل امنیتی اولیه صورت گرفته در را در برمی آزمون کنندگانبرنامه یا پروژه، تولیدکنندگان و

کشد.به تصویر می

کارگیريمرحله سوم: به

: استفاده از تجهیزات مورد تأییدSDLهشتمین اقدام

هاي کامپایلر و ها (مانند هشدارها و گزینههاي امنیتی مربوط به آنهاي تولید باید فهرستی از تجهیزات مورد تأیید و بررسیتمامی تیم

منظور بایست بههاي تولید میطورکلی، تیم. بهنمایدعیین و منتشر کنند. مشاور امنیتی تیم پروژه باید این فهرست را تأیید پیونددهنده) را ت

.کار برندرا بههاي امنیتی جدید، تالش کنند جدیدترین تجهیزات مورد تأیید بهره بردن از حمایت و قابلیت تحلیل

روش مطلوب براي شبیه سازي تهدیدات

SDLاستفاده از ابزار شبیه سازي تهدیدات

بر SDLاست. ابزار شبیه سازي تهدیدات

کار STRIDEمبناي طبقه بندي تهدیدات

کند.می

Page 16: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

١٦

امننا: رد عملکردهاي SDLنهمین اقدام

هاي پروژه باید هاي تهدیدکننده کنونی ایمن نیستند. تیمهاي متداول مورد استفاده به هیچ وجه درمقابل محیطAPIها و بسیاري از قابلیت

از موارد فاقد شود، مورد تحلیل قرار دهند و استفاده ها استفاده میافزار از آنهاي تولید نرمهایی را که درکنار پروژهAPIها و تمامی قابلیت

و banned.hهاي سرامد (مانند هاي پروژه باید با استفاده از فایلایمنی را ممنوع کنند. پس از تعیین فهرست موارد ممنوعه، تیم

strsafe.hبررسی و ) رادرجاي مناسبهاي ممنوع در کدها (شامل کدهاي قدیمی )، کامپایلرهاي جدید و تجهیزات اسکن کد، وجود قابلیت

تر تعویض کنند.هاي ایمنموارد ممنوع را با جایگزین

: تحلیل ایستاSDLدهمین اقدام

د کد منبع را مورد تحلیل ایستا قرار دهند. تحلیل ایستا ظرفیت قابلهاي پروژه بایتیم

تواند به تضمین پیروي آورد و میدسترسی را براي بررسی کد امنیتی فراهم می

تواند به تنهایی جايهاي کدگذاري ایمن کمک کند. تحلیل ایستاي کد نمیاز سیاست

مشاوران امنیتی باید از نقاط قوت کدها را بگیرد. تیم امنیتی وغیرخودکار بررسی

و ضعف تجهیزات تحلیل ایستاي کد آگاه باشند و بتوانند تجهیزات تحلیل ایستا را

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

مرحله چهارم: تأیید

: تحلیل پویاي برنامهSDLیازدهمین اقدام

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

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

ي دیگر تکنیکهايو )AppVerifierمانند (هاي امنیتی، از ابزارهاي درحین کار مطلوب آزمونپوشش منظور دستیابی به به SDLفرایند

کند.(همچون آزمون تداخل) استفاده می

به طور کلی تیم هاي تولید باید در مورد

هاي ایستا تصمیم بهترین تعداد تکرار تحلیل

بگیرند تا بتوانند تعادل میان بازدهی و

ا تأمین نمایند.رپوشش امنیتی

Page 17: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

١٧

: آزمون تداخلSDLدوازدهمین اقدام

کند عیوب برنامه را بردي، سعی میتصادفی به برنامه کار هاي خراب یاعامدانه دادهورود آزمون تداخل نوع خاصی از تحلیل پویا است که با

شود. ممکن و طراحی برنامه کاربردي تعیین میعملیاتی . استراتژي آزمون تداخل باتوجه به کاربرد موردنظر برنامه و مشخصات تشخیص دهد

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

: مروري مجدد بر مدل تهدید و سطح حملهSDLسیزدهمین اقدام

افزار فاصله معموالً احتمال دارد برنامه کاربردي از مشخصات طراحی و کارکردي تعیین شده درطول مراحل طراحی و الزامات پروژه تولید نرم

نوشتن کد یک برنامه کاربردي، مروري مجدد بر مدل تهدیدات و اقدامات مربوط به کاهش زیادي بگیرد. بنابراین، الزم است که پس از اتمام

سطح حمله داشته باشیم. چنین مروري بررسی هرگونه تغییر در طراحی یا کاربرد سامانه را تضمین خواهد کرد و به ما اطمینان خواهد داد

اند.، بررسی و محدود شدهکه تمامی مسیرهاي حمله جدید ایجادشده در اثر این تغییرات

مرحله پنجم: عرضه

: برنامه واکنش به رخدادSDLچهاردهمین اقدام

هایی که در زمان عرضه حتی برنامهد. شامل برنامه واکنش به رخداد باش حتماً باید SDLافزارهاي تحت کنترل الزامات عرضه تمامی نرم

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

واکنش به رخداد باید شامل موارد زیر باشد:

) وجود برنامه واکنش اضطراري se) و یا (درصورت کوچک بودن تیم و فقدان منابع SEوجود تیم مشخص مهندسی پایدار ( •

)ERPدسی، بازاریابی، ارتباطات و مدیریت به عنوان مسئولین برقراري اولین ارتباط در زمان هاي مهن) براي تعیین کارکنان بخش

وقوع مشکل ایمنی اضطراري.

ساعته و همه روزه افرادي آماده به خدمت و داراي قدرت تصمیمگیري. 24حضور •

هاي درون سازمان.برنامه انجام خدمات امنیتی بر روي کدهاي دریافت شده از دیگر گروه •

ها، متن، کد منبع، اطالعات تماس برنامه انجام خدمات امنیتی براي تأیید کدهاي دریافت شده از اشخاص ثالث؛ شامل نام فایل •

اشخاص ثالث و اجازه توافقی براي انجام تغییرات (درصورت لزوم).

Page 18: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

١٨

هاي امنیتی نهایی: بررسیSDLپانزدهمین اقدام

افزار کاربردي پیش از عرضه است. ) به معناي ارزیابی دقیق تمامی اقدامات امنیتی صورت گرفته درمورد نرمFSRبررسی امنیتی نهایی (

بررسی دهد.این بررسی نهایی را انجام مینیازمندیهاي محرمانگی مشاور امنیتی به کمک کارکنان عادي تیم تولید و مدیران تیم امنیت و

FSR اند. بررسی است و نه فرصتی براي انجام اقدامات امنیتی که مورد غفلت یا فراموشی واقع شده» نفوذ و رفع مشکل«آزمون نوعی نه

FSR هاي کیفیت یا سدهاي داد تجهیزات و عملکرد درمقابل دروازههاي تهدید، درخواست موارد استثنا، برونمعموالً شامل ارزیابی مدل

:یکی از این سه نتیجه را دربر خواهد داشت FSRم باگ تعیین شده است. انجا

رفع یا محدود FSRشناسایی شده ازطریق آزمون نیازمندیهاي محرمانگی : تمامی مسائل امنیتی و آمیزانجام موفقیت •

شوند.می

FSRمون شناسایی شده ازطریق آزنیازمندیهاي محرمانگی تمامی مسائل امنیتی و : آمیز همراه با استثناانجام موفقیت •

ابل حل (مانند مسائل مربوط به گردند. مسائل غیرقبخشی حل میشوند و/یا تمامی موارد استثنا به میزان رضایترفع یا محدود می

.شودهاي بعدي موکول میها به فرایند عرضه نسخهثبت و حل آن») دیمیهاي قطرح«هاي ایجادشده دراثر پذیريیبآس

حلی را برآورده سازد و مشاور امنیتی و تیم تولید نتوانند به راه SDLاگر تیمی نتواند تمامی الزامات : انجام همراه با تعدیل •

ها یا باید هرگونه الزام قابل قبول دست یابند، تأیید پروژه ازسوي مشاور امنیتی و درنتیجه، عرضه پروژه ممکن نخواهد بود. تیم

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

: عرضه و بایگانیSDLشانزدهمین اقدام

قابل انجام خواهد بود. SDL) صرفًا به شرط تکمیل فرایند RTW) یا عرضه آن ازطریق وب (RTMافزار ازطریق تولید انبوه (عرضه نرم

ازسوي تیم پروژه را تأیید SDLهاي دیگر) تحقق الزامات امنیتی و داده FSRبایست (با استفاده از افزار میمشاور امنیتی مسئول عرضه نرم

نیازمندیهاي دارند، مشاور P1نیازمندیهاي محرمانگی کم یک جزء با میزان تأثیر کند. به همین شکل، در تمامی محصوالتی که دست

افزار تأیید نماید.ازسوي تیم پروژه را پیش از عرضه نرم SDLنیازمندیهاي محرمانگی پروژه باید تحقق الزامات محرمانگی

Page 19: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

١٩

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

و گواهی هاي تهدیدات، اسناد، برنامه واکنش اضطراري، شرایط نمادهاي سرّي، مدلمامی مشخصات، کد منبع، کدهاي دودویی، ت

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

اقدامات امنیتی اختیاري

افزاري در دهیم که قرار باشد نرم اقدامات امنیتی اختیاري را زمانی انجام میمعموالً

کار گرفته شود. چنین اقداماتی عمومًا ازسوي مشاور ها یا شرایط حساس بهمحیط

اي از الزامات اضافه درنظرگرفته شده براي تضمین افزایش امنیتی، در ذیل مجموعه

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

امنیتی اختیاري است و به هیچ وجه نباید فهرستی کامل درنظر گرفته شود.هاي فعالیتاقدامات ذکرشده در این بخش تنها مثالی از

کدبررسی غیرخودکار

یمشاور امنیتهاي کاربردي و تیم امنیت برنامهاست و معموًال توسط افراد بسیار ماهر در SDLبررسی غیرخودکار کد فعالیتی اختیاري در

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

کند. اغلب این روش در جاهایی مورد هاي کاربردي تمرکز میبرنامه» حیاتی«اجزاي نیستند. درنتیجه، معموالً بررسی غیرخودکار کد بر

هاي حیاتی البته از این روش براي بررسی دیگر قابلیت شوند.) پردازش یا ذخیره میPIIگیرد که اطالعات حساس (مانند استفاده قرار می

شود.مانند کاربردهاي رمزنگاري نیز استفاده می

نفوذپذیريآزمون

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

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

هاي خودکار و غیرخودکار کد هاي نفوذپذیري درکنار بررسیافزار است. معموالً آزمونکارگیري نرمهاي اجرایی در بهسامانه یا دیگر ضعف

.معمول باالتر رودگیرند تا سطح تحلیل امنیتی از حالت صورت می

تمامی مسائل شناسایی شده در آزمون

نفوذپذیري باید پیش از تأیید نهایی

منظور عرضه، حل شوند.پروژه به

Page 20: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

٢٠

هاي کاربردي مشابهپذیري برنامهتحلیل آسیب

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

افزار در دست تولید ما کمک کند.طراحی یا کاربرد نرمتواند به درك بهتر مسائل مربوط به هاي کاربردي مشابه میبرنامه

فرایندالزامات دیگر

لعلاي ریشه تحلیل

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

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

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

کند.کمک می SDLهاي آینده ه تضمین مقابله با خطاهاي یکسان در بازنگريماهیت دقیق نقص موردنظر است. کسب این اطالعات ب

اي فرایندهاي دورهروزرسانیبه

ها باید افزارها نیز باید پویا باشند. سازمانسازي نرمافزاري ماهیت پویایی دارند، فرایندهاي مورد استفاده براي ایمنکه تهدیدات نرمازآنجایی

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

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

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

جلوست.منظور تضمین کاهش مناسب این نقاط در حال حرکت روبهبه SDLبرنامه در

فرایند تأیید امنیت برنامه کاربردي

مایکروسافت نیاز SDLازند معموًال به ابزاري براي تأیید پیروي از فرایندهاي موجود در پردافزارهاي ایمن میهایی که به تولید نرمسازمان

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

Page 21: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

٢١

هاي امنیتی، کمک خواهد کرد. عمل تأیید امنیت برنامه کاربردي شامل فرایندها و عامالن مختلفی و وارسی SDLرفع استثنائات الزامات

است:

این برنامه کاربردي به عنوان مخزن تمامی نتایج استفاده شود. SDLباید از برنامه کاربردي خاصی براي تشخیص پیروي از •

) هشدارهاي طراحی و کاربرد، مدلکند؛ نتایجی شامل (ولی نعمل می SDLفرایندهاي هاي هاي تهدیدات، آپلود گزارشه صرفاً

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

هاي دسترسی استفاده کند:کنترل

از برنامه کاربردي هستند. تنها کارکنان مورد تأیید مجاز به استفاده •

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

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

طور مناسب هاي عینی بههاي الزم براي انجام قضاوتباید تضمین کنند که دادهنیازمندیهاي محرمانگی مدیران تیم امنیت و •

اند.شده ردگیريبندي و وارد برنامه طبقه

تهیه چارچوب تحلیل الزم براي منظورو بهنیازمندیهاي محرمانگی ازسوي مشاوران امنیتی و ردگیريهاي وارد شده به برنامه داده •

شوند.بررسی امنیتی نهایی استفاده می

و دیگر اقدامات FSR(شامل نتایج ردگیريهاي واردشده به برنامه مسئول بررسی دادهنیازمندیهاي محرمانگی مشاوران امنیتی و •

بخش تمامی استثنائات هستند.تامنیتی اضافی مشخص شده ازسوي مشاوران) و تأیید تحقق تمامی الزامات و/یا حل رضای

اولیه ناکافی هستند. ردگیريکند، که در آن (در اکثر موارد) فرایندهاي تمرکز می SDLسازي بر سطح پیشرفته مدل بهینهاین مستند

جاي SDLسازي نهسطوح پایه یا استاندارد مدل بهیچندان پیچیده یا منابع ناچیز (که در هاي داراي فرایندهاي نهحال، سازماناینبا

تر هم کار خود را پیش ببرند.ساده ردگیريتوانند با انجام فرایندهاي گیرند)، میمی

و تأیید حتماً باید موارد زیر را به دقت نشان دهد: ردگیريفرایند

پذیر اساسی در زمان عرضه).سازمان (مانند عدم وجود نقاط آسیبنیازمندیهاي محرمانگی الزامات امنیت و •

الزامات کاربردي و فنی برنامه دردست تولید. •

شرایط عملیاتی برنامه کاربردي. •

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

سازمان، مدیریت اجرایی و اشخاص ثالث نیازمندیهاي محرمانگی ین امنیت و اختصاص داده شود تا مسئول ردگیريبه ایجاد و حفظ فرایند

درسوي مقابل، کمکاري در انجام هایی عینی را صورت دهند.ها یا مسئولین بررسی پیروي از فرایندها) بتوانند تحلیلمرتبط (مانند ارزیاب

Page 22: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

٢٢

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

.هاي حیاتی در اختیار داشته باشیمهاي حیاتی در زمانپاسخ به پرسش

گیرينتیجه

اي مجموعهاین مستند افزار بود. هاي امنیتی مربوط به فرایند تولید نرماي براي نمایش کاربردي فعالیتارائه چارچوب سادهاین مستند هدف

هاي امنیتی مجزا و غیراختیاري را ارائه داد که درصورت اجرا درکنار خودکارسازي مناسب فرایندها و وجود خطوط مشی از فعالیت

سازي را نشان مدل بهینه» پیشرفته«مایکروسافت در سطح SDLهاي الزم براي پیروي شرکت از فرایند گذاري منسجم، گامسیاست

.دهندمی

اي ثابت براي تحقق همه نیازها نیست. برنامه SDLکنند، را تعیین می SDLاگرچه فرایندهاي فوق معیارهایی حداقلی براي پیروي از

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

اده کنند.استف

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

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

برنامه درحال تولید داشته باشد.نیازمندیهاي محرمانگی تواند تأثیرات مثبتی بر امنیت و ها نیز میتکنیکرخی از این در استفاده از ب

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

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

هاي جدیدي براي نزاع دولت و به میدان خود بودند فاصله گرفته و به جرایم مالی سازماندهی شده گسترده، و حتی اخیراًتوسعه که به دنبال

کند.افزارها تأکید میتکامل تهدیدات شدیداً بر لزوم اتخاذ رویکردي فراتر از توسعه تدریجی امنیت نرم ایناند. ملت تبدیل شده

. این فرایند در صدها برنامه کاربردي و افزارهاستنرمنیازمندیهاي محرمانگی مایکروسافت فرایندي رایگان براي ارتقاي امنیت و SDLچرخه

افزار پیروي شامل اقداماتی الزامی است که از فرایند سنتی تولید نرم SDLکار رفته است. اگرچهه فرایند صدها میلیون خط کد تولید به

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

Page 23: چارچوب توسعه امن نرم افزار

رازفا مرن تینما فرآیند توسعه امن نرم افزار -1,0نسخه

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

٢٣

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

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

SDLند : تشریح فرای1ضمیمه