X
تبلیغات
نماشا
رایتل

مقدمه ای بر تست امنیتی وب سایت ها

جمعه 6 اسفند‌ماه سال 1389 ساعت 03:40 ب.ظ

 

این مقاله ویژه برنامه نویسان وب و مدیران سایت ها است

 

وقتی ما یک وب اپلیکشن جدید می سازیم آن را از زاویه های مختلفی تست می کنیم. برای مثال یک حساب بانکی هیچ وقت نباید عدد منفی نشان بدهد، یک رمز عبور نباید یک عکس Jpeg باشد و در فیلد های شماره تلفن نمی توان کلمات را قرار داد.

 

همانطور که نرم افزار تحت وب مان را می نویسیم آن را برای کارکرد صحیح تست می کنیم. اما برای امنیت چه کنیم؟

 

در تست امنیتی ما موارد مختلفی توجه می‌کنیم برای مثال ورودی های غیر قابل قبول را تست می کنیم. سعی می کنیم با وارد کردن مقادیر بینهایت و غیر معمول کاری کنیم تا نرم افزار را از کارکرد درست خود خارج کنیم. اما در ابتدا لازم است که بدانیم که نیازهای امنیتی ما چیست؟ و به چه نوع تست هایی نیازمندیم؟

 

این کار ساده ای نیست. اما با کمی فکر و منطق می توان به نتیجه ای درست رسید. باید بدانید که شروع این مسیر کمی مشکل است اما وقتی که گام های اول را بردارید بقیه راه برایتان هموارتر خواهد بود.

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

 

فراهم کردن شواهد:

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

 

امنیت به مقدار لازم:

اکثر نرم افزارهایی که می نویسید برای انجام کار خاصی ساخته شده اند و خودشان نرم افزار امنیتی محسوب نمی شوند. همین موضوع سبب می شود که برنامه نویسان توجه کمی به بخش امنیت نشان بدهند و این بخش کار اغلب اوقات ناقص می ماند و یا به کلی فراموش می شود.

 

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

 

در واقع امنیت واقعی نرم افزار به معنای مدیریت ریسک است. شما باید به حدی از اطمینان برسید که نرم افزار برای بازار هدف به اندازه کافی امن است. ممکن است که یک متخصص امنیت به شما بگوید که نرم افزار شما به اندازه کافی امن نیست. اما تا وقتی که این نرم افزار صاحبان و کاربران را راضی می کند (در حالتی که آنها از این مشکلات اطلاع دارند و از ریسک آن کاملا مطلع هستند و می دانند که چه چیزی را قبول کرده اند) می توان گفت که نرم افزار به قدر کافی امن است.

 

در واقع یکی از کارهای مهم تست های امنیتی نشان دادن شواهد و فراهم کردن آگاهی در مورد خطراتی است که وب آپلیکشن شما را تهدید می کند. تا بتوانید تصمیم بگیرید چه میزان ریسک را قبول کنید و آیا نیاز به انجام کار و صرف هزینه برای رفع مشکلات هست یا نه؟

 

برای تست امنیتی به چه چیزهایی نیاز داریم؟

قبل از هر چیز مقداری اطلاعات اولیه نیاز است. تصور این مطلب بر این است که شما یک برنامه نویس یا مدیر وب سایت هستید بنابراین مبانی کار با کامپیوتر، سیستم عامل ها و اینترنت را به خوبی بلدید. شما باید با HTTP و کارکردهای آن آشنا باشید و تا حدی از Web Applications انواع و چند لایه بودن آن‌ها سر در بیاورید. البته ما سعی می‌کنیم در مقالات بعدی در مورد آن‌ها مفصل‌تر صحبت کنیم.

 

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

 

در پایان تست باید به حدی از اطمینان برسید که اگر کسی از شما در مورد تست امنیتی نرم افزارتان پرسید با اطمینان به او بگویید «بله این کار انجام شده است» و به او نتایج تست های امنیتی را نشان دهید.

 

با نگهبان همراه باشید.

نظرات (0)
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)

نام :
ایمیل :
وب/وبلاگ :
ایمیل شما بعد از ثبت نمایش داده نخواهد شد

دانلود آهنگ جدید