ما نحوه ایمن سازی و کنترل دسترسی به برنامه های خود را با احراز هویت و احراز مجوز در سلسله پست هایی با عناوین "ایمن سازی برنامه ها با استفاده از چارچوب نرم افزاری Identity" و "ایمن سازی برنامه ها با استفاده از احراز هویت بر مبنای توکن" بررسی کردیم، اما این اقدامات برای ایمن نگه داشتن سیستم و برنامه های ما کافی نیست. احتمال به وجود آمدن شکاف های متعدد در نرم افزار ها همچنان در حال افزایش است و عواقب آن می تواند برای سازمان ها و افراد بسیار شدید باشد.
در این سلسله از مباحث به هم پیوسته، ما رایج ترین روش های حملات و سپس تکنیک های محافظت در برابر آنها را پوشش خواهیم داد.
-
ما در مورد حملات اسکریپت بین سایتی (cross-site scripting) و جعل درخواست بین سایتی (cross-site request forgery) یاد خواهیم گرفت.
-
همچنین نحوه محافظت از پایگاه داده خود در برابر حمله SQL injection را بررسی خواهیم کرد.
-
ما میتوانیم دسترسی به وبسایتهای خود را با تعریف policy مربوط به cross-origin محدود کنیم.
-
و در نهایت، نحوه محافظت در برابر حملات open redirection و URL manipulation را پوشش خواهیم داد.
در حالی که امنیت کامل قابل دستیابی نیست، خبر خوب این است که اقداماتی وجود دارد که می توان برای کاهش آسیب پذیری خود در برابر حملات انجام داد.
به عنوان بخشی از فرآیند طراحی نرم افزار خود، باید از همان ابتدای کار تصمیمات امنیتی را برنامه ریزی کرده و مستندسازی کنیم تا این تصمیمات بعدی ما بعد از وقوع مشکلات امنیتی نباشند.
ما در طول زمان توسعه، مانند مواردی که در این سلسه مباحث به آنها خواهیم پرداخت ، باید از بهترین شیوه های برنامه نویسی ایمن استفاده کنیم. و تنها راه ما این است که در مورد امنیت و آخرین تهدیدات امنیتی آگاه بمانیم. منابعی برای کمک به ما در انجام این کار وجود دارد. یکی از آنها مطالعه پروژه Open Web Application Security Project یا به اختصار OWASP است.
به آدرس زیر مراجعه کنید:
https://owasp.org
این یک پروژه منبع باز غیر انتفاعی است، که به خاطر 10 فهرست خود که مهمترین خطرات امنیتی نرم افزار را توصیف می کند، شناخته شده اند.