|
|
نگاشت چرخه mcgraw به متدولوژی rupبرای توسعه نرمافزار امن
|
|
|
|
|
نویسنده
|
رحیمی زاده کیوان ,ترکمانی محمدعلی ,دهقانی عباس
|
منبع
|
پردازش علائم و داده ها - 1399 - شماره : 2 - صفحه:46 -33
|
چکیده
|
امنیت نرمافزار از چالشهای مهم در توسعه نرمافزار است. هر روز آسیبپذیریها و نفوذهای زیادی در نرمافزارهای مشهور گزارش میشود. همانطور که برای حل مشکل بحران نرمافزار بحث مهندسی نرمافزار مطرح شد، مهندسی نرمافزار امن در کاهش چالش های امنیتی نرمافزار موثر است. چرخه mcgraw بهعنوان یکی از رهیافت های توسعه نرمافزار امن تعدادی نقطه تماس امنیت نرمافزار را معرفی می کند که شامل مجموعهای از دستورالعملهای صریح و مشخص در راستای اِعمال مهندسی امنیت در نیازمندیها، معماری، طراحی، کدنویسی، اندازهگیری و نگهداری نرمافزار است. نقاط تماس امنیت نرمافزار برای استفاده در ساخت نرمافزار، مستقل از پروسه نرمافزاری است و به هر فرآیند تولید نرمافزار قابلاعمال است. بنابراین، میتوان با تغییر چرخه توسعه نرمافزار مورد نظر و اعمال نقاط تماس، چرخه توسعه نرمافزار امن را ایجاد کرد. در این پژوهش، راهکاری برای نگاشت چرخه mcgraw به متدولوژی rup؛ بهعنوان متدولوژی سنگین وزن توسعه نرمافزار؛ و تلفیق این دو متدولوژی در راستای ایجاد یک متدولوژی ساده و کارآمد برای توسعه نرمافزار امن (که rupst نام دارد) ارائه و همچنین، فراوردههای جدید rup برای توسعه نرمافزار امن به تفکیک هر نظم ارائه و چهار نقش جدید نیز برای انجام فعالیتهای مرتبط با امنیت نرمافزار تعریف میشود. راهکار پیشنهادی در یک پروژه واقعی در شرکت کارخانجات مخابراتی ایران مورد استفاده و ارزیابی قرار گرفت. دستآوردها نشان میدهد که بهرهگیری و اجرای صحیح این رهیافت توسط توسعهدهندگان، به پیادهسازی و توسعه امنتر و مستحکم تر نرمافزار منجر میشود.
|
کلیدواژه
|
مهندسی نرمافزار امن، چرخه توسعه نرمافزار، طراحی نرمافزار، نقاط تماس، فرآورده
|
آدرس
|
دانشگاه یاسوج, دانشکده فنی و مهندسی, گروه مهندسی کامپیوتر, ایران, کارخانجات مخابراتی ایران, ایران, دانشگاه یاسوج, دانشکده فنی و مهندسی, گروه مهندسی کامپیوتر, ایران
|
|
|
|
|
|
|
|
|
|
|
Mapping of McGraw Cycle to RUP Methodology for Secure Software Developing
|
|
|
Authors
|
RahimiZadeh Keyvan ,Torkamani MohammadAli ,Dehghani Abbas
|
Abstract
|
Designing a secure software is one of the major phases in developing a robust software. The McGraw life cycle, as one of the wellknown software security development approaches, implements different touch points as a collection of software security practices. Each touch point includes explicit instructions for applying security in terms of design, coding, measurement, and maintenance of software. Developers are able to provide secure and robust software by applying such touch points. In this paper, we introduce a secure and robust approach to map McGraw cycle to RUP methodology, named RUPST. The traditional form of RUP methodology is revised based on the proposed activities for software security. RUPST adds activities like security requirements analysis, abuse case diagrams, riskbased security testes, code review, penetration testing, and security operations to the RUP disciplines. In this regard, based on RUP disciplines, new touch points of software security are presented as a table. Also, RUPST adds new roles such as security architect and requirement analyzer, security requirement designer, code reviewer and penetration tester which are presented in the form of a table along with responsibilities of each role.This approach introduces new RUP artifacts for disciplines and defines new roles in the process of secure software design. The offered artifacts by RUPST include security requirement management plan, security risk analysis model, secure software architecture document, UMLSec model, secure software deployment model, code review report, security test plan, security testes procedures, security test model, security test data, penetration report, security risks management document, secure installation and configuration document and security audit report.We evaluate the performance of the RUPST in real software design process in comparison to other secure software development approaches for different security aspects. The results demonstrate the efficiency of the proposed methodology in developing of a secure and robust software.
|
Keywords
|
Secure software engineering ,software development lifecycle ,software design ,RUP ,artifact
|
|
|
|
|
|
|
|
|
|
|