چکیده:
با توجه به گسترش روزافزون برنامههای کاربردی و به کارگیری آنها در زمینههای مختلف، این برنامهها روز به روز بیشتر مورد توجه قرار میگیرند. بروز اشکال در این برنامهها میتواند کاربران و تولیدکننیدگان این نرمافزارها را با چالش رو به رو نماید. یکی از این دسته اشکالات، سوء استفاده از خلاهای امنیتی موجود در نرمافزارهاست. هزینه برطرف نمودن این مشکلات پس از انتشار نرم افزار بسیار زیاد بوده و تولیدکنندگان برنامههای کاربردی را با مشکل مواجه میکند. برای جلوگیری از این معضل می بایست با بررسی خطرات احتمالی و مدیریت ریسکهای موجود، پیش از انتشار محصول خلاهای امنیتی را شناسایی و برطرف نمود. لحاظ نمودن امنیت در چرخه تولید نرمافزار سبب میگردد تا کاربران برنامههای کاربردی از امنیت برنامه مورد استفاده خود اطمینان حاصل نمایند و همچنیین تولیدکنندگان ضرر مالی کمتری را متحمل شوند. در راستای بالا بردن سطح امنیت نرمافزارها و مقابله با مسائلی که امنیت را نقض مینمایند، در این مقاله سعی بر آن است تا ابتدا الگوهای موفق چرخه تولید امن نرم افزار مورد بررسی قرار گیرند، و با توجه به اهمیت به کارگیری استانداردها در تعیین امنیت در چرخه تولید نرم افزار، الگوهای بررسی شده با این استانداردها مطابقت داده شوند. در این مقاله از استاندارد ISO/IEC15504 استفاده گردیده است و برای این که الگوهای موفق شناسایی شده را بتوان در سازمانهای ایران نیز مورد استفاده قرار داد این الگوها مطابق با نیازهای امنیتی نرمافزاری موجود در ایران بومی گردیدهاند. در این مطالعه لحاظ بومیسازی چرخه حیات امن نرم افزار نیز بر اساس استاندارد ISO/IEC15504 میباشد و با استفاده از این استاندارد، اتخاذ فعالیتهایی امنیتی به منظور ارتقا و بومیسازی فعالیتهای چرخه حیات پیشنهاد گردیده استدر این مقاله، به ارائه روش جدیدی در ایجاد کپچا میپردازیم. در این روش که ما آن را کپچای خطای دید مینامیم، با استفاده از حس بینایی در انسان کپچایی را ایجاد میکنیم که انسان بهراحتی آن را تشخیص دهد و رباتها نمیتوانند آن را بهسادگی تشخیص دهند. ما میتوانیم با استفاده از چند روش مختلف در این ضمیمه کپچاهای مختلفی تولید کنیم که هرکدام از آنها بهتنهایی میتوانند قابلاستفاده باشند. روش سوال و جواب که یک روش امنیتی اما بدون تصویر بود در اینجا بهصورت سوال و تصویر ارائه میشود و کاربر باید با توجه به تصویر به سوال پاسخ دهد ولی ربات از تشخیص تصویر عاجز خواهد بود. درروش دوم ما با استفاده از خطای دید جدولی ایجاد میکنیم که کاربر باید تصاویر بارنگ موردنظر را انتخاب کند که بسیار ساده است اما به دلیل اینکه تمامی رنگها از دید کامپیوتر یکسان است غیرقابلتشخیص است. در این روشها ما روشهای انتخاب تصادفی در ربات را نیز بررسی کردیم که معمولا احتمال ان کمتر از 1% است.
خلاصه ماشینی:
"3- طراحی امن که شامل طراحی با امنیت در ذهن از طریق استفاده از استاندارد ها در محصولات امنیتی، آگاهی از روش های حمله و روشهای طراحی در برابر آنها ، بهره برداری کامل از طرح ها و کتابخانههایی که به عنوان طرحها و کتابخانههای امن شناخته شدهاند، در نظر گرفتن همه نقاط ورود و شناسایی نقاط ضعف در طراحی میباشد و همچنین استفاده از مدل سازی تهدیدات برای اعتبارسنجی امنیت طراحی، دنبال نمودن جریان داده ها از طریق سیستم، شناسایی مرز اعتماد که در آن داده ها ممکن است به خطر بیافتد، ایجاد یک لیست از تهدیدها با استفاده از یک پایگاه داده تهدیدات شناخته شده، متناسب با نوع محصول، اولویت بندی و اجرای تهدیدات شناخته شده به دست میآید با ENG.
برای طراحی امن در این معماری سطح بالا باید عبارت “استفاده از استانداردهای امنیتی، آگاهی از روش های حمله و روشهیای طراحی در برابر آنها ، بهرهبرداری طرحها و کتابخانههای امن، شناسایی نقاط ضعف در طراحی، استفاده از مدل سازی تهدیدات برای اعتبارسنجی امنیت طراحی، دنبال نمودن جریان دادهها از طریق سیستم، شناسایی مرز اعتماد دادهها، ایجاد لیست تهدیدها در پایگاه داده تهدیدات و اولویت بندی و اجرای تهدیدات شناخته شده”، را اضافه نمود )دلدی و گدینوف، 1995) 4- برنامه نویسی امن به معنای اطمینان از مقاوم بودن کد در برابر تهدیدات با آموزش برنامه نویسی امن، استفاده از کتابخانه ها و دستورالعمل های امن، بازنگری و تحلیل کد و پیروی از استانداردهای برنامه نویسی امن است."