بخشی از مقاله
چکیده
امنیت در مبحث فناوری اطلاعات از اهمیت ویژه ای برخوردار است و یکی از جنبههای مهم در تولید نرمافزار است. شرکتهای تولید و توزیعکننده نرمافزار برای کشف مشکلات امنیتی آن باید ابزارهای کنترل امنیت را در چرخه حیات تولید نرمافزار قرار دهند، چرا که اطلاعات و ارتباطات بدون حضور پارامتری به نام امنیت میتواند مخاطرات زیادی ایجاد نماید. پیادهسازی امنیت در سیستم های نرمافزاری در مرحله طراحی نرمافزار باعث کاهش هزینه پشتیبانی نرمافزار شده و اجرای امنیت راحت تر و سریعتر انجام میشود.
شبکه های پتری ابزاری قدرتمند برای مدلسازی هستند. شبکه های پتری علاوه بر اینکه دارای ساختار و رفتار صوری هستند، قابلیت نمایش گرافیکی را دارند که به همین سبب مدلسازی توسط آن ها را یکسان می کند. چارچوب ریاضی شبکه پتری سبب می شود تا توانایی تحلیل، تایید صحت و ارزیابی مدل ها را داشته باشد؛ بنابراین اگر توسط شبکه پتری ارزیابی امنیت را در فرایند توسعه نرم افزار مدلسازی نماییم، فرایند ارزیابی را به صورت کاراتری تحلیل می نماییم و هم مخاطرات امنیتی را بر اساس پارامترهای شاخص شناسایی و قادر به انجام تغییرات با هزینه پایین تری خواهیم بود که یکی از اهداف این پژوهش نیز دستیابی به راهکاری جهت ارزیابی کاراتری نسبت به سایر روش ها، از امنیت نرم افزار است.
در مرحله اول این پژوهش از روش کتابخانه ای، بر اساس مطالعه مقالات علمی، کتب و پژوهش های تحقیقاتی مطالب دسته بندی گردیده و در انتها با شبیه سازی بر اساس شاخص های امنیتی استخراج شده، مولفه های نرم افزاری قابلیت تحلیل امنیتی کاراتر و ساده تری خواهند داشت که امکان تشخیص ایراد و انجام تغییرات اندک در فرایند توسعه نرم افزار با سهولت بیشتری فراهم می گردد.
-1مقدمه
نمایش رفتار سیستم های نرم افزاری همواره یکی از مهمترین مسائل حوزه مهندسی نرم افزار و به خصوص مدلسازی1 نرم افزار بوده است
در نیم قرن گذشته شبکه پتری2 به عنوان یک مدل صوری برای مدلسازی و تحلیل انواع سیستم های توزیعشده و همروند، تقریباً در هر شاخه ای از علم کامپیوتر و در بسیاری از شاخه های سایر علوم و مهندسی به طور گسترده ای به کار رفته است.
استفاده از این شبکه ها به منظور ارزیابی معماری نرم افزار و ایجاد مدل اجرایی به دلیل سادگی و قابلیت بالایی که دارند، بسیار مورد توجه قرار گرفته است. شبکه های پتری بصورت گرافیکی نمایش داده می شوند و دارای معنای تعریف شده وساختار خوش تعریفی می باشند. او توانست ارتباط بین اجزای سیستم را توسط یک گراف یا شبکه نشان دهد
در حقیقت این نوع شبکه، با استفاده از قواعدی منطقی ریاضی جریان فعالیتها در سیستم را نمایش می دهد طبیعت ترسیمی، ابزارهای قدرتمند طراحی و خاصیت گرافیکی آن، تسهیلات ارتباط بصری و درک صحیح از سیستم را برای فردی که درگیر فرایند طراحی است، فراهم میکند
تحقیقات اخیر نشان میدهد که منبع اصلی حملات به خصوصیات ایمنی نرمافزار، از ضعف در طراحی و توسعه نرمافزار ناشی میشودمعمولاً، نرمافزار بدون وجود ایمنی در ذهن توسعهدهندگان نرمافزار طراحی و توسعه داده میشود. طراحی الگوها3 بر ساختن یک نرمافزار خوش ساختار و قابل نگهداری تاکید دارد و معماری الگوها بر ساختن سیستم های ایمنی پیشنهاد دادهشده تمرکز میکند، این الگوها، الگوهای ایمنی نامیده میشوند. در این میان طراحی الگوهای ایمن و پیادهسازی نرمافزار براساس آنها از اهمیت زیادی برخوردار است.
لذا وجود یک چارچوب همه جانبه و یکپارچه، به گونهای که از ابتدای فرایند تولید نرمافزار همه لایههای تولید را در نظر بگیرد یک دغدغه بوده است. مشکلات امنیتی موجود در تکنولوژی های تولید، در بسترهای برنامهسازی، نیروی انسانی و مسائلی چون رقابت در بازار و ارائه محصولات امن با حداکثر ضمانت در محیط عملیاتی امری گنگ و شاید بعید به نظر برسد.
جهت آشکار نمودن بیشتر ضرورت این مبحث آمار و ارقامی در زمینه ایمنی نرمافزارها ارائه میگردد:
· بیش از 75 درصد نفوذها و حملات امنیتی امروزی به دلیل آسیبپذیری های نرمافزار است.
· بیش از 70 درصد از آسیبپذیری های امنیتی در سطح کاربرد است.
· حدود 64 درصد از توسعهدهندگان نرمافزار در توسعه نرمافزار امن ناتواناند.
· اگر تنها 50 درصد از آسیبپذیری های موجود در سطح نرمافزار قبل از استقرار برطرف گردد، 75درصد هزینه تولید و توسعه نرمافزار کاهش پیدا خواهد نمود.
در ادامه با این فرضیه که یک راهکار مهندسی امنیت بر اساس شبکه پتری وجود دارد که تحلیل ارزیابی امنیتی نرم افزار را به صورت فرایندی کاراتر و ساده تر مدل می نماید. ابتدا به معرفی شبکه پتری و مروری بر کارهای مرتبط در زمینه مدلسازی و ارزیابی سیستم توسط شبکه های پتری و یافته های مرتبط ارائه خواهد شد، و در نهایت جمع بندی مطالب عنوان خواهد شد.
-2روش تحقیق
در مرحله اول این پژوهش از روش کتابخانه ای، بر اساس مطالعه مقالات علمی، کتب و پژوهش های تحقیقاتی، گزارش های فنی و مطالب موجود در سایت های اینترنتی علمی و فنی در زمینه امنیت نرم افزار و شبکه پتری بوده مطالب جمع آوری و دسته بندی گردیده. سپس از طریق آزمایش و ایزار شبیه سازی CPN Tools، چارچوب مورد نظر، مدلسازی می شود.
-3 ساختار شبکه پتری
یک شبکه پتری ترکیبی از 4 جز میباشد
· مجموعهای از مکانها P
· مجموعهای از گذرها T
· یک تابع ورودی I
· یک تابع خروجی O
توابع I/O پل ارتباط گذرها - T - و مکانها - P - بوده و T,P را مرتبط میکند. تابع وردی » Iیک نگاشت از گذر t j به مجموعه مکانهای I - t j - است« که به عنوان مکانهای ورودی گذر شناخته می باشد.
تابع خروجی » oیک نگاشت از گذر t j به یک نمونه از مکانهای O - t j - است« که به مکانهای خروجی شناخته میشوند. ساختار شبکه پتری بوسیله مکانها، گذرها، توابع ورودی و خروجی تعریف میشوند.
تعریف :2-1 ساختار شبکه پتری از 4 جز C= - P,I,T,O - تشکیل شده است