جعل آدرس IP یا IP Spoofing در واقع ایجاد بسته (packet) هایی که دارای یک آدرس مبدا (Source Address) دستکاری شده به منظور پنهان کردن هویت فرستنده ، جعل هویت کاربر دیگر و یا هر دوی این موارد است . قابلیت جعل Source Address نوعی آسیب پذیری است که در بسیاری از حملات DDoS مورد سو استفاده قرار می گیرد که چالش های جدیدی را برای ارایه دهندگان خدمات اینترنت (ISP) و جوامع امنیت شبکه ایجاد کرده است تا برای مقابله با این دست حملات راهکار ها و روش های جدید و خلاقانه ای را ارایه دهند. به زبان ساده تر اغلب در شبکه های کامپیوتری گیرنده (Destination) به منظور جلوگیری از دریافت داده های متفرقه و حملات احتمالی منابع ناشناس با استفاده از تجهیزاتی همچون فایروال اقدام به محدود نمودن آدرس های IP مجاز برای ارسال داده به خود استفاده می کند ، از این رو هکر ها با استفاده از تکنیک IP Spoofing اقدام به جعل آدرس IP مبدا مجاز نموده و داده های خود را به نام مبدا مجاز به مقصد مورد نظر ارسال می کنند. برای آشنایی بیشتر می توانید RFC 2827 را مطالعه نمایید .
مکانیزم جعل آدرس IP
برای درک بهتر چگونگی جعل آدرس IP و انجام حمله IP Spoofing می بایست با ساختار درونی Packet بیشتر آشنا شویم . در شکل زیر header یک packet شبکه مبتنی بر IPv4 را مشاهده می کنید .
همانگونه که مشخص است یکی از بخش های یک بسته ، Source IP Address می باشد که در حمله جعل آدرس IP هکر با استفاده از تکنیک هایی ابتدا یک آدرس IP معتبر و مجاز برای برقراری ارتباط با سرور و یا مقصد مورد نظر یافته سپس در هدر پکت آدرس IP مبدا را تغییر و IP مورد نظر خود را جایگزین می نماید . درخواست هکر تحت عنوان مبدا مجاز به سمت سرور ارسال و با توجه به مجاز بودن آدرس IP ذکر شده در Source IP به درخواست ارسال شده پاسخ داده می شود .
در ادامه به برخی از انواع حملات احتمالی که با استفاده از مکانیزم IP Spoofing انجام می شود به صورت مختصر اشاره خواهیم کرد.
حملات Man in the Middle
همانگونه که از نام این حمله مشخص است این نوع حمله زمانی رخ می دهد که هکر ها به منظور دریافت و بررسی محتوای برخی پکت های ارسالی و دریافتی میان فرستنده و گیرنده قرار می گیرند و با جعل آدرس مبدا ، اطلاعات درخواستی را به سمت مقصد ارسال و دیتا مورد نظر را دریافت ، بررسی ، دستکاری و در نهایت پاسخ را به سمت مبدا مجاز ارسال می کنند . این بدین معناست که گیرنده اطلاعات دستکاری شده را دریافت کرده است که با اصل داده متفاوت است .
حملات Blinding
این شکل از حمله زمانی اتفاق می افتد که هکر یک رشته از packet های دستکاری شده را به هدفی مشخص ارسال می کند در حالی که مطمئن نیست چگونه بسته ها در طول مسیر شبکه به مقصد می رسند. در واقع هکر هیچ دید مشخصی از مسیری که دیتا از طریق آن به مقصد می رسد ندارد . هکر در حالی که هویت خود را پنهان می کند از این واقعیت استفاده می کند که به داده ها دسترسی پیدا کرده و داده دستکاری شده مد نظر خود را در packet ها بدون شناسایی خود یا اطلاع از هویت خود در داده اصلی تزریق می کند. در مقصد ، گیرنده داده های دستکاری شده را دریافت می کند و بر این باور است که داده های دریافتی همان دیتایی است که از فرستنده اصلی ارسال شده است بدون اینکه بداند داده ها حاوی اطلاعات نادرست و دستکاری شده هستند که توسط هکر به داده اصلی تزریق شده است .
حملات Non-Blinding
در این حملات ، هکر در همان شبکه هدف مستقر می شود تا بتواند در فرآیند انتقال یا دسترسی به دیتا های مورد نظر خللی ایجاد کند. پس از دسترسی به داده ها ، هکر می تواند خود را به عنوان مقصد دریافت کننده اطلاعات جا بزند که در نهایت منجر به هایجک شدن دیتا در آن شبکه می شود .
حملات Service Denial
در این نوع از حمله ، هکر برای پنهان ماندن هویت خود در زمان حمله سیل عظیمی از داده ها و درخواست ها را به سمت سیستم ارسال می کند تا یافتن منبع حمله را دشوار کند . این حملات اغلب در مقیاس وسیع انجام می شود که منجر به از سرویس خارج شدن چندین سرور خواهد شد .
جلوگیری از IP Spoofing
با توجه به آنچه تا کنون اشاره شد در حملات جعل آدرس IP هکر پس از یافتن آدرس IP مبدا مجاز اقدام به انجام تغییرات در header بسته ها نموده و مقادیر Source IP Address را مقدار دهی می کند . پس از آن اقدام به ارسال پکت های خود به سمت مقصد مورد نظر نموده و از آنجایی که در packet رسیده به مقصد آدرس IP مبدا مجاز وجود دارد ، گیرنده درخواست فرستنده جعلی را بررسی و به آن پاسخ می دهد . با استفاده از مکانیزم حمله جعل آدرس IP چندین نوع حمله دیگر همانند : Man in the Middle , Blinding , Non-blinding , Service denial قابل انجام است .
در زیر به معرفی و تشریح برخی از تکنیک هایی که می توان برای جلوگیری از جعل IP انجام داد ، خواهیم پرداخت .
تغییر روش احراز هویت : رمزنگاری بین میزبان ها و سرویس دهنده ها می تواند از جعل IP جلوگیری کند . تبادل کلید (key) بین دو سیستم که قصد مبادله اطلاعات را دارند می تواند تا حد زیادی از بروز این نوع جمله جلوگیری کند .
تعریف فیلتر : این فیلتر باید در سیستمی تعریف شود که قصد دارد مانع جعل IP به ویژه در ترافیک داده های ورودی شود می بایست مورد استفاده قرار گیرد .
پیکر بندی سوییچ ها و روتر ها : اگر در پیکر بندی تجهیزات شما ترافیک ورودی و خروجی کنترل نمی شود می بایست در این سیاست تجدید نظر کنید . با پیکر بندی مجدد از ورود داده های ناشناس که ممکن است از منابع مختلف در سطح شبکه ارسال شود ممانعت کنید .
محدود سازی ترافیک آدرس های Private : پیکر بندی سیستم و یا شبکه به منظور مسدود سازی یا غیرمجاز اعلام کردن ترافیک private IP addresses که منشا خارج از سیستم دارند.
رمزنگاری session ها : این پیکر بندی باید به گونه ای باشد که تنها شبکه های مجاز و مورد تایید بتوانند به شبکه شما دسترسی داشته و تعامل داشته باشند . روتر شما می بایست به نحوی کانفیگ شود که فقط به منابع مجاز اجازه دسترسی و تبادل ترافیک دهد .