Code Review: راه‌کارهایی امن به منظور تضمین امنیت سورس‌کد

Code Review: راه‌کارهایی امن به منظور تضمین امنیت سورس‌کد

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

اولین کسی باشید که به این سؤال پاسخ می‌دهید

مشخص‌سازی اهداف Code Review
با لیست کردن اهداف، می‌توانید تمرکز بیشتری روی بازبینی کد‌ها داشته باشید که همین باعث می‌شود تا باگ‌ها و نقاط ضعف را بهتر و دقیق‌تر پیدا کنید. قبل شروع Code Review، بهتر است تا با انواع باگ‌های ممکن آشنایی کامل داشته باشید. اگر از آغاز کار با شکل و شمایل باگ‌ها آشنا باشید (برای مثال الگوهایی که به شما در یافتن کد‌های مخرب کمک می‌کنند)، پیدا کردن آن‌ها بسیار راحت‌تر خواهد شد (در همین راستا، توصیه می‌کنیم به مقالهٔ نگاهی علمی به انوع باگ‌ها در صنعت برنامه‌نویسی مراجعه نمایید.)

نکتهٔ دیگر این است که در بازبینی سورس‌کد باید تمام تمرکز خود را روی مشکلات امنیتی گذاشته و تست عملکرد و کارایی را جداگانه و در زمانی دیگر انجام دهید. به عبارت دیگر، باید به یاد داشته باشید که هرچه کار شما بیشتر باشد، تمرکز کمتری روی بخش‌های مختلف آن خواهید داشت؛ در بازبینی کد‌ها نیز هرچه دنبال مشکلات متعدد باشید، احتمال پیدا کردن آن‌ها کمتر می‌شود.

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

به یاد داشته باشید که برای بازبینی اولیه، استفاده این دست ابزارها اشکالات و باگ‌های ساده را به شما نشان می‌دهد و پس از این مرحله، نوبت به بازبینی دستی کد‌های شما فرا می‌رسد تا باگ‌های پیچیده‌تر خودشان را نشان دهند.

گشتن دنبال باگ‌های متداول
برای ادامهٔ بازبینی، جستوجوی خود را برای باگ‌های عادی و مرسوم آغاز کنید. لیست OWASP Top 10 به آشنایی شما با برخی از باگ‌ها، خطرات امنیتی برنامه‌های تحت وب و راهنمایی در مورد چگونگی جلوگیری و یا رفع آسیب‌پذیری‌های متداول کمک می‌کند (در همین راستا، توصیه می‌کنیم به مقالهٔ آشنایی با ۶ استراتژی که ضریب امنیتی برنامه‌های تحت وب را بالا خواهد برد نیز مراجعه نمایید.)

با در ذهن نگاه داشتن لیست OWASP، نقطهٔ شروعی برای توسعه‌دهندگان ایجاد می‌شود تا راحت‌تر به دنبال نقاط ضعف احتمالی بگردند. با راهنمایی گرفتن از OWASP، کسب‌وکار شما به یک پلتفرم ساده و اولویت‌بندی شده مجهز می‌شود که از راه‌یابی باگ‌ها به مراحل بعدی جلوگیری می‌کند.

گشتن دنبال باگ‌های احتمالی زبان یا فریمورک
تصمیمات شما درباره‌ٔ شیوه‌های توسعهٔ نرم‌افزارتان می‌تواند عامل ایجاد برخی نقاط ضعف در بخش‌های مختلفی شود؛ پس بهتر است تا در کنار آشنایی با باگ‌های متداول، اطمینان حاصل کنید که تیم شما شناخت درستی از مشکلات تخصصی‌تر در زمینه‌های زبان برنامه‌نویسی مورد استفاده و احتمالاً فریمورک به کار گرفته شده داشته باشد. 

تَسک‌های پس از بازبینی
زمانی که Code Review را به اتمام رساندید، باید نقاط ضعف پیدا شده را بر اساس اولویت دسته‌بندی کنید تا مشکلات بزرگ‌تر زود‌تر از بقیه حل شوند. سپس می‌توانید به رفع مشکلاتی بپردازید که از اهمیت کمتری برخوردارند. علاوه بر این، مستند کردن باگ‌ها و قرار دادن تمامی اعضای تیم توسعهٔ نرم‌افزار در جریان مشکلات کشف شده، می‌تواند کیفیت فرایند کدنویسی را در ادامهٔ کار و یا دیگر پروژه‌ها ارتقاء بخشد.

منبع