امن‌سازی نرم‌افزار مبتنی بر کدنویسی امن

نوع مقاله : مقاله پژوهشی

نویسندگان

1 دانشجوی کارشناسی ارشد دانشگاه جامع امام حسین(ع)

2 دانشگاه جامع امام حسین ع

چکیده

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

کلیدواژه‌ها


عنوان مقاله [English]

Securing software based on secure coding

نویسندگان [English]

  • S. Jorjam 1
  • M. Dehghani 2
1 ihu
2
چکیده [English]

Software security is concerned with methods of producing secure software. Concepts that are important to software security contain system risks management, programming language,                 platform, software audits, designing security and security tests. In other words, compliance with the security provisions in the production process can be considered an issue of passive defense in the field of software. In most cases, the programming mistakes that are easily avoided, lead to exploitable vulnerabilities in software. Reviews and analyses performed on thousand reported vulnerabilities, suggest that most vulnerabilities arise from a small number of common                 programming errors. We know that as soon as a vulnerability is discovered, it is easier and cheaper to fix. Application of the safe software development lifecycle, which investigates the security in each step of development to identify early potential vulnerabilities in each stage of development for the early identification of potential vulnerabilities is of utmost importance in securing software.Therefore, developers should understand secure coding techniques in order to reduce security errors and appropriate development of secure applications. This article suggests guidelines for secure coding.
 

کلیدواژه‌ها [English]

  • Coding
  • Security
  • programming languages
  • Passive defense
  • buffer overflow
  • vulnerability