X
تبلیغات
نماشا
رایتل
پشم سنگ عایق الاستومری
دوشنبه 14 اردیبهشت‌ماه سال 1388
توسط: آلفا پک

مروری اجمالی به انواع حملات به یک سایت

گاهگاهی صدای هک شدن یک سایت اینترنتی پربازدید کننده در فضای سایبر طنین انداز می شه , دزدیده شدن دامنه ی پرشین بلاگ , هک شدن سایت مجلس و نمونه های دیگر که در همه ی دنیا رایج است که توسط رخنه گران دنیای سایبر انجام می شود .

هکر (Hacker)به فردی گفته می شود که با توجه به تخصص کامپیوتری خود و با توجه به ضعف برنامه وب و یا عدم تنظیم مناسب سرویس دهنده قادر است از محدودیت های امنیتی عبور کرده و به برنامه و یا حتی سرویس دهنده اسیب برساند از این لحاظ بسیاری از مراجع هکرها رو دو دسته می دانند :

هکر

هکر

· هکرهای کلاه سفید (White Hat):

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

· هکرهای کلاه سیاه (Black Hat):

نفوذگرانی که به طور شخصی یا گروهی اقدام به نفوذ می کنند و هدف انها خرابکاری است در گذشته اینگونه هکرها تنها برای معروف شدن اقدام به نفوذ می کردنند ولی امروزه هدف انها از نفوذ دسترسی به اطلاعات محرمانه ی کاربران است مثل اطلاعات مالی , اطلاعات کارت خرید و … و در نهایت سوء استفاده از این اطلاعات و یا فروش انها .

هدف من در این مقاله معرفی اجمالی از انواع حملات رایجی است که یک وب سایت در طول حیات خود با اونها مواجه می شه البته اکثر این حملات در سایت های پویا (Dynamic Site) رخ می دهند سایت هایی که با زبان های برنامه نویسی چون Asp.net وPhP نوشته شده اند .

1. ایجاد خطایی عمدی برای بدست اوردن اطلاعاتی راجع به نوع سرویس دهنده و نوع بانک اطلاعاتی:

برای هر نفوذ داشتن نوع سرویس دهنده و بانک اطلاعاتی عامل مهمی به حساب می اید انواع سرویس دهنده های رایج IIS تحت سیستم عامل ویندوز و Apache تحت سیستم عامل لینوکس است که هر یک نقاط ضعف و قدرت خود را دارند که باعث سرمایه گذاری درست برای نفوذ می شود و دیگری نوع بانک اطلاعاتی است که برای ذخیره ی اطلاعات کاربران به کار گرفته شده است .

برای نمونه همانگونه که شما هم می دانید سیستم عامل لینوکس قادر است فایل هایی با چندین پسوند را مدیریت کند پس اگر فایل شما YourFile.php.rar باشد اگر شما قادر به اپلود این فایل باشد می تواند به راحتی چون یک فایل Php بر روی سرور اجرا شده و تنظیماتی را اعمال نماید . که اگر توسط برنامه این پسوند چک نشود و یا سرویس دهنده اقدامات متقابلی انجام ند هد می تواند مشکل زا باشد.

2. تزریق اس کیو ال (Sql Injection)

در این روش نفوذگر سعی می کند با ایجاد تغییراتی در درخواست (T-SQL=Transaction Sql) به عنوان کاربری ثبت شده اقدام به ورود کرده و یا سعی نمایید جدول یا جداولی از پایگاه داده را حذف کند و یا مشخصات خود را به عنوان مدیر سایت درج کند البته برای این اهداف نفوذ گر علاوه بر داشتن نوع بانک اطلاعات با روش هایی قادر به تشخیص نام جدول و نام ستونها ی جدول و نوع انها نیز می باشد .

تزریق اس کیو ال

تزریق اس کیو ال

نمونه ی یک درخواست T-Sql:

درخواست پیش از تغییر SELECT UserID FROM Tb WHERE id=’100

درخواست پس از تغییر SELECT UserID FROM Tb WHERE id=’100′;DELETE Tb

که منجر به حذف محتویات جدول Tb خواهد شد.

3. حملات اسکریپتی (Cross Site Scripting Attacks)

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

مثل : ارسال کوکی (Cookie) حاوی اطلاعات یک کاربر به جایی که نفوذگر مشخص کرده است . و یا شناسه ی یک کاربر

4. حملات (DOS=Denial Of Service attack)

در این نوع از حملات نفوذگر سعی می کند تا به دو روش قدرت پاسخگویی را از سرویس دهنده بگیرد

DOs Attacks

DOs Attacks

اولین مورد : SYN Flood

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

دومین مورد : Ping Of Death

در این روش مهاجم سعی می کند بسته ای را از طریق پروتکل Ping به یک کامپیوتر را دور ارسال کند که بزرگتر از 64 بایت معمول بوده اندازه ی این بسته باعث که کامپیوتر از کار افتاده یا دوباره راه اندازی شود .

5. حملات Canonicalization

مهاجم قصد دسترسی غیر مجاز به فایلی را داشته و یا بر روی ان Overwrite نادرستی انجام دهد برای نمونه Overwrite یک ویروس بر روی فایل اجرایی بر روی سرویس دهنده .

6. Buffer Overflow

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

7. فیشینگ (Phishing=Password Harvesting Fishing)

فیشینگ در عمل به صورت کپی دقیق رابط گرافیکی یک وب سایت معتبر مانند بانک های انلاین انجام می شود. ابتدا کاربر از طریق ایمیل و یا آگهی های تبلبیغاتی سایتهای دیگر، به این صفحه قلابی راهنمایی می شود. سپس از کاربر درخواست می شود تا اطلاعاتی را که می تواند مانند اطلاعات کارت اعتباری مهم و حساس باشد، انجا وارد کند. در صورت گمراه شدن کاربر و وارد کردن اطلاعت خود،، فیشرها به اطلاعات شخص دسترسی می یابند. از جمله سایت های هدف این کار می توان سایت های eBay، PayPal،و بانک های انلاین را نام برد مانند استفاده از دامنه ی www.gmail.phisher.com (به نقل از ویکیپدیا فارسی) . با وجود اینکه در اینگونه حملات نه ضعف های امنیتی برنامه و نه عدم تنظیم درست سرویس دهنده مطرح نیست ولی امروزه این حملات بسیار رایج بوده و علت ان تنها و تنها غفلت کاربران از صحت سایت مورد نظر است .

فیشینگ

فیشینگ

جهت مطالعه ی دقیقتر و روشهای مقابله با این گونه حملات از دیدگاه برنامه نویسی می توان به منابع زیر رجوع کرد:

· ویکیپدیا فارسی

· SAKHA RAVESH

· ماهنامه شبکه

· امنیت در Asp.NET 2.0مولف :وحید نصیری