برنامه نویسی امن

تضمین کیفیت نرم افزار

آزمون نرم افزار

تست نرم افزار

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

برنامه‌نویسی امن

از منابع معتبری که در شیوه کدنویسی امن استفاده خواهد شد، می‌توان به موارد زیر اشاره کرد:

  • CWE-SANS Top 25 Most Dangerous Programming Errors
  • OWASP Top 10 Security Vulnerabilities
  • PCI Data Security Standard
  • NIST SAM
  • Secure Coding Best Practices

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

به عنوان نمونه، یکی از مباحث مهم در برنامه‌نویسی بهینه از دیدگاه امنیت و کارایی، مسئله جلوگیری از نشتی حافظه است. در ادامه به تشریح این مسئله می‌پردازیم.

شناسایی نشتی حافظه

نشتی حافظه موضوعی است که هم یک مشکل کارایی (به دلیل اتلاف حافظه) و هم یک مشکل امنیتی محسوب می‌گردد (به دلیل مصرف بی‌رویه حافظه که نهایتا منجر به پر‌شدن حافظه و پایین آمدن سرور می‌شود). بررسی این مشکل در برنامه‌نویسی سیستم‌های سطح پایین (تولید شده با زبان‌هایی همچون C و ++C) از اهمیت خاصی برخوردار است چرا که به دلایلی همچون عدم وجود virtual machine در زبان‌های سطح پایین و امکان استفاده مستقیم از اشاره گرها (pointer)، تشخیص این مشکل بسیار پیچیده است. البته مشکل نشتی حافطه در زبان‌های سطح بالایی همچون Java و #C نیز که در یک محیط sandbox اجرا می‌شوند، به دلیل برنامه‌نویسی نامطلوب می‌تواند رخ دهد و لذا برنامه‌نویسان باید دقت کافی در این زمینه را بنمایند.

لذا برنامه نویسان سامانه‌های نرم‌افزاری در مورد قوانین برنامه‌نویسی مربوط به مدیریت حافظه، باید دانش و آگاهی لازم را داشته باشند. در هر صورت برای تشخیص مشکلات حافظه ابزارهای مناسبی نیز وجود دارد. در زبان‌های سطح بالایی همچون Java و #C معمولا از ابزارهای static analysis و پیکربندی قوانین مربوط به تشخیص نشتی حافطه استفاده می‌شود. این روش برای زبان‌های سطح پایینی همچون C و ++C نیز کاربرد دارد ولیکن برای زیان‌های سطح پایین، روش‌های کاراتری همچون تشخیص نشتی حافظه در حین اجرای برنامه (run-time memory leakage detection) نیز وجود دارد. یکی از ابزارهای قدرتمند در این زمینه ++Parasoft Insure می‌باشد که در بخش ابزارهای تست معرفی شده است. این ابزار از تکنیک instrumentation برای تشخیص نشتی حافطه در حین اجرای برنامه استفاده می‌نماید.

شرکت مهندس پیشگان، ابزارهای پیشرفته زیر را در زمینه ارزیابی امنیت سیستم و تست نفوذ در سطح برنامه‌نویسی ارائه می‌دهد:

شما اینجا هستید: خانهراهکارهابرنامه نویسی با کیفیتبرنامه نویسی امن

تماس با ما

  • تلفن : 28424282 - 021
  • فکس: 28424283 - 021
  • فروش: این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید
  • روابط عمومی: این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید

معرفی شرکت

شرکت مهندس پيشگان آزمون افزار ياس با هدف ارائه خدمات و ابزارهای پیشرفته در حوزه تست و تضمين کيفيت نرم افزار توسط کارشناسان مجرب تاسیس شده است. این شرکت جزء شرکت های دانش بنیان صنعتی بوده و دارای مجوز شورای عالی انفورماتیک و سازمان نظام صنفی رایانه ای کشور می باشد.

Scroll to Top