4 نوع حملات شایع به صفحات وب
حملات شایع به صفحات وب: یکی از مهمترین بحثها در حوزه امنیت، انواع حملاتی است که برای صفحات وب داریم. شناخت این حملات برای صاحبان وب سایتها بسیار ضروری است، زیرا باید تدابیر لازم را جهت جلوگیری از مشکلات احتمالی اندیشید. امروزه به دلیل مشکلاتی که هکرها برای وب سایت ها به وجود می آورند؛ حل مشکلات امنیتی وب سایتها در درجه اهمیت بالایی قرار دارد. از همین رو امروزه انجام تستهای نفوذ توسط متخصصان امنیت بسیار رایج شده است. قبل از اینکه هرگونه اقدامی برای سایت خود انجام دهید لازم است تا با رایجترین حملههای صفحات وب آشنا شوید. در این مقاله چند مورد از آنها را برای شما توضیح میدهیم.
Injection یا تزریق
این نوع حمله به صفحات وب به این صورت انجام میشود که حمله کننده درگاههای مختلفی را که از طریق آن میتواند اطلاعات ارسال کند، پیدا میکند. بعد از آن یک سری دستورات اجرایی را برای پلتفرمها ارسال میکند تا آنها روی سرور اجرا شوند. هدف اصلی حمله کننده در این روش اجرای دستورات برنامه نویسی در بخش های مختلف سرور وب یا پایگاه داده است، در نتیجه تاثیری بر کاربران نخواهد داشت.
برای اینکه دستورات اجرایی به سرور ارسال شوند سه روش وجود دارد؛ در اولین روش از طریق متغیرهای تعریف شده در آدرس URL وب سایت ارسال انجام میشود. در روش دوم از طریق عناصر HTML که در تولید یک فرم استفاده می شوند این انتقال انجام میشود. این عناصر شامل باکس متن و منوهای کشویی است که در وب سایتها برای گرفتن اطلاعات از کاربر قرار داده میشوند، تا کاربران اطلاعات را ایجاد یا ویرایش کنند. در روش سوم این انتقال توسط فایل هایی انجام می شود که نرم افزار آنها را پردازش میکند، مثلا فایلهای XML که ساختاری محتوایی دارند و اطلاعات را به سرور انتقال میدهند.
در اجرای دستورات روی پلتفرم نیز، عناصر در سمت سرور هدف قرار میگیرند. در سرور وب برای اجرا کردن یک ویروس روی سرور، بدست گرفتن کنترل سرور و انجام کارهایی جهت ایجاد مشکل و تخریب بر روی سرور انجام می شود. در سرور پایگاه داده نیز، برای بدست آوردن اطلاعات پایگاه داده به روشی که کنترل های امنیتی آن دادهها را فیلتر نکند انجام میشود.
معروفترین حملات شایع به صفحات وب این دسته عبارتند از:
- SQL Injection: برای تزریق کد به پایگاه داده
- Command Injection: برای تزریق کد های مخصوص سیستم عامل بر روی وب یا پایگاه داده
- XML Injection: برای تزریق کدهایی که در ساختار معتبر استاندارد XML ایجاد می شوند و با بارگذاری و پردازش آن اجرا میشوند
همه این حملات تلاش میکنند تا ساختارهای امنیتی را دور بزنند و با دسترسی به زیرساخت نرم افزار اختیارات را بدست گرفته و اطلاعات را بدست آورند یا سرور را کنترل کنند. حتی برای کاربران شناسایی شده نیز باید همه نکات امنیتی رعایت شوند و به هیچ کاربری با هر سطحی نباید اعتماد کرد.
شکسته شدن session و احراز هویت
در هنگام ورود هر کاربر احراز هویت انجام می شود که حمله کنندگان تلاش می کنند تا اطلاعات اشخاص معتبر را بدست آورند. یکی از راه های آنها استفاده از ضعف کلمات عبور کاربران است، که در این روش آنها برای یک نام کاربری مجموعه ای از کلمات عبور را آماده کرده و به سرور ارسال میکنند تا یکی از آنها درست تشخیص داده شود. برای جلوگیری از اینگونه حملات راههایی مثل پیچیدگی کلمات عبور، استفاده از امضای دیجیتال، وارد کردن کد امنیتی و قفل کردن حساب در صورت تعداد زیاد ورود رمز عبور پیشنهاد میشود.
سرور نیز برای اینکه متوجه شود تا کدام کاربر وارد می شود، یک نشست ایجاد می کند که حمله کننده به دنبال نشست معتبر می گردد تا بتواند هدفش را عملی کند. در نظر داشته باشید هر بار که کاربر به سیستم درخواست میدهد یک نشست برایش ایجاد میشود که با یک شناسه شناخته میشود. این شناسه به عنوان متغیر در آدرس URL ارسال میشود و یا در کوکی مرورگر ذخیره میشود. حمله کننده با بدست آوردن این شناسه میتواند خود را به عنوان کاربر مجاز تعریف کند. روشهای مختلفی را نیز برای بدست آوردن این شناسه به کار میگیرند، یکی از این روشها تولید تصادفی شناسه و فرستادن آن به سرور است. در روش دیگر حمله کننده به دنبال الگوریتمهای خاص است تا بتواند شناسههای معتبر را پیدا کند.
در نتیجه نرم افزارها باید توابع مدیریت نشست را قوی کنند که این کار با استفاده از الگوریتم های تصادفی انجام می شود، یا با امکان تغییر شناسه کاربر انجام می شود و یا اینکه اجازه مدیریت نشست به کاربر داده شود تا هر زمان که لازم بود خودش بتواند نشست را پایان دهد. یک روش دیگر نیز تعیین مدت زمانی خاص برای اعتبار نشست است که اگر در طی این مدت کاری انجام نشد، نشست پایان یابد. همچنین می توان به گونه ای تنظیمات انجام داد که این شناسه در کوکی ها و URL نباشد.
XSS یا تزریق اسکریپت
در این نوع کدهای اسکریپتی به نرم افزار تزریق میشوند ولی یک تفاوت اساسی وجود دارد و آن هم هدف حمله است. برخلاف تزریق که هدفش پایگاه داده بود و برای کاربر مشکلی وجود نداشت، در این حمله هدف اجرای کد بر روی مرورگر کاربر است. در این حمله کدها روی سرور اجرا نمیشوند، اما زمانی که بعد از درخواست کاربر، این کدها به مرورگر منتقل می شوند، مرورگر این کدها را اجرا می کند و اطلاعات کاربر از طریق آن به حمله کننده می رسد. یکی از روشهای جلوگیری از این حمله Encode کردن دادههای کاربری است. برای کسب اطلاعات و توضیحات بیشتر میتوانید به مقاله Cross-Site Scriptting یا XSS ، رایج ترین نوع حمله وردپرس مراجه نمایید.
پیکربندی اشتباه امنیت
در این نوع حمله به صفحات وب هدف اصلی حمله کننده، اکانتهای پیش فرض، صفحات استفاده نشده، نقصهای اصلاح نشده و فایلهای بدون امنیت است. مثلا زمانی که لیست دایرکتوری روی سرور غیر فعال نشده باشد، حمله کننده به این فایلها دست پیدا می کند، آنها را decompile میکند و با دسترسی به کدها نواقص کنترلهای دسترسی را میفهمد. در نتیجه هم تولید کننده و هم استفاده کننده نرم افزار باید اقدامات امنیتی لازم را انجام دهند و نقشه ای از پیکر بندی امن تهیه کرده و آن را در مکان نرم افزار اجرا کنند.
لطفا جهت مشاوره در انتخاب آنتی ویروس مناسب خود با این شماره 09224971053 تماس بگیرید.
مارو در شبکه های اجتماعی خودتان به اشتراک بگذارید.