Abstract:
امنیت نرم افزار به روش های تولید نرم افزارهای امن می پردازد. مفاهیمی که برای امنیت نرم افزار اهمیت دارد شامل مدیریت مخاطرات سامانه، زبان و بستر برنامه نویسی، ممیزی نرم افزار، طراحی برای امنیت و آزمون های امنیتی است. به بیان دیگر، رعایت تمهیدات امنیتی در فرآیند تولید نرم افزار را می توان پدافند غیرعامل در حوزه نرم افزار دانست. در اغلب موارد، اشتباهات برنامه نویسی که به سادگی قابل اجتناب هستند، منجر به بروز آسیب پذیری های قابل سوءاستفاده در نرم افزارها می شوند. بررسی ها و تحلیل های صورت گرفته که بر روی هزاران آسیب پذیری گزارش شده انجام شده است، نشان می دهد که اکثر آسیب پذیری ها از تعداد کمی خطاهای برنامه نویسی عمومی ناشی می شوند. ما می دانیم که هرچه زودتر یک آسیب پذیری کشف شود، برطرف نمودن آن آسان تر و ارزان تر می باشد. بکارگیری چرخه حیات توسعه نرم افزار امن که امنیت را در هر مرحله از توسعه برای شناسایی اولیه آسیب پذیری های بالقوه رسیدگی می نماید، در امن سازی نرم افزار اهمیت زیادی دارد. بنابراین توسعه دهندگان بایستی درک صحیحی از روش های کدنویسی امن برای کاهش خطاهای امنیتی و توسعه مناسب برنامه های کاربردی امن داشته باشند. این مقاله رهنمون هایی برای کدنویسی امن پیشنهاد می دهد.
Machine summary:
"php”></form> در صورت فقدان ارزیابی صحیح ورودی، مهاجم میتواند برای بهرهبرداری از این نوع آسیبپذیری، ورودی نامناسب زیر را تولید نماید: Select * from LOGIN where username=’john_smith’ and password=’’ or 1=1; شکل 7- آسیبپذیری تزریق SQL 5- Abort 6- Pseudo Random Number Generator 7- Hard Coding 2- Checklist 3- Rollback 1- دانش آموخته کارشناسی ارشد مهندسی عمران، پردیس دانشکدههای فنی، دانشگاه تهران - نویسنده مسئول 2– مربی و عضو هیئت علمی دانشگاه جامع امام حسین (ع) فصلنامه علمی – ترویجی پدافند غیرعامل سال پنجم، شماره 1 ،بهار 1393، (پیاپی 17): صص 51-60 1- مقدمه هزینه برای سازمانی که نرمافزاری حاوی آسیبپذیری امنیتی منتشر میسازد، بسیار زیاد است.
4-3- حملات رشته قالب4 این حمله زمانی رخ میدهد که داده تامینشده توسط کاربر از رشته ورودی، توسط برنامه کاربردی به عنوان یک دستور ارزیابی گردد؛ به روشی که یک مهاجم میتواند داده را از stack فراخوانی کند، کد دلخواه را اجرا کند یا اطلاعات را افشاء نماید.
روشهای کدنویسی امن شامل رهنمونهای عمومی است که میتواند برای ارتقاء امنیت نرمافزار بدون توجه به زبان برنامهنویسی مورد استفاده قرار گیرد: ارزیابی ورودی مؤثر و کارا الزامی است.
کاهش رخنههای امنیتی موجب افزایش پایداری و امنیت برنامه کاربردی و حوزه نرمافزار میگردد، که گامی مؤثر در جهت برآورده نمودن اهداف مهم پدافند غیرعامل (تقلیل آسیبپذیریها و کاهش خسارات و صدمات تأسیسات، تجهیزات و نیروی انسانی مراکز حیاتی، حساس و مهم نظامی و غیرنظامی کشور در برابر تهدیدات و حملات دشمن، و نیز بلایای طبیعی) میباشد."