حفره های امنیتی در بدنه بعضی سایتها

10 دلیل عمده و اصلی هک شدن سایتها به شرح ذیل می باشد:

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

۱) نفوذ اسکریپتهای صلیبی سایت (Cross site scripting یا XSS)
این حفره زمانی ایجاد می شود که اطلاعات ارسالی بین کاربران و سایت بدون بررسی و اعتبار سنجی لازم توسط نرم افزار سایت انجام می شود. در این زمان هکر میتوانند اسکریپتهایی را همراه اطلاعات به نرم افزار سایت تزریق کند و این اسکریپتها هنگام نمایش اطلاعات در مرورگر دیگر کاربران سایت اجرا می شود و مشکلاتی همچون سرقت اطلاعات نشست (Session) و دسترسی به اختیارات و اطلاعات دیگر کاربران و یا تغییر در صفحات سایت را ایجاد کند.

۲) حفره تزریق پارامتر(Injection flaws)
در این شیوه هکر به همراه بخشی از اطلاعات یا پارامترهای ارسالی به سایت دستورات غیر مجازی که امکان خواندن،تغییر یا حذف یا درج اطلاعات جدید را فراهم میکند نیز تزریق میکند.یکی از معمول ترین این روشها SQL Injection است که امکان تغییر در اطلاعات و جداول بانک اطلاعاتی یا تغییر در درخواستها از بانک اطلاعات (مانند تعیین اعتبار کاربر و کلمه) را امکان پذیر میکند.

۳) اجرای فایلهای مخرب (Malicious file execution)
این نوع حفره به هکر اجازه اجرای برنامه یا دستوری را میدهد که امکاناتی در تغییرات یا مشاهده اطلاعات یا حتی تحت کنترل گرفتن کامل نرم افزار وب سایت یا سیستم را میدهد. این حفره در سایتهایی که امکان ارسال فایل را به کاربران بدون بررسی ماهیت اطلاعات را می دهد رخ می‌دهد (به طور مثال ارسال یک اسکریپ PHP یا ASP به جای فایل تصویری توسط کاربران)

۴) هدف مستقیم نا امن (Insecure direct object referenc)
این حفره امنیتی عموماً در تغییر پارامترهای ارسالی به صفحات یا اطلاعات فرم‌هایی هست که بصورت مستقیم به فایل، جداول اطلاعاتی، فهرستها یا اطلاعات کلیدی رخ می‌دهد و امکان دسترسی یا تغییر فایلهای اطلاعاتی برای دیگر کاربران را مهیا میکند. (مانند ارسال کد کاربر یا نام فایل مخصوص او بصورت پارامتر در آدرس صفحه که با تغییر آن امکان دسترسی یا تغییر در اطلاعات کاربر دیگری وجود خواهد داشت)

۵) درخواست جعلی در سایت (site request forgery)
در اینگونه حملات هکر کنترل مرورگر قربانی را یدست آورده و زمانی که وی وارد سایت (login) شده درخواستهای نادرستی را به سایت ارسال می کند. (نمونه آن چندی پیش دز سایت myspace اتفاق افتاده بود و هکری با استفاده از یک کرم اینترنتی پیغامی را در میلیونها صفحه کاربران این سایت نمایش داد)

۶) نشت اطلاعات و رفع خطای نامناسب (Information leakage and improper error handling)
هنگامی که خطاهای نرم افزار سایت به روش مناسبی مدیریت نشوند در صفحات خطا اطلاعات مهمی نمایش داده می‌شود که امکان سوء استفاده از آنها فراهم می شود.(به طور مثال برای یکی از سایت های فارسی همین مشکل بوجود آمد و اطلاعات کاربری و کلمه عبور اتصال به بانک اطلاعات در زمان خطا نمایش داده می شد و باعث سوء استفاده و تغییر اطلاعات کاربران این سایت شد )

۷) شکست احراز هویت و مدیریت نشست (Broken authentication and session management)
این حفره زمانی که نشست کاربر (Session) و کوکی اطلاعات مربوط به ورود کاربر به دلایلی به سرقت رود یا به دلیلی نیمه کاره رها شود، ایجاد می شود. یکی از شیوه های جلوگیری از این مشکل رمز نگاری اطلاعات و استفاده SSL است.

۸) ذخیره سازی و رمز نگاری نا امن (Insecure cryptographic storage)
همانطور که از نام این حفره مشخص است بدلیل اشتباه در رمزنگاری اطلاعات مهم (استفاده از کلید رمز ساده یا عدم رمز نگاری اطلاعات کلیدی) است.

۹) ارتباطات نا امن (Insecure communications)
ارتباط نا امن نیز مانند حفره قبلی است با این تفاوت که در لایه ارتباطات شبکه است. هکر در شرایطی میتواند اطلاعات در حال انتقال در شبکه را مشاهده کند و از این طریق به اطلاعات مهم نیز دست پیدا کند. همانند مشکل قبلی نیز استفاده از شیوه های رمزنگاری و SSL راه حل این مشکل است.

۱۰) شکست برای محدود کردن دسترسی به آدرس بار (Failure to restrict URL access)
بعضی از صفحات سایت (مانند صفحات بخش مدیریت) می‌بایست فقط در اختیار کاربرانی با دسترسی خاص باشند. اگر دسترسی به این صفحات و پارارمترهای ارسالی آنها به شکل مناسبی حفاظت نشده باشد، این امکان را برای هکرها به وجود می آورد تا آدرس این صفحات را حدس بزنند و به نحوی به آنها دسترسی پیدا کنند.